Operare Linux, 101 nivele de performanță off și repornirea

Rula sistemul de operare

În acest articol vă va învăța cum să închideți sau reporniți mașina dvs. Linux pentru a avertiza utilizatorii de închidere iminentă a sistemului de operare și a comuta între diferite niveluri de performanță. Puteți folosi acest material pentru a se pregăti pentru programul de certificare LPI 101 examen pentru Linux nivel de administrator de sistem, sau doar pentru dezvoltarea generală.

Ian Shields. Software Engineer Senior, IBM

Despre această serie

Această serie de articole vă ajută să învețe Linux sarcini de administrare a sistemului. Puteți utiliza, de asemenea, materialul din aceste articole să se pregătească pentru examenele de la primul nivel de certificare Linux Professional Institute (LPIC-1).

sinopsis

În acest articol vă va învăța cum să închideți sau reporniți mașina dvs. Linux pentru a avertiza utilizatorii de închidere iminentă a sistemului de operare și a comuta între diferite niveluri de performanță. Vei învăța:

  • Pentru a seta nivelul de execuție default.
  • Comutarea între nivelurile de performanță.
  • Pentru a comuta la modul de utilizator unic.
  • Opriți sau reporniți computerul din linia de comandă.
  • Avertizează utilizatorii cu privire la evenimente majore de sistem, inclusiv trecerea la un alt nivel de performanță.
  • Ai închis procese.

Toate exemplele din acest articol (cu excepția specificate separat) au fost efectuate în Fedora 8 cu sistemul de operare nucleu versiunea 2.6.26. Exemple ale procesului efectuat în Fedora 13 upstart nucleul sistemului de operare versiunea 2.6.34 sau Ubuntu 10.10 nucleu sistem versiunea 2.6.35.

Cerințe preliminare

Pentru a face cea mai bună utilizare a articolelor noastre, trebuie să aveți cunoștințe de bază de Linux și un calculator Linux de lucru, pe care se pot practica comenzile. Uneori, diferite versiuni ale programului afișează rezultatele în moduri diferite, astfel încât conținutul listări și cifrele pot diferi de ceea ce vedeți pe computer. În special, noile servicii și sarcinile subsistemului rula Upstart are multe diferențe față de procesul tradițional al System V init, care poate fi familiară multor utilizatori (pentru detalii se referă la Init și Upstart). Acest articol discută despre procesul de a începe o tradiționale de servicii de inițializare a sistemului V, și modul în care aceasta este diferită de sistemul ciocoi vor fi discutate pe scurt la sfârșitul anului.

runlevels

Conectează-te cu Ian

Runlevels definesc ce sarcini pot fi efectuate în starea actuală (sau nivelul actual de performanță), sistem de operare Linux. Fiecare sistem de operare Linux suportă trei niveluri de bază de performanță și unul sau mai multe niveluri de performanță. nivelurile de performanță de bază enumerate în tabelul 1.

Tabelul 1. Niveluri de implementare Linux

Modul multiplayer cu rețea și grafice shell X Window.

În distribuția Slackware pentru un sistem complet începe de mediu X Window, nivelul 5 este utilizat în loc de nivelul 4. În distribuția Debian (precum și distribuții pe baza sa, de exemplu, în Ubuntu) pentru modul multiplayer folosește un nivel de performanță, de obicei 2. Proprietăți de distribuție dumneavoastră vă pot găsi întotdeauna în documentație.

Nivelul de execuție default

Când bootezi Linux implicit de nivel rula este determinată de valoarea parametrului id: în fișierul / etc / inittab. Listarea 1 arată valoarea normală pentru acest parametru în sisteme, cum ar fi Fedora 8 sau openSUSE 11.2, care rulează nivelul 5 este folosit pentru a rula carcasa X Window.

Listarea 1. nivelul de execuție default specificat în / etc / inittab

Dacă doriți să implicit sistemul pornește cu un alt nivel de performanță (de exemplu, nivelul 3), apoi modificați valoarea.

