Prieš porą mėnesių „Linux Foundation“ paskelbė LFCS („Linux Foundation“ sertifikuotas „Sysadmin“) sertifikavimas, įdomi nauja programa, kurios tikslas - leisti asmenims iš visų pasaulio kraštų įgyti sertifikatą atliekant pagrindines ir tarpines sistemos administravimo užduotis „Linux“ sistemose. Tai apima jau veikiančių sistemų ir paslaugų palaikymą, pirmų rankų problemų paiešką ir analizę, taip pat galimybę nuspręsti, kada kelti problemas inžinierių komandoms.
Šiame vaizdo įraše aprašomas trumpas „Linux Foundation“ sertifikavimo programos įvadas.
Šis įrašas yra 10 pamokų serijos 7 dalis, čia šioje dalyje paaiškinsime, kaip valdyti „Linux“ sistemos paleidimo procesą ir paslaugas, reikalingas LFCS sertifikavimo egzaminui.
„Linux“ sistemos įkrovos procesas susideda iš kelių etapų, kurių kiekvienas yra skirtingas komponentas. Ši schema trumpai apibendrina įkrovos procesą ir parodo visus pagrindinius susijusius komponentus.
Kai paspausite Galia kompiuterio mygtuką, programinė įranga, saugoma a EEPROM lustas pagrindinėje plokštėje inicijuoja POST (Įjungimo savęs testas), kad patikrintumėte sistemos aparatinės įrangos išteklių būklę. Kai POST baigta, tada programinė įranga ieško ir įkelia 1 etapas įkrovos krautuvas, esantis MBR arba EFI pirmojo disko skaidinį ir suteikia jam galimybę valdyti.
The MBR yra pirmame disko sektoriuje, pažymėtame kaip įkeliamas BIOS nustatymus ir yra 512 baitų dydžio.
Ši komanda atlieka failo atsarginę kopiją MBR (šiame pavyzdyje, /dev/sda yra pirmasis kietasis diskas). Gautas failas, mbr.bkp gali praversti, jei skaidinių lentelė sugadinta, pavyzdžiui, todėl sistema negali būti paleista.
Žinoma, kad prireikus vėliau ją naudotume, turėsime ją išsaugoti ir laikyti kur nors kitur (pvz. USB vairuoti, pavyzdžiui). Šis failas padės mums atkurti MBR ir vėl paskatins mus, jei ir tik tuo metu nepakeisime kietojo disko išdėstymo.
# dd, jei =/dev/sda iš = mbr.bkp bs = 512 skaičius = 1.
# dd, jei = mbr.bkp iš =/dev/sda bs = 512 skaičius = 1.
Sistemoms, naudojančioms EFI/UEFI metodą, UEFI programinė įranga nuskaito savo nustatymus, kad nustatytų, kuri UEFI programa turi būti paleista ir iš kur (t. y. kuriame diske ir skaidinyje yra EFI skaidinys).
Toliau, 2 etapas įkrovos įkėlimo programa (dar žinoma kaip įkrovos tvarkyklė) yra įkelta ir paleista. GRUB [„GRand Unified Boot“] yra dažniausiai naudojamas įkrovos tvarkyklė „Linux“. Daugelyje šiandien naudojamų sistemų galima rasti vieną iš dviejų skirtingų versijų.
Nors tikslai LFCS egzaminas aiškiai neprašo žinių apie GRUB vidiniai, jei esate drąsus ir galite sau leisti sujaukti savo sistemą (galbūt norėsite pirmiausia išbandyti tai virtualioje mašinoje), turite paleisti.
# atnaujinimas-grub.
Kaip šaknis pakeitus GRUB konfigūraciją, kad būtų pritaikyti pakeitimai.
Iš esmės, GRUB įkelia numatytąją branduolys ir initrd arba initramfs įvaizdį. Trumpai tariant, „initrd“ arba „initramfs“ padeda atlikti aparatūros aptikimą, branduolio modulio įkėlimą ir įrenginio atradimą, reikalingą norint įdiegti tikrąją šakninę failų sistemą.
Kai tikroji šakninė failų sistema bus sukurta, branduolys vykdys sistemos ir paslaugų tvarkyklę (iniciat arba sistemingas, kurio proceso identifikacija arba PID visada yra 1) pradėti įprastą vartotojo erdvės įkrovos procesą, kad būtų pateikta vartotojo sąsaja.
Abu iniciat ir sistemingas yra demonai (foniniai procesai), valdantys kitus demonus, kaip pirmoji paslauga, kuri pradedama (įkrovos metu) ir paskutinė paslauga, kuri nutraukiama (išjungimo metu).
Sąvoka bėgimo lygiai „Linux“ nurodo įvairius sistemos naudojimo būdus, valdydamas, kurios paslaugos veikia. Kitaip tariant, vykdymo lygis kontroliuoja, kokias užduotis galima atlikti esant dabartinei vykdymo būsenai = vykdymo lygis (o kurios - ne).
Tradiciškai šis paleidimo procesas buvo atliktas remiantis sutartimis, kurios atsirado Sistema V UNIX, kai sistema praeina vykdydama scenarijų rinkinius, kurie paleidžia ir sustabdo paslaugas, kai mašina įveda tam tikrą veikimo lygį (kitaip tariant, tai yra kitas sistemos veikimo būdas).
Kiekviename veikimo lygyje galima nustatyti, kad atskiros paslaugos būtų paleistos arba būtų išjungtos, jei jos veiktų. Naujausios kai kurių pagrindinių distribucijų versijos nutolsta nuo Sistema V. standartas gana naujos paslaugos ir sistemos valdytojo naudai sistemingas (kuris reiškia sistemos demoną), bet paprastai palaiko sysv komandos suderinamumo tikslais. Tai reiškia, kad galite paleisti daugumą gerai žinomų sysv init įrankiai sisteminiame platinime.
Taip pat skaitykite: Kodėl „systemd“ pakeičia „init“ „Linux“
Be sistemos proceso pradžios, iniciat žiūri į /etc/inittab failą, kad nuspręstumėte, koks veikimo lygis turi būti įvestas.
Bėgimo lygis | apibūdinimas |
0 | Sustabdyti sistemą. „Runlevel 0“ yra speciali pereinamoji būsena, naudojama greitai išjungti sistemą. |
1 | Šis pakopos lygis taip pat vadinamas s arba S, kartais vadinamas priežiūros režimu. Kokios paslaugos, jei tokios teikiamos, pradedamos šiuo lygiu, priklauso nuo pasiskirstymo. Paprastai jis naudojamas žemo lygio sistemai prižiūrėti, kurią gali sutrikdyti įprastas sistemos veikimas. |
2 | Daugiafunkcinis. „Debian“ sistemose ir išvestinėse programose tai yra numatytasis veikimo lygis ir apima grafinį prisijungimą, jei yra. „Red-Hat“ pagrįstose sistemose tai yra kelių vartotojų režimas be tinklo. |
3 | „Red-Hat“ pagrįstose sistemose tai yra numatytasis kelių vartotojų režimas, kuris veikia viską, išskyrus grafinę aplinką. Šis veikimo lygis ir 4 ir 5 lygiai paprastai nenaudojami Debian sistemose. |
4 | Paprastai nenaudojamas pagal numatytuosius nustatymus, todėl jį galima pritaikyti. |
5 | „Red-Hat“ pagrįstose sistemose visas kelių vartotojų režimas su prisijungimu prie GUI. Šis veikimo lygis yra panašus į 3 lygį, tačiau prieinamas GUI prisijungimas. |
6 | Perkraukite sistemą. |
Norėdami pereiti tarp veikimo lygių, mes galime paprasčiausiai pakeisti pakeitimą naudodami iniciat komanda: init N (kur N yra vienas iš aukščiau išvardytų eigos lygių). Atminkite, kad tai nėra rekomenduojamas būdas perkelti veikiančią sistemą į kitą veikimo lygį, nes ji nepateikia įspėjimo esamiems prisijungusiems vartotojams (todėl jie praranda darbą ir nutraukia procesus) nenormaliai).
Vietoj to,. išjungti komanda turėtų būti naudojama iš naujo paleisti sistemą (kuri pirmiausia siunčia įspėjamąjį pranešimą visiems prisijungusiems vartotojams ir blokuoja tolesnius prisijungimus; tada jis signalizuoja init, kad perjungtų darbinius lygius); tačiau numatytasis veikimo lygis (tas, į kurį sistema bus paleista) turi būti redaguojamas /etc/inittab pirmiausia failą.
Dėl šios priežasties atlikite šiuos veiksmus, kad tinkamai perjungtumėte tarp lygių. Kaip šaknis, ieškokite šios eilutės /etc/inittab.
id: 2: initdefault:
ir pakeisti numerį 2 norimam veikimo lygiui su pageidaujamu teksto redaktoriumi, pvz., „vim“ (aprašyta Kaip naudoti „vi/vim“ redaktorių „Linux“ - 2 dalis šios serijos).
Tada paleiskite kaip root.
# išjungimas -r dabar.
Tai paskutinis komanda iš naujo paleis sistemą, todėl ji bus paleista nurodytu veikimo lygiu kito įkrovos metu ir paleis scenarijus, esančius /etc/rc[runlevel].d katalogą, kad nuspręstumėte, kurios paslaugos turėtų būti pradėtos, o kurios - ne. Pavyzdžiui, 2 pakopos šioje sistemoje.
Norėdami įjungti arba išjungti sistemos paslaugas įkrovos metu, naudosime komanda chkconfig „CentOS“ / „openSUSE“ ir sysv-rc-conf Debian'e ir dariniuose. Šis įrankis taip pat gali parodyti mums, kokia yra iš anksto sukonfigūruota paslaugos būsena konkrečiam veikimo lygiui.
Taip pat skaitykite: Kaip sustabdyti ir išjungti nepageidaujamas paslaugas „Linux“
Paslaugos veikimo lygio konfigūracijos sąrašas.
# chkconfig --list [paslaugos pavadinimas] # chkconfig --list postfix. # chkconfig --list mysqld.
Aukščiau esančiame paveikslėlyje tai matome pašto indeksas nustatyta paleisti, kai sistema įeina į darbinius lygius 2 per 5, kadangi mysqld bus paleistas pagal numatytuosius nustatymus 2 per 4. Dabar tarkime, kad tai nėra laukiamas elgesys.
Pavyzdžiui, turime įjungti mysqld už bėgimo lygį 5 taip pat, ir išjunkite „Postfix“ 4 ir 5 pakopoms. Štai ką mes padarytume kiekvienu atveju (paleiskite šias komandas kaip root).
# chkconfig -level [level (s)] paslauga įjungta. # chkconfig -5 lygio mysqld on.
# chkconfig -level [level (s)] paslauga išjungta. # chkconfig -45 lygių postfiksas išjungtas.
Dabar atliksime panašias užduotis a Debian'o pagrindu sistemą naudojant sysv-rc-conf.
Paslaugos konfigūravimas, kad jis būtų paleistas automatiškai tam tikrame veikimo lygyje ir neleistų jai pradėti visų kitų.
1. Naudokime šią komandą, kad pamatytume, kokie yra eigos lygiai mdadm yra sukonfigūruotas paleisti.
# ls -l /etc/rc[0-6].d | grep -E 'rc [0-6] | mdadm'
2. Mes naudosime sysv-rc-conf kad „mdadm“ neprasidėtų visuose lygiuose, išskyrus 2. Tiesiog pažymėkite arba panaikinkite žymėjimą (naudodami tarpo klavišą), kaip norite (rodyklių klavišais galite judėti aukštyn, žemyn, kairėn ir dešinėn).
# sysv-rc-conf.
Tada paspauskite q mesti.
3. Iš naujo paleisime sistemą ir vėl paleisime komandą iš 1 ŽINGSNIS.
# ls -l /etc/rc[0-6].d | grep -E 'rc [0-6] | mdadm'
Aukščiau esančiame paveikslėlyje tai matome mdadm yra sukonfigūruotas paleisti tik paleidimo lygiu 2.
sistemingas yra dar vienas paslaugų ir sistemų valdytojas, kurį naudoja keli pagrindiniai „Linux“ platinimai. Juo siekiama, kad paleidžiant sistemą būtų galima lygiagrečiai atlikti daugiau apdorojimo (skirtingai nei sysvinit, kuris visada būna lėtesnis, nes paleidžia procesus vienu metu, tikrina, ar vienas priklauso nuo kito, ir laukia demonų paleidimo, kad būtų galima pradėti daugiau paslaugų) ir veikti kaip dinamiškas išteklių valdymas sistema.
Taigi, paslaugos paleidžiamos, kai to reikia (siekiant išvengti sistemos išteklių eikvojimo), o ne paleidžiamos be rimtos priežasties įkrovos metu.
Peržiūrėkite visų jūsų sistemoje vykstančių procesų būseną sistemingas gimtoji ir SysV paslaugas, paleiskite šią komandą.
# systemctl.
The ĮKROVTI stulpelyje parodyta, ar vieneto apibrėžimas (žr VIENETAS stulpelis, kuriame rodoma paslauga ar viskas, ką tvarko systemd) buvo tinkamai įkelta, o AKTYVUS ir SUB stulpeliuose rodoma dabartinė tokio vieneto būsena.
Kai AKTYVUS stulpelyje nurodoma, kad įrenginio būsena yra kitokia nei aktyvi, galime patikrinti, kas atsitiko.
# systemctl status [unit]
Pavyzdžiui, aukščiau esančiame paveikslėlyje media-samba.montas yra nesėkmingos būklės. Pabėgiokime.
# systemctl status media-samba.mount.
Mes tai matome media-samba.montas nepavyko, nes prijungimo procesas prie pagrindinio kompiuterio dev1 nepavyko rasti tinklo dalies adresu //192.168.0.10/gacanepa.
Kai tinklo dalis //192.168.0.10/gacanepa tampa prieinama, pabandykime paleisti, tada sustabdyti ir galiausiai iš naujo paleisti įrenginį media-samba.montas. Atlikę kiekvieną veiksmą, paleiskite „systemctl status media-samba.mount“, kad patikrintumėte jo būseną.
# systemctl paleiskite media-samba.mount. # systemctl status media-samba.mount. # systemctl sustabdyti media-samba.mount. # systemctl iš naujo paleiskite media-samba.mount. # systemctl status media-samba.mount.
Pagal sistemingas galite įjungti arba išjungti paslaugą, kai ji paleidžiama.
# systemctl enable [service] # įgalinti paslaugą # systemctl išjungti [service] # neleisti paleisti paslaugos paleidžiant.
Įgalinant arba išjungiant paslaugą automatiškai paleidžiant įkrovos procesą, pridedami arba pašalinami simboliniai saitai /etc/systemd/system/multi-user.target.wants katalogą.
Arba naudodami komandą galite sužinoti dabartinę paslaugos būseną (įjungta arba išjungta).
# systemctl įgalinta [paslauga]
Pavyzdžiui,
# systemctl įgalintas postfix.service.
Be to, galite iš naujo paleisti arba išjungti sistemą.
# systemctl perkraukite. # systemctl išjungimas.
Pradėti yra įvykiais pagrįstas pakeitimas /sbin/init demonas ir gimė iš poreikio pradėti paslaugas tik tada, kai jų reikia (taip pat jas prižiūrint jie veikia) ir tvarko įvykius, kai jie įvyksta, taip pranoksdami klasikinį priklausomybe pagrįstą „sysvinit“ sistema.
Iš pradžių jis buvo sukurtas „Ubuntu“ platinimui, tačiau naudojamas „Red Hat Enterprise Linux“ 6.0. Nors jis turėjo būti tinkamas diegti visuose „Linux“ platinimuose kaip pakaitalas dėl sysvinit, laikui bėgant jį užgožė sistemingas. 2014 m. Vasario 14 d. Markas Shuttleworthas („Canonical Ltd.“ įkūrėjas) paskelbė, kad būsimuose „Ubuntu“ leidimuose bus naudojamas „systemd“ kaip numatytasis iniciavimo demonas.
Nes SysV sistemos paleidimo scenarijus buvo toks įprastas jau seniai, daugybė programinės įrangos paketų apima „SysV“ paleisties scenarijus. Norėdami sutalpinti tokius paketus, „Upstart“ suteikia suderinamumo režimą: paleidžia „SysV“ paleisties scenarijus įprastose vietose (/etc/rc.d/rc?.d, /etc/init.d/rc?.d, /etc/rc?.dar panašioje vietoje). Taigi, jei įdiegsime paketą, kuriame dar nėra „Upstart“ konfigūracijos scenarijaus, jis vis tiek turėtų būti paleistas įprastu būdu.
Be to, jei įdiegėme komunalines paslaugas, tokias kaip chkconfig, jūs turėtumėte turėti galimybę juos naudoti savo „SysV“ pagrįstoms paslaugoms tvarkyti taip pat, kaip ir sistemoms „sysvinit“.
„Upstart“ scenarijai taip pat palaiko paslaugų paleidimą arba sustabdymą, pagrįstą įvairesniais veiksmais nei „SysV“ paleisties scenarijai; Pavyzdžiui, „Upstart“ gali paleisti paslaugą, kai yra prijungtas tam tikras aparatūros įrenginys.
Sistema, kuri naudoja „Upstart“ ir jos gimtuosius scenarijus, išimtinai pakeičia /etc/inittab failą ir paleidimo lygį SysV paleisties scenarijų katalogus su .konf scenarijus /etc/init katalogą.
Šie *.konf scenarijus (dar žinomus kaip darbo apibrėžimai) paprastai sudaro:
Pavyzdžiui,
# Mano bandymo paslauga - pradinio scenarijaus demonstracinis aprašymas „Čia pateikiamas„ Mano testavimo paslaugos “autoriaus„ Dave Null “aprašymas <[apsaugotas el. paštas]>" # Stanzas # # Stanzos apibrėžia, kada ir kaip procesas pradedamas ir sustabdomas. # Žr. Posmų sąrašą čia: http://upstart.ubuntu.com/wiki/Stanzas#respawn. # Kada pradėti paslaugą. pradėti nuo lygio [2345] # Kada sustabdyti paslaugą. sustoti ant darbinio lygio [016] # Automatiškai iš naujo paleisti procesą avarijos atveju. atgaivintas. # Nurodykite darbo katalogą. chdir/home/dave/myfiles. # Nurodykite procesą/komandą (jei reikia, pridėkite argumentų). exec bash backup.sh arg1 arg2.
Jei norite taikyti pakeitimus, turėsite pasakyti „upstart“, kad iš naujo įkeltų konfigūraciją.
# initctl reload-configuration.
Tada pradėkite savo darbą įvesdami šią komandą.
$ sudo pradėti savo darbo vardą.
Kur tavo vardas yra darbo, kuris buvo pridėtas anksčiau su jūsų darbo vardas.konf scenarijus.
Išsamesnį ir išsamesnį „Upstart“ informacinį vadovą rasite projekto svetainės meniu „Receptų knyga”.
Būtina žinoti „Linux“ įkrovos procesą, kad padėtų jums atlikti trikčių šalinimo užduotis, taip pat pritaikyti kompiuterio našumą ir paleisti paslaugas pagal jūsų poreikius.
Šiame straipsnyje mes analizavome, kas atsitinka nuo to momento, kai paspaudžiate Galia įjunkite mašiną, kol gausite visiškai veikiančią vartotojo sąsają. Tikiuosi, kad išmokote jį skaityti taip pat, kaip ir aš, sudėdamas. Nesivaržykite palikti savo komentarus ar klausimus žemiau. Mes visada laukiame jūsų skaitytojų atsiliepimų!