Dobivanje vremena pokretanja sistema u Linux OS-u. Koraci pokretanja Linuxa

Dom / Ne uključuje se

U ovom članku ćemo pogledati proces preuzimanja operativni sistem Linux. Pogledajmo bliže kroz koje faze računar i operativni sistem prolaze tokom procesa pokretanja. Članak je uglavnom namijenjen novim korisnicima koji su tek počeli da se upoznaju sa Linuxom. Razumijevanje načina na koji Linux proces pokretanja funkcionira važno je za rješavanje mogućih problema s procesom pokretanja, ako do njih dođe.

Odmah nakon pokretanja računara, od vas će se tražiti da pritisnete poseban taster za pokretanje BIOS meni, ako se to ne uradi, sistem će nastaviti da se pokreće. Zatim ćemo pogledati šta se dešava u svakoj fazi pokretanja Linuxa.

BIOS (osnovni ulazno-izlazni sistem) - ovo je softver unaprijed ugrađen u čipset matična ploča. BIOS pokreće računar i skenira sav njegov hardver, proverava prisustvo i funkcionalnost uređaja kao što su npr hard disk, CD-ROM, RAM. U ovom trenutku počinje proces pokretanja Linux OS-a.

BIOS zatim traži MBR (Master Boot Record), koji se obično nalazi u prvom sektoru hard disk i pokreće prvostepeni boot loader snimljen tamo, na primjer Grub ili Lilo. BIOS priprema MBR boot loader, učitava sve podatke u RAM i izvršava ih.

MBR zauzima prvih 512 bajtova na čvrstom disku. Ovo sadrži informacije o učitavačima operativnog sistema za većinu operativnih sistema, na primer: Linux, Unix, WIndows.

Iako MBR zauzima prostor na disku, ovo područje ne pripada nijednoj particiji. MBR adresa je obično staza 0, cilindar 0. Ovaj prostor je rezervisan za programe za pokretanje. Ne uključuje samo izvršni program za pokretanje, već i tabelu particija na disku.

BIOS skenira MBR, pronalazi prvostepeni bootloader, zatim skenira tabelu particija i pronalazi pokretač druge faze na particiji koja je označena kao pokretačka.

Utovarivač

Ako podijelite proces pokretanja Linuxa u faze, ovo je druga faza. Prvi dio pokretačkog programa, koji se nalazi u MBR-u, učitava se u RAM.

Zatim se datoteke drugog dijela bootloadera učitavaju iz bootloadera tvrdi dio disk. Na primjer, Grub ili Lilo. Ova podjela je neophodna jer cijeli kod pokretača ne stane u 512 bajtova.

Nakon što se Grub pokretač pokrene, on čita svoju konfiguracijsku datoteku i traži od korisnika da odabere operativni sistem za pokretanje.

Konfiguracijski fajl za svaku stavku sadrži kernel koji treba učitati. Obično se kerneli nalaze u /boot folderu. Grub zatim učitava željenu verziju vmlinuz kernela

Priprema kernela

Učitavanje počinje ovdje Linux kerneli. Grub rezerviše prostor RAM za Initrd sliku, zatim tu sliku učitava. Ova slika sadrži početni sistem datoteka, module i uslužne programe potrebne za rano učitavanje, na primjer, za rad sa Btrfs-om ili šifrovanom particijom. Boot loader tada priprema kernel za dizanje i učitava potrebne module kako bi proces inicijalizacije mogao započeti.

Na Linuxu, većina vlasničkih drajvera je upakovana kao moduli i na njoj se hostuju disk za pokretanje initrd.img. Na ovaj način, kada se kernel pokrene, svi potrebni moduli su već dostupni u initrd-u.

Nakon što kernel učita sve što mu je potrebno i završi početnu inicijalizaciju, Linux kernel se smatra završenim i proces inicijalizacije sistema, takozvani init proces, može se postaviti ručno, na primjer, s opcijom init kernela .

Inicijalizacija kernela

Inicijalizacija kernela uključuje sljedeće korake:

  • Inicijalizacija komponenti procesora kao što je MMU
  • Inicijalizacija planera (PID 0)
  • Montaža sistem datoteka u načinu čitanja i pisanja
  • Razdvojite proces inicijalizacije (PID 1)

Tokom procesa inicijalizacije, kernel obavlja sljedeće zadatke:

  • Pokretanje glavnog sistema i generalnog menadžera resursa (RAM, procesor, čvrsti disk)
  • Pokretanje procesa inicijalizacije (/sbin/init)

Sistem inicijalizacije

U ovom trenutku je proces pokretanja Linuxa najskloniji greškama. Nakon što je kernel prenio kontrolu na sistem za inicijalizaciju, sistem počinje sa pripremom za rad i pokretanjem svih potrebnih servisa - logovanje, slanje poruka u sistemu, podešavanje mreže, priprema mrežnih fajl sistema, podešavanje zvuka, montaža lokalnih fajl sistema i ostalih komponenti sistema. On trenutno U većini slučajeva koristi se jedan od dva najpopularnija sistema za inicijalizaciju - SysVinit ili Systemd.

Proces preuzimanja je malo drugačiji u svakom slučaju, ali suština je ista.

SysVinit prvo pokreće program /sbin/init, a zatim čita datoteku opcija /etc/inittab kako bi odredio željeni zadani nivo pokretanja. Ovo su nivoi pokretanja Linuxa:

  • 0 - isključivanje
  • 1 - Jednokorisnički način rada
  • 2 - Režim za više igrača bez mreže
  • 3 - Puni način rada
  • 4 - Nije korišteno
  • 5 - Pokrenite X11

Nivoi pokretanja Linuxa također se mogu mijenjati ručno pomoću telinit naredbe. Zadana vrijednost je obično nivo 5.

Zatim se izvršava skripta /etc/rc.d/rc.sysinit, kao i sve skripte iz /etc/rc.d/rcx foldera, gdje je x broj nivoa pokretanja. Na primjer, ako pokrenemo s runlevel 5, tada će se izvršiti sve skripte iz /etc/rc.d/rc5.d foldera.

Imena skripti za pokretanje počinju slovom S, a završne skripte počinju slovom K. Nakon što pogledate ovu strukturu, da li već razumijete kako servisi za automatsko pokretanje rade u Linuxu? Sada možete ručno dodati skriptu za pokretanje jednostavnim kreiranjem simboličke veze u željenoj mapi.

Nakon završetka svih ovih koraka, sistem samo treba da pokrene sve TTY virtuelne konzole i menadžer za prijavu, kao što je XDM ili SDDM.

U Systemd-u je proces učitavanja malo drugačiji, za razliku od prethodne verzije, ne koriste se skripte, već posebne konfiguracijske datoteke - jedinice; Ovo rješava mnoge probleme, kao što je prenosivost, a također dodaje nove značajke kao što su ovisnosti i paralelno učitavanje.

Ali suština procesa preuzimanja je ista, pokreću se iste usluge. Umjesto nivoa lansiranja koriste se specijalne jedinice - .target. Naziv jedinice sadrži broj runlevel i riječ runlevel. Na primjer: runlevel0.target - disable, itd. Ove jedinice povlače sa sobom, u zavisnostima, sve potrebne servise za normalan rad sistemima.

U stvari, postoje dva niza događaja koji su potrebni da bi se Linux računar pokrenuo i učinio upotrebljivim: pokretanje i pokretanje. Redoslijed pokretanja počinje kada se računar uključi i završava kada se jezgro inicijalizira i systemd pokrene. Proces pokretanja tada završava zadatak dovođenja Linux računara na radnom stanju.

Sve u svemu, proces preuzimanja i pokretanja Linuxa je prilično jednostavan za razumijevanje. Sastoji se od sljedećih koraka, koji će biti detaljnije opisani u sljedećim odjeljcima.

BIOS POST;
- bootloader (GRUB2);
- inicijalizacija kernela;
- pokretanje systemd-a, roditeljske komponente svih procesa.

Imajte na umu da ovaj članak pokriva GRUB2 i systemd jer su oni trenutni pokretač i init sistem za većinu glavnih distribucija. Ranije su korištene i druge varijante ovakvih programa, a još uvijek se koriste u nekim distribucijama.

Proces pokretanja

Proces preuzimanja može se pokrenuti na jedan od nekoliko načina. Prvo, ako je napajanje isključeno, uključivanje će pokrenuti proces pokretanja. Ako je računar već pokrenut, lokalni korisnik uključujući korijen ili redovni korisnik, može programski pokrenuti sekvencu pokretanja koristeći GUI ili komandnu liniju da ponovo pokrenete računar. Računar će se prvo isključiti, a zatim ponovo pokrenuti.

BIOS POST

Prvi korak procesa pokretanja Linuxa zapravo nema nikakve veze sa Linuxom. Ovo je hardverski dio procesa pokretanja i isti je za svaki operativni sistem. Kada se računar napaja napajanjem, on pokreće proceduru POST (Power On). Self Test), koji je dio BIOS-a (Basic I/O System).

Kada je IBM razvio prvi računar, davne 1981. godine, BIOS je razvijen za inicijalizaciju hardverskih komponenti. POST je dio BIOS-a, čiji je zadatak da osigura ispravno funkcionisanje hardvera. Ako POST ne radi ispravno, računar se možda neće koristiti i proces pokretanja neće se nastaviti.

BIOS POST provjerava osnovnu funkcionalnost hardver, a zatim izdaje BIOS prekid, INT 13H, koji pronalazi sektore za pokretanje na svim povezanim uređajima za pokretanje. Prvi sektor za pokretanje sa važećim zapisom o pokretanju koji pronađe se učitava u RAM, a zatim se kontrola prenosi na kod učitan sa boot sektor.

Boot sektor je zapravo prva faza bootloadera. Postoje tri pokretačka programa koja se koriste u većini Linux distribucija: GRUB, GRUB2 i LILO. GRUB2 je najmoderniji i danas se koristi mnogo češće od starijih verzija.

GRUB2

GRUB2 je skraćenica za "GRAND Unified Bootloader Version 2" i primarni je pokretač za većinu Linux distribucija danas. GRUB2 je program koji čini računar dovoljno pametnim da pronađe kernel operativnog sistema i učita ga u memoriju. Pošto je GRUB lakše napisati i reći nego GRUB2, koristiću termin GRUB u ovom dokumentu, ali ću se odnositi na GRUB2 osim ako nije drugačije naznačeno.

GRUB je dizajniran da bude kompatibilan sa multiboot specifikacijom, što omogućava GRUB-u da pokrene višestruko Linux verzije i drugi besplatni operativni sistemi; takođe može pokrenuti evidenciju pokretanja vlasničkog operativnog sistema.

GRUB takođe omogućava korisniku da izabere da pokrene jedan od nekoliko različitih kernela za bilo koju distribuciju Linuxa. Ovo omogućava pokretanje sa prethodna verzija kernel, ako ažurirana verzija ne radi ispravno ili je nekompatibilna s dijelom softver. GRUB se može konfigurisati pomoću datoteke /boot/grub/grub.conf.

GRUB1 se sada smatra zastarjelim i zamijenjen je u većini modernih distribucija GRUB2, koji je preinačenje GRUB1. Distribucije zasnovane na Red Hat-u su ažurirane na GRUB2, počevši od Fedora 15 i CentOS/RHEL 7. GRUB2 pruža istu funkcionalnost kao GRUB1, ali GRUB2 takođe pruža veću fleksibilnost u fazi pre pokretanja. GRUB2 se konfiguriše pomoću datoteke /boot/grub2/grub.cfg.

Glavna funkcija GRUB-a je da učita Linux kernel u memoriju i pokrene ga. Obje verzije GRUB-a rade u osnovi isto i proces uključuje ista tri koraka, ali ja ću koristiti GRUB2. Postavljanje GRUB-a ili GRUB2 i korištenje GRUB2 komandi je izvan okvira ovog članka.

Iako GRUB2 zvanično ne koristi oznaku faze za tri faze pokretanja GRUB2, zgodno je na njih se odnositi na taj način, što ću i učiniti u ovom članku.

Faza 1

Kao što je spomenuto u odjeljku POST BIOS, na kraju POST-a BIOS gleda priključene diskove u potrazi boot entry, koji se obično nalazi u glavnom zapisu za pokretanje (MBR), učitava prvi koji se nalazi u RAM-u, a zatim počinje da izvršava zapis za pokretanje. Bootstrap kod, tj. faza 1 GRUB2, vrlo je mali jer mora stati u prvi 512-bajtni sektor na tvrdom disku zajedno sa particijskom tablicom. Ukupna količina prostora dodijeljenog za stvarni bootstrap kod u klasičnom dijeljenom MBR-u je 446 bajtova. Datoteka od 446 bajta za fazu 1 naziva se boot.img i ne sadrži particionu tabelu, koja se posebno dodaje u zapis za pokretanje.

Budući da zapis za pokretanje mora biti tako mali, nije baš pametan i ne razumije strukturu sistema datoteka. Stoga je jedina svrha faze 1 pronaći i učitati fazu 1.5. Da biste to učinili, faza 1.5 GRUB-a mora biti smještena u prostoru između samog zapisa za pokretanje i prve particije na disku. Nakon što se faza 1.5 GRUB-a učita u RAM, faza 1 prenosi kontrolu na fazu 1.5.

Faza 1.5

Kao što je gore pomenuto, faza 1.5 GRUB-a treba da se nalazi u prostoru između samog boot zapisa i prve particije na disku. Iz tehničkih razloga ovaj prostor se nije koristio kroz istoriju. Prva particija na čvrstom disku počinje u sektoru 63 sa MBR-om u sektoru 0, koji ostavlja sektore od 62.512 bajta - 31.744 bajta - koji čuva core.img fajl, koji je faza 1.5 GRUB-a. Datoteka core.img je veličine 25389 bajtova, tako da ima puno prostora između MBR-a i prve particije diska slobodan prostor za čuvanje.

Zbog veće količine koda koji može biti uključen za fazu 1.5, može sadržavati više drajvera za uobičajene sisteme datoteka kao što su EXT i drugi Linux sistemi datoteka, FAT i NTFS. GRUB2 core.img je mnogo složeniji i inteligentniji u poređenju sa starijom 1.5 fazom GRUB1. To znači da GRUB2 faza 2 može biti smještena na standardnom EXT sistemu datoteka, ali ne može biti smještena na logičkom volumenu. Dakle, standardna lokacija za datoteke faze 2 je /boot sistem datoteka, odnosno /boot/grub2.

Imajte na umu da /boot direktorij mora biti na sistemu datoteka koji podržava GRUB. Nisu svi sistemi datoteka prikladni za to. Funkcija faze 1.5 je učitavanje drajvera sistema datoteka potrebnih za traženje datoteka faze 2 u /boot sistemu datoteka i učitavanje potrebnih drajvera.

Faza 2

Sve datoteke GRUB faze 2 nalaze se u direktoriju /boot/grub2 i nekoliko njegovih poddirektorija. GRUB2 nema datoteku slike poput koraka 1 i 2. Umjesto toga, sastoji se prvenstveno od modula kernela koji se učitavaju po potrebi iz /boot/grub2/ i386-pc direktorija.

Funkcija GRUB2 faze 2 je da pronađe i učita Linux kernel u RAM i prebaci kontrolu nad računarom na kernel. Kernel i pridružene datoteke nalaze se u /boot direktoriju. Datoteke kernela mogu se identificirati jer sva njihova imena počinju s vmlinuz. Možete pogledati sadržaj direktorija /boot da vidite kernele instalirane na vašem sistemu.

GRUB2, kao i GRUB1, podržava pokretanje iz jednog od Linux kernela. Red Hatov paket menadžer, DNF, podržava pohranjivanje više verzija kernela, tako da ako postoji problem sa samim kernelom nova verzija, možete preuzeti više stara verzija jezgra. Podrazumevano, GRUB obezbeđuje meni pre pokretanja instaliranih kernela, uključujući opciju bezbednog pokretanja i, ako je konfigurisana, opciju oporavka.

Faza 2 GRUB2 učitava odabrano jezgro u memoriju i prenosi kontrolu nad računarom na kernel sistema.

Core

Svi kerneli su pohranjeni u samoraspakirajućem arhivskom formatu radi uštede prostora. Kerneli se nalaze u direktoriju /boot zajedno sa originalnom slikom RAM diska i mapama uređaja tvrdog diska.

Jednom kada se odabrani kernel učita u memoriju i počne izvršavati, prvo se mora dearhivirati prije nego što može izvršiti bilo koji koristan rad. Nakon što se kernel izbaci, učitava systemd, koji je zamijenio stari SysV init program, i prebacuje kontrolu na njega.

Ovo je kraj procesa preuzimanja. U ovom trenutku, Linux kernel i systemd su pokrenuti, ali ne mogu izvršiti nikakve produktivne zadatke za krajnjeg korisnika jer ništa ne radi.

Proces pokretanja

Proces pokretanja prati proces pokretanja i dovodi vaš Linux računar u radno stanje u kojem se može koristiti za produktivan rad.

systemd

systemd je majka svih procesa i odgovoran je za dovođenje Linux sistema u stanje u kojem se može pokrenuti. Neke od njegovih karakteristika koje su mnogo šire od stari program init su dizajnirani za upravljanje različitim aspektima pokrenutog Linux sistema, uključujući kreiranje sistema datoteka i pokretanje i upravljanje sistemskim uslugama potrebnim za svakodnevno Linux radi. Bilo koji od systemd zadataka koji nije povezan sa sekvencom pokretanja je izvan opsega ovog članka.

Prvo, systemd montira datotečne sisteme navedene u /etc/fstab, uključujući sve swap datoteke ili particije. U ovom trenutku, ona može pristupiti konfiguracijskim datotekama koje se nalaze u /etc, uključujući i svoju. Koristi svoju konfiguracionu datoteku, /etc/systemd/system/default.target, da definiše stanje (cilj) u koje treba da pokrene sistem. Fajl default.target je samo simbolička veza do stvarne ciljne datoteke. Za radnu stanicu ili desktop računare ovo će obično biti graphical.target, što je ekvivalentno nivou pokretanja 5 u starom SystemV init sistemu. Za podrazumevani server, ovo će najverovatnije biti multi-user.target, što je slično nivou pokretanja 3 u SystemV-u. Emergency.target je sličan modu za jednog igrača.

Imajte na umu da su ciljevi i usluge sistemske jedinice.

Tabela 1 ispod daje poređenje systemd ciljeva sa starijim SystemV nivoima pokretanja. Ciljne pseudonime daje systemd za kompatibilnost unatrag. Ciljni aliasi dozvoljavaju skriptama i mnogim sistemskim administratorima poput mene da koriste SystemV komande kao što je init 3 za promjenu nivoa pokretanja. Naravno, SystemV komande se prosleđuju u systemd na interpretaciju i izvršenje.

SystemV nivo Ciljevi cilja systemd ciljni aliasi Opis
- halt.target - Isključuje sistem bez isključivanja napajanja.
0 poweroff.target runlevel0.target Isključuje sistem isključivanjem napajanja.
S emergency.target - Jednokorisnički način rada. Usluge ne rade; sistemi datoteka nisu montirani. Ovo je osnovni nivo rada sa samo ljuskom za hitne slučajeve koja radi na glavnoj konzoli koja omogućava korisniku interakciju sa sistemom.
1 rescue.target runlevel1.target Osnovni sistem koji uključuje montirane sisteme datoteka sa samo primarnim pokrenuti usluge i školjku za hitne slučajeve na glavnoj konzoli.
2 - runlevel2.target Višekorisnički način rada bez NFS-a, ali s drugim konzolnim servisima koji rade
3 multi-user.target runlevel3.target Svi servisi su pokrenuti, ali je dostupan samo interfejs komandne linije.
4 - runlevel4.target Nije korišteno
5 grafički.cilj runlevel5.target Višekorisnički način rada s GUI
6 reboot.target runlevel6.target
- default.target - Ovaj cilj je uvijek simbolička veza na multi-user.target ili graphical.target. sistem uvijek koristi default.target za pokretanje sistema. default.se nikada ne bi trebao odnositi na halt.target, poweroff.target ili reboot.target.

Tablica 1: Poređenje SystemV nivoa pokretanja sa systemd ciljevima.

Svaki cilj ima skup ovisnosti opisanih u konfiguracijskoj datoteci. systemd pokreće potrebne zavisnosti. Ove zavisnosti su usluge potrebne za pokretanje Linux hosta na određenom nivou funkcionalnosti. Kada se sve ovisnosti navedene u ciljnim konfiguracijskim datotekama preuzmu i pokrenu, sistem radi na toj ciljnoj razini.

systemd također pregledava stare SystemV init direktorije da vidi da li postoje datoteke za pokretanje. Ako su prisutni, systemd ih koristi kao konfiguracijske datoteke za pokretanje usluga opisanih u tim datotekama. Zastarjelo mrežni servis je dobar primjer jedan od onih slučajeva u kojima Fedora još uvijek koristi SystemV datoteke za pokretanje.

Slika 1 ispod je kopirana direktno sa stranice za pokretanje sistema. On pokazuje opšti redosled događaje tokom pokretanja systemd-a i osnovne zahtjeve za njihov redoslijed kako bi se osiguralo uspješno pokretanje.

Ciljevi sysinit.target i basic.target se mogu smatrati kontrolne tačke tokom procesa pokretanja. Iako je jedan od ciljeva dizajna systemd-a bio omogućiti sistemskim uslugama da rade istovremeno, još uvijek postoje određene usluge i funkcionalni ciljevi koji se moraju pokrenuti prije nego što se drugi servisi i ciljevi mogu pokrenuti. Ove kontrolne tačke se ne mogu proći dok se ne završe sve potrebne usluge i ciljevi.

Dakle, sysinit.target je dostignut kada se završe sve komponente od kojih zavisi. Montiranje sistema datoteka, postavljanje datoteka stranica, pokretanje udev-a, instaliranje generatora slučajnih brojeva, pokretanje usluga niskog nivoa i postavljanje kriptografskih usluga ako je jedan ili više sistema datoteka šifrirano moraju biti dovršeni, ali unutar sysinit.target ovi zadaci se mogu izvoditi paralelno.

Sysinit.target pokreće sve usluge i komponente niskog nivoa potrebne za minimalnu funkcionalnost sistema i koje će biti potrebne za migraciju na basic.target.

Lokalni-fs-pre.target | rescue.target v (različiti montiranja i (razni swap (različiti servisi cryptsetup fsck...) uređaji...) uređaji...) (razni niski nivoi (razni niski nivoi | | | usluge: udevd, API VFS montiranja: v v v tmpfiles , random mqueue, configfs, local-fs.target swap.target cryptsetup.target seed, sysctl, ...) debugfs, ...) | | | | | emergency.target ___________________|________________ | ___________________|____________________/ \|/ v sysinit.target | multi-user.target ____________________________________/|\_______________________________________ / | | | \ | | | | | grafički.cilj

v v | v v (razne (razne | (razne rescue.service tajmeri...) staze...) | utičnice...) |

Nakon što se sysinit.target izvrši, systemd će pokrenuti basic.target, pokrećući sve komponente potrebne za njegovo izvršavanje. basic.target pruža neke dodatne funkcionalnosti pokretanjem komponenti koje su potrebne za sljedeći cilj. To uključuje konfiguriranje aspekata kao što su staze do različitih izvršnih direktorija, komunikacijskih utičnica i tajmera.

