Toolbox: Configure / media e / mnt para corresponder ao host

Criado em 12 nov. 2019  ·  20Comentários  ·  Fonte: containers/toolbox

Hoje, de repente, não consegui entrar na minha caixa de ferramentas, então tentei recriá-la novamente usando toolbox reset e toolbox enter sem sorte. Aqui está o resultado de toolbox -v enter :

toolbox: running as real user ID 1000
toolbox: resolved absolute path for /usr/bin/toolbox to /usr/bin/toolbox
toolbox: checking if /etc/subgid and /etc/subuid have entries for user zlopez
toolbox: TOOLBOX_PATH is /usr/bin/toolbox
toolbox: running on a cgroups v2 host
toolbox: current Podman version is 1.6.2
toolbox: migration not needed: Podman version 1.6.2 is unchanged
toolbox: Fedora generational core is f31
toolbox: base image is fedora-toolbox:31
toolbox: container is fedora-toolbox-31
toolbox: checking if container fedora-toolbox-31 exists
toolbox: calling org.freedesktop.Flatpak.SessionHelper.RequestSession
toolbox: starting container fedora-toolbox-31
toolbox: /etc/profile.d/toolbox.sh already mounted in container fedora-toolbox-31
Error: unable to start container "fedora-toolbox-31": creating file '/var/home/zlopez/.local/share/containers/storage/overlay/bcd97a238cf639f8d3dfeef7b5c44b7ad9f4ba99410864856358b26ade201f1e/merged/media': Is a directory: OCI runtime error
toolbox: failed to start container fedora-toolbox-31

Comentários muito úteis

Abri um PR para consertar no crun. Enquanto isso, você pode contornar isso com:

diff --git a/toolbox b/toolbox
index a7433e1..6b443c7 100755
--- a/toolbox
+++ b/toolbox
@@ -987,7 +987,7 @@ create()
     fi

     if [ -d /run/media ] 2>&3; then
-        run_media_path_bind="--volume /run/media:/run/media:rslave"
+        run_media_path_bind="--volume $(readlink -f /run/media):/run/media:rslave"
     fi

     echo "$base_toolbox_command: checking if /usr is mounted read-only or read-write" >&3

Todos 20 comentários

Tive o mesmo problema depois de atualizar o Silverblue. Esses foram os pacotes incluídos na atualização. Foi consertado após a reversão.

       Upgraded: crun 0.10.2-1.fc31 -> 0.10.5-2.fc31
                 kernel 5.3.8-300.fc31 -> 5.3.9-300.fc31
                 kernel-core 5.3.8-300.fc31 -> 5.3.9-300.fc31
                 kernel-devel 5.3.8-300.fc31 -> 5.3.9-300.fc31
                 kernel-modules 5.3.8-300.fc31 -> 5.3.9-300.fc31
                 kernel-modules-extra 5.3.8-300.fc31 -> 5.3.9-300.fc31

Provavelmente uma nova versão de crun causou isso.

Tenho um velho laptop sobressalente que uso para testes; está executando o Silverblue Rawhide. O Toolbox está trabalhando em sua atualização mais recente (Rawhide.20191107.n.1), mas está entre as versões F31: crun-0.10.4-1.fc32.x86_64 .

Portanto, parece que algo quebrou no crun entre 0.10.4 e 0.10.5 . Espero que isso ajude a isolar o problema e corrigi-lo no crun ou podman ... ou contornar ou adaptar a ele na caixa de ferramentas.

No entanto, devo observar que o podman em couro cru está na versão 1.6.3-0.34.dev.git1e750f7.fc32.x86_64 , não podman-1.6.2-2.fc31.x86_64 .

Enquanto isso, a caixa de ferramentas está na mesma versão em todos os lugares, toolbox-0.0.16-1.fc31.noarch (ou toolbox-0.0.16-1.fc32.noarch em couro cru).

você poderia compartilhar o resultado de stat /media do host?

Abri um PR para consertar no crun. Enquanto isso, você pode contornar isso com:

diff --git a/toolbox b/toolbox
index a7433e1..6b443c7 100755
--- a/toolbox
+++ b/toolbox
@@ -987,7 +987,7 @@ create()
     fi

     if [ -d /run/media ] 2>&3; then
-        run_media_path_bind="--volume /run/media:/run/media:rslave"
+        run_media_path_bind="--volume $(readlink -f /run/media):/run/media:rslave"
     fi

     echo "$base_toolbox_command: checking if /usr is mounted read-only or read-write" >&3

Obrigado pela solução rápida, @giuseppe !!

Estou tendo um problema semelhante com / mnt

Error: unable to start container "fedora-toolbox-31": creating file '/var/home/pluto/.local/share/containers/storage/overlay/e56a2816dbb492d3446030ba65d10d659ee6dd621dbaf76e20290f59ad4f35af/merged/mnt': Is a directory: OCI runtime error

Acabei de remover todas as referências a / mnt e / run / media na caixa de ferramentas e isso resolveu temporariamente o problema para mim.

