Décrivez le bogue
Après la mise à niveau vers la version 0.0.97 de la boîte à outils, je ne peux plus démarrer aucune boîte à outils.
Sortie de toolbox enter work
:
DEBU Running as real user ID 1000
DEBU Resolved absolute path to the executable as /usr/bin/toolbox
DEBU Running on a cgroups v1 host
DEBU Checking if /etc/subgid and /etc/subuid have entries for user x
DEBU TOOLBOX_PATH is /usr/bin/toolbox
DEBU Toolbox config directory is /home/x/.config/toolbox
DEBU Current Podman version is 2.1.1
DEBU Old Podman version is 2.1.1
DEBU Migration not needed: Podman version 2.1.1 is unchanged
DEBU Resolving container and image names
DEBU Container: 'work'
DEBU Image: ''
DEBU Release: ''
DEBU Resolved container and image names
DEBU Container: 'work'
DEBU Image: 'fedora-toolbox:31'
DEBU Release: '31'
DEBU Checking if container work exists
DEBU Inspecting mounts of container work
DEBU Starting container work
DEBU Inspecting entry point of container work
DEBU Entry point PID is a float64
DEBU Entry point of container work is toolbox (PID=0)
Error: invalid entry point PID of container work
La sortie est la même pour les conteneurs créés avant et après la mise à jour. Les boîtes à outils peuvent être démarrées après une rétrogradation à 0.0.96 et elles peuvent être entrées en 0.0.97 une fois qu'elles ont été démarrées.
Étapes pour reproduire le comportement
Comportement attendu
La boîte à outils est lancée
Comportement réel
Une erreur est générée Error: invalid entry point PID of container work
et la boîte à outils n'est pas démarrée.
Sortie de toolbox --version
(v0.0.90+)
toolbox version 0.0.97
Informations sur le package de la boîte à outils ( rpm -q toolbox
)
toolbox-0.0.97-1-x86_64 (arch)
Sortie de podman version
Version: 2.1.1
API Version: 2.0.0
Go Version: go1.15.2
Git Commit: 9f6d6ba0b314d86521b66183c9ce48eaa2da1de2
Built: Sat Sep 26 16:50:37 2020
OS/Arch: linux/amd64
Informations sur le forfait Podman ( rpm -q podman
)
podman-2.1.1-1-x86_64 (arch)
Informations sur votre système d'exploitation
Archlinux
J'ai exactement le même problème (sur Arch Linux également). La rétrogradation à 0.0.96 a fait l'affaire pour moi.
Voici les journaux Podman pour une boîte à outils Fedora 32 :
$ podman logs fedora-toolbox-32
level=debug msg="Running as real user ID 0"
level=debug msg="Resolved absolute path to the executable as /usr/bin/toolbox"
level=debug msg="TOOLBOX_PATH is /usr/bin/toolbox"
level=debug msg="XDG_RUNTIME_DIR is unset"
level=debug msg="XDG_RUNTIME_DIR set to /run/user/1000"
level=debug msg="Creating /run/.toolboxenv"
level=debug msg="Monitoring host"
level=debug msg="Path /run/host/etc exists"
level=debug msg="Resolved /etc/localtime to /usr/share/zoneinfo/Europe/Amsterdam"
Error: /etc/localtime points to unknown location
je vois pareil
level=debug msg="Running as real user ID 0"
level=debug msg="Resolved absolute path to the executable as /usr/bin/toolbox"
level=debug msg="TOOLBOX_PATH is /usr/bin/toolbox"
level=debug msg="XDG_RUNTIME_DIR is unset"
level=debug msg="XDG_RUNTIME_DIR set to /run/user/1000"
level=debug msg="Creating /run/.toolboxenv"
level=debug msg="Monitoring host"
level=debug msg="Path /run/host/etc exists"
level=debug msg="Preparing to redirect /etc/localtime to /run/host/etc/localtime"
level=debug msg="/run/host/etc/localtime is a symbolic link"
level=debug msg="Redirecting /etc/localtime to /run/host/etc/localtime"
level=debug msg="Resolved /etc/localtime to /usr/share/zoneinfo/Europe/Copenhagen"
Error: /etc/localtime points to unknown location
Cela pourrait-il être causé par 4c9b80aee2b2ee3162b82e309718a23792d0e103 ?
Je rencontre le même problème sur Manjaro (basé sur arch). En passant par les commits, j'ai trouvé que b9a0bd5f0c2a2421ec15eea286ca20f03b7152d2 était le coupable. 4c9b80aee2b2ee3162b82e309718a23792d0e103 semble être le dernier qui fonctionne correctement.
Quelqu'un a-t-il essayé 0.0.98.1 sur Arch Linux ?
Par curiosité, vos systèmes hôtes Arch n'ont pas de /etc/localtime
?
Oui, les hôtes Arch ont /etc/localtime. C'est un lien symbolique vers /usr/share/zoneinfo/.
Le problème est que la boîte à outils a :
const zoneInfoRoot = "/run/host/usr/share/zoneinfo"
if !strings.HasPrefix(localTimeEvaled, zoneInfoRoot) {
return errors.New("/etc/localtime points to unknown location")
}
Si je change zoneInfoRoot en "/usr/share/zoneinfo"
, la boîte à outils fonctionne bien.
Avant d'appeler updateTimeZoneFromLocalTime()
, le lien /etc/localtime est mis à jour pour pointer vers le même chemin que celui vers lequel /run/host/etc/localtime pointe.
Je ne vois pas comment cela devrait faire pointer /etc/localtime dans /run/host, car les fichiers hôtes ne connaissent rien à la boîte à outils.
Donc, à moins que je manque quelque chose, peut-être même évident pour quelqu'un d'autre, zoneInfoRoot
devrait simplement être modifié/réparé. S'il y a les deux cas d'utilisation pour /etc/localtime pour pointer vers /run/host/usr/share/zoneinfo/... et /usr/share/zoneinfo/... Je suppose que nous pouvons vérifier les deux possibilités, et résoudre timeZone
fonction du préfixe correspondant.
Oui, les hôtes Arch ont /etc/localtime. C'est un lien symbolique vers
/usr/share/zoneinfo/.
Ok, donc ce n'est pas comme la situation sur Fedora CoreOS.
Cela devrait être résolu par https://github.com/containers/toolbox/pull/634
Cependant, je dois mentionner qu'Arch et Ubuntu devraient utiliser des liens symboliques relatifs. S'ils le faisaient, cela continuerait à fonctionner, car les liens symboliques relatifs sont capables de gérer des situations de type chroot, ce qui est mieux. par exemple, sur Fedora Workstation, nous avons :
$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Jan 5 18:20 /etc/localtime -> ../usr/share/zoneinfo/Europe/Prague
Alors que, sur Ubuntu 18.04, je vois :
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 lis 11 16:21 /etc/localtime -> /usr/share/zoneinfo/Europe/Prague
Mais, si j'utilise timedatectl
alors c'est corrigé :
$ timedatectl set-timezone Europe/Prague
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 35 led 12 20:29 /etc/localtime -> ../usr/share/zoneinfo/Europe/Prague
Oui, changer le lien symbolique /etc/localtime en un absolu est une solution de contournement utilisable. Je vais l'utiliser pour le moment, merci.
Mais je pense que #634 devrait fusionner. Je ne vois pas grand-chose à ne pas prendre en charge de tels liens symboliques absolus.
Fermeture. N'hésitez pas à rouvrir ou à laisser un commentaire si vous pensez que ce n'est toujours pas résolu.
Et merci d'avoir testé Toolbox.
Commentaire le plus utile
J'ai exactement le même problème (sur Arch Linux également). La rétrogradation à 0.0.96 a fait l'affaire pour moi.
Voici les journaux Podman pour une boîte à outils Fedora 32 :