Konačno, ciljevi na nivou korisnika, multi-user.target ili graphical.target, mogu se inicijalizirati. Imajte na umu da se režim za više igrača mora postići prije nego što se zadovolje grafičke ovisnosti.

Podvučeni ciljevi na slici 1 su uobičajeni ciljevi lansiranja. Kada se postigne jedan od ovih ciljeva, lansiranje je završeno. Ako je default multi-user.target, trebali biste vidjeti prijavu u tekstualni način na konzoli. Ako je zadana vrijednost graphical.target, trebali biste vidjeti grafički ekran za prijavu; Konkretni ekran za prijavu koji vidite zavisi od podrazumevanog menadžera sesije koji koristite.

Problemi

Nedavno sam morao da promenim podrazumevano jezgro na Linux mašini koja koristi GRUB2. Otkrio sam da neke od naredbi ne rade kako se očekivalo ili sam ih možda koristio pogrešno. Nisam još siguran u razloge, moram da uradim još testova.

Komanda grub2-set-default nije ispravno postavila podrazumevani indeks kernela u /etc/default/grub, tako da se alternativni kernel koji sam želeo ne bi učitao. Zatim sam ručno promenio /etc/default/grub GRUB_DEFAULT=saved u GRUB_DEFAULT=2, gde je 2 indeks instaliranog kernela koji sam želeo da pokrenem. Zatim sam pokrenuo naredbu grub2-mkconfig> /boot/grub2/grub.cfg da kreiram novu konfiguracijsku datoteku grub. Ovo zaobilazno rešenje je radilo kako sam očekivao i pokrenulo je alternativni kernel.

Zaključak

GRUB2 i systemd su ključne komponente tokom faza pokretanja i pokretanja većine modernih Linux distribucija. Ove dvije komponente rade zajedno kako bi prvo učitale kernel, a zatim pokrenule sve sistemske usluge potrebne za stvaranje potpuno funkcionalnog Linux sistema.

Iako smatram da su GRUB2 i systemd složeniji od njihovih prethodnika, njima je prilično lako naučiti i upravljati njima. Man stranice imaju mnogo informacija o systemd-u, a freedesktop.org ima full set systemd man stranice dostupne na mreži.

Podijelimo proces pokretanja Linux OS-a u devet koraka koji se primjenjuju na gotovo svaku konfiguraciju Linux OS-a:

  1. Prva faza učitavanja je čitanje računarskog BOIS-a ili drugog hardvera i softvera sa MBR-a čvrstog diska ili drugog uređaj za pokretanje(kao što je CD, disketa ili uređaj za pokretanje mreže, itd.).
  2. Bootloader počinje da radi. Linux na x86 arhitekturi obično koristi LILO ili GRUB. Neki stariji sistemi mogu koristiti loadlin za pokretanje preko sekundarne DOS particije. IN Energetski sistemi PC® ovo može biti BootX ili yaboot. uopće, loader je jednostavan program koji ipak zna gdje tražiti Linux kernel, može izabrati koji će se pokrenuti iz nekoliko verzija kernela, ili čak odabrati drugi operativni sistem na istoj mašini.
  3. Root sistem datoteka je montiran. U nekim slučajevima, početni korijenski sistem datoteka se privremeno montira iz sadržaja, na primjer, RAM diska koji je pokrenuo pokretač kako bi se omogućilo učitavanje specijalnih drajvera i modula koji mogu biti potrebni za pokretanje stvarnog korijenskog sistema datoteka.

    Sada imamo korijenski sistem datoteka, možemo započeti stvarnu inicijalizaciju.

  4. Pokreće se init proces, predak svih ostalih procesa u Linux OS-u.
  5. Čita se sadržaj datoteke /etc/inittab kako bi se odredio dalji napredak preuzimanja. Posebno je važno šta je napisano u datoteci /etc/inittab u redu koji određuje nivo pokretanja sistema (a samim tim i naredne faze pokretanja).

    Zaista, sve što se dešava nakon ove tačke u potpunosti je određeno sadržajem datoteke /etc/inittab. Zapravo, skripte i drugi alati koji rade podliježu odgovarajućim postavkama, ali u principu možete potpuno promijeniti /etc/inittab kako biste kontrolirali kako različiti alati rade kako želite.

    Jedna od postavki u datoteci /etc/inittab je posebno važna. Ovo je linija slična:

    id:5:initdefault:

    Obično se nalazi blizu početka datoteke i postavlja nivo pokretanja sistema. Nivo pokretanja određuje koje će se akcije poduzeti u preostalim uputama u datoteci /etc/inittab.

    Šta se dešava kada se skripta /etc/inittab izvrši? A posebno, koje datoteke i direktoriji učestvuju u procesu?

  6. Nezavisna inicijalizacija na nivou pokretanja. Postoji niz radnji koje će se izvesti bez obzira na postavljeni nivo rada. Ovi koraci su označeni u /etc/inittab redovima sličnim:

    # Inicijalizacija sistema.
    si::sysinit:/etc/rc.d/rc.sysinit

    Na nekim Linux sistemima (uglavnom sistemima baziranim na Debianu), vjerojatno ćete vidjeti redove sličnije sljedećem:

    si::sysinit:/etc/init.d/rcS

    U drugom slučaju, /etc/init.d/rcS datoteka je jednostavno skripta koja pokreće /etc/rcS.d/??* skripte jednu po jednu. S druge strane, ako vaš sistem koristi /etc/rc.d/rc.sysinit, jedna duga skripta sadržana u ovoj datoteci je dovoljna da izvrši inicijalizaciju.

  7. Inicijalizacija ovisna o nivou pokretanja. Zapravo, možete definirati onoliko aktivnosti na nivou pokretanja koliko želite, a svaka aktivnost može biti dodijeljena jednom ili više nivoa pokretanja. Obično će /etc/inittab sadržavati redove kao što su:

    l0:0:čekati:/etc/rc.d/rc 0
    # ...
    l5:5:čekajte:/etc/rc.d/rc 5
    l6:6:čekajte:/etc/rc.d/rc 6

    Zauzvrat, /etc/rc.d/rc skripta će upravljati svim datotekama pod nazivom /etc/rc$1.d/??*. U sljedećem primjeru možete vidjeti da će se na datom sistemu počevši od nivoa 5 izvršavati sljedeće (redom):

    /etc/rc5.d/K15postgresql
    /etc/rc5.d/S01switchprofile
    /etc/rc5.d/S05harddrake
    ...
    /etc/rc5.d/S55sshd
    ...
    /etc/rc5.d/S99linuxconf
    /etc/rc5.d/S99local

    Datoteke koje počinju sa "K" ili "k" su skripte za ubijanje, dovršavaju procese ili organiziraju svoje radnje (posljedice). Datoteke koje počinju sa "S" ili "s" su skripte za pokretanje, oni pokreću nove procese ili pripremaju sistem za rad na tom nivou pokretanja. Većina njih su shell skripte, a većina njih će biti veze (često na /etc/init.d/).

    Dok Linux sistem počinje na određenom nivou pokretanja, želite da se prijavite na sistem kao korisnik. Da bi se osiguralo da je autorizacija uspješna, koristi se program getty. Kreatori distribucija koriste mnoge vrste getty programa kao što su agetty, mgetty i mingetty. Ali svi rade otprilike istu stvar.

  8. Prijavite se na poziv. Poznati /etc/inittab obično pokreće getty na jednom ili više virtuelnih ekrana i to na više nivoa pokretanja. Nivoi su definirani u redovima kao što su:

    # Pokreni gettys na standardnim nivoima pokretanja
    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    Broj na početku označava u kom virtuelnom terminalu će se pokrenuti getty program; sljedećih nekoliko brojeva su nivoi trčanja na kojima će se to dogoditi (na primjer, trčanje mingetty na svakom od nivoa 2, 3, 4 i 5).

