Prehľad a riešenie problémov pri zavádzaní CentOS 7 a RHEL 7

Tento článok popisuje proces zavádzania pre systémy CentOS/RHEL 7.x. Aj keď to môže zostať podobné predchádzajúcim vydaniam, s RHEL 7 sa zavádza systemd. Okrem procesu zavádzania poskytnem tipy a triky na riešenie problémov.

Skôr ako budete môcť aktívne riešiť problém pri zavádzaní, musíte porozumieť procesu zavádzania. Prezrite si kroky uvedené nižšie, kým sa neoboznámite s procesom.

Prehľad na vysokej úrovni

  • Sila + príspevok.
  • Vyhľadávanie firmvéru zariadenia.
  • Firmvér číta bootloader.
  • Boot loader načíta konfiguráciu (grub2).
  • Bootloader načíta jadro a initramfs.
  • Boot loader odovzdá riadenie jadru.
  • Kernel inicializuje hardvér + vykoná sa /sbin/initako pid 1.
  • Systemd vykoná všetky ciele initrd (pripojí súborový systém na /sysroot).
  • Koreňový FS jadra prešiel z initramfs root ( /sysroot) na systémový rootfs ( /) a systemd sa znova spustí ako systémová verzia.
  • Systemd hľadá predvolený cieľ a spúšťa/zastavuje jednotky podľa konfigurácie, pričom automaticky rieši závislosti a zobrazí sa prihlasovacia stránka.

Ďalšie informácie o procese zavádzania nájdete v oficiálnej dokumentácii operačného systému pre váš systém.

Systémové ciele

Ciele sú v podstate kontroly závislosti. Majú konfiguráciu „pred“ a „po“ presne pre to, aké služby sú potrebné na splnenie tohto cieľa. Napríklad: arp.ethernet.service, firewalld.service, a tak ďalej je potrebné spustiť a pracovať, kým network.targetsa dostanete k nim. Ak sa nedosiahne, služby ako httpd, nfs, a ldapnemožno spustiť. V RHEL/CentOS 7 je možné nastaviť 4 ciele.

  • graphical.target (GUI rozhranie)
  • multi-user.target (režim pre viacerých používateľov, textové prihlásenie)
  • rescue.target (výzva na sulogin, základná inicializácia systému)
  • emergency.target (výzva na sulogin, pivot initramfs dokončený a koreňový adresár systému namontovaný na / len na čítanie)

Ak chcete zobraziť aktuálny predvolený cieľ spustenia, použite nasledovné:

systemctl get-default

Majte na pamäti, že to môžete zmeniť za behu tak, že izolujete cieľ. Toto spustí/zastaví všetky služby spojené s novým cieľom, takže buďte opatrní (pozrite si systemctl isolate new.target).

Režim jedného používateľa

Sú chvíle, keď budete musieť spustiť režim pre jedného používateľa, aby ste vyriešili problém s operačným systémom. V tomto príklade vám ukážem, ako používať rescue.targetrežim jedného používateľa na RHEL/CentOS 7.

  1. Po zobrazení výzvy v ponuke grub prerušte ponuku grub2 stlačením „e“ na úpravu.
  2. Nájdite riadok, ktorý špecifikuje verziu jadra ( vmlinuz ) a pripojte k nemu nasledovné:systemd.unit=rescue.target
  3. Začnite stlačením klávesov "Ctrl+x".
  4. Potom budete vyzvaní s heslom root, aby ste pokračovali, akonáhle opustíte záchranný shell, proces zavádzania bude pokračovať v načítavaní vášho predvoleného cieľa.

Obnovenie hesla root

Tento proces je trochu odlišný od toho, čo sme používali v predchádzajúcich vydaniach, ale je to jednoduchá úloha a vyžaduje len veľmi málo krokov. Ak potrebujete obnoviť akékoľvek poverenia, môžete použiť túto metódu na získanie prístupu k virtuálnemu počítaču. Stále môžete zaviesť systém z živého CD, pripojiť koreňový súborový systém a upraviť heslo, ale táto metóda je zastaralá a vyžaduje si viac úsilia.

  1. Reštartujte systém.
  2. Po zobrazení výzvy v ponuke grub prerušte ponuku grub2 stlačením „e“ na úpravu.
  3. Presuňte kurzor na koniec riadku, ktorý špecifikuje jadro ( vmlinuz ). Možno budete chcieť odstrániť všetky ostatné konzoly okrem TTY0, avšak tento krok nemusí byť vo vašom prostredí potrebný.
  4. Pripojiť rd.break( bez úvodzoviek ), čím sa preruší proces zavádzania tesne pred odovzdaním kontroly z initramfs skutočnému systému.
  5. Ctrl+x na spustenie systému.

V tomto bode sa zobrazí root shell s koreňovým súborovým systémom pripojeným v režime iba na čítanie na /sysroot. Budeme ho musieť znova pripojiť s oprávneniami na zápis.

Znovu namontovať /sysroot.

# mount -oremount,rw /sysroot

Prepnite sa na chroot väzenie.

# chroot /sysroot

Zmeňte heslo pre používateľa, v ktorom máme zastarané prihlasovacie údaje.

# passwd <username>

Ak používate SElinux, mali by ste zvážiť opätovné označenie všetkých súborov pred pokračovaním v procese zavádzania. Túto časť môžete preskočiť, ak nepoužívate SElinux.

# touch /.autorelabel

Ukončite dvakrát a systém sa čisto zavedie z bodu, v ktorom sme ho prerušili.

Kontrola protokolov z predchádzajúcich bootov

Môže byť užitočné zobraziť protokoly predchádzajúcich neúspešných pokusov o spustenie. Ak boli žurnálované protokoly trvalé (normálne uložené v pamäti a uvoľnené pri zavádzaní), možno to urobiť pomocou journalctlnástroja. Ak potrebujete nastaviť trvalé zapisovanie do denníka, postupujte podľa týchto krokov.

Ako root vytvorte protokolový súbor pre tieto informácie, ktoré sa majú uložiť.

# mkdir -p 2775 /var/log/journal && chown :systemd-journal /var/log/journal
# systemctl restart systemd-journald

Ak chcete skontrolovať protokoly predchádzajúceho zavedenia, použite -bvoľbu s journalctl. Bez akýchkoľvek argumentov -bbude výstup filtrovať iba na správy týkajúce sa posledného spustenia. Záporné číslo k tomuto argumentu vyfiltruje predchádzajúce spustenia. Napríklad:

# journalctl -b-1 -p err

Toto vám ukáže protokoly chýb z bootovania, ktoré sa vyskytlo pred posledným. Mali by ste zmeniť číselnú hodnotu tak, aby odrážala boot, ktorý potrebujete zobraziť.

Oprava chýb disku a súborového systému

Jednou z najčastejších chýb pri zavádzaní je nesprávne nakonfigurovaný /etc/fstabsúbor. Budete NEDÁ použiť rescue.targetopraviť /etc/fstabchybu. Väčšina z týchto problémov si bude vyžadovať použitie, emergency.targetpretože „záchrana“ vyžaduje funkčnejší systém.

Nasledujú príklady problémov, ktoré si vyžadujú emergency.target:

  1. Poškodený súborový systém.
  2. Neexistujúce UUID v /etc/fstab.
  3. Neexistujúci bod pripojenia v /etc/fstab.
  4. Nesprávna možnosť montáže v /etc/fstab.

Dôležité : Po úprave /etc/fstabsúboru v núdzovom režime musíte z bezpečnostných opatrení spustiť nasledovné:

# systemctl daemon-reload

Tu je ukážkový príklad. Spustíme núdzový režim, aby sme odstránili falošný záznam v /etc/fstab.

  1. Po zobrazení výzvy v ponuke grub prerušte ponuku grub2 stlačením „e“ na úpravu.
  2. Nájdite riadok, ktorý špecifikuje verziu jadra ( vmlinuz ) a pripojte k nemu nasledovné:systemd.unit=emergency.target
  3. Stlačením "Ctrl+x" spustíte systém.
  4. Budete vyzvaní s heslom root na pokračovanie.
  5. Znova pripojte /, aby sme mohli vykonať zmeny v fstabsúbore:# mount -oremount,rw /
  6. Pomocou mountpríkazu môžeme zistiť, ktorá položka spôsobuje chybu:# mount -a
  7. Odstráňte problematickú položku zo fstabsúboru.
  8. Použite mount -aznova, aby ste sa uistili, že chyba bola vyriešená.
  9. Použite, systemctl daemon-reloadako som už spomenul, na opätovné načítanie všetkých súborov jednotiek a opätovné vytvorenie celého stromu závislostí.

Keď opustíte núdzový shell, systém dokončí bootovanie z núdzového cieľa a od tohto bodu budete môcť pokračovať ako zvyčajne. Tento príklad bol práve použitý, aby vám ukázal proces používania núdzového cieľa na vykonávanie trvalých zmien v súboroch v systéme.

Problémy so zavádzačom s Grub 2

