Опишите ошибку
После обновления до версии 0.0.97 Toolbox я больше не могу запускать какие-либо панели инструментов.
Вывод 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
Вывод одинаков для контейнеров, созданных до и после обновления. Наборы инструментов могут быть запущены после перехода на версию 0.0.96, и их можно ввести в 0.0.97 после того, как они были запущены.
Шаги, как воспроизвести поведение
Ожидаемое поведение
Toolbox запущен
Фактическое поведение
Выдается ошибка Error: invalid entry point PID of container work
и набор инструментов не запускается.
Вывод toolbox --version
(v0.0.90 +)
toolbox version 0.0.97
Информация о пакете Toolbox ( rpm -q toolbox
)
toolbox-0.0.97-1-x86_64 (arch)
Вывод 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
Информация о пакете Podman ( rpm -q podman
)
podman-2.1.1-1-x86_64 (arch)
Информация о вашей ОС
Archlinux
У меня такая же проблема (и в Arch Linux). Понижение до 0.0.96 помогло мне.
Это журналы Podman для набора инструментов 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
Я вижу то же самое
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
Может ли это быть вызвано 4c9b80aee2b2ee3162b82e309718a23792d0e103?
Я сталкиваюсь с той же проблемой на Manjaro (на основе арки). Просматривая коммиты, я обнаружил, что виновником является b9a0bd5f0c2a2421ec15eea286ca20f03b7152d2. 4c9b80aee2b2ee3162b82e309718a23792d0e103 кажется последним, который работает правильно.
Кто-нибудь пробовал 0.0.98.1 на Arch Linux?
Из любопытства, в ваших хост-системах Arch нет /etc/localtime
?
Да, на хостах Arch есть / etc / localtime. Это символическая ссылка на / usr / share / zoneinfo /.
Проблема в том, что в наборе инструментов есть:
const zoneInfoRoot = "/run/host/usr/share/zoneinfo"
if !strings.HasPrefix(localTimeEvaled, zoneInfoRoot) {
return errors.New("/etc/localtime points to unknown location")
}
Если я изменю zoneInfoRoot на "/usr/share/zoneinfo"
, панель инструментов будет работать нормально.
Перед вызовом updateTimeZoneFromLocalTime()
ссылка / etc / localtime обновляется и указывает на тот же путь, на который указывает / run / host / etc / localtime.
Я не понимаю, как это должно сделать / etc / localtime точкой в / run / host, поскольку файлы хоста ничего не знают о панели инструментов.
Поэтому, если я не пропущу что-то, может быть, даже очевидное для кого-то еще, zoneInfoRoot
следует просто изменить / исправить. Если есть оба варианта использования для / etc / localtime, указывающие на / run / host / usr / share / zoneinfo / ... и / usr / share / zoneinfo / ... я думаю, мы можем проверить обе возможности, и разрешить timeZone
на основе совпадающего префикса.
Да, на хостах Arch есть / etc / localtime. Это символическая ссылка на
/ usr / share / zoneinfo /.
Хорошо, это не похоже на ситуацию с Fedora CoreOS.
Эту проблему следует решить с помощью https://github.com/containers/toolbox/pull/634.
Однако я должен упомянуть, что и Arch, и Ubuntu должны использовать относительные символические ссылки. Если бы они это сделали, это продолжало бы просто работать, потому что относительные символические ссылки могут обрабатывать ситуации, подобные chroot, а это лучше. например, на рабочей станции Fedora у нас есть:
$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Jan 5 18:20 /etc/localtime -> ../usr/share/zoneinfo/Europe/Prague
В то время как в Ubuntu 18.04 я вижу:
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 lis 11 16:21 /etc/localtime -> /usr/share/zoneinfo/Europe/Prague
Но если я использую timedatectl
это исправляется :
$ 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
Да, изменение символической ссылки / etc / localtime на абсолютную - это полезный обходной путь. Сейчас я воспользуюсь этим, спасибо.
Но я думаю, что # 634 стоит слить. Я не вижу особого смысла не поддерживать такие абсолютные символические ссылки.
Закрытие. Попробуйте открыть страницу повторно или оставьте комментарий, если считаете, что проблема все еще не устранена.
И спасибо за тестирование Toolbox.
Самый полезный комментарий
У меня такая же проблема (и в Arch Linux). Понижение до 0.0.96 помогло мне.
Это журналы Podman для набора инструментов Fedora 32: