صف الخلل
بعد الترقية إلى إصدار مربع الأدوات 0.0.97 ، لا يمكنني بدء تشغيل أي من صناديق الأدوات بعد الآن.
ناتج 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
الإخراج هو نفسه للحاويات التي تم إنشاؤها قبل التحديث وبعده. يمكن بدء تشغيل Toolboxes بعد التخفيض إلى 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)
معلومات حول نظام التشغيل الخاص بك
ارشلينكس
أواجه نفس المشكلة بالضبط (على 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 points to.
أخفق في معرفة كيف يجب أن يجعل ذلك / etc / localtime نقطة في / تشغيل / مضيف ، لأن ملفات المضيف لا تعرف أي شيء عن toolbox.
لذلك ما لم أفوت شيئًا ، ربما يكون واضحًا لأي شخص آخر ، يجب تغيير / إصلاح 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 يجب أن يستخدموا روابط رمزية نسبية. إذا فعلوا ذلك ، فسيستمر هذا في العمل فقط ، لأن الروابط الرمزية النسبية قادرة على التعامل مع المواقف الشبيهة بالجذور ، وهذا أفضل. على سبيل المثال ، في Fedora Workstation لدينا:
$ 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: