در بیشتر توزیع های لینوکس ، یکی از مهمترین دلایلی که شما در سیستم عامل با چنین خطایی مواجه می شوید این است که شما با runlevel پیشفرض 5 سیستم را boot کرده اید و default runlevel شما 5 است یا به هر دلیلی اعم از Load شدن کنسولهای گرافیکی xdm ، kdm ، gdm و ... سیستم نمی تواند برنامه مورد نظر برای تغییر runlevel را پیدا کند .
دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
البته در اینجا id به معنی عدم وجود یا مشکل تنظیمات یک برنامه دیگر مثل mingetty هم می تواند باشد. اگر init بیشتر از 10 بار تلاش کند که خودش را respawn کند ( دوباره load کند ) باز هم با همین خطا مواجه هواهید شد. اما مهم است متوجه شوید که Id “x” سمت چپ ترین شماره در ستون های فایل inittab در مسیر etc/inittab است که به شکل زیر قابل شناسایی است :
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
خوب تا کنون در خصوص محل به وجود آمدن خطا توضیح دادیم ، اما چگونه آن را درست کنیم ؟ دقت کنید هنوز ما متوجه نشده ایم که دلیل بروز خطا چه برنامه ای است ، اگر حدس می زنیم که یکی از خطوط فایل inittab باعث ایجاد مشکل شده است کافیست خط مربوطه را comment کنیم و مشکل برنامه مربوطه را مجدد تست کنیم ، در چنین حالتی حداقل کاری که انجام می شود log برداری از محل دقیقا خطایی است که رخ داده است
و شما می توانید این خطا را در استاندارد خروجی برنامه مروبطه یا لاگ های حود سیستم بررسی کنید که دلیل بروز خطا چه بوده است. بعد از بروز خطا ، اینبار با استفاده خط مورد نظر را Uncomment کنید تا مجددا اجرا شود چون لاگ برداری مورد نظر شما انجام شده است ، شما باید init را restart کنید ، اینکار با استفاده از دستور kill – SIGHUP یا دستور telinit q انجام می شود ، اینکار باعث می شود که مجددا فایل inittab شما reload و reinitialize شود. امیدوارم با این دستورات مشکل شما حل شود.