schimbarea runlevels

Există mai multe modalități de a efectua modificări la nivel. Pentru a efectua o schimbare permanentă, puteți edita fișierul / etc / inittab, prin setarea este nivelul de execuție default așa cum a fost în secțiunea anterioară.

Dacă doriți să porniți sistemul cu un anumit nivel de performanță o dată, de asemenea, puteți face acest lucru. De exemplu, să presupunem că ați instalat un nou nucleu, și doriți să adăugați mai multe module după cizme de sistem cu noul kernel, dar înainte de X Window System. Pentru a face acest lucru, puteți porni sistemul cu nivelul de punere în aplicare a 3. Acest lucru se face la boot sau prin editarea liniei de kernel (folosind încărcătorul de boot GRUB) sau prin adăugarea unui parametru după numele sistemului selectat (folosind LILO). Pentru a specifica nivelul de performanță necesar se utilizează o cifră (în acest caz, 3). Dăm un exemplu de sistem în care este utilizat boot loader grub. Să presupunem că în fișierul /boot/grub/menu.lst conține liniile prezentate în Listarea 2.

Listarea 2. Liniile tipice grub de meniu de boot pe un sistem de Fedora 8

Pentru a pune sistemul în nivelul de execuție 3, așteptați pentru meniul de boot de afișare, selectați elementul dorit și apăsați „e“ pentru ao edita. În funcție de configurația GRUB poate fi necesar să apăsați o tastă pentru a afișa meniul de pornire și de tip „p“ și introduceți o parolă pentru a edita acces. meniul de boot GRUB în sistemul nostru Fedora 8 arată așa cum se arată în figura 1.

Figura 1. Selectarea unei opțiuni de pornire din meniul GRUB

Operare Linux, 101 nivele de performanță off și repornirea

În acest exemplu, ar trebui să vedeți linia de rădăcină, kernel-ul și initrd. Mutați cursorul la linia care pornește de la „nucleul“ și apăsați pe „e“ pentru ao edita. meniul GRUB în sistemul nostru Fedora 8 ar trebui să ia o vedere în conformitate cu figura 2.

Figura 2. Selectarea înregistrare nucleu pentru a schimba parametrii

Operare Linux, 101 nivele de performanță off și repornirea

Acum, muta cursorul la sfârșitul șirului și a adăuga un spațiu și numărul „3“. puteți elimina opțiunea „liniștită“ sau modificați alte setări după cum doriți. meniul GRUB în sistemul nostru Fedora 8 ar trebui să ia forma, în conformitate cu figura 3.

Figura 3. Stabilirea nivelului de execuție (nivelul 3) în timpul încărcării

Operare Linux, 101 nivele de performanță off și repornirea

În cele din urmă, apăsați Enter pentru a salva modificările și „b“ pentru a porni sistemul de operare.

Notă. Dacă în schimb utilizați GRUB sau LILO grub2, că, deși procedura este puțin diferită, principiile de bază (parametrii de editare a kernel-ului de boot) va fi la fel. Se arată în ecranele noastre figuri GRUB se pot uita, de asemenea, un pic diferit în alte distribuții sau pe alte computere. Ca o regulă, sunteți întotdeauna indicii disponibile în formă de invitații.

După ce ați terminat lucrul la configurarea kernel-ului nivelul de execuție 3, veți dori, probabil, pentru a trece la nivelul 5. Din fericire, nu este nevoie pentru a reporni computerul. Pentru a trece la un alt nivel, puteți utiliza comanda telinit. Pentru a verifica nivelurile anterioare și actuale de performanță, utilizați comanda de execuție. În cazul în care primul caracter al ieșirii din această comandă este „N“, aceasta înseamnă că, de la nivelul de execuție de pornire nu a fost schimbat. Listarea 3 prezintă exemple de verificare și modificarea nivelului de execuție.

