لقد كنت أحاول تشغيل discourse على جهاز raspberry pi 4 لبضعة أشهر ولم أفلح.
بدا الأمر وكأن صورة docker قديمة، لذا قمت بإلغاء تثبيت وإعادة تثبيت صورتي docker أخريين ولا يزال الأمر غير ناجح.
أي اقتراحات؟
لقد كنت أحاول تشغيل discourse على جهاز raspberry pi 4 لبضعة أشهر ولم أفلح.
بدا الأمر وكأن صورة docker قديمة، لذا قمت بإلغاء تثبيت وإعادة تثبيت صورتي docker أخريين ولا يزال الأمر غير ناجح.
أي اقتراحات؟
نعم، قم بتثبيت توزيعة arm64 على جهاز Pi الخاص بك.
استغرق الأمر عامين تقريبًا لمؤسسة Raspberry Pi لإصدار بنية البرامج الصحيحة لأنهم كانوا لا يزالون يطورون للأجهزة 32 بت. يرجى تغيير صورتك إلى الإصدار الحالي arm64. الخبر السار هو أنه سيسمح لك باستخدام كل ذاكرة الوصول العشوائي البالغة 8 جيجابايت إذا كان هذا هو جهازك.
يبدو أنني أقوم بتشغيل arm64 بالفعل وهو لا يعمل.
يجب عليك تأكيد ما تقوم بتشغيله.
cat /proc/cpuinfo
حسنًا، كانت تلك كمية كبيرة من البيانات، وبصراحة، الكثير منها غير مألوف. أي سطر يحدد ما أقوم بتشغيله؟
أعتقد أن
uname -a
سيساعد هنا.
شكرا لك!
النتائج:
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
حسنًا، هذه نواة 64 بت (aarch64)، ومع ذلك كان لديك رسالة Docker تشكو من armv8. لا أعرف هذه المنطقة أو القصة الكاملة لكيفية وصولك إلى هنا… النصيحة الشائعة هي أخذ نسخة احتياطية آمنة واستعادة نظام تشغيل جديد وتثبيت Discourse جديد.
آمل ألا يكون الأمر كذلك، وأن التثبيت الناجح سيواجه مشكلة حتمًا عند وقت الترقية.
ما هو ناتج أمر docker info الخاص بك؟
خاصة السطر الذي يقول Architecture:.
معمارية وحدة المعالجة المركزية: 8
lol، لقد فعلت ذلك مرات عديدة وأنا مستعد لتكرار ذلك.
حاليًا، أنا أستخدم Raspberry Pi 400 Rev 1.0 يعمل بنظام Bullseye 64 lite.
لقد جربت Bullseye 64، و 64 lite، و 32 lite؛ و Bookworm 64. إذا كنت أتذكر بشكل صحيح، فقد حصلت على نفس الخطأ الذي نشرته في كل حالة.
بعد البحث قليلاً، اقترح صديق إعادة الوميض إلى Bullseye 64 lite وأن هذا يجب أن يحل المشكلة. لكنه لم يفعل.
ملاحظة جانبية، عندما أقوم بتشغيل أمر docker sudo docker run hello-world، فإنه ينتج الرسالة المتوقعة “Docker is working”.
ليس هذا
. يرجى لصق المخرجات بأكملها.
sudo docker info
العميل: Docker Engine - Community
الإصدار: 24.0.7
السياق: افتراضي
وضع التصحيح: خطأ
المكونات الإضافية:
buildx: Docker Buildx (Docker Inc.)
الإصدار: v0.11.2
المسار: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
الإصدار: v2.21.0
المسار: /usr/libexec/docker/cli-plugins/docker-compose
الخادم:
الحاويات: 2
قيد التشغيل: 1
متوقفة مؤقتًا: 0
متوقفة: 1
الصور: 4
إصدار الخادم: 24.0.7
مشغل التخزين: overlay2
نظام الملفات الداعم: extfs
يدعم d_type: صحيح
يستخدم النسخ الوصفية: خطأ
الفرق الوصفي الأصلي: صحيح
userxattr: خطأ
مشغل التسجيل: json-file
مشغل Cgroup: systemd
إصدار Cgroup: 2
المكونات الإضافية:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: غير نشط
وقت التشغيل: io.containerd.runc.v2 runc
وقت التشغيل الافتراضي: runc
الثنائي الأولي: docker-init
إصدار containerd: 3dd1e886e55dd695541fdcd67420c2888645a495
إصدار runc: v1.1.10-0-g18a0cb0
إصدار init: de40ad0
خيارات الأمان:
seccomp
الملف التعريفي: مدمج
cgroupns
إصدار النواة: 6.1.21-v8+
نظام التشغيل: Debian GNU/Linux 11 (bullseye)
نوع نظام التشغيل: linux
البنية: aarch64
وحدات المعالجة المركزية: 4
إجمالي الذاكرة: 3.705GiB
الاسم: raspberrypi
المعرف: 183a2a7a-8acf-40eb-9386-c99d70ee8ed3
دليل Docker الجذر: /var/lib/docker
وضع التصحيح: خطأ
تجريبي: خطأ
السجلات غير الآمنة:
127.0.0.0/8
تم تمكين الاستعادة المباشرة: خطأ
تحذير: لا يوجد دعم لحد الذاكرة
تحذير: لا يوجد دعم لحد الـ swap
لا يمكن تشغيله على Raspberry Pi 4 بذاكرة وصول عشوائي (RAM) بسعة 8 جيجابايت، مع قرص SSD متصل عبر USB كوحدة تخزين واحدة. يستمر التعليق على ما يلي (على الأقل، نفد صبري بعد ساعة من الانتظار…)
I, [2024-02-06T00:58:51.743994 #1] INFO -- : cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has unmet peer dependency "@typescript-eslint/parser@^6.15.0".
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has incorrect peer dependency "typescript@^5.3.3".
warning "> @glint/environment-ember-loose@1.3.0" has unmet peer dependency "@glimmer/component@^1.1.2".
2024-02-06 01:15:58.966 UTC [64] WARNING: worker took too long to start; canceled
2024-02-06 01:16:19.640 UTC [480] WARNING: autovacuum worker started without a worker entry
2024-02-06 01:21:46.504 UTC [64] WARNING: worker took too long to start; canceled
2024-02-06 01:22:18.863 UTC [481] WARNING: autovacuum worker started without a worker entry
يبدو أنه لا يزال يقوم ببعض العمليات:
Tasks: 60 total, 7 running, 53 sleeping, 0 stopped, 0 zombie
%Cpu(s): 20.8 us, 60.5 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 18.8 si, 0.0 st
MiB Mem : 7807.7 total, 6783.7 free, 954.0 used, 70.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 6853.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3422 root 20 0 1928888 33180 2512 S 40.6 0.4 28:18.52 dockerd
9922 root 20 0 1105300 9984 2944 S 30.2 0.1 1:02.72 docker
3362 root 20 0 1934276 19060 1408 S 20.8 0.2 20:24.57 containerd
9416 ubuntu 20 0 1148560 298160 0 R 12.0 3.7 10:03.66 node
9158 dnsmasq 20 0 54992 2432 128 R 11.7 0.0 5:01.56 redis-server
8997 root 20 0 1238120 5704 256 S 10.7 0.1 9:06.51 containerd-shim
9504 ubuntu 20 0 569128 51532 0 R 8.8 0.6 5:20.97 node
9930 pollina+ 20 0 353212 5692 3328 R 6.8 0.1 0:06.97 postmaster
9931 pollina+ 20 0 352820 4156 2048 R 5.2 0.1 0:02.70 postmaster
9098 pollina+ 20 0 352844 3004 1024 R 2.3 0.0 0:15.75 postmaster
219 root 20 0 1259732 36000 20352 S 1.0 0.5 1:10.50 cloudflared
9658 root 20 0 9116 4864 2816 R 0.6 0.1 0:18.19 top
سيكون من الجيد لو تضمنت عملية التصريف شريط تقدم.
ما هي أفضل طريقة لـ:
sudo shutdown --reboot 0 سابقًا، ولكن ذلك أدى إلى إتلاف قاعدة بيانات postgres واضطررت إلى إعادة تشغيل الجهاز مرة أخرى.يمكنك البحث في الرسائل التي تتلقاها مقابل المنتدى والإنترنت. أيضًا، حاول نقل هذا إلى منشور جديد بدلاً من الرد على الإعلان.
اكتبه في البحث وسترى النتائج. كرر ذلك مع ما نشرته مقابل المنتدى والإنترنت؛ يجب أن تحصل على الكثير من المعلومات.
https://meta.discourse.org/search?q=has%20unmet%20peer%20dependency
هذه الخطوة ليست خطوة تجميع، بل هي مجرد تنزيل لملفات JS. إنها كمية هائلة من الملفات الصغيرة، لذا أخمن أنها حالة سيئة مرضية لحل التخزين غير العادي الذي تستخدمه؟
حسنًا، سأتركه يعمل لبضعة أيام إذن. بخلاف ذلك، أعتقد أنه بدلاً من rpi4 مع SSD، سيحتاج إلى rpi5 مع SSD.
تحديث:
بعد ساعات وقراءة إضافية، قررت أنني سأحاول تغيير حاوية lxd من استخدام مجمع تخزين btrfs إلى استخدام مجمع تخزين zfs. بمجرد الانتهاء، تمكن من التقدم بعد تلك النقطة في حوالي 5 دقائق (بينما مع btrfs كان سيتعطل لمدة ساعة تقريبًا قبل أن تبدأ العمال في الفشل).
لا يزال قيد الإنشاء، ولكن بمجرد الانتهاء منه وتمكني من استيراد النسخة الاحتياطية بنجاح وترتيب شهادات SSL الخاصة بـ Cloudflare، سأنشر ترحيلي من discourse docker الذي يعمل داخل scaleway، إلى discourse docker الذي يعمل داخل حاوية lxd داخل raspberry pi 4 + ssd.
تحديث 2:
لماذا كنت تستخدم مثيلاً baremetal؟
@Falco متأخر جدًا على الحفلة، ولكني أواجه نفس المشكلة.
لقد اتبعت دليل التثبيت على Pi 5، الذي يعمل بنظام arm64. هل لديك أي أفكار حول كيفية إصلاح هذا؟
ما هو نظام التشغيل الذي تستخدمه؟