A CentOS 7 és RHEL 7 rendszerindítási folyamatának áttekintése és hibaelhárítása

Ez a cikk a CentOS/RHEL 7.x rendszerek rendszerindítási folyamatát írja le. Bár hasonló maradhat a korábbi kiadásokhoz, az RHEL 7-tel a systemd bevezetésre kerül. A rendszerindítási folyamaton kívül hibaelhárítási tippeket és trükköket is adok az út során.

A rendszerindítási probléma aktív elhárításához meg kell értenie a rendszerindítási folyamatot. Tekintse át az alábbi lépéseket, amíg meg nem ismeri a folyamatot.

Magas szintű áttekintés

  • Power + post.
  • Firmware-eszköz keresése.
  • A firmware beolvassa a rendszerbetöltőt.
  • A rendszertöltő betölti a konfigurációt (grub2).
  • A rendszertöltő betölti a kernelt és az initramfs-t.
  • A rendszertöltő átadja az irányítást a kernelnek.
  • A kernel inicializálja a hardvert + /sbin/initpid 1-ként hajtja végre .
  • A Systemd végrehajtja az összes initrd célt (a fájlrendszert a következőre csatlakoztatja /sysroot).
  • A kernel root FS az initramfs root-ról ( /sysroot) a rendszer rootfs-re ( /) vált, és a systemd újrafut a rendszer verziójaként.
  • A Systemd megkeresi az alapértelmezett célt, és a konfigurált egységeket elindítja/leállítja, miközben automatikusan megoldja a függőségeket, és megjelenik a bejelentkezési oldal.

A rendszerindítási folyamattal kapcsolatos további információkért tekintse meg a rendszer hivatalos operációs rendszer-dokumentációját.

Rendszeres célok

A célok alapvetően függőségi ellenőrzések. "Előtte" és "utána" konfigurációval rendelkeznek, hogy pontosan milyen szolgáltatásokra van szükség a cél eléréséhez. Például: arp.ethernet.service, firewalld.service, és így tovább el kell indítani, és dolgozni kell network.targetahhoz, hogy elérjük. Ha nem éri el, a szolgáltatások, mint például httpd, nfsés ldapnem lehet elindítani. 4 célt lehet beállítani az RHEL/CentOS 7-ben.

  • graphical.target (GUI felület)
  • multi-user.target (többfelhasználós mód, szöveges bejelentkezés)
  • mentés.target (sulogin prompt, alapvető rendszerinicializálás)
  • extreme.target (sulogin prompt, initramfs pivot kész és rendszergyökér fel van szerelve / csak olvasható)

Az aktuális alapértelmezett rendszerindítási cél megtekintéséhez használja a következőket:

systemctl get-default

Ne feledje, hogy ezt futási időben módosíthatja a cél elkülönítésével. Ezzel elindítja/leállítja az új célhoz kapcsolódó összes szolgáltatást, ezért legyen óvatos (lásd systemctl isolate new.target).

Egyfelhasználós mód

Vannak esetek, amikor egyfelhasználós módba kell indítani az operációs rendszerrel kapcsolatos problémák megoldásához. Ebben a példában megmutatom, hogyan kell használni az rescue.target"egyfelhasználós módot" az RHEL/CentOS 7 rendszeren.

  1. Szakítsa meg a grub2 menüt az "e" megnyomásával a szerkesztéshez, amikor a grub menü kéri.
  2. Keresse meg a kernel verzióját ( vmlinuz ) meghatározó sort, és fűzze hozzá a következőket:systemd.unit=rescue.target
  3. Nyomja meg a "Ctrl+x" gombot az indításhoz.
  4. Ezután a rendszer kérni fogja a root jelszót a folytatáshoz, miután kilép a mentési shellből, a rendszerindítási folyamat továbbra is betölti az alapértelmezett célt.

A root jelszó helyreállítása

Ez a folyamat kissé eltér attól, amit a korábbi kiadásokban használtunk, de egyszerű feladat, és nagyon kevés lépést igényel. Ha bármilyen hitelesítő adatot vissza kell állítania, akkor ezzel a módszerrel hozzáférhet egy virtuális géphez. Továbbra is indítható élő CD-ről, csatlakoztathatja a root fájlrendszert és szerkesztheti a jelszót, de ez a módszer elavult, és több erőfeszítést igényel.

  1. Indítsa újra a rendszert.
  2. Szakítsa meg a grub2 menüt az "e" megnyomásával a szerkesztéshez, amikor a grub menü kéri.
  3. Vigye a kurzort a kernelt meghatározó sor végére ( vmlinuz ). Érdemes lehet eltávolítani az összes többi konzolt, kivéve a TTY0-t, de előfordulhat, hogy ez a lépés nem szükséges az Ön környezetében.
  4. Hozzáfűzés rd.break( idézőjelek nélkül ), amely megszakítja a rendszerindítási folyamatot közvetlenül azelőtt, hogy a vezérlőt átadnák az initramfs-ről a tényleges rendszernek.
  5. Ctrl+x a rendszerindításhoz.

Ezen a ponton egy gyökérhéj jelenik meg, amelyen a gyökér fájlrendszer csak olvasható módban van felcsatolva /sysroot. Újra kell csatolnunk írási jogosultságokkal.

Szerelje fel újra /sysroot.

# mount -oremount,rw /sysroot

Váltson chroot börtönre.

# chroot /sysroot

Módosítsa annak a felhasználónak a jelszavát, akinek elavult hitelesítő adataink vannak.

# passwd <username>

Ha SElinuxot használ, fontolja meg az összes fájl újracímkézését a rendszerindítási folyamat folytatása előtt. Ez a rész kihagyható, ha nem SElinuxot használ.

# touch /.autorelabel

Lépjen ki kétszer, és a rendszer tisztán indul onnan, ahol megszakítottuk.

A korábbi rendszerindítások naplóinak áttekintése

Hasznos lehet a korábbi sikertelen rendszerindítási kísérletek naplóinak megtekintése. Ha a naplózott naplókat állandóvá tették (általában a memóriában tárolják, és rendszerindításkor kiadják), ezt megteheti az journalctleszközzel. Kövesse ezeket a lépéseket, ha állandó rendszerindítási naplózást kell beállítania.

Rootként hozza létre a naplófájlt az adatok tárolására.

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

Egy korábbi rendszerindítás naplóinak ellenőrzéséhez használja a -blehetőséget a -val journalctl. Argumentumok nélkül -bcsak az utolsó rendszerindításra vonatkozó üzenetekre szűri a kimenetet. Az argumentum negatív száma a korábbi rendszerindításokra szűr. Például:

# journalctl -b-1 -p err

Ez megmutatja a legutóbbi rendszerindítás előtti hibanaplókat. Módosítsa a számértéket, hogy tükrözze a megjeleníteni kívánt rendszerindítást.

Lemez- és fájlrendszerhibák javítása

Az egyik leggyakoribb rendszerindítási hiba a rosszul konfigurált /etc/fstabfájl. Te NEM használja a rescue.targetkijavítani a /etc/fstabhibát. A legtöbb ilyen probléma megkívánja tőlünk, hogy használjuk, emergency.targetmivel a „mentéshez” funkcionálisabb rendszerre van szükség.

Az alábbiakban példák láthatók azokra a problémákra, amelyek megkövetelik emergency.target:

  1. Sérült fájlrendszer.
  2. Nem létező UUID itt: /etc/fstab.
  3. Nem létező beillesztési pont itt: /etc/fstab.
  4. Helytelen rögzítési lehetőség a következőben /etc/fstab.

Fontos : A /etc/fstabfájl vészhelyzeti módban történő szerkesztése után a biztonsági intézkedések érdekében futtassa a következőket:

# systemctl daemon-reload