Listarea 3. Verificarea și modificarea nivelului alerga

După intrarea în telinit comandă 5 veți vedea mai multe mesaje în schimbare rapidă, iar apoi va fi un ecran de conectare grafic. Deschideți o fereastră de terminal și asigurați-vă că nivelul de execuție a fost schimbat, așa cum se arată în Listarea 4.

Listarea 4. Verificați noul nivel de cursă

Dacă utilizați comanda ls, afișați detaliile comenzii telinit. veți vedea că, de fapt, acesta este un link simbolic la comanda de inițializare. așa cum se arată în exemplul 5.

Listarea 5. De fapt, telinit este un link simbolic la inițializare

Programul de inițializare știe cum a fost numit (ca init sau telinit), și se comportă în consecință. Deoarece la pornire comandă timp de inițializare are un PID de 1, în cazul în care mai târziu se referă la ea prin apelarea init. mai degrabă decât telinit. acesta va fi, de asemenea conștienți de acest lucru. În acest caz, se va presupune că doriți să se comporte ca și cum ai face un program de apel telinit. De exemplu, pentru a comuta la nivelul de execuție 5 în loc de telinit comandă 5 puteți utiliza comanda init 5.

Mod de un singur utilizator

Spre deosebire de astfel de sisteme de operare pentru PC ca DOS sau Windows, Linux este în mod inerent un sistem multiutilizator. Cu toate acestea, în unele situații, acest lucru poate fi o problemă, de exemplu, atunci când aveți nevoie pentru a restaura fișierul master sau baza de date, sau a instala și testa echipamente noi. Soluția la această problemă este utilizarea runlevel 1, sau modul de un singur utilizator. Punerea în aplicare efectivă a lucrărilor în acest mod depinde de distribuția, dar de obicei are loc de pornire coajă cu funcționalitate minimă. Ca o regulă, cu nici o rețea de sprijin și daemon care rulează (sau foarte puține). În unele sisteme, pentru a intra în modul de un singur utilizator trebuie sa fiti autentificat, iar în altele nu este necesară, și odată ce începe să lucreze în coajă cu privilegii de root (root). Mod de un singur utilizator poate fi salvatorul tău, dar poate distruge, de asemenea, sistemul, astfel încât să fie întotdeauna foarte atenți atunci când se lucrează cu privilegii de root. La finalizarea lucrărilor în modul de utilizare unică, reporniți pur și simplu la modul normal de multi-utilizator.

La fel cum este cazul cu niveluri convenționale de performanță multi-utilizator, puteți comuta la modul singur utilizator prin tastarea telinit comandă 1. Așa cum sa menționat în tabelul 1 corespunde nivelului de performanță al 1 alias „s“ și „S“, astfel încât în ​​loc de comanda de mai sus, puteți utilizate, de exemplu, echipa telinit s.

oprirea

Deși pentru a opri activitatea utilizatorilor și trecerea la modul de un singur utilizator, puteți utiliza telinit sau comanda de inițializare. o astfel de închidere neașteptată poate duce la pierderea de date de utilizator și servicii de avarie rulare și de procesele. O metodă mai preferată pentru sistemul de oprire sau repornire comandă de oprire. care mai întâi trimite un avertisment pentru toți utilizatorii sistemului de operare și Conectări blocuri suplimentare, și apoi trimite semnalul de inițializare pentru a comuta nivele de execuție. Procesul de inițializare. la rândul său, trimite toate procesele care rulează un semnal SIGTERM, permițându-le să salveze datele lor și să închidă în mod corespunzător. La finalizarea 5 secunde (sau alt interval de timp specificat) inițializare trimite semnal SIGKILL pentru a forța finalizarea tuturor proceselor rămase.

În mod implicit, comanda de oprire comută sistemul pentru a rula nivelul 1 (modul singur utilizator). Puteți specifica opțiunea -h pentru a opri sistemul sau -r opțiune - pentru ao reporni. În plus față de ieșirea standard a posta un mesaj. Puteți specifica un timp absolut în formatul hh: mm. precum și timpul relativ în n format. unde n - este numărul de minute înainte de închidere. Pentru o oprire imediată, utilizați opțiunea acum. care este echivalentă cu opțiunea 0.

Dacă atribuiți o oprire amânată, iar timpul nu a venit încă, puteți anula prin apăsarea Ctrl-C. în cazul în care comanda este executată în prim-plan, sau re-rularea comenzii de închidere cu opțiunea -c pentru a anula toate acțiunile în așteptare. Listarea 6 prezintă câteva exemple de utilizare a comenzii de închidere și anularea acesteia.

Listarea 6. Exemple de închidere a sistemului

Este posibil să fi observat că în ultimul exemplu este trimis un mesaj de avertizare. Acest lucru se datorează faptului că mesajul este trimis numai atunci când la eveniment va fi nu mai mult de 15 minute, așa cum se arată în exemplul 7. De asemenea, în exemplul 7 demonstrează utilizarea opțiunea -t pentru a crește întârziere implicită între semnalele SIGTERM și SIGKILL (5-60 secunde).

Listarea 7. Un alt exemplu de închidere

Dacă anulați oprirea, ar trebui să utilizați comanda de perete pentru a trimite mesaje către toți utilizatorii, avertizându-i că funcționarea sistemului este finalizată.

Așa cum am menționat anterior, este posibil să se utilizeze comanda telinit (sau de inițializare) pentru oprirea sau repornirea sistemului. Atunci când utilizatorii folosesc telinit nu primesc nici avertismente, iar comanda intră în vigoare imediat, chiar dacă întârzierea dintre semnalele SIGTERM și SIGKILL este menținută. Dacă doriți să aflați despre opțiuni suplimentare telinit. init, și de închidere. vă rugăm să consultați respectivele om-pagini.

Oprire, repornire și oprire

Ar trebui să știi despre alte echipe, concepute pentru oprirea și repornirea sistemului.

Dacă oricare dintre aceste comenzi se numește într-un moment în care sistemul funcționează la un nivel diferit de 0 sau 6, apoi solicită în schimb comanda shutdown corespunzătoare.

Dacă doriți mai multe informații despre opțiunile acestor comenzi și modul în care acestea funcționează, se referă la respectivele om-pagini.

Fișierul / etc / inittab

Ați putea fi întrebați de ce apăsarea Ctrl-Alt-Delete pe unele sisteme de operare duce la repornirea sistemului, și modul în care aceste niveluri sunt aranjate performanță. Vă amintiți câmpul ID din fișierul / etc / inittab? Deci, în fișierul / etc / inittab are câteva domenii, iar sistemul de fișiere oferă un set de script-uri de inițializare localizate în directorul, cum ar fi rc1.d sau rc5.d; Numărul indică nivelul de performanță care se execută script-ul din directorul corespunzător. Listarea 8 prezintă conținutul integral fișierul inittab în sistemul nostru de operare Fedora 8.

Listarea 8. inittab conținutul integral al fișierului în sistemul de operare Fedora 8

id identificator identificator unic format din 1-4 caractere. În versiunile anterioare ale ID-ul nu a fost mai mult de două caractere, de aceea este adesea folosit doar două simboluri. runlevels Lista nivelurilor de performanță în cazul în care acțiunea specificată pentru identificatorul. În cazul în care sunt specificate niveluri de performanță, atunci acțiunea se realizează pe toate nivelurile. Un efect al posibilelor acțiuni care trebuie luate. proces de proces (poate fi specificat), care trebuie să înceapă atunci când acțiunea specificată în rândul.

Unele acțiuni care pot fi specificate în fișierul / etc / inittab, sunt prezentate în tabelul 3. Pe celelalte posibilități inittab poți învăța de la om-pagini.

Tabelul 3. Unele acțiuni comune inittab