@ p1u3o apenas para ter certeza de que minha correção aborda seu problema, você poderia me mostrar o resultado de stat /mnt ?

@giuseppe Estou tendo o mesmo problema. A saída de stat /mnt é:
File: /mnt -> var/mnt
Size: 7 Blocks: 0 IO Block: 4096 symbolic link
Device: fd01h/64769d Inode: 2621481 Links: 5
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:mnt_t:s0
Access: 2019-11-13 08:18:38.666995206 -0500
Modify: 2019-11-12 13:51:35.169000757 -0500
Change: 2019-11-13 06:09:45.432966095 -0500
Birth: 2019-11-12 13:51:35.169000757 -0500

Se for de alguma ajuda, estou usando XFS com SELinux definido como permissivo.

File: /mnt -> var/mnt
  Size: 7           Blocks: 0          IO Block: 4096   symbolic link
Device: 822h/2082d  Inode: 134217875   Links: 4
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:mnt_t:s0
Access: 2019-11-13 09:13:30.879734789 +0000
Modify: 2019-11-11 09:36:01.148936755 +0000
Change: 2019-11-13 09:12:15.780417160 +0000
 Birth: 2019-11-11 09:36:01.148936755 +0000

Mesmo problema aqui.
Após a recriação de um recipiente ainda não é possível entrar.
File: /mnt -> var/mnt Size: 7 Blocks: 0 IO Block: 4096 symbolic link Device: fd00h/64768d Inode: 655408 Links: 4 Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:mnt_t:s0 Access: 2019-11-13 20:58:21.899394135 +0200 Modify: 2019-10-19 12:03:46.378316430 +0300 Change: 2019-11-13 19:37:41.427229814 +0200 Birth: 2019-10-19 12:03:46.378316430 +0300

Posso confirmar que o downgrade do crun no SB31 usando as atualizações mais recentes resultará em contêineres de caixa de ferramentas em funcionamento. Executando "31.20191115.0 (2019-11-15T01: 59: 08Z)" e executou estas etapas:

  1. Baixe crun-0.10.4-1.fc31 (https://kojipkgs.fedoraproject.org//packages/crun/0.10.4/1.fc31/x86_64/crun-0.10.4-1.fc31.x86_64.rpm)
  2. substituição de rpm-ostree replace ~ / Downloads / crun-0.10.4-1.fc31.x86_64.rpm
  3. reinicialização systemctl

Talvez isso seja útil para alguém que não está trabalhando no SB como área de trabalho principal sem ter contêineres de caixa de ferramentas de trabalho.

Estou feliz por ter encontrado este post de @garrett que me apontou nessa direção https://discussion.fedoraproject.org/t/toolbox-broken-again-crun-update-in-31-20191112-0/11369/8

@stephanmol Obrigado, a caixa de ferramentas voltou a funcionar.

Poucos dias depois, a caixa de ferramentas novamente está quebrada.
Parece que o problema foi corrigido em crun-0.10.6-1.fc3, de acordo com esta informação https://github.com/containers/libpod/issues/4024.
Para corrigir o problema, execute etapas semelhantes às de @stephanmol mencionadas acima:

  • Baixe crun-0.10.6-1.fc3 (https://kojipkgs.fedoraproject.org//packages/crun/0.10.6/1.fc31/x86_64/crun-0.10.6-1.fc31.x86_64.rpm)

  • rpm-ostree override replace ~ / Downloads / crun-0.10.6-1.fc31.x86_64.rpm

  • reinicialização systemctl

@aaronuurman crun-0.10.6-1.fc31.x86_64 está em Silverblue ontem. Você não deve precisar substituir mais.

Estou felizmente conseguindo trabalhar em contêineres no Silverblue neste exato momento, graças à caixa de ferramentas (e podman e crun). Espero que tudo funcione novamente para você também após rpm-ostree update (e reinicialização).

Se a substituição permanecer no lugar após a execução de rpm-ostree upgrade , tive que executar manualmente rpm-ostree override reset crun que fez com que usasse a versão mais recente do crun que corrige o problema (yay!)

Obrigado por resolver isso, @giuseppe !

Parece que o override permanece no lugar após a atualização do rpm-ostree , provavelmente é por isso que fiz um novo override.
Obrigado por apontar isso: +1:

FWIW, eu fiz um rpm-ostree override reset -a e reiniciei apenas para ter certeza de não ter _qualquer_ substituições. (Especificar apenas crun ou crun-0.10.6 não funcionou. Mas redefinir tudo funcionou.)

O crun override não estava aparecendo, mas eu queria ter certeza de que não estava lá de forma transparente porque era a mesma versão que agora vem em Silverblue. (Não quero ter nenhuma surpresa no futuro.: Wink :)

Deixe-me reformular esta edição para melhorar nosso tratamento de /mnt e /media para tornar as coisas um pouco mais robustas no curto prazo imediato. Já fazemos o mesmo por /home .

Esta página foi útil?
0 / 5 - 0 avaliações