Íme egy átvezető példa. Vészhelyzeti módba fogunk indítani, hogy eltávolítsuk a téves bejegyzést /etc/fstab.

  1. Szakítsa meg a grub2 menüt az "e" megnyomásával a szerkesztéshez, amikor a grub menü kéri.
  2. Keresse meg a kernel verzióját ( vmlinuz ) meghatározó sort, és fűzze hozzá a következőket:systemd.unit=emergency.target
  3. Nyomja meg a "Ctrl+x" gombot a rendszerindításhoz.
  4. A folytatáshoz meg kell adnia a root jelszót.
  5. Csatlakoztassa /újra, hogy módosítani tudjuk a fstabfájlt:# mount -oremount,rw /
  6. A mountparancs segítségével megnézhetjük, melyik bejegyzés okozza a hibát:# mount -a
  7. Távolítsa el a sértő bejegyzést a fstabfájlból.
  8. Használja mount -aújra, hogy megbizonyosodjon arról, hogy a hiba megszűnt.
  9. A systemctl daemon-reloadkorábban említettek szerint használja az összes egységfájl újratöltéséhez és a teljes függőségi fa létrehozásához.

Miután kilép a vészhelyzeti rendszerhéjból, a rendszer befejezi a rendszerindítást a vészhelyzeti célpontról, és ettől kezdve folytathatja a szokásos módon. Ezt a példát csak arra használták, hogy bemutassák a vészhelyzeti cél használatának folyamatát a rendszer fájlok állandó módosítására.

Boot loader problémák a Grub 2-vel

A /boot/grub2/grub.cfgfájl a fő konfigurációs fájl. SOHA NE szerkessze ezt a fájlt kézzel. Ehelyett használja grub2-mkconfigaz új grub2 konfiguráció létrehozásához különböző konfigurációs fájlok és a telepített kernelek listájának használatával. A grub2-mkconfigparancs megkeresi az /etc/default/grubolyan opciókat, mint az alapértelmezett menü időtúllépése és a kernel használandó parancssora, majd parancsfájlok /etc/grub.d/segítségével generálja az eredményül kapott konfigurációs fájlt.

Íme ennek a kapcsolatnak a szöveges diagramja.

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

Fontos: A fő grub.cfg fájl szerkesztéséhez el kell végeznie a kívánt módosításokat /etc/default/gruba fájlokon, /etc/grub.d/majd létre kell hoznia egy újat grub.cfga következő futtatással:

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

Hibaelhárítás grub

A /boot/grub2/grub.cfghibaelhárítás előtt fontos megérteni a fájl szintaxisát .

  • Először is, a rendszerindító bejegyzések a „menuentry” blokkokban vannak kódolva. Az ezeket a blokkokat, linux16és initrd16sorok mutatnak a kernel kell betölteni a lemezről (együtt a kernel parancssor) és az initramfs kell betölteni. A rendszerindításkor végzett interaktív szerkesztés során a tabulátor segítségével lehet megkeresni ezeket a sorokat.
  • A "set root" sorok ezekben a blokkokban nem az RHEL/CentOS 7 rendszer gyökérfájlrendszerére mutatnak, hanem arra a fájlrendszerre mutatnak, ahonnan a grub2-nek be kell töltenie a kernel- és az initramfs fájlokat. A szintaxis az, hogy harddrive.partitionhol hd0van az első merevlemez a rendszerben, és hol hd1a második. A partíciók msdos1az első MBR-partícióhoz vagy gpt1az első GPT-partícióhoz hasonlóan jelennek meg .

Példa innen /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

Ha újra kell telepítenie a rendszertöltőt egy eszközre, használja a következő parancsot.

# grub2-install <device>

Elromlott grub telepítés javítása

Olyan esetekre, amikor a rendszer nem indul el a grub2 menü elérése után.

  • Kezdje a grub menü szerkesztésével és szintaktikai hibák keresésével. Ha talál ilyet, javítsa ki, és lépjen be a rendszerbe, hogy tartós változtatásokat hajtson végre a probléma megoldása érdekében.
  • Ha nem talál hibát, olvassa el a fenti részt, ahol elindítjuk a vészhelyzeti célpontot. /Újra be kell csatolnia a root ( ) alkalmazást.
  • Tekintse meg az aktuális grub2 konfigurációt a következő paranccsal: # grub2-mkconfig
  • Ha nem lát hibát, akkor valószínűleg valaki szerkesztette a /boot/grub2/grub.cfgfájlt. Ne módosítsa ezt a fájlt. Építse újra a konfigurációt a következő paranccsal:# grub2-mkconfig > /boot/grub2/grub.cfg

Miután újraépítette a grub konfigurációt, képesnek kell lennie az újraindításra minden probléma nélkül.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.