Përmbledhje dhe zgjidhja e problemeve të procesit të nisjes CentOS 7 dhe RHEL 7

Ky artikull përshkruan procesin e nisjes për sistemet CentOS/RHEL 7.x. Ndërsa mund të mbetet i ngjashëm me lëshimet e mëparshme, me RHEL 7, systemd po prezantohet. Përveç procesit të nisjes, unë do të jap këshilla dhe truket për zgjidhjen e problemeve gjatë rrugës.

Ju duhet të kuptoni procesin e nisjes përpara se të mund të zgjidhni në mënyrë aktive një problem gjatë nisjes. Rishikoni hapat e mëposhtëm derisa të njiheni me procesin.

Pasqyrë e nivelit të lartë

  • Fuqi + postim.
  • Kërkimi i pajisjes së firmuerit.
  • Firmware lexon bootloader.
  • konfigurimin e ngarkon ngarkuesin e nisjes (grub2).
  • Boot loader ngarkon kernelin dhe initramfs.
  • Boot loader ia kalon kontrollin kernelit.
  • Kerneli inicializon harduerin + ekzekuton /sbin/initsi pid 1.
  • Systemd ekzekuton të gjitha objektivat initrd (monton sistemin e skedarëve në /sysroot).
  • Rrënja e kernelit FS kaloi nga rrënjë initramfs ( /sysroot) në rootfs të sistemit ( /) dhe systemd riekzekutohet si version i sistemit.
  • Systemd kërkon objektivin e paracaktuar dhe nis/ndalon njësitë siç janë konfiguruar ndërsa shfaqet automatikisht zgjidhja e varësive dhe faqja e hyrjes.

Për më shumë informacion mbi procesin e nisjes, referojuni dokumentacionit zyrtar të OS për sistemin tuaj.

Objektivat e sistemuar

Objektivat janë në thelb kontrollet e varësisë. Ata kanë një konfigurim "para" dhe "pas" për saktësisht se cilat shërbime kërkohen për të përmbushur atë objektiv. Për shembull: arp.ethernet.service, firewalld.service, dhe kështu me radhë duhet të fillohet dhe të punohet përpara se network.targettë arrihet. Nëse nuk arrihet, shërbimet si httpd, nfs, dhe ldapnuk mund të nisen. Ka 4 objektiva që mund të vendosen në RHEL/CentOS 7.

  • graphical.target (ndërfaqja GUI)
  • multi-user.target (modaliteti i shumë përdoruesve, identifikimi i bazuar në tekst)
  • rescue.target (prompt sulogin, inicializimi bazë i sistemit)
  • emergjenca.target (kërkesa për sulogin, përmbledhja e initramfs e përfunduar dhe rrënja e sistemit është montuar në / vetëm si lexim)

Për të parë objektivin aktual të nisjes së paracaktuar, përdorni sa vijon:

systemctl get-default

Mbani në mend, ju mund ta ndryshoni këtë në kohën e ekzekutimit duke izoluar objektivin. Kjo do të nisë/ndalojë të gjitha shërbimet e lidhura me objektivin e ri, prandaj kini kujdes (shih systemctl isolate new.target).

Modaliteti i një përdoruesi të vetëm

Ka raste kur do t'ju duhet të niseni në modalitetin e një përdoruesi për të rregulluar një problem me sistemin operativ. Për këtë shembull, unë do t'ju tregoj se si të përdorni rescue.target"modalitetin e një përdoruesi" në RHEL/CentOS 7.

  1. Ndërprisni menunë grub2 duke shtypur "e" për të modifikuar kur të kërkohet me menynë grub.
  2. Gjeni rreshtin që specifikon versionin e kernelit ( vmlinuz ) dhe bashkëngjitni sa vijon:systemd.unit=rescue.target
  3. Shtypni "Ctrl+x" për të filluar.
  4. Më pas do t'ju kërkohet me fjalëkalimin rrënjë për të vazhduar, pasi të dilni nga guaska e shpëtimit, procesi i nisjes do të vazhdojë të ngarkojë objektivin tuaj të paracaktuar.

Rikuperimi i fjalëkalimit rrënjë

