Существует ли способ установить собственный распущенный контейнер в пользовательском каталоге или разделе? Я думаю, что основной размер (объем) контейнерной установки принадлежит каталогу как это:
/home/phablet/.cache/libertine-container/my-container/rootfs
Конечно, будет полезно знать список другого расположения файлов собственного контейнера как:
~/.local/share/libertine/ContainersConfig.json
~/.cache/libertine-container/my-container
~/.cache/my-container
~/.local/share/libertine-container/user-data/my-container
~/.local/share/libertine-container/user-data/my-container/.cach/libertine-container/my-container
Я вижу теперь только путь с использованием mount --bind..
, но в выполнении этого у нас есть несколько проблем здесь с /etc/fstab
редактирование или использование /etc/rc.local
или новомодный сценарий, чтобы автосмонтироваться на запуске устройства.
Так, второй вопрос состоит в том что: если я использую mount --bind..
для привязки /home/phablet/.cache/libertine-container/my-container/rootfs
вручную время от времени затем я испытаю затруднения из-за корректной работы распущенного объема (как, как описано там)?
Перед нашими действиями у нас должна быть SD-карта с ext2/3/4
раздел. В Касании Ubuntu это может быть представлено как /dev/mmcblk1p2
(в моем случае). Если мы хотим постоянное монтирование, мы использование can’t /etc/fstab/
, но мы можем использовать /lib/init/fstab
, когда я указал в ответе там . Постоянное монтирование SD в Касании Ubuntu не удобно и не стабильно. Иногда, из-за ошибки в файловой системе на ext2 разделе, у меня были проблемы с начальной загрузкой Касания Ubuntu. Возможно, стрельба устройства не выполняет демонтаж правильно. Так, я решил смонтировать SD-карту и использовать Распущенный контейнер на нем время от времени.
Сначала, я создал новый контейнер с именем sd-container
, как обычно, в пространстве внутреннего диска: /home/phablet/.cache/libertine-container/sd-container
. Затем я смонтировал ext2 раздел на SD с такой командой:
sudo mount /dev/mmcblk1p2 /home/phablet/mnt/sd -t ext2 -o defaults,noatime,nodiratime,errors=remount-ro
затем я сделал каталог /home/phablet/mnt/sd/sd-container/
и сделал копию rootfs sd-контейнера к ext2 разделу на SD:
cd /home/phablet/.cache/libertine-container/sd-container
rsync -aAXvH ./ /home/phablet/mnt/sd/sd-container/
После этой подготовки я сделал сценарий, чтобы смонтировать ext2 раздел на SD и связать rootfs (sdgo.sh
):
#!/bin/sh
sudo mount /dev/mmcblk1p2 /home/phablet/mnt/sd -t ext2 -o defaults,noatime,nodiratime,errors=remount-ro
sudo mount --bind /home/phablet/mnt/sd/sd-container/rootfs /home/phablet/.cache/libertine-container/sd-container/rootfs
restart unity8-dash
и сценарий, чтобы прекратить играть с этим (sdstop.sh
):
#!/bin/sh
sudo umount /home/phablet/.cache/libertine-container/sd-container/rootfs
sudo umount /dev/mmcblk1p2
restart unity8-dash
Наконец, после того, как я буду работать sdgo.sh
перезапуски unity8-тире, и я вижу новый контейнерный SD объем и его приложения под Объемом Настольного приложения. Я могу выполнить или установить новые приложения, как обычно. Но rootfs этого контейнера расположен на SD-карте! Когда я хочу остановиться, я работаю sdstop.sh
, и контейнерный SD объем исчезает. И маленький оригинал rootfs
(скрытый этой привязкой) остается на пространстве внутреннего диска без изменений.
Заключение: у меня есть rootfs Распущенного контейнера на SD-карте и возможности переключить вкл\выкл его и ее объем, когда я хочу.