Sljedeći koraci pokreću pokretanje dodatnih usluga, ulazak u grafičko okruženje, vraćanje postavki korisničkog sučelja ili druge personaliziranije detalje koji su izvan dosega ovog vodiča.

Koncept nivoa pokretanja je donekle proizvoljan, nije upisan u Linux kernel. Stvarni nivoi pokretanja su mapirani u skup brojeva tako da možete postaviti (ili promijeniti postojeći) zadani nivo pokretanja odabirom broja od 0 do 6. Po konvenciji, sljedeće značenje je dodijeljeno svakom broju nivoa pokretanja:


Listing 1. Pokrenite nivoe
# Zadani nivo pokretanja. Nivoi pokretanja koje koristi Mandrake Linux su: # 0 - Halt (NE postavljajte initdefault na ovo) # 1 - Jednokorisnički način # 2 - Višekorisnički, bez NFS-a (Isto kao 3, ako nemate umrežavanje) # 3 - Potpuni višekorisnički način #4 - Neiskorišteno #5 - X11 #6 - Ponovno pokretanje (NE postavljajte initdefault na ovo)

Može se vidjeti da se ova konvencija koristi u distribuciji Mandrake Linuxa, ali većina distribucija koristi istu konvenciju. Može se ispostaviti da tekstualne ili ugrađene distribucije ne koriste neke od nivoa pokretanja, ali će i dalje rezervirati iste brojeve.

Videli ste mnogo /etc/inittab redova u primerima, ali šta oni tačno znače? Svaki red ima format:

id:runlevels:action:process

Polje id je kratka skraćenica za konfiguracijsku liniju. (1 - 4 slova u najnovije verzije init ; 1 - 2 kod starijih). Polje runlevels je već diskutovano. Sljedeće polje akcije označava radnju koju je red poduzeo. Neke radnje mogu biti "posebne", kao što su:

ca::ctrllaltdel:/sbin/shutdown -t3 -r sada

Ova linija postavlja radnju za sekvencu tipki Ctrl-Alt-Delete (bez obzira na nivo pokretanja). Ali većina akcija jednostavno pokreće odgovarajuće procese. Djelomična lista radnji uključuje:

  • respawn: Proces će se ponovo pokrenuti kad god izađe (kao što je slučaj sa gettyjem).
  • čekaj: Proces će se pokrenuti jednom kada se unese navedeni nivo pokretanja, a init će čekati da se završi.
  • jednom: Proces će se izvršiti jednom kada se unese navedeni nivo pokretanja.
  • boot: Proces će se izvršiti tokom pokretanja sistema (ali nakon sysinit-a). Nivo lansiranja nije bitan.

Podešavanje procesa pokretanja i pokretanja sistema

Prije nekoliko godina, program pod nazivom LILO prvenstveno se koristio za pokretanje Linuxa na x86 sistemima. Ime LILO je skraćenica za "LInux LOader". Danas se popularniji program zove GRUB (GRand Unified Bootloader). Na sistemima koji nisu x86 koriste se različiti pokretači, ali su svi konfigurisani na sličan način kao LILO i GRUB.

Iako postoje razlike u sintaksi konfiguracije, i LILO i GRUB obavljaju uglavnom isti zadatak. U suštini, svaki od njih pruža izbor operativnog sistema (uključujući moguće nekoliko Linux kernela) i učitava odabrani OS kernel u memoriju računara. Oba programa vam omogućavaju da usput proslijedite argumente Linux kernelu, a oba se mogu konfigurirati za pokretanje ne-Linux OS-a na istom stroju.

Ili LILO ili GRUB (ili neki drugi pokretački program) nalaze se na MBR-u (Master Boot Record) primarnog čvrstog diska, koji se automatski pokreće od strane sistemskog BIOS-a. LILO ima ograničenja za učitavanje specijalnih sirovina tvrdi sektor disk. GRUB boot loader je sofisticiraniji i prepoznaje različite sisteme datoteka, kao što su ext2/3, ReiserFS, VFAT ili UFS. To znači da GRUB ne mora ponovo pisati MBR svaki put kada se promijeni konfiguracijski fajl (kao što to čini LILO).

LILO bootloader je konfigurisan korišćenjem sadržaja datoteke /etc/lilo.conf. Za detaljniji pregled opcija konfiguracije LILO-a, pročitajte man stranice za lilo.conf. Opću prirodu ponašanja određuje nekoliko početnih parametara. Na primjer, vjerovatno ćete vidjeti boot=/dev/hda ili nešto slično. Ova komanda instalira pokretač na MBR primarnog čvrstog diska. IDE disk . Također možete instalirati LILO unutar određene particije, obično kada koristite drugi primarni pokretač. Na primjer, boot=/dev/sda3 instalira LILO na treću particiju prvog SCSI diska. Ostali parametri određuju izgled

Zapamtite da nakon što izvršite ispravke datoteke /etc/lilo.conf, morate pokrenuti LILO da biste zapravo instalirali novi sektor za pokretanje koji se koristi u vrijeme pokretanja. Lako je zaboraviti postaviti nove parametre, ali sam bootloader neće moći pročitati novu konfiguraciju osim ako se ne zapišu stvarne adrese sektora (koje LILO prepoznaje dok radi).

Ako se koristi LILO, linije su od posebne važnosti ukucajte sliku= a možda i drugo= ako postoji izbor između Linuxa i drugih operativnih sistema. Primjer /etc/lilo.conf može sadržavati:


Listing 2. Primjer LILO konfiguracije
image=/boot/bzImage-2.7.4 label="experimental" image=/boot/vmlinuz label="linux" initrd=/boot/initrd.img append="devfs=mount acpi=off tiho" vga=788 read- samo ostalo=/dev/hda3 label=dos

Ova konfiguracija vam omogućava da odaberete ili 2.7.4 kernel, koji je u razvoju, ili stabilno jezgro (u daljem tekstu deklarisano da se koristi kao startup RAM disk (initrd) tokom procesa pokretanja). Također možete odabrati DOS koji se nalazi na trećoj particiji primarni IDE disk.

Neosporna prednost GRUB-a je da ga nije potrebno ponovo instalirati svaki put kada promijenite opcije pokretanja. Naravno, i dalje morate da instalirate GRUB prvi put, obično sa komandom kao što je grub-install /dev/hda . Po pravilu, distribucija to radi umjesto vas tokom procesa instalacije, tako da to možda nikada nećete učiniti sami.


Listing 3. Primjer GRUB konfiguracije
timeout 5 boja crna/žuta žuta/crna default 0 lozinka tajna riječ naslov linux kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 tiho vga=788 acpi=isključeno initrd (hd0,1)/boot/initrd.img naslov eksperimentalno kernel (hd0,1)/boot/bzImage-2.7.4 root=/dev/hda2 tihi naslov dos root (hd0,4) makeactive chainloader +1

I LILO i GRUB vam omogućavaju da prenesete posebne parametre jezgru po vašem izboru. Ako koristite LILO, možete prenijeti opcije u prompt za pokretanje tako što ćete ih dodati jezgru po vašem izboru. Na primjer, za uobičajene opcije pokretanja možete unijeti:

LILO: linux ether=9.0x300.0xd0000 root=/dev/ha2 vga=791 acpi=on

Ova linija prenosi posebne parametre Ethernet modulu, specificira root particiju, odabire video način itd. Naravno, nije sve ovo zgodno, jer morate znati tačno odgovarajuće vrijednosti za ove parametre i biti u mogućnosti da ih ispravno unesete.

Od posebnog značaja je parametar koji menja nivo pokretanja sistema pokretača. Na primjer, u svrhu oporavka sistema, želite da pokrenete sistem u režimu za jednog korisnika. To se radi na sljedeći način:

LILO: eksperimentalni singl

Druga posebna opcija je argument init=, koji vam omogućava da koristite programe koji nisu init kao primarni proces. Opcije za hitni način mogu biti init=/bin/sh, što bi vam barem omogućilo da imate komandna linija(Linux shell) ako je init potpuno neispravan.

Sa GRUB boot loaderom imate još veću fleksibilnost. U stvari, GRUB je ljuska komandne linije i pruža korisniku osnovnu funkcionalnost ljuske. GRUB omogućava ne samo promjenu osnovne konfiguracije pokretača, već čak i čitanje sistema datoteka. Da biste konfigurirali opcije pokretanja, pritisnite "e" u GRUB komandnoj liniji, a zatim dodajte parametre (na primjer, broj nivoa pokretanja ili ključnu riječ "single" kao u LILO-u). Svi ostali argumenti na promptu za pokretanje koje možete unijeti koristeći LILO mogu se koristiti na komandnoj liniji GRUB.

Da biste razumjeli svoje opcije, možete otvoriti komandnu liniju GRUB. Na primjer, pretpostavimo da mislite da je vaš /etc/inittab fajl loše konfigurisan i želite da ga istražite pre pokretanja. Možete unijeti:

grub>cat (hd0,2)/etc/inittab

Ovo bi vam omogućilo da unapred vidite svoj inicijalizacioni fajl, bez pokretanja operativnog sistema. Ako je tu bilo greške, bilo bi moguće pokrenuti se u jednokorisnički način rada i popraviti je.

Kada shvatite korake u pokretanju Linuxa nakon pokretanja kernela (drugim riječima, init proces i sve što poziva), također ćete razumjeti kako ih urediti. U osnovi, sva konfiguracija se vrši uređivanjem datoteke /etc/inittab i raznih skripti u /etc/rc?.d/ direktoriju.

Na primjer, nedavno sam trebao konfigurirati video BIOS na Linux laptopu baziranom na Debianu koristeći rješenja treće strane. Da nije pokrenut prije nego što je X11s počeo, moj XOrg drajver ne bi podesio ispravne video modove. Kada sam shvatio u čemu je problem, rešenje je bilo jednostavno kao kreiranje /etc/rcS.d/S56-resolution.sh skripte. Drugim riječima, pokrenuo sam dodatnu skriptu svaki put kada se sistem pokrenuo.

Imajte na umu da sam se pobrinuo da se ova skripta pokrene prije /etc/rcS.d/S70xorg-common zbog jednostavne konvencije da se skripte pokreću po abecednom redu (ako sam želio da se moja skripta pokrene kasnije, mogao sam pozvati da bude S98-rezolucija .sh umjesto /etc/rcS.d/S56-resolution.sh). Možda bih stavio ovu skriptu samo u /etc/rc5.d/ direktorij tako da se pokreće kada su X11s pokrenuti, ali mogu ručno pokrenuti startx ispod drugog nivoa pokretanja.

Sva podešavanja tokom procesa inicijalizacije su otvorena za uređivanje, direktno u sistemu datoteka; gotovo sve se može popraviti korištenjem tekstualnih skripti.

Oporavak sistema datoteka

Velika stvar kod Linuxa iz perspektive održavanja sistema je da je sve datoteka. Naravno, s vremena na vrijeme se postavlja pitanje , u kojoj fajl koji živi. Ali, po pravilu, vraćanje Linuxa znači korištenje osnovnih uslužnih programa sistema datoteka kao što su cp, mv, rm i uređivač teksta tip vi. Alati kao što su grep, awk i bash su korisni za automatizaciju ovih radnji; ili na višem nivou, perl ili python. Ali u ovom vodiču nemamo za cilj proučavanje rukovanja datotekama.

Pod pretpostavkom da znate kako uređivati ​​i upravljati datotekama, na oštećenom sistemu, zahvaćene datoteke možda uopće neće biti upotrebljive.

Tvoj najbolji prijatelj u obnavljanju oštećenog sistema datoteka fsck.

Naredba fsck je zapravo samo početak naredbe za velika količina ostali fsck.* alati su fsck.ext2, fsck.ext3 ili fsck.reiser. Tip možete odrediti eksplicitno koristeći opciju -t, ali fsck će se potruditi da to sam shvati. Pročitajte man stranicu za fsck ili fsck.* za više informacija. detaljne informacije. Glavna stvar koju trebate znati je da kada koristite argument -a, program će pokušati popraviti sve greške koje pronađe.

Nemontirani sistem datoteka možete provjeriti spominjanjem lokacije uređaja na kojem se nalazi. Na primjer, otkucajte fsck /dev/hda8 da biste provjerili ima li neiskorištene particije. Također možete provjeriti korijenski sistem datoteka tako što ćete otkucati fsck /home , ali to obično radite samo ako je sistem datoteka već montiran samo za čitanje umjesto za čitanje-pisanje.

Jedna od glavnih prednosti Linux sistema je fleksibilnost korisničke kontrole prilikom montiranja i demontaže sistema datoteka. Za razliku od Windowsa i nekih drugih operativnih sistema, Linux kernel ne postavlja automatski lokacije particija, već se pričvršćuju na korijensku hijerarhiju sistema datoteka pomoću naredbe mount. osim toga, razne vrste

sistemi datoteka (čak i na različitim uređajima) mogu se montirati unutar iste hijerarhije. Možete demontirati određenu particiju naredbom umount, dodijeliti bilo koju tačku montiranja (na primjer, /home) ili adresu uređaja (na primjer, /dev/hda7).

Kada se sistem datoteka obnavlja, mogućnost kontrole tačaka montiranja omogućava vam da analizirate stanje particija koristeći fsck ili druge alate bez rizika daljeg oštećenja već oštećenog sistema datoteka. Takođe možete normalno montirati sistem datoteka koristeći različite opcije; najvažniji montiraju sistem datoteka za upotrebu samo za čitanje koristeći jedan od sinonima -r ili -o ro.

Kao primjer, možda ćete htjeti zamijeniti lokaciju direktorija jednog korisnika drugom, bilo zato što je particija oštećena, ili jednostavno želite proširiti prostor na disku ili premjestiti na brži pogon. Ova promjena se može izvršiti korištenjem:
# umount /home # old /dev/hda7 home dir
# mount -t xfs /dev/sda1 /home # novi SCSI disk koristeći XFS

# mount -t ext3 /dev/sda2 /tmp # također stavi /tmp na SCSI


Za oporavak, nadogradnju sistema i posebne svrhe, korisno je imati mogućnost montiranja i demontaže sistema datoteka po želji. Ali za svakodnevni rad, smatraćete da je zgodno da se potreban određeni set nosača automatski izvede svaki put kada se sistem pokrene. Tačkama montiranja upravljate tako što upisujete potrebne konfiguracijske linije u /etc/fstab datoteku. Tipična konfiguracija može izgledati ovako:
Listing 4. Primjer konfiguracije u /etc/fstab

/dev/hda7 / ext3 defaults 1 1 nema /dev/pts devpts mode=0620 0 0 /dev/hda9 /home ext3 defaults 1 2 nema /mnt/cdrom supermount dev=/dev/hdc,fs=auto,ro,- -,iocharset=iso8859-1,codepage=850,umask=0 0 0 nema /mnt/floppy supermount dev=/dev/fd0,fs=auto,--,iocharset=iso8859-1,sync,codepage=850,umask =0 0 0 nema /proc proc defaults 0 0 /dev/hda8 swap defaults 0 0 Vjerovatno najprimarniji i najtipičniji zadatak- Ovo je da bi se osiguralo da se operativni sistem ispravno pokreće.

Da bi to uradio, neophodno je da administrator jasno razume principe pokretanja sistema i različite faze ovog procesa.

Mora se reći da se zadaci za otklanjanje raznih kvarova prilikom učitavanja sistema često nalaze u raznim ispitima za sertifikaciju u OS oblastima.

Prvi korak nakon uključivanja računara je izvršavanje posebnog startup koda, koji je predstavljen u obliku osnovnog ulazno/izlaznog sistema (BIOS). BIOS sistem Poznata je gotovo cijela konfiguracija gvožđa. Postoji informacija s kojeg uređaja treba pročitati prvih 512 bajtova (MBR).

Upravo u MBR (Master Boot Record) je pohranjen primarni program za pokretanje (faza 1), koji sadrži informacije o tome gdje se na disku nalazi sekundarni program za pokretanje (faza 2) koji učitava sam operativni sistem.

Takav utovarivač kod nas konkretan primjer je GRUB (Grand Unified Boot Loader). Postoji i srednja faza (tzv. faza 1.5), koja pomaže pokretaču OS-a da odredi posebne parametre sistema datoteka. Ova rutina se koristi ako GRUB pokretač nije instaliran direktno u MBR.

Nakon preuzimanja kontrole, GRUB prikazuje listu operativnih sistema (Linux/Windows i različite verzije Linux kerneli) ako su dostupni. U suprotnom, kontrola prelazi na GRUB komandnu liniju.

Pretpostavimo da sve ide kako treba i da smo odabrali operativni sistem (ili verziju kernela) koji nam je potreban. U ovom slučaju, GRUB prelazi na svoju omiljenu stvar - učitavanje samog operativnog sistema.

Sve informacije o napretku procesa pokretanja se prikazuju na ekranu (ako ne postoji parametar u opcijama pokretanja kernela tiho ), kao i na datoteku dnevnika /var/log/dmesg. Možete ga pogledati direktno ili pomoću uslužnog programa dmesg.

Na osnovu izlaznih servisnih informacija mogu se izvući zaključci o hardverskim i softverskim parametrima, kao što su verzije OS kernela, količina RAM-a, broj i karakteristike procesora, tvrdih diskova i odgovarajućih particija, mrežne kartice, swap fajl i još mnogo toga.

Analiza ovih informacija u slučaju nemogućnosti učitavanja OS-a može rasvijetliti problem koji se pojavio, pa se ovaj fajl smatra prilično važnim za rješavanje problema.

Kada se učita jezgro sistema, izvodi se osnovna konfiguracija potrebnih uređaja, LVM i RAID podsistema i initrd RAM diska, što omogućava učitavanje potrebnih drajvera.

Dalji koraci za učitavanje procesa uvelike se razlikuju ovisno o verziji OS-a. RHEL5 koristi tradicionalni proces učitavanja SysV usluge. RHEL6 već ima djelomičnu paralelizaciju učitavanja procesa, i po potrebi, a ne sve redom. U novim verzijama RHEL-a (od verzije kernela 3.0), proces je dodatno optimizovan korišćenjem systemd programa, baš kao i u Fedori od verzije 15. U ovom slučaju se koristi asinhroni način rada koji ubrzava učitavanje OS-a.

Prenoseći kontrolu na init proces, kernel prelazi u poseban način rada i prihvata pozive svih procesa kroz poseban univerzalni interfejs sistemskog poziva. U ovom trenutku, preuzimanje Linuxa se može smatrati završenim.

Također će vam se svidjeti:

Operativni sistem Linux Tok predavanja. Tutorial Ispravljanje greške CVE-2015-0235 u Linuxu

Linux: Kompletan vodič Kolisničenko Denis Nikolajevič

1.8. Prvo pokretanje Linuxa

1.8. Prvo lansiranje Linuxa

Ako ste odabrali grafički način za prijavu (ili ga je instalater sam izabrao ne pitajući vas ništa), tada ćete vidjeti grafički ekran s poljem za unos imena i lozinke. Prijavite se na sistem (po mogućnosti pod imenom koje ste postavili za običnog korisnika; koristite root samo ako već nemate redovne naloge) i videćete radnu površinu okruženja prozora koje ste postavili kao podrazumevano okruženje, što izgleda prilično sličan Windows desktopu.

Kako je to moguće, čuli ste da pravi korisnici Linuxa rade u okruženju komandne linije? Sada pronađimo komandnu liniju.

Znate da je konzola ili terminal (za personalni kompjuter Ovi pojmovi su sinonimi) nazivaju se ulazno-izlazni uređaji dizajnirani za komunikaciju između sistema i korisnika, odnosno tastature i monitora. U sistemima sličnim UNIX-u postoji koncept virtuelnih konzola - konzola koje se naizmjence fizički zauzimaju na istom monitoru i tastaturi. Svaki od njih može otvoriti zasebnu korisničku sesiju, pokrenuti vlastite aplikacije, općenito su gotovo neovisni računski sistemi jedan od drugog.

Većina Linux distribucija podrazumevano podržava šest tekstualnih virtuelnih konzola, od kojih je sedma grafička. Ovdje ste vi. Da biste se prebacili s nje na prvu tekstualnu konzolu, pritisnite kombinaciju tipki Ctrl+Alt+F1 (na šestoj - Ctrl+Alt+F6).

Kao odgovor na pozivnicu za program login: ukucajte root i pritisnite<Ввод>. Zatim unesite svoju lozinku i vaša sesija tekstualne konzole počinje.

Informacije o nazivu mreže uređaja, verziji OS-a i arhitekturi mogu se dobiti pomoću naredbe uname -a.

Ako račun Za prosječnog korisnika, još ga nemate, vrijeme je da ga nabavite. Unesite naredbu

#useradd< имя >

Ako vam je odgovoreno „naredi nije pronađeno", tada se ova komanda zove adduser na vašem sistemu.

#passwd< имя >

Sada se možete prijaviti pod novim imenom na drugoj virtuelnoj konzoli. Da biste se prebacili s tekstualne konzole na drugu tekstualnu konzolu, pritisnite kombinaciju Alt+Fn, gdje je n broj od 1 do 6. Ponovo ćete vidjeti upit login:.

Jeste li se registrovali? Obratite pažnju na liniju pozivnice. Na konzoli na kojoj ste se prijavili kao root, završava se simbolom #, a za svakog redovnog korisnika simbolom $. Osim ovog simbola, prompt se obično sastoji od korisničkog imena, imena sistema i trenutnog direktorija, a može se promijeniti kada znate kako to učiniti. U daljnjim primjerima, redovi koji počinju sa # ili će označavati naredbu koja se unosi, a linije bez takvog simbola će označavati njene poruke.

Sada se uvjerite da je Linux zaista multitasking i višekorisnički sistem, odnosno, za razliku od Windowsa, nekoliko korisnika može raditi istovremeno. Pitajte ko trenutno radi na sistemu unosom komande who.

Vidjet ćete nešto poput:

root tty1<дата и время начала сеанса root>

ivan tty2<дата и время начала сеанса ivan>

root:0<дата и время начала сеанса root>

<на графической консоли>

ttyN je broj virtualne tekstualne konzole.

Ako ste se izgubili i želite da znate na kojoj ste konzoli trenutno, pokrenite komandu tty. Ako ste zaboravili na koje ime ste se prijavili na trenutnoj konzoli, unesite komandu whoami. Komanda w će prikazati ne samo trenutno pokrenute korisnike, već i zadatke koje izvršavaju.

Možete se kretati kroz ekran koristeći kombinacije tipki Shift+PgUp i Shift+PgDn.

Za kopiranje teksta u komandnu liniju koristite miš: povlačenjem miša dok držite pritisnuto lijevo dugme odabirete fragment, kliknite desno dugme umeće ga na trenutnu poziciju kursora na bilo kojoj virtuelnoj tekstualnoj konzoli.

Ako želite raditi pod imenom drugog korisnika bez napuštanja ove konzole, unesite su<имя>. Podrazumevano, ime je root. Ovo je obično potrebno za brzo izvođenje neke administrativne radnje. Vratite se na posao pod svojim imenom koristeći komandu za izlaz.

Da biste se vratili na grafičku konzolu, pritisnite Alt+F7.

U grafičkom režimu takođe možete ne samo kliknuti na ikone, već i unositi komande. Da biste to učinili, pokrenite virtuelni terminal (slika 1.13) - grafička aplikacija, u čijem prozoru možete raditi u načinu komandne linije.