Ky proces është pak më ndryshe nga ai që kemi përdorur në versionet e kaluara, por është një detyrë e thjeshtë dhe kërkon shumë pak hapa për ta bërë këtë. Nëse keni nevojë të rikuperoni ndonjë kredencial, mund ta përdorni këtë metodë për të fituar akses në një VM. Ju ende mund të nisni nga një CD live, të montoni sistemin e skedarëve rrënjë dhe të modifikoni fjalëkalimin, por kjo metodë është e vjetëruar dhe kërkon më shumë përpjekje.

  1. Rinisni sistemin.
  2. Ndërprisni menunë grub2 duke shtypur "e" për të modifikuar kur të kërkohet me menynë grub.
  3. Lëvizni kursorin në fund të rreshtit që specifikon kernelin ( vmlinuz ). Ju mund të dëshironi të hiqni të gjitha konzolat e tjera përveç TTY0, megjithatë ky hap mund të mos jetë i nevojshëm në mjedisin tuaj.
  4. Shtoji rd.break( pa thonjëza ) që do të prishë procesin e nisjes pak përpara se kontrolli të dorëzohet nga initramfs në sistemin aktual.
  5. Ctrl+x për të nisur.

Në këtë pikë, prezantohet një guaskë rrënjë me sistemin e skedarëve rrënjë të montuar në modalitetin vetëm për lexim në /sysroot. Do të na duhet ta rimontojmë me privilegje shkrimi.

Rimontoj /sysroot.

# mount -oremount,rw /sysroot

Kalo në një burg chroot.

# chroot /sysroot

Ndryshoni fjalëkalimin për përdoruesin në të cilin kemi kredenciale të vjetruara.

# passwd <username>

Nëse jeni duke përdorur SElinux, duhet të konsideroni rietiketimin e të gjithë skedarëve përpara se të vazhdoni procesin e nisjes. Kjo pjesë mund të anashkalohet nëse nuk jeni duke përdorur SElinux.

# touch /.autorelabel

Dilni dy herë dhe sistemi do të fillojë pastër nga pika që e ndërpremë.

Rishikimi i regjistrave nga çizmet e mëparshme

Mund të jetë e dobishme të shikoni regjistrat e përpjekjeve të mëparshme të dështuara të nisjes. Nëse regjistrat e ditarit janë bërë të qëndrueshëm (normalisht ruhen në memorie dhe lëshohen në boot), kjo mund të bëhet me journalctlmjet. Ndiqni këto hapa nëse keni nevojë të konfiguroni regjistrimin e vazhdueshëm të nisjes.

Si rrënjë, krijoni skedarin e regjistrit që ky informacion të ruhet.

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

Për të inspektuar regjistrat e një nisjeje të mëparshme, përdorni -bopsionin me journalctl. Pa asnjë argument, -bdo të filtrojë daljen vetëm për mesazhet që kanë të bëjnë me nisjen e fundit. Një numër negativ i këtij argumenti do të filtrojë në çizmet e mëparshme. Për shembull:

# journalctl -b-1 -p err

Kjo do t'ju tregojë regjistrat e gabimeve nga nisja që kanë ndodhur përpara më të fundit. Ju duhet të ndryshoni vlerën numerike për të pasqyruar nisjen që duhet të shikoni.

Riparimi i gabimeve të diskut dhe sistemit të skedarëve

Një nga gabimet më të zakonshme të kohës së nisjes është një /etc/fstabskedar i konfiguruar gabimisht . Ju nuk mund të përdorni rescue.targetpër të rregulluar një /etc/fstabgabim. Shumica e këtyre çështjeve do të kërkojnë që ne të përdorim, emergency.targetpasi "shpëtimi" kërkon një sistem më funksional.

Më poshtë janë shembuj të problemeve që kërkojnë emergency.target:

  1. Sistemi i skedarëve të korruptuar.
  2. UUID joekzistente në /etc/fstab.
  3. Pika e montimit joekzistente në /etc/fstab.
  4. Opsioni i gabuar i montimit në /etc/fstab.

E rëndësishme : Pas redaktimit të /etc/fstabskedarit në modalitetin e urgjencës, duhet të ekzekutoni sa vijon për masat e sigurisë:

# systemctl daemon-reload

Këtu është një shembull përmbledhës. Ne do të futemi në modalitetin e urgjencës për të hequr një hyrje të rreme në /etc/fstab.

  1. Ndërprisni menunë grub2 duke shtypur "e" për të modifikuar kur të kërkohet me menynë grub.
  2. Gjeni rreshtin që specifikon versionin e kernelit ( vmlinuz ) dhe bashkëngjitni sa vijon:systemd.unit=emergency.target
  3. Shtypni "Ctrl+x" për të nisur.
  4. Do t'ju kërkohet me fjalëkalimin rrënjë për të vazhduar.
  5. Rimontohuni në /mënyrë që të mund të bëjmë ndryshime në fstabskedar:# mount -oremount,rw /
  6. Ne mund të përdorim mountkomandën për të parë se cila hyrje po shkakton gabimin:# mount -a
  7. Hiqni hyrjen fyese nga fstabdosja.
  8. Përdoreni mount -apërsëri për t'u siguruar që gabimi është zgjidhur.
  9. Përdoreni systemctl daemon-reloadsiç e kisha përmendur më parë për të ringarkuar të gjithë skedarët e njësisë dhe për të rikrijuar të gjithë pemën e varësisë.

