Rescue va emergency mode
Server boot qila olmay qolganda — masalan, /etc/fstab da xato bo'lsa yoki muhim systemd unit ishdan chiqsa — muammoni tuzatish uchun avval tizimga biror shaklda kirish kerak. systemd aynan shu maqsad uchun ikkita maxsus, minimal target’ni taqdim etadi: rescue.target va emergency.target.
Bu maqola Boot jarayoni va GRUB va systemd troubleshooting maqolalarini birlashtiradi va muammo aynan boot bosqichida bo'lganda amaliy tiklash yo'lini ko'rsatadi.
Nimalarni o'rganasiz
Bu maqola oxirida siz quyidagilarni qila olasiz:
rescue.targetvaemergency.targeto'rtasidagi farqni tushuntirish;- har ikki rejimga GRUB orqali kirish;
- unutilgan root parolini tiklash;
/etc/fstabxatosi sababli boot qilmayotgan tizimni tuzatish;- emergency mode’da fayl tizimi hozir read-only yoki read-write ekanini tekshirish.
rescue.target va emergency.target o'rtasidagi farq
| Target | Fayl tizimlari | Tarmoq va boshqa xizmatlar | Qachon ishlatiladi |
|---|---|---|---|
rescue.target |
Odatdagidek mount qilinadi (/etc/fstab bo'yicha) |
Ko'p xizmatlar ishga tushmaydi, lekin asosiy tizim tayyor | Parolni tiklash, oddiy konfiguratsiya xatosini tuzatish |
emergency.target |
Faqat root (/) mount qilinadi, ko'pincha read-only |
Deyarli hech narsa ishga tushmaydi | /etc/fstab buzilgan yoki fayl tizimini mount qilishda muammo bor |
emergency.target — mumkin bo'lgan eng minimal holat: agar hatto rescue.target ham to'liq ishga tusha olmasa (masalan, aynan fstab xatosi sababli), emergency.target odatda baribir ishlaydi, chunki u boshqa mount’larga bog'liq emas.
GRUB orqali rescue yoki emergency mode’ga kirish
Boot jarayoni va GRUB maqolasidagi vaqtinchalik parametr qo'shish texnikasi bu yerda to'g'ridan-to'g'ri qo'llanadi:
- Server qayta yuklanayotganda GRUB menyusi chiqqach, uni
Shift/Escbilan to'xtating. - Yozuvni tanlang va
eni bosing. linuxbilan boshlanadigan qator oxiriga kerakli target’ni qo'shing:
Rescue mode uchun:
Emergency mode uchun:
Ctrl+XyokiF10bilan shu holatda boot qiling.
Bu parametr faqat joriy boot’ga tegishli — qayta yuklashdan keyin tizim odatdagi target’iga qaytadi.
Info
Ayrim eski hujjatlarda single yoki 1 parametri tilga olinadi — bu SysV init davridan qolgan sarqit va systemd tizimida systemd.unit=rescue.target ga mos keladi.
Root parolini tiklash
Rescue mode’ga kirgach, ko'p distributivlar yo avtomatik root shell ochadi yoki root parolini so'raydi. Agar root parolining o'zi noma’lum bo'lsa, quyidagi umumiy yondashuv qo'llanadi:
emergency.targetyokirescue.targetorqali kirgandan keyin root fayl tizimi read-only bo'lishi mumkin — avval yozish huquqini yoqing:
- Yangi parol o'rnating:
- O'zgarish diskka to'g'ri yozilganiga ishonch hosil qilish uchun tizimni to'g'ri tarzda qayta yuklang:
Danger
Bu usul jismoniy yoki konsol orqali kirish imkoniga ega (KVM/iLO/hypervisor konsoli) har qanday kishiga root parolini qayta o'rnatish imkonini beradi — bu Linux’ning zaiflik emas, ataylab qo'yilgan xususiyati. Aynan shu sababli jismoniy va konsol kirishini nazorat qilish (server xonasiga kirish, hypervisor ruxsatlari) parol xavfsizligining ajralmas qismi.
Rescue mode’ning o'zi siz yo'qotgan parolni so'raganda
Bu yerda bitta qiyinchilik bor: ko'p distributivlarda rescue.target shell berishdan oldin root parolini so'raydi — root parolining o'zi esdan chiqqan bo'lsa, bundan foyda yo'q. Buni aylanib o'tish yo'li — systemd ni butunlay chetlab o'tib, kernel’ga PID 1 sifatida hech qanday parol himoya qilmaydigan shell’ni ishga tushirtirish:
- Ubuntu/Debian — GRUB yozuvlar muharririda (
e)linuxqatorini toping varo quiet splashnirw init=/bin/bashbilan almashtiring, so'ngCtrl+Xbilan boot qiling. Kernel/allaqachon yozish mumkin bo'lgan holda to'g'ridan-to'g'ri root shell’ga tushadi, shuning uchunpasswd rootdarhol ishlaydi. Oddiy o'chirish jarayoni ishlamayotgani uchun keyinexec /sbin/inityoki majburiyreboot -fbilan qayta yuklang. - RHEL/Rocky/Fedora — buning o'rniga
rd.breakqo'shing. Bu initramfs ichida to'xtaydi, haqiqiy root esa/sysrootda read-only holda mount qilingan bo'ladi. Uni qayta mount qiling (mount -o remount,rw /sysroot),chroot /sysrootni bajaring,passwdni ishga tushiring va — SELinux enforcing rejimida bo'lgani uchun — o'zgartirilgan shadow fayli keyingi boot’da qayta belgilanishi (relabel) uchuntouch /.autorelabelni bajaring.
Danger
init=/bin/bash butun xizmatlar va mount’lar qatlamini o'tkazib yuboradi, shuning uchun odatda mavjud deb qabul qilinadigan vositalar (log yozish, tarmoq, toza o'chirish) ishlamayotgan bo'ladi — faqat parolni qayta o'rnating va oddiy boot’ga qayting. Bu shell’dan umumiy ta’mirlash ishlari uchun foydalanmang; buning uchun to'g'ri tarzda rescue.target (yoki emergency.target) ga boot qiling.
/etc/fstab xatosi sababli boot qilmayotgan tizimni tuzatish
fstab dagi noto'g'ri UUID yoki mavjud bo'lmagan mount nuqtasi odatda tizimni avtomatik ravishda emergency mode’ga tushiradi va sababni terminalda ko'rsatadi.
- Xato xabarini o'qing — u odatda muammoli qator yoki qurilmani ko'rsatadi.
- Kerak bo'lsa, fayl tizimini yozish mumkin bo'lgan holatga keltiring:
fstabni tahrirlang:
- Muammoli qatorni tuzating yoki vaqtincha izohga aylantiring (qatorni
#bilan boshlab), so'ng saqlang. - Hali qayta yuklamasdan o'zgarishni tekshiring:
- Xatosiz ekani tasdiqlangach:
Bu jarayon fstab maqolasida ko'rilgan findmnt --verify --tab-file bilan oldindan tekshirishni to'ldiradi — u yerda u vaqtinchalik sinov fayli bilan, bu yerda esa haqiqiy tiklash vaziyatida ishlatiladi.
Joriy holatni tekshirish
Rescue yoki emergency mode’da qaysi target faolligini tasdiqlash:
Fayl tizimi read-only yoki read-write ekanini tekshirish:
Natija ro yoki rw ni ko'rsatadi.
Keng tarqalgan xatolar
Avval qayta mount qilmasdan faylni tahrirlashga urinish
emergency.target ostida root ko'pincha read-only bo'ladi. Avval mount -o remount,rw / ni bajarmasdan fstab yoki boshqa faylni saqlash "Read-only file system" xatosi bilan muvaffaqiyatsiz bo'ladi.
fstab ni tuzatgandan keyin oldin tekshirmasdan qayta yuklash
Agar yangi xato kiritilgan bo'lsa, tizim yana emergency mode’ga tushadi. Oldindan findmnt --verify bilan tekshirish bu siklning oldini oladi.
Rescue va emergency mode’ni bir xil narsa deb hisoblash
Rescue mode ko'p fayl tizimlarini mount qiladi va ayrim xizmatlarni ishga tushiradi; emergency mode esa deyarli hech narsani ishga tushirmaydi. Vaziyatga noto'g'ri rejimni tanlash kerakli vosita (masalan, tarmoq) shunchaki mavjud bo'lmasligiga olib kelishi mumkin.
Mashqlar
- O'chirib tashlasa bo'ladigan VM’da GRUB orqali
rescue.targetga kiring va qaysi target’lar faolliginisystemctl list-units --type=targetbilan tekshiring. - Xuddi shu VM’da
emergency.targetga kiring vafindmnt -no OPTIONS /natijasini rescue mode’da ko'rganingiz bilan solishtiring. - Sinov VM’ida
/etc/fstabga ataylab buzilgan qator qo'shing (masalan, mavjud bo'lmagan UUID), qayta yuklang va tizim emergency mode’ga tushishini kuzating, so'ng yuqorida ko'rsatilgan jarayon bo'yicha uni tuzating. - Rescue mode’da sinov foydalanuvchisining parolini
passwdbilan o'zgartiring va oddiy qayta yuklashdan keyin yangi parol ishlashini tasdiqlang.
Mashqni bajardim deyish uchun: noto'g'ri fstab yozuvi sabab bo'lgan boot xatosi berilganda emergency mode’ga kirishdan toza qayta yuklashgacha bo'lgan to'liq ketma-ketlikni remount qadamini tushirib qoldirmasdan tasvirlab bera olishingiz kerak.
Xulosa
rescue.target va emergency.target — systemd ning eng minimal ishga tushish holatlari bo'lib, ular GRUB orqali systemd.unit= parametri bilan vaqtincha tanlanadi. Rescue mode ko'proq fayl tizimlari va xizmatlarni mount qiladi, emergency mode esa faqat root fayl tizimini, ko'pincha read-only holda ochadi. Ikkalasi ham root parolini tiklash yoki /etc/fstab kabi konfiguratsiya xatolarini to'liq qayta yuklash siklisiz tuzatish uchun ishlatiladi — lekin avval fayl tizimini remount,rw bilan yozish uchun qayta ochish kerak.