انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

آخرین ارسال‌ها

صفحه: 1 ... 4 5 [6] 7 8 ... 10
51
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 28 مهر 1404، 11:02 ب‌ظ »
حذف plymouth از مدیریت OpenRC :
sudo rc-update del plymouth boot
sudo rc-update del plymouth shutdown
sudo rc-update -u
اجازه بده sysvinit خودش plymouth رو کنترل کنه :
sysvinit خودش هنگام بوت، دستورهای start و stop سرویس‌ها رو بر اساس فایل زیر کنترل می‌کنه:
/etc/inittab
برای اینکه plymouth در همین سطح (بدون دخالت OpenRC) مدیریت بشه،
کافیه دستور زیر رو اجرا کنی تا لینک‌های استاندارد sysvinit برای plymouth برگردن:
sudo update-rc.d plymouth defaults
این دستور اسکریپت /etc/init.d/plymouth رو به runlevelهای سنتی sysvinit لینک می‌کنه:
/etc/rc2.d/S20plymouth
/etc/rc6.d/K20plymouth
...

یعنی الان sysvinit خودش plymouth رو اجرا می‌کنه.
الان در OpenRC نباید plymouth در rc-update show دیده بشه:
rc-update show | grep plymouth(باید خروجی خالی بده)
اما در sysvinit هنوز فعال باقی می‌مونه:
ls /etc/rc*.d/*plymouth*
حالا ریبوت کن:
sudo reboot
52
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط norouzi90 28 مهر 1404، 10:00 ب‌ظ »
آقای   Chappie  ، ممنون از توضیحاتتان.

با توجه به عکس های 1 و 2 و 3 ، نمی دانم چرا همچنان خطای ERROR: plymouth failed to start را در زمان بوت می دهد.
53
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 28 مهر 1404، 05:36 ب‌ظ »
سوال :
ببینید اصلا این مسیر وجود داره
/usr/sbin/plymouthdیا به عبارت دیگر مطمئن بشید plymouth نصب هست یا نه .
dpkg -l | grep plymouth
54
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 28 مهر 1404، 05:16 ب‌ظ »
در مورد عکس ۳ و ۴
- - -
چیزی که متوجه شدی کاملاً درسته.
- - -
وظیفهٔ اصلی plymouth
Plymouth در اصل برای زمان بوت اولیه (initramfs) طراحی شده است:
وقتی کرنل تازه لود می‌شود و هنوز root filesystem به‌طور کامل mount نشده،
initramfs , plymouthd را اجرا می‌کند تا وضعیت بوت را به‌صورت گرافیکی نمایش دهد.

بعد از این مرحله، وقتی کنترل از initramfs به سیستم اصلی (init واقعی مثل systemd یا sysvinit) منتقل می‌شود، plymouth باید متوقف شود.
- - -
چرا اسکریپت init.d می‌گوید:
Stop plymouth during boot and start it on shutdown
چون در زمان بوت واقعی (مرحلهٔ OpenRC/sysvinit)، plymouth دیگر وظیفه‌ای ندارد.
در عوض در زمان خاموش کردن سیستم دوباره برای چند ثانیه اجرا می‌شود تا صفحه‌ای شبیه «Shutting down…» نمایش دهد.
به همین دلیل، وظیفهٔ فایل /etc/init.d/plymouth این است که:
در boot: اگر plymouth هنوز از initramfs در حال اجراست → آن را stop کند
در shutdown: دوباره اجراش کند برای انیمیشن خروج.
- - -
چرا در OpenRC خطا می‌دهد؟

چون در محیط OpenRC:

initramfs معمولاً plymouth را اصلاً راه‌اندازی نکرده (به‌خصوص اگر initramfs سفارشی ساخته باشی)،

در نتیجه وقتی اسکریپت /etc/init.d/plymouth اجرا می‌شود و سعی می‌کند آن را «stop» یا «start» کند،
فرآیندی به نام /usr/sbin/plymouthd پیدا نمی‌کند → خطا می‌دهد:
* ERROR: plymouth failed to start- - -
چرا با غیرفعال کردن آن خطا رفع می‌شود؟
چون وقتی این اسکریپت را از runlevel حذف می‌کنی، دیگر OpenRC سعی نمی‌کند plymouth را اجرا یا متوقف کند،
در نتیجه هیچ پیام خطایی هم نمایش داده نمی‌شود.
55
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 28 مهر 1404، 05:03 ب‌ظ »

Plymouth فقط «ظاهر بوت» رو کنترل می‌کنه، نه لاگ کرنل رو
وقتی Plymouth فعاله، خروجی کرنل (که معمولاً پیام‌های dmesg هستن)
از طریق اون نمایش داده می‌شن یعنی Plymouth رنگ و فونت و نحوه نمایش متن روی صفحه رو تعیین می‌کنه.
اما خود کرنل هنوز همون پیام‌ها رو تولید می‌کنه.
- - -
بنابراین وقتی Plymouth رو حذف می‌کنی:
رنگ‌بندی مخصوصش (رنگ فیروزه‌ای و سبز) از بین می‌ره،
اما چون پیام‌ها توسط خود کرنل تولید می‌شن، هنوز وجود دارن و در dmesg ثبت می‌شن.
- - -
پیام‌هایی که در دو عکس ۱و۲ دیده میشن :
این‌ها خطا یا هشدارهای سطح firmware / kernel هستن،
و ربطی به Plymouth ندارن — کرنل خودش اونا رو موقع راه‌اندازی سخت‌افزار چاپ می‌کنه.
Plymouth فقط اون‌ها رو رنگی نشون می‌داد.
- - -
Plymouth رنگ‌های خاصی برای پیام‌های info, warn, err تعریف می‌کنه.
- - -
چرا هنوز با dmesg --level=err,warn,crit دیده می‌شن؟
چون dmesg مستقیماً از حلقهٔ بافر کرنل (kernel ring buffer) می‌خونه،
که Plymouth هیچ نقشی در تولیدش نداره.
حتی اگر Plymouth، syslog یا journal نباشن، این پیام‌ها درون حافظهٔ کرنل ذخیره می‌شن.


56
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط norouzi90 27 مهر 1404، 05:53 ب‌ظ »
Plymouth :

اگر شما هم از دبیان 13 استفاده می نمایید، احتمال می دهم که خطاهایی که در عکس 1 نشان می دهد را در هنگام بوت در سیستمتان خواهید دید، البته احتمال می دهم.
 در نصب دبیان با میزکار سینامون که به روش عادی داشتم اینگونه بود. الان هم که به‌وسیلهٔ  Debootstrap ، دبیان را نصب کرده ام باز هم این خطاها با رنگ فیروزه ای باز هم دیده می شود.
اگر من بسته plymouth را حذف کنم، دیگر در زمان بوت این خطاها با رنگ فیروزه ای دیگر دیده نمی شوند. عکس 2
ولی همچنان این خطاها با دستور:

# dmesg --level=err,warn,crit
قابل مشاهده هستند.
علت را نمی دانم.


مورد بعدی که میخواهم با شما در میان بگذارم و چند روزی مرا سرگرم خود کرده بود، مربوط به عکس 3 می باشد. یعنی خطای زمان بوت:
ERROR: Plymouth faied to start

خیلی اذیتم کرد، تا اینکه با بررسی فایل   etc/init.d/plymouth/  و محتوای آن متوجه شدم: عکس 4

# Short-Description: Stop plymouth during boot and start it on shutdown
حالا این را مقایسه کنید با :

نقل‌قول
Plymouth provides a boot-time I/O multiplexing framework - the most obvious
use for which is to provide an attractive graphical animation in place of
the text messages that normally get shown during boot. (The messages are
instead redirected to a logfile for later viewing.) However, in event-driven
boot systems Plymouth can also usefully handle user interaction such as
password prompts for encrypted file systems.

This package provides the basic framework, enabling a text-mode animation.

نقل‌قول
پلیموث یک چارچوب مالتی‌پلکسینگ ورودی/خروجی زمان بوت ارائه می‌دهد - که بارزترین کاربرد آن، ارائه یک انیمیشن گرافیکی جذاب به جای پیام‌های متنی است که معمولاً در طول بوت نمایش داده می‌شوند. (در عوض، پیام‌ها برای مشاهده بعدی به یک فایل لاگ هدایت می‌شوند.) با این حال، در سیستم‌های بوت مبتنی بر رویداد، پلیموث همچنین می‌تواند به طور مفیدی تعامل کاربر مانند درخواست رمز عبور برای سیستم‌های فایل رمزگذاری شده را مدیریت کند.

این بسته چارچوب اولیه را فراهم می‌کند و یک انیمیشن حالت متنی را فعال می‌کند.

من که نفهمیدم، اگر plymouth اصالتا برای زمان بوت طراحی شده چه ضرورتی دارد که در زمان بوت بخواهند دوباره  آنرا stop کنند و در زمان shutdown سیستم بیایند و آنرا start کنند!!
اگر من فایل  etc/init.d/plymouth/ را غیر فعال کنم، خطای  ERROR: Plymouth faied to start دیگر نخواهد بود.

57
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 27 مهر 1404، 05:36 ب‌ظ »
58
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 27 مهر 1404، 05:02 ب‌ظ »
یعنی OpenRC (یا در واقع init کلاسیک که زیرساخت اجرای OpenRC است) انتظار داشته دایرکتوری /etc/inittab.d/ وجود داشته باشد تا اگر تنظیمات اضافه‌ای برای inittab هست، آنجا بارگذاری کند.
این پوشه  در نصب‌های debootstrap یا دست‌ساز ممکن است ساخته نشده باشد.
آن پیام خطا فقط یک هشدار بود، نه خطای بحرانی.
ساخت /etc/inittab.d مشکل را کامل برطرف کرده.
نیازی به فایل خاصی داخلش نیست، مگر بخواهی در آینده inittab را ماژولارتر پیکربندی کنی (مثلاً برای runlevelهای خاص یا سرویس‌های سفارشی).
- - -
OpenRC خودش مستقیماً از /etc/inittab.d/ استفاده نمی‌کند، بلکه sysvinit (که OpenRC روی آن اجرا می‌شود) از آن استفاده می‌کند.
- - -
kernel → sysvinit → OpenRC → سرویس‌ها → login- - -
یعنی sysvinit همیشه اول میاد،
و OpenRC زیرمجموعه‌اش برای مدیریت سرویس‌هاست (جایگزین sysv-rc کلاسیک).
OpenRC فقط یک service manager است، نه init اصلی سیستم.
59
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط norouzi90 27 مهر 1404، 03:44 ب‌ظ »
یکی از مواردی که در زمان بوت نشان داده می شد: عکس 1

ّINIT: No inittab.d directory found

می بود که با دستور:

# mkdir /etc/inittab.d
این مورد برطرف شد. عکس 2
60
انجمن عمومی / پاسخ : نصب Debian Debootstrap
« آخرین ارسال توسط Chappie 27 مهر 1404، 02:50 ب‌ظ »
برای استفاده روزمره (خاموش کردن یا ریبوت عادی سیستم) همیشه از
shutdown nowاستفاده کن
- - -
و اون حلقه for فقط یک‌بار لازم است — همان موقعی که داری از sysv-rc به openrc مهاجرت می‌کنی.
- - -
خروجی دستور rc-status یعنی چی و چطور بفهمی واقعاً OpenRC فعاله.
این دستور مخصوص OpenRC هست
و برای نشون دادن وضعیت سرویس‌ها در هر runlevel به کار می‌ره.
(در sysvinit چنین دستوری وجود نداره، چون اون از /etc/init.d مستقیم استفاده می‌کنه.)
- - -
اگر واقعاً OpenRC فعال باشه، باید خروجی‌ای شبیه همون عکس ۲ باشه .
- - -
معنی ستون‌ها:
Runlevel: default → همون سطح اجرای اصلی سیستم.
سرویس‌هایی که [ started ] هستن، الان در حال اجرا هستن.
[ stopped ] یعنی متوقف‌ان یا توی این runlevel فعال نیستن.
خط‌های “Dynamic Runlevel” یعنی سرویس‌هایی که موقتاً فعال شدن (مثل USB hotplug).
صفحه: 1 ... 4 5 [6] 7 8 ... 10