Pasi të dilni nga guaska e urgjencës, sistemi do të përfundojë nisjen nga objektivi i urgjencës, më pas do të mund të vazhdoni si zakonisht nga ajo pikë. Ky shembull u përdor vetëm për t'ju treguar procesin e përdorimit të objektivit të urgjencës për të bërë ndryshime të vazhdueshme në skedarët në sistem.

Probleme me ngarkuesin e nisjes me Grub 2

/boot/grub2/grub.cfgFile është kryesor fotografi konfigurimit. MOS e modifikoni kurrë këtë skedar manualisht. Në vend të kësaj, përdorni grub2-mkconfigpër të gjeneruar konfigurimin e ri grub2 duke përdorur një grup skedarësh të ndryshëm konfigurimi dhe listën e kerneleve të instaluara. grub2-mkconfigKomanda do të shikojmë /etc/default/grubpër opsione të tilla si timeout menu parazgjedhur dhe command line kernel për të përdorur, atëherë përdorni një sërë Scripts në /etc/grub.d/të gjeneruar rezulton skedarin e konfigurimit.

Këtu është një diagram tekstual i kësaj marrëdhënieje.

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

E rëndësishme: Për të modifikuar skedarin kryesor grub.cfg, do t'ju duhet të bëni ndryshimet e dëshiruara në /etc/default/grubdhe në skedarë /etc/grub.d/dhe më pas të krijoni një të ri grub.cfgduke ekzekutuar:

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

Grub për zgjidhjen e problemeve

Është e rëndësishme të kuptoni sintaksën e /boot/grub2/grub.cfgskedarit përpara se të zgjidhni problemet.

  • Së pari, hyrjet e bootable janë të koduara brenda blloqeve të "menuentry". Në këto blloqe, linux16dhe initrd16linjat tregojnë për kernelin që do të ngarkohet nga disku (së bashku me linjën e komandës së kernelit) dhe initramfs që do të ngarkohen. Gjatë redaktimit interaktiv në nisje, skeda përdoret për të gjetur këto rreshta.
  • Linjat "set root" brenda atyre blloqeve nuk tregojnë për sistemin e skedarëve rrënjë për sistemin RHEL/CentOS 7, por përkundrazi tregojnë për sistemin e skedarëve nga i cili grub2 duhet të ngarkojë kernelin dhe skedarët initramfs. Sintaksa është harddrive.partitionvendi ku hd0është hard disku i parë në sistem dhe hd1është i dyti. Ndarjet tregohen si msdos1për ndarjen e parë MBR ose gpt1për ndarjen e parë GPT.

Shembull nga /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

Nëse keni nevojë të riinstaloni ngarkuesin në një pajisje, përdorni komandën e mëposhtme.

# grub2-install <device>

Rregullimi i një instalimi të prishur të grurit

Për rastet kur sistemi nuk do të niset pasi të keni arritur në menunë grub2.

  • Ju duhet të filloni duke redaktuar menunë grub dhe duke kërkuar për gabime sintaksore. Nëse e gjeni, korrigjoni atë dhe futuni në sistem për të bërë ndryshime të vazhdueshme për të rregulluar problemin.
  • Nëse nuk mund të gjeni ndonjë gabim, referojuni seksionit të mësipërm ku ne futemi në objektivin e urgjencës. Do t'ju duhet të rimontoni rrënjën ( /) përsëri.
  • Shikoni konfigurimin aktual të grub2 me komandën e mëposhtme: # grub2-mkconfig
  • Nëse nuk shihni ndonjë gabim, ka të ngjarë që dikush të ketë redaktuar /boot/grub2/grub.cfgskedarin. Mos e modifikoni këtë skedar. Rindërtoni konfigurimin me komandën e mëposhtme:# grub2-mkconfig > /boot/grub2/grub.cfg

Pasi të keni rindërtuar konfigurimin e grub, duhet të jeni në gjendje të rindizni pa pasur ndonjë problem.


Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Si të instaloni Concrete5 në CentOS 7

Si të instaloni Concrete5 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe

How to Install Review Board on CentOS 7

How to Install Review Board on CentOS 7

Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet

Si të instaloni YOURLS në CentOS 7

Si të instaloni YOURLS në CentOS 7

YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth

Vendosja e një serveri Half Life 2 në CentOS 6

Vendosja e një serveri Half Life 2 në CentOS 6

Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou

Si të instaloni Laravel GitScrum në CentOS 7

Si të instaloni Laravel GitScrum në CentOS 7

Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.

Si të instaloni PowerDNS në CentOS

Si të instaloni PowerDNS në CentOS

Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë