CentOS 7 ja RHEL 7 alglaadimisprotsessi ülevaade ja tõrkeotsing

Selles artiklis kirjeldatakse CentOS/RHEL 7.x süsteemide alglaadimisprotsessi. Kuigi see võib jääda varasemate väljaannetega sarnaseks, võetakse RHEL 7-ga kasutusele systemd. Lisaks alglaadimisprotsessile annan tõrkeotsingu näpunäiteid ja nippe.

Enne alglaadimisprobleemi aktiivset tõrkeotsingut peate mõistma alglaadimisprotsessi. Vaadake allolevaid samme üle, kuni olete protsessiga tuttav.

Kõrgetasemeline ülevaade

  • Võimsus + post.
  • Püsivara seadme otsing.
  • Püsivara loeb alglaadurit.
  • Alglaadur laadib konfiguratsiooni (grub2).
  • Alglaadur laadib kerneli ja initramfsi.
  • Alglaadur annab juhtimise üle kernelile.
  • Kernel lähtestab riistvara + käivitab /sbin/initpid 1.
  • Systemd käivitab kõik initrd-i sihtmärgid (ühendab failisüsteemi /sysroot).
  • Kerneli juur-FS lülitus initramfsi juurtest ( /sysroot) süsteemi juurfsile ( /) ja systemd käivitab uuesti süsteemi versioonina.
  • Systemd otsib vaikesihtmärki ja käivitab/peatab üksused vastavalt konfiguratsioonile, lahendades automaatselt sõltuvused ja kuvatakse sisselogimisleht.

Alglaadimisprotsessi kohta lisateabe saamiseks vaadake oma süsteemi ametlikku OS-i dokumentatsiooni.

Süsteemsed sihtmärgid

Eesmärgid on põhimõtteliselt sõltuvuskontrollid. Neil on "enne" ja "pärast" konfiguratsioon täpselt selle eesmärgi saavutamiseks vajalike teenuste jaoks. Näiteks: arp.ethernet.service, firewalld.service, ja nii edasi tuleb käivitada ja töötada, enne kui network.targetjõuate. Kui see ei ole saavutatud, teenuseid nagu httpd, nfsja ldapei saa käivitada. RHEL/CentOS 7-s saab määrata 4 sihtmärki.

  • graphical.target (GUI liides)
  • multi-user.target (mitme kasutaja režiim, tekstipõhine sisselogimine)
  • pääste.target (sulogini viip, põhisüsteemi lähtestamine)
  • Emergency.target (sulogini viip, initramfs-i pivot on lõpetatud ja süsteemi juur on ühendatud / kirjutuskaitstud)

Praeguse alglaadimise vaikesihtmärgi vaatamiseks kasutage järgmist.

systemctl get-default

Pidage meeles, et saate seda tööajal muuta, eraldades sihtmärgi. See käivitab/peatab kõik uue sihtmärgiga seotud teenused, seega olge ettevaatlik (vt systemctl isolate new.target).

Ühe kasutaja režiim

Mõnikord peate operatsioonisüsteemi probleemi lahendamiseks käivitama ühe kasutaja režiimi. Selle näite puhul näitan teile, kuidas kasutada rescue.targetRHEL/CentOS 7-s "ühe kasutaja režiimi".

  1. Katkesta grub2 menüü, vajutades redigeerimiseks nuppu "e", kui grub menüü seda küsib.
  2. Otsige üles rida, mis määrab kerneli versiooni ( vmlinuz ) ja lisage sellele järgmine tekst:systemd.unit=rescue.target
  3. Alustamiseks vajutage "Ctrl+x".
  4. Seejärel palutakse teil jätkata jätkamiseks juurparooliga. Pärast päästekestast väljumist jätkab alglaadimisprotsess teie vaikesihtmärgi laadimist.

Juurparooli taastamine

See protsess erineb veidi varasemates versioonides kasutatust, kuid see on lihtne ülesanne ja nõuab väga vähe samme. Kui teil on vaja mandaadid taastada, saate seda meetodit kasutada VM-ile juurdepääsu saamiseks. Saate siiski käivitada reaalajas CD-lt, ühendada juurfailisüsteemi ja redigeerida parooli, kuid see meetod on aegunud ja nõuab rohkem pingutust.

  1. Taaskäivitage süsteem.
  2. Katkesta grub2 menüü, vajutades redigeerimiseks nuppu "e", kui grub menüü seda küsib.
  3. Liigutage kursor kerneli määrava rea lõppu ( vmlinuz ). Võimalik, et soovite eemaldada kõik muud konsoolid peale TTY0, kuid see samm ei pruugi teie keskkonnas vajalik olla.
  4. Lisa rd.break( ilma jutumärkideta ), mis katkestab alglaadimisprotsessi vahetult enne juhtelemendi üleandmist initramfsilt tegelikule süsteemile.
  5. Ctrl+x käivitamiseks.

Siinkohal kuvatakse juurkesta, mille juurfailisüsteem on ühendatud kirjutuskaitstud režiimis /sysroot. Peame selle kirjutamisõigustega uuesti ühendama.

Paigaldage uuesti /sysroot.

# mount -oremount,rw /sysroot

Lülituge chrooti vanglasse.

# chroot /sysroot

Muutke selle kasutaja parooli, kelle volikirjad on aegunud.

# passwd <username>

Kui kasutate SElinuxit, peaksite enne alglaadimisprotsessi jätkamist kaaluma kõigi failide uuesti märgistamist. Kui te ei kasuta SElinuxit, võib selle osa vahele jätta.

# touch /.autorelabel

Väljuge kaks korda ja süsteem käivitub puhtalt kohast, kus selle katkestasime.

Eelmiste alglaadimiste logide ülevaatamine

Kasulik võib olla eelmiste ebaõnnestunud alglaadimiskatsete logide vaatamine. Kui registreeritud logid on muudetud püsivateks (tavaliselt salvestatud mällu ja vabastatud alglaadimisel), saab seda teha journalctltööriistaga. Järgige neid samme, kui peate seadistama püsiva alglaadimise logimise.

Looge administraatorina selle teabe salvestamiseks logifail.

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

Eelmise alglaadimise logide kontrollimiseks kasutage -bvalikut journalctl. Ilma argumentideta -bfiltreerib väljundi ainult viimase alglaadimisega seotud sõnumid. Selle argumendi negatiivne arv filtreeritakse eelmiste algkäivituste korral. Näiteks:

# journalctl -b-1 -p err

See kuvab teile alglaadimise vealogid, mis toimusid enne viimast. Peaksite muutma numbrilist väärtust, et see kajastaks alglaadimist, mida peate vaatama.

Ketta ja failisüsteemi vigade parandamine

Üks levinumaid alglaadimisaja vigu on valesti konfigureeritud /etc/fstabfail. Sa ei saa kasutada rescue.targetProbleemi /etc/fstabviga. Enamik neist probleemidest nõuavad, et kasutaksime süsteemi, emergency.targetkuna "päästmine" nõuab funktsionaalsemat süsteemi.

Järgmised on näited probleemidest, mis nõuavad emergency.target:

  1. Rikutud failisüsteem.
  2. Olematu UUID asukohas /etc/fstab.
  3. Olematu kinnituspunkt asukohas /etc/fstab.
  4. Vale paigaldusvalik /etc/fstab.

Tähtis : pärast /etc/fstabfaili muutmist hädaolukorras peate ohutusmeetmete jaoks käivitama järgmised toimingud.

# systemctl daemon-reload

Siin on läbivaatav näide. Käivitame avariirežiimi, et eemaldada valesisene /etc/fstab.

  1. Katkesta grub2 menüü, vajutades redigeerimiseks nuppu "e", kui grub menüü seda küsib.
  2. Otsige üles rida, mis määrab kerneli versiooni ( vmlinuz ) ja lisage sellele järgmine tekst:systemd.unit=emergency.target
  3. Käivitamiseks vajutage "Ctrl+x".
  4. Jätkamiseks palutakse teil sisestada juurparool.
  5. Ühendage uuesti /, et saaksime fstabfailis muudatusi teha :# mount -oremount,rw /
  6. Saame kasutada mountkäsku, et näha, milline kirje põhjustab tõrke:# mount -a
  7. Eemaldage fstabfailist rikkuv kanne .
  8. Kasutage mount -auuesti, et veenduda, et viga on lahendatud.
  9. Kasutage systemctl daemon-reloadkõigi üksusefailide uuesti laadimiseks ja kogu sõltuvuspuu uuesti loomiseks, nagu ma varem mainisin.

Kui avariikestast väljute, lõpetab süsteem käivitamise hädaolukorra sihtmärgist, seejärel saate sellest punktist jätkata nagu tavaliselt. Seda näidet kasutati just selleks, et näidata teile hädaolukorra sihtmärgi kasutamise protsessi süsteemi failides püsivate muudatuste tegemiseks.

Alglaaduri probleemid Grub 2-ga

/boot/grub2/grub.cfgFaili on peamine konfiguratsioonifaili. ÄRGE kunagi muutke seda faili käsitsi. Selle asemel kasutage grub2-mkconfiguue grub2 konfiguratsiooni loomiseks, kasutades erinevaid konfiguratsioonifaile ja installitud tuumade loendit. grub2-mkconfigKäsk vaadata /etc/default/grubvalikute nagu vaikimisi timeout ja tuuma käsurea kasutamist, siis kasutage komplekti skriptid /etc/grub.d/genereerida saadud konfiguratsioonifaili.

Siin on selle suhte tekstiskeem.

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

Tähtis. Põhifaili grub.cfg redigeerimiseks peate tegema soovitud /etc/default/grubfailides /etc/grub.d/ja failides ning looma uue grub.cfg, käivitades:

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

Grubi tõrkeotsing

/boot/grub2/grub.cfgEnne tõrkeotsingut on oluline mõista faili süntaksit .

  • Esiteks on buutitavad kirjed kodeeritud 'menuentry' plokkidesse. Nendes plokkides linux16ja initrd16read osutavad kettalt laaditavale kernelile (koos kerneli käsureaga) ja laaditavale initramfs-ile. Käivitamisel interaktiivse redigeerimise ajal kasutatakse nende ridade leidmiseks tabeldusklahvi.
  • The "set root" lines inside those blocks do not point to the root file system for the RHEL/CentOS 7 system, but instead point to the file system from which grub2 should load the kernel and initramfs files. The syntax is harddrive.partition where hd0 is the first hard drive in the system and hd1 is the second. The partitions are indicated as msdos1 for the first MBR partition or gpt1 for the first GPT partition.

Example from /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

If you need to re-install the bootloader on a device, use the following command.

# grub2-install <device>

Fixing a broken grub installation

For cases when the system will not boot after reaching the grub2 menu.

  • You should start by editing the grub menu and searching for syntax errors. If you find one, correct it and get into the system to make persistent changes to fix the problem.
  • If you cannot find any errors, refer to the above section where we boot into the emergency target. You will need to remount root (/) again.
  • View the current grub2 configuration with the following command: # grub2-mkconfig
  • If you do not see any errors, its likely that someone edited the /boot/grub2/grub.cfg file. Do not modify this file. Rebuild the config with the following command: # grub2-mkconfig > /boot/grub2/grub.cfg

Once you have rebuilt the grub config, you should be able to reboot without having any issues.

CentOS, Linuxi juhendid

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit