Менюто за възстановяване на Ubuntu: демистифициране на възстановяването на Linux системата

Не се опитвайте да се убеждавате в противното: заедно с всички добри неща, ще имате и лоши дни с Linux.

  • Вие (или потребителите, които поддържате) ще въведете грешно команди и ще унищожите окончателно документи.
  • Ще изпитате това потъващо усещане, когато осъзнаете, че някаква наистина важна част от хардуера или софтуера току-що е изчезнала и се е провалила. Това е благодарност след всичко, което направи за това през всичките тези години.

Правилното архивиране означава, че можете да се отдалечите от неработеща операционна система или компютър и да възстановите всичко другаде. Но това винаги ще бъде план Б. План А е да се възстанови.

Използване на режим за възстановяване на Ubuntu

Linux не ви позволява да влизате нормално (може би процесът на зареждане неочаквано спира, преди да се покаже екранът за вход, например)? Ще ви трябват някои основни инструменти за системно администриране.

Но изчакайте: ако Linux не се зареди, как ще стартирате тези инструменти? Е, дори ако Linux няма да се зареди до нормален команден ред, често ще ви отведе до менюто GRUB. Оттам можете да използвате клавишите със стрелки нагоре и надолу и след това Enter, за да изберете ядро ​​на Linux, работещо в режим на възстановяване, което, както скоро ще видите, ще отвори цяла чанта трикове.

Както можете да видите от фигурата по-долу, след като Ubuntu се зареди в режим на възстановяване, ще ви се покаже меню с инструменти, които адресират някои често срещани проблеми при зареждане. Струва си да опитате всеки един, който изглежда, че може да се справи с основния ви проблем. Например „Clean“ ще премахне неизползваните файлове, ако подозирате, че проблемът произтича от пълен диск. „Dpkg“ ще се опита да поправи счупените софтуерни пакети, базирани на apt, които може да подправят нещата. (Инструментът „dpkg“ може да изисква първо да активирате мрежата.)

Опцията “root” ще отвори за вас сесия на команден ред на командния ред, където ще разполагате с Bash. Като цяло използването на обикновена сесия на обвивката за възстановяване, а не на пълен работен плот на GUI има много смисъл, защото колкото по-малко сложни услуги имате, толкова по-вероятно е поне да можете да получите вашата система бягане. След като се е успял да премине на работна командния ред, можете да започнете дълго обикаляне, за да видите дали можете да откриете и поправите проблема.

Но най-малкото ще изглеждате страхотно готино, правейки го.

Но какви са тези инструменти? Имате работеща машина на Ubuntu? Отидете да се огледате сами. Кодът, изпълняващ менюто, вече трябва да съществува някъде в файловата система на Ubuntu. Използвайте „locate“, за да го намерите.

locate recovery-mode /lib/recovery-mode /lib/recovery-mode/l10n.sh /lib/recovery-mode/options /lib/recovery-mode/recovery-menu /lib/recovery-mode/options/apt-snapshots /lib/recovery-mode/options/clean /lib/recovery-mode/options/dpkg /lib/recovery-mode/options/failsafeX /lib/recovery-mode/options/fsck /lib/recovery-mode/options/grub /lib/recovery-mode/options/network /lib/recovery-mode/options/root /lib/recovery-mode/options/system-summary

Имайте предвид, че скриптът “l10n.sh” задава подходящи променливи на средата за менюто. Ако отидете до директорията / lib / recovery-mode /, ще видите, че файлът "recovery-menu" е скриптът, който показва интерфейса на менюто, който видяхте по-горе. Директорията / lib / recovery-mode / options / съдържа файлове за изпълнение на всеки от елементите на менюто ... като “fsck”, който ще провери и, ако е възможно, ще поправи счупените файлови системи.

Тъй като, въз основа на предишни глави в книгата, вече сте завършен експерт по скриптове на Bash, защо не разгледате всеки от скриптовете в директорията с опции / да видите дали можете да разберете как работят. Ето съдържанието на скрипта „fsck“, за да ви подготви. Обърнете внимание на начина, по който скриптът е добре документиран (с помощта на символа „#“), за да ви помогне да разберете какво се случва.

cat /lib/recovery-mode/options/fsck #!/bin/sh . /lib/recovery-mode/l10n.sh  if [ "$1" = "test" ]; then echo $(eval_gettext "Check all file systems") exit 0 fi # Actual code is in recovery-menu itself  exit 0

Ето няколко неща, които можете да опитате сами:

  • Ръчно стартирайте „чистия“ скрипт на машина Debian / Ubuntu. Какво стана?
  • След това опитайте внимателно да редактирате скрипта на менюто / lib / recovery-mode / recovery-menu (първо направете резервно копие). Може би просто променете нещо просто, като заглавието на менюто или едно от описанията на скрипта. След това рестартирайте машината си и от менюто GRUB влезте в режим на възстановяване, за да видите как изглежда.

С някои вариации и изключения, би трябвало да можете да използвате тези примери за добро използване другаде.

Тази статия е адаптирана от глава 6 (Инструменти за спешни случаи: изграждане на устройство за възстановяване на системата) от моята книга Manning „Linux в действие“ . Има много повече забавления откъде идва това, включително хибриден курс, наречен Linux in Motion, който се състои от повече от два часа видео и около 40% от текста на Linux в действие . Кой знае ... може и да се насладите на моите услуги за Учене на Amazon Web за един месец обяди .