Rescue.target — це спеціальна ціль у системі ініціалізації systemd у Linux, яка служить певній меті в контексті усунення несправностей і відновлення системи. Він створений для забезпечення мінімального середовища для одного користувача, яке дозволяє системним адміністраторам діагностувати та виправляти проблеми без перезавантаження системи. Ця ціль особливо корисна під час критичних системних збоїв або неправильних конфігурацій, які перешкоджають нормальному завантаженню.
Основна мета «rescue.target» — забезпечити аварійну оболонку з мінімальними службами та обмеженим набором змонтованих файлових систем. За замовчуванням він запускає однокористувацьку оболонку з кореневою файловою системою, змонтованою в режимі лише для читання. Це середовище дозволяє адміністраторам отримувати доступ до системних файлів і виконувати команди від імені root-користувача, дозволяючи їм досліджувати та вирішувати проблеми, які могли спричинити зависання або нестабільність системи.
Щоб отримати доступ до «rescue.target» без перезавантаження системи, потрібно перервати процес завантаження та змінити параметри завантаження. Зазвичай це можна зробити через меню завантажувача, де ви можете редагувати командний рядок ядра. Додавши параметр «systemd.unit=rescue.target» у кінець командного рядка, ви вказуєте системі завантажуватися безпосередньо в ціль відновлення, а не в ціль за замовчуванням.
Наприклад, якщо ви використовуєте завантажувач GRUB, ви можете вибрати потрібний запис ядра та натиснути «e», щоб змінити параметри. Знайдіть рядок, який починається з «linux» або «linuxefi», і додайте «systemd.unit=rescue.target» у кінці рядка. Натисніть «Ctrl+X» або «F10», щоб завантажитися зі зміненими параметрами та увійти в середовище відновлення.
Опинившись у рятувальній оболонці, ви можете виконувати різні завдання з усунення несправностей. Ви маєте доступ до основних команд і утиліт, таких як монтування файлової системи, налаштування мережі, керування пакетами та інструменти аналізу журналів. Це дозволяє досліджувати та виправляти проблеми, пов’язані з помилками диска, неправильно налаштованими службами, непрацюючими залежностями чи іншими проблемами системного рівня.
Важливо зазначити, що ціль порятунку – це мінімальне середовище, і деякі служби чи пристрої можуть бути недоступні. Мережа може бути вимкнена за замовчуванням, тому вам може знадобитися налаштувати її вручну, якщо потрібно для усунення несправностей. Крім того, аварійна оболонка працює з кореневою файловою системою, змонтованою в режимі лише для читання, щоб запобігти випадковим змінам. Якщо вам потрібно внести зміни у файлову систему, ви можете перемонтувати її в режимі читання-запису за допомогою команди «mount -o remount,rw /».
"rescue.target" у системі ініціалізації systemd забезпечує мінімальне середовище для одного користувача для усунення несправностей і відновлення системи без необхідності перезавантаження системи. Це дозволяє системним адміністраторам діагностувати та виправляти критичні проблеми, надаючи аварійну оболонку з основними інструментами та доступом до файлів системи. Ця функція особливо цінна в ситуаціях, коли збій системи перешкоджає нормальному завантаженню.
Інші останні запитання та відповіді щодо Адміністрування системи EITC/IS/LSA Linux:
- Як директива «conflicts» у systemd запобігає одночасній активності двох пристроїв?
- Яка мета директиви «requisite» у systemd і чим вона відрізняється від «required by»?
- Чому рекомендується керувати залежностями від модулів, які ви створюєте або керуєте самостійно, а не редагувати системні блоки?
- Як директива «before» у systemd визначає порядок виконання одиниць?
- Яка різниця між слабкими залежностями та явним упорядкуванням у systemd?
- Яку команду можна використовувати для перемикання між цілями в systemd і чим це схоже на перемикання між рівнями запуску в sysvinit?
- Як можна переконатися, що необхідні конфігурації мережі завершено до запуску певної мережевої служби?
- Чим цілі подібні до іменованих рівнів запуску в sysvinit і яка мета "multi-user.target"?
- Що таке цілі systemd і як вони допомагають керувати зв’язками між блоками в системі Linux?
- Про що надає інформацію команда "status" у systemctl?
Більше запитань і відповідей дивіться в системному адмініструванні EITC/IS/LSA Linux