/boot/grub2/grub.cfgSúbor je hlavný konfiguračný súbor. DO NOT nikdy upravovať tento súbor ručne. Namiesto toho použite grub2-mkconfigna vygenerovanie novej konfigurácie grub2 pomocou sady rôznych konfiguračných súborov a zoznamu nainštalovaných jadier. grub2-mkconfigPríkaz sa bude zaoberať /etc/default/grubna možnosti, ako je časový limit predvolené menu a jadra príkazového riadku na použitie, potom použiť sadu skriptov v /etc/grub.d/generovaní výsledného konfiguračný súbor.

Tu je textový diagram tohto vzťahu.

/boot/grub2/grub.cfg
               |
               |__________________
               |                  |
         /etc/default/grub         /etc/grub.d/*

Dôležité: Ak chcete upraviť hlavný súbor grub.cfg, budete musieť vykonať požadované zmeny /etc/default/grubv súboroch /etc/grub.d/a súboroch a potom vytvoriť nový grub.cfgspustením:

# grub2-mkconfig > /boot/grub2/grub.cfg

Riešenie problémov grub

/boot/grub2/grub.cfgPred riešením problémov je dôležité porozumieť syntaxi súboru.

  • Po prvé, zavádzacie položky sú zakódované v blokoch „menuentry“. V týchto blokoch linux16a initrd16riadky ukazujú na jadro, ktoré sa má načítať z disku (spolu s príkazovým riadkom jadra) a initramfs, ktoré sa má načítať. Počas interaktívnej úpravy pri zavádzaní sa na nájdenie týchto riadkov používa tab.
  • Riadky "set root" v týchto blokoch neukazujú na koreňový súborový systém pre systém RHEL/CentOS 7, ale namiesto toho ukazujú na súborový systém, z ktorého by mal grub2 načítať súbory jadra a initramfs. Syntax je harddrive.partitionkde hd0je prvý pevný disk v systéme a kde hd1je druhý. Oddiely sú označené ako msdos1pre prvý oddiel MBR alebo gpt1pre prvý oddiel GPT.

Príklad z /boot/grub2/grub.cfg:

### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-a2531d12-46f8-4a0f-8a5c-b48d6ef71275' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  123455ae-46f8-4a0f-8a5c-b48d6ef71275
    else
      search --no-floppy --fs-uuid --set=root 123455ae-46f8-4a0f-8a5c-b48d6ef71275
    fi

Ak potrebujete preinštalovať bootloader na zariadení, použite nasledujúci príkaz.

# grub2-install <device>

Oprava pokazenej inštalácie žľabu

Pre prípady, keď sa systém nespustí po dosiahnutí ponuky grub2.

  • Mali by ste začať úpravou ponuky grub a hľadaním syntaktických chýb. Ak nejaký nájdete, opravte ho a vstúpte do systému, aby ste vykonali trvalé zmeny na vyriešenie problému.
  • Ak nemôžete nájsť žiadne chyby, pozrite si časť vyššie, kde zavádzame núdzový cieľ. Budete musieť znova pripojiť root ( /).
  • Zobrazte aktuálnu konfiguráciu grub2 pomocou nasledujúceho príkazu: # grub2-mkconfig
  • Ak nevidíte žiadne chyby, je pravdepodobné, že niekto /boot/grub2/grub.cfgsúbor upravil . Tento súbor neupravujte. Obnovte konfiguráciu pomocou nasledujúceho príkazu:# grub2-mkconfig > /boot/grub2/grub.cfg

Po prebudovaní konfigurácie grub by ste mali byť schopní reštartovať bez akýchkoľvek problémov.


Zvýšte produktivitu pomocou Z a Zsh na CentOS

Zvýšte produktivitu pomocou Z a Zsh na CentOS

Úvod Práca na systémoch Linux znamená, že človek používa príkazový riadok častejšie ako nie. Musíte znova a znova zadávať dlhé názvy adresárov

Nastavte RethinkDB Cluster na CentOS 7

Nastavte RethinkDB Cluster na CentOS 7

Úvod RethinkDB je databáza NoSQL, ktorá ukladá údaje ako dokumenty JSON. Má super intuitívny dopytovací jazyk a má bežne dostupné funkcie, napr

Nainštalujte DirectAdmin na CentOS 6 alebo 7

Nainštalujte DirectAdmin na CentOS 6 alebo 7

DirectAdmin je proprietárny webový ovládací panel, ktorý si môžete nainštalovať na svoj server a ktorý ponúka množstvo funkcií na správu systému. V tomto

Prehľad a riešenie problémov pri zavádzaní CentOS 7 a RHEL 7

Prehľad a riešenie problémov pri zavádzaní CentOS 7 a RHEL 7

Tento článok popisuje proces zavádzania pre systémy CentOS/RHEL 7.x. Aj keď to môže zostať podobné predchádzajúcim vydaniam, s RHEL 7 je systemd bein

Nainštalujte PostgreSQL na CentOS 7

Nainštalujte PostgreSQL na CentOS 7

Úvod PostgreSQL je svetovo najpokročilejší open source systém správy relačných databáz (RDBMS). Je v súlade s normami ANSI SQL:2008

Základy správy používateľov na systémoch CentOS

Základy správy používateľov na systémoch CentOS

Správa používateľov môže byť náročná úloha: od každodennej údržby, bezpečnostných rizík a nedostatku dôkladnej online dokumentácie. Tento článok vám pomôže začať

Počiatočné nastavenie servera CentOS 7

Počiatočné nastavenie servera CentOS 7

Úvod Novo aktivovaný server CentOS 7 musí byť prispôsobený predtým, ako môže byť uvedený do používania ako produkčný systém. V tomto článku to najdôležitejšie

Skontrolujte rýchlosť internetu pomocou Speedtest-cli na CentOS

Skontrolujte rýchlosť internetu pomocou Speedtest-cli na CentOS

Úvod V tomto návode si nainštalujte Speedtest-cli, aby ste otestovali rýchlosť siete vášho servera. Speedtest-cli je rozhranie príkazového riadku pre th

Nainštalujte prostredie GUI na CentOS 6

Nainštalujte prostredie GUI na CentOS 6

Spravovanie servera iba pomocou SSH môže byť zastrašujúce. Dobrá vec pre nás je, že Vultr má možnosť View Console. Na plné využitie konzoly Vultrs VNC

Nastavte časové pásmo a NTP na CentOS 6

Nastavte časové pásmo a NTP na CentOS 6

Úvod Pre správcov serverov je dôležité správne nastaviť a udržiavať čas na serveroch. Zle nakonfigurovaný čas spôsobí chaos v th

Zabezpečenie a posilnenie jadra CentOS 7 pomocou Sysctl

Zabezpečenie a posilnenie jadra CentOS 7 pomocou Sysctl

Úvod Sysctl umožňuje používateľovi jemne doladiť jadro bez toho, aby musel jadro prestavovať. Tiež okamžite použije zmeny, takže server vyhral

Použite Nethogs na monitorovanie využitia šírky pásma siete

Použite Nethogs na monitorovanie využitia šírky pásma siete

V tomto návode sa budeme zaoberať procesom inštalácie a používania nethogs na CentOS 6x x64. nethogs je nástroj na monitorovanie siete, ktorý umožňuje Networ

Nainštalujte CentOS Web Panel (CWP) na CentOS 6

Nainštalujte CentOS Web Panel (CWP) na CentOS 6

CentOS Web Panel alebo CWP je open-source ovládací panel hostingu, ktorý je určený na rýchlu a jednoduchú správu servera. Zahŕňa všetky funkcie o

Nastavte Zarafa a Yaffas na CentOS 6

Nastavte Zarafa a Yaffas na CentOS 6

Existuje veľa riešení, ktoré nahrádzajú Microsoft Exchange riešením Linux, ale všetky mali jeden problém, ktorý sa mi naozaj nepáčil. Keď dostanem

Nasadenie backendového servera Glowing Bear na CentOS 7

Nasadenie backendového servera Glowing Bear na CentOS 7

Glowing Bear je webové rozhranie pre klienta WeeChat IRC a snaží sa byť moderným rozhraním. So svojimi funkciami, ako je kliknutie na zmienku, nahradenie emotikonov

Ako inovovať CentOS 6 na CentOS 7

Ako inovovať CentOS 6 na CentOS 7

Ako inovovať CentOS 6 na CentOS 7

Zabezpečte TMP a TMPFS na CentOS 6

Zabezpečte TMP a TMPFS na CentOS 6

Dočasné adresáre ako /tmp, /var/tmp a /dev/shm ponúkajú hackerom platformu na spúšťanie skriptov a programov. Tieto škodlivé spustiteľné súbory sa používajú t

Povoľte EPEL na CentOS

Povoľte EPEL na CentOS

Pozadie Úložisko Fedoras Extra Packages for Enterprise Linux (EPEL) poskytuje možnosť inštalovať softvérové ​​balíky, ktoré nie sú súčasťou

Ako monitorovať porty a služby pomocou MonitorIX na CentOS6

Ako monitorovať porty a služby pomocou MonitorIX na CentOS6

MonitorIX Tento článok sa bude zaoberať krokmi, ako nainštalovať MonitorIX a nakonfigurovať ho na prihlásenie vlastného portu, v tomto prípade portu Minecraft (25565).

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac