Как включить пространства имен пользователей, чтобы они сохранялись после перезагрузки?

Страница, которую вы нашли, относится к Solaris Studio 12.3, выпущенной в 2011 году, когда в Solaris все еще использовались файлы подкачки. В Solaris 11.3, использующем ZFS в качестве корневой файловой системы, процесс несколько отличается, так как требуется настоящее блочное устройство. К счастью, ZFS упрощает использование реальных блочных устройств с помощью томов ZFS.

Сначала проверьте наличие существующих томов:

zfs list -t volume

Скорее всего, вы увидите том с именем swap@ /rpool/swap, поэтому вам потребуется другое имя для вашего нового устройства, например swap2.

Вот что я вижу:

bash-[501]# zfs list -t volume
NAME         USED  AVAIL  REFER  MOUNTPOINT
rpool/dump  3.08G   139G  2.99G  -
rpool/swap  2.06G   139G  2.00G  -

Кроме того, проверьте существующие устройства подкачки:

bash-[502]# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 275,1         8  4194296  4194296

Следующим шагом будет создание нового тома. В следующей команде параметр -Vуказывает, что мы создаем необработанное блочное устройство, а не устройство с файловой системой, а 2G— это размер:

bash-[503]# zfs create -V 2G rpool/swap2

Теперь вы увидите, что ваш список томов изменился:

bash-[504]# zfs list -t volume
NAME          USED  AVAIL  REFER  MOUNTPOINT
rpool/dump   3.08G   137G  2.99G  -
rpool/swap   2.06G   137G  2.00G  -
rpool/swap2  2.06G   137G  2.00G  -

Затем вы можете активировать это блочное устройство как своп:

bash-[505]# swap -a /dev/zvol/dsk/rpool/swap2

И, как всегда, вы можете увидеть свои устройства подкачки с помощью swap -l.

bash-[506]# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 275,1         8  4194296  4194296
/dev/zvol/dsk/rpool/swap2 275,3         8  4194296  4194296
-121 ---154861 ​​-

Первая строка,

source ~/.profile

недопустимая строка для crontab:

$ echo "source ~/.profile" | crontab
"-":0: bad minute
errors in crontab file, can't install.

Если вы хотите использовать источник ~/.profileтак же, как если бы вы запускали оболочку входа в систему, рассмотрите возможность запуска сценариев оболочки как

0 0 * * * bash -l /path/to/script.sh

вместо (вместо bash, используйте sh -lвместо/bin/sh)или, возможно,

SHELL=/bin/bash
0 0 * * * source ~/.profile && bash /path/to/script.sh

Необычно, однако, хотеть получить ~/.profileв задании cron. Если у вас есть определенная переменная среды (или набор переменных ), которые необходимо установить в сценарии, было бы лучше установить их в сценарии, чтобы он оставался автономным.

Альтернативой этому является использование отдельного файла окружения и запуск скрипта, как

0 0 * * * BASH_ENV="$HOME/script.env" /path/to/script.sh
1
01.08.2020, 21:55
1 ответ

Вы можете включить такие пространства имен пользователей,

sysctl -w kernel.unprivileged_userns_clone=1

И вы можете сохранить его после перезагрузки в Debian, запустив это,

echo "kernel.unprivileged_userns_clone=1" >> /etc/sysctl.conf
2
18.03.2021, 23:15

Теги

Похожие вопросы