próprio contêiner libertino no diretório ou partição customizada

0

Existe uma maneira de instalar o próprio contêiner libertino no diretório ou partição personalizada? Eu acho que o tamanho principal (volume) da instalação do container pertence ao diretório como este:

/home/phablet/.cache/libertine-container/my-container/rootfs

É claro que será útil conhecer uma lista de outros locais de arquivo do próprio contêiner, como:

~/.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

Agora vejo apenas a maneira de usar mount --bind.. , mas ao fazer isso, temos vários problemas aqui com /etc/fstab editando ou usando /etc/rc.local ou script upstart para automount no dispositivo a partir .

Então, a segunda pergunta é a seguinte: se eu usar mount --bind.. para vincular /home/phablet/.cache/libertine-container/my-container/rootfs manualmente de vez em quando, então terei um problema com o trabalho correto do escopo libertino ( como descrito aqui )?

    
por Vladimir 01.11.2016 / 16:46

1 resposta

1

Antes de nossas ações, deveríamos ter um cartão SD com ext2/3/4 partition. No Ubuntu Touch pode ser representado como /dev/mmcblk1p2 (no meu caso). Se quisermos uma montagem permanente, não podemos usar /etc/fstab/ , mas podemos usar /lib/init/fstab como eu apontou em resposta lá . A montagem permanente do SD no Ubuntu Touch não é conveniente nem estável. Às vezes, por causa do erro no sistema de arquivos na partição ext2, eu tive problemas com a inicialização do Ubuntu Touch. Talvez, abater o dispositivo não execute a desmontagem corretamente. Então, decidi montar o cartão SD e usar o contêiner Libertine nele de tempos em tempos.

Primeiramente, criei um novo contêiner com o nome sd-container normalmente no espaço em disco interno: /home/phablet/.cache/libertine-container/sd-container . Em seguida, montei a partição ext2 no SD com esse comando:

sudo mount /dev/mmcblk1p2 /home/phablet/mnt/sd -t ext2 -o defaults,noatime,nodiratime,errors=remount-ro

então eu fiz o diretório /home/phablet/mnt/sd/sd-container/ e fiz uma cópia do rootfs do sd-container para a partição ext2 no SD:

cd /home/phablet/.cache/libertine-container/sd-container
rsync -aAXvH ./ /home/phablet/mnt/sd/sd-container/

Após esta preparação, fiz o script para montar a partição ext2 no SD e para ligar o 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

e script para parar de jogar com isso ( sdstop.sh ):

#!/bin/sh
sudo umount /home/phablet/.cache/libertine-container/sd-container/rootfs
sudo umount /dev/mmcblk1p2
restart unity8-dash

Finalmente, depois de executar as reinicializações sdgo.sh unity8-dash, posso ver o novo escopo do contêiner SD e seus aplicativos no âmbito do Desktop App Scope. Eu posso executar ou instalar novos aplicativos como de costume. Mas rootfs deste contêiner está situado no cartão SD! Quando eu quiser parar, eu corro sdstop.sh e o escopo do contêiner SD desaparece. E o pequeno% originalrootfs (oculto por essa ligação) permanece no espaço do disco interno sem alterações.

Conclusão: eu tenho rootfs de contêiner Libertine no cartão SD e possibilidade de ligar / desligar e seu escopo quando eu quiser.

    
por Vladimir 03.12.2016 / 10:42