Ubuntu Recovery Menu: afmystificering af Linux-systemgendannelse

Forsøg ikke at overbevise dig selv ellers: sammen med alle de gode ting får du dårlige dage med Linux.

  • Du (eller de brugere, du støtter) vil fejle skrive kommandoer og ødelægge dokumenter permanent.
  • Du vil opleve den synkende følelse, når du indser, at noget virkelig vigtigt stykke hardware eller software lige er gået og mislykkedes. Det er taknemmelighed efter alt hvad du gjorde for det i alle disse år.

At være ordentligt sikkerhedskopieret betyder, at du kan gå væk fra et ikke-fungerende operativsystem eller computer og genopbygge det hele et andet sted. Men det vil altid være Plan B. Plan A er at komme sig.

Brug af gendannelsestilstand på Ubuntu

Linux lader dig ikke logge ind normalt (måske starter opstartsprocessen uventet, før du f.eks. Viser loginskærmen)? Du vil have nogle grundlæggende systemadministrationsværktøjer.

Men vent: hvis Linux ikke indlæses, hvordan skal du starte disse værktøjer? Nå, selvom Linux ikke indlæses hele vejen til en normal kommandoprompt, kommer det ofte til GRUB-menuen. Derfra kan du bruge op og ned piletasterne og derefter Enter for at vælge en Linux-kerne, der kører i gendannelsestilstand, som, som du snart vil se, åbner en hel pose med tricks.

Som du kan se fra nedenstående figur, når Ubuntu er indlæst i gendannelsestilstand, får du vist en menu med værktøjer, der løser nogle almindelige opstartstidsproblemer. Det er værd at prøve hver enkelt, der ser ud til at det kan løse dit rodproblem. "Rens" fjerner f.eks. Ubrugte filer, hvis du har mistanke om, at problemerne stammer fra en fuld disk. "Dpkg" vil forsøge at rette eventuelle ødelagte apt-baserede softwarepakker, der måske gummier tingene op. ("Dpkg" -værktøjet kan kræve, at du først aktiverer netværk.)

Indstillingen “root” åbner en root-kommandolinjeshellsession for dig, hvor du har Bash til din rådighed. Generelt giver brug af en simpel shell-session til gendannelse snarere end et komplet GUI-skrivebord meget mening, fordi jo færre komplicerede tjenester, du har kørt, jo mere sandsynligt er det, at du i det mindste er i stand til at få dit system kører. Når det lykkes dig at få en fungerende kommandoprompt, kan du begynde at kaste rundt for at se, om du kan identificere og løse problemet.

Men i det mindste vil du se mægtig sej ud og gøre det.

Men hvad er disse værktøjer? Har en Ubuntu-maskine kørt? Gå og kig dig selv. Koden, der kører menuen, skal allerede eksistere et eller andet sted i et Ubuntu-filsystem. Brug "find" for at finde den.

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

Bemærk, at scriptet “l10n.sh” indstiller passende miljøvariabler til menuen. Hvis du navigerer til / lib / recovery-mode / biblioteket, vil du se, at "recovery-menu" -filen er det script, der viser menugrænsefladen, du så ovenfor. Kataloget / lib / recovery-mode / options / directory indeholder filer til udførelse af hvert af menupunkterne ... som "fsck", der vil kontrollere og, hvis det er muligt, rette eventuelle ødelagte filsystemer.

Da du på baggrund af tidligere kapitler i bogen nu er en dygtig Bash-scriptingekspert, hvorfor så ikke se på hvert af scripts i indstillinger / bibliotek for at se, om du kan finde ud af, hvordan de fungerer. Her er indholdet af "fsck" -skriptet for at komme i gang. Bemærk, hvordan scriptet er pænt dokumenteret (ved hjælp af "#" -tegnet) for at hjælpe dig med at forstå, hvad der foregår.

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

Her er et par ting, du kan prøve alene:

  • Kør manuelt det “rene” script på en Debian / Ubuntu-maskine. Hvad skete der?
  • Prøv derefter nøje at redigere / lib / recovery-mode / recovery-menu script (lav en sikkerhedskopi først). Måske bare ændre noget simpelt, som menutitlen eller en af ​​scriptbeskrivelserne. Genstart derefter din maskine og gå fra GRUB-menuen til gendannelsestilstand for at se, hvordan den ser ud.

Med nogle variationer og undtagelser skal du kunne bruge disse eksempler til god brug andre steder.

Denne artikel er tilpasset kapitel 6 (Nødværktøjer: opbyg en systemgendannelsesenhed) i min Manning “Linux in Action” bog . Der er meget sjovere, hvor dette kom fra, inklusive et hybridkursus kaldet Linux in Motion, der består af mere end to timers video og omkring 40% af teksten til Linux in Action . Hvem ved ... du kan også nyde mine Learn Amazon Web Services i en måned med frokost .