Rice. 1.13. Prozor virtuelnog terminala

Broj virtuelnih terminala, za razliku od broja virtuelnih konzola, nije ograničen ničim, čak ni tradicijom.

Da biste završili sesiju na virtuelnom terminalu ili virtuelnoj konzoli, unesite komandu exit (možete se odjaviti i na virtuelnoj konzoli) ili pritisnite kombinaciju tastera Ctrl+D.

Isključivanje jednog korisnika ne zaustavlja cijeli sistem. Da biste isključili mašinu, morate izdati komandu sa pravima superkorisnika

# isključenje -h 19:00 [Kraj radnog dana]

U tom slučaju, nekoliko minuta prije navedenog vremena, svima koji rade u sistemu biće poslata poruka upozorenja „Kraj radnog dana“, nakon čega će sistem biti ispravno zaustavljen. Kratak oblik ove naredbe je halt, koja zaustavlja sistem odmah i bez upozorenja. Možete ponovo pokrenuti pomoću naredbe za ponovno pokretanje.

Iz knjige Svijet komunikacije: ICQ autor Leontjev Vitalij Petrovič

Prvo pokretanje programa. ICQ interfejs Nakon instaliranja ICQ-a i ponovnog pokretanja računara, skromni cvet sa bledim laticama će se pojaviti u desnom uglu trake zadataka - ICQ Netdetect Agent.

ICQ ikona U trenutku kada se prijavite na Internet, latice cvijeća bi trebale postati svijetlo zelene autor Iz knjige Fedora 8 User Guide

Kolisničenko Denis Nikolajevič 1.1.3.1. Pokretanje Linux Installer-a Prvi korak je da podesite računar da se pokreće sa CD-a. Obično, kada pokrenete računar, vidite poruku na ekranu: Pritisnite DEL da uđete u SETUP ili Pritisnite F2 da uđete u SETUP SETUP program

potrebno je da konfigurišete računar da se pokreće sa CD/DVD-a (slika 1.2), ako autor Iz knjige Linux za korisnike

Kostromin Viktor Aleksejevič

Poglavlje 3. Prvo pokretanje Linux OS-a 3.1. Pokretanje Linux OS-a Dakle, instalacija Linuxa je završena i ponovo pokrećete računar. Ako je Linux jedini operativni sistem instaliran na vašem računaru (što znači da se LILO boot loader nalazi u glavnom zapisu za pokretanje - MBR), onda nakon Iz knjige 200 najbolji programi autor za Linux

Yaremchuk Sergej Akimovich

P5. Za Poglavlje 3 “Prvi put pokretanje Linux OS-a” 1. Na stranici Alekseja Makhotkina (http://alexm.here.ru/manpages-ru/index.html) možete pronaći prevode man stranica na ruski. 2. Guido Gonzato, “From DOS/Windows to Linux HOWTO”, preveo Alex Ott, v1.3.2, 22. februar 1999. (http://linux.webclub.ru/howtorus/doswinhow/dos-win-to-linux -kako .html). Ovo je veoma koristan materijal autor Dneprov Aleksandar G

Pokreni Windows igre za Linux Postoji nekoliko igara za Linux. Linux ima dosta neobičnih igara za ubijanje vremena prilikom instaliranja distribucije, korisnik će ih pronaći nekoliko desetina. Postoje i OpenSource projekti koji nude prilično ozbiljne igre u širokom spektru

Iz knjige Kreacija Joomla šabloni autor Autor nepoznat

Pokretanje Premiere Pro-a po prvi put Instaliranje Premiere Pro-a na vaš računar se vrši pomoću čarobnjaka korak po korak. Samo trebate slijediti upute na ekranu Premijerni program Pro i kreirajte novi projekat kako biste se dodatno upoznali sa interfejsom programa.1. Kliknite

Iz knjige Digitalni magazin "Computerra" br.71 autor Computerra Magazine

Prvo pokretanje Nakon što smo kreirali strukturu direktorija [PathKJoomla!]/templates/, naš predložak će se pojaviti u odgovarajućem dijelu administrativnog dijela Joomla! (Proširenja | Šablon). Sada se može koristiti kao zadani predložak. Rice. 2: Struktura direktorija i datoteke šablona

Iz knjige Computerra PDA N113 (28.05.2011-03.06.2011.) autor Computerra Magazine

Prvi pogled na Fedora Linux 15 Evgeny Krestnikov Objavljeno 30. maja 2011. Ovo izdanje je važno iz nekoliko razloga. Prvo, Fedora je popularna distribucija koju koriste mnogi ljudi širom svijeta. Osim toga, kreirala ga je zajednica.

Iz knjige Kako pronaći i preuzeti sve datoteke na Internetu autor Reitman M.A.

Prvi pogled na Fedora Linux 15 Autor: Evgeniy Krestnikov Objavljeno 30. maja 2011. Ovo izdanje je važno iz nekoliko razloga. Prvo, Fedora je popularna distribucija koju koriste mnogi ljudi širom svijeta. Osim toga, kreirala ga je zajednica nezavisnih programera

Iz knjige Vizuelni tutorijal za rad na netbook-u autor Senkevich G. E.

Prvo lansiranje Kao i većina modernih antivirusni programi AVG Anti-Virus Free nije jedan program, već paket koji se sastoji od nekoliko modula odgovornih za različite oblasti zaštite računara:? Anti-Virus - antivirusni skener, odgovoran je za skeniranje datoteka

Iz knjige Firebird DATABASE DEVELOPER'S GUIDE od Borri Helen

Prvo pokretanje Mail-a Windows Live Za pokretanje instaliranog mail program, kliknite na dugme Start i izaberite Windows Live Mail (1) iz menija koji se otvori. Ako ova ikona nije u meniju, kliknite na dugme Svi programi. Na listi programa kliknite na Windows stavka uživo-

Iz knjige Photoshop CS4 autor Žvalevski Andrej Valentinovič

Prvo Windows pokretanje Mediji Da biste pokrenuli Windows Media Player, kliknite na dugme na traci zadataka ili izaberite Svi programi|Windows Media Player iz menija Start. Kada prvi put pokrenete plejer, od vas će se tražiti da izvršite neka podešavanja. Postavite prekidač

Iz knjige Pitanja istorije: UNIX, Linux, BSD i dr autor Fedorčuk Aleksej Viktorovič

Pokretanje Firebirda na Linux/UNIX Superserveru Podrazumevani instalacioni direktorij je /opt/firebird. /bin direktorij sadrži Firebird fbserver server u binarnom formatu (ibserver za Firebird 1.0.x), koji radi kao demon proces na Linux/UNIX. Pokreće se automatski nakon instalacije preko RPM ili

Iz autorove knjige

Instaliranje Photoshop CS4 i njegovo prvo pokretanje Sistemski zahtevi za Photoshop CS4 su sledeći: procesor sa taktom od najmanje 1,8 GHz; operaciona sala Windows sistem XP sa servisnim paketom 2 (poželjno servisnim paketom 3) ili Windows Vista; najmanje 512 MB RAM-a (preporučuje se 1 GB); 16-bitni

Iz autorove knjige

Slackware: prvi korak ka Linuxu za sve Dakle, SLS distribucija je mrtva. Ali njegova duša je živjela. Čak iu periodu svog aktivnog razvoja, Patrick Volkerding je usvojio SLS kao osnovu svog Linux sistema, nazvanog Slackware, čija je prva verzija objavljena 17. jula 1993. godine i od tada se uspješno razvija.

Iz autorove knjige

IPLabs Linux tim: početak ruskog Linuxa Sljedeća prekretnica na putu ruskog Linuxa bila je 1998., kada je IPLabs (tačnije, njegov odjel - IPLabs Linux Team) zajedno sa Institutom za logiku (u stvari, to su bili isti ljudi - Aleksej Novodvorski, Aleksej Smirnov i Jurij Devjatkin sa

© 2024 ermake.ru -- O popravci računara - Informativni portal