Fine-tuning Startup pe serverul ubuntu

Blog-le. KungFux → Fine-Tuning Auto Backup în Ubuntu Server

Scopul acestui articol este de a introduce principiile pornirii sistemului de operare Ubuntu pe exemplul Ubuntu Server 10.04 LTS, precum și o demonstrație a setărilor de pornire mașină virtuală care se execută VirtualBox, și închiderea ultimei în modul automat atunci când opriți Ubuntu Server.







Atenție vă rog! Exemplul de mai jos nu poate fi aplicat pentru setarea automată a aplicațiilor grafice pentru un anumit utilizator de sistem în versiunile desktop ale Ubuntu. Pentru a face acest lucru, utilizați articolul "Lansarea aplicațiilor" din meniul principal Ubuntu.

Ce este autoload?
În primul rând, acesta este un început automat al serviciilor / aplicațiilor când sistemul de operare începe. Autoloading poate, de asemenea, să se asigure că aceste servicii / aplicații sunt închise corespunzător atunci când sistemul este oprit sau repornit.

Organizarea de pornire în Ubuntu Server.
Desigur, pentru a începe / opri serviciul în mod corespunzător, trebuie să descrieți scenariul cu comenzile de pornire / oprire. Uită-te la conținutul directorului /etc/init.d: ​​conține scripturi care controlează încărcarea / oprirea serviciilor de pe aparat. Deci, primul, dar nu ultimul punct de configurare de succes este prezența scriptului în /etc/init.d. Scriptul nu descrie când trebuie executat acest scenariu sau acel scenariu. Acesta poate lua doar parametrii de pornire, oprire, repornire, și așa mai departe. Unde știe Ubuntu când să sune scenariul? Răspunsul constă în directoarele /etc/rcN.d, unde N este o cifră de la 0 la 6. Aceste directoare conțin legături simbolice la scripturile din /etc/init.d. Luați în considerare ceea ce înseamnă fiecare director și totul va deveni imediat clar:
- rc0.d - executarea scriptului la închiderea sistemului;
- rc1.d - executarea script-ului atunci când sistemul este pornit în modul single-user;
- rc2.d - executarea scriptului când sistemul este pornit în modul multiutilizator;
- rc3.d - rc5.d - rezervat;
- rc6.d - executarea scriptului când sistemul este repornit.

De exemplu, în cazul în care are loc o repornire, toate script-urile din directorul /etc/rc6.d vor fi executate, când sunt dezactivate - din /etc/rc0.d și așa mai departe. Numărul din numele directorului se numește nivelul de pornire. Asta este, directorul /etc/rc0.d va fi numit nivelul de pornire zero și așa mai departe.
Există un alt punct important pe care trebuie să știți - aceasta este ordinea de script-uri de execuție directorul rcN.d. La urma urmei, pentru organizarea corectă a operației de pornire / oprire poate fi necesară pentru a porni Ubuntu servicii / oprire într-o anumită ordine. Acest punct se realizează prin fișiere speciale de denumire în directoare niveluri rula. Fișierele au următoarele nume: [S | K] NN [numele], în cazul în care [S | K] - acesta este un caracter ( «S» înseamnă că script-ul rulează serviciul, «K» - oprește), NN - numărul secvențial, [nume ] - numele fișierului. Simbolul «S» sau «K» nu trebuie să le aleagă, din moment ce toate script-urile din directoarele rc1.d-rc5.d trebuie să înceapă cu «S» simbol, și în cataloage și rc6.d rc0.d - cu «K» simbol . Numărul «NN» prioritizează script-ul de pornire, care este produs din mai mică la una mai mare. Inferior numărului în script-ul pentru a rula, mai devreme va fi lansat la pornirea sistemului; este mai mare numărul în script-ul, opriți serviciul, mai târziu va fi executat.







Dacă trebuie să porniți un serviciu sau o aplicație înainte sau după un anumit serviciu existent, trebuie doar să vă uitați la numărul său de serie din directorul corespunzător rcN.d și să luați în considerare când selectați numărul de serie al scriptului.

Ei bine, unde să stocăm scripturile și cum să le numim în mod clar, dar cum să le scriem?
Directorul /etc/init.d conține un exemplu de script pentru controlul pornire / oprire a serviciilor. Acesta este fișierul /etc/init.d/skeleton, iar în exemplul de mai jos va fi simplificat. Pentru a crea un script nou, trebuie să faceți o copie a exemplului și să îl editați pentru a se potrivi nevoilor dvs. Folosim următoarea comandă:


Când creați un nou script, nu uitați să îi dați dreptul de a executa. Pentru a adăuga drepturi la script, utilizați comanda sudo chmod + x /etc/init.d/myscript

Scenariul este gata. Ce urmează?
În unele surse, există recomandări pentru crearea manuală a legăturilor simbolice utilizând comanda ln, în ciuda existenței unor utilități speciale. Înainte de a adăuga un script, utilitarul îl verifică pentru valabilitate, iar comanda ln va crea un link chiar dacă există erori. Este mai bine să acordați prioritate unor utilități specializate, cum ar fi update-rc.d, care este livrat împreună cu Ubuntu. Cu aceasta, puteți adăuga un script nou la orice nivel de încărcare, ștergeți unul existent și așa mai departe. Iată un exemplu de utilizare:


Această comandă va adăuga un nou script "myscript" la toate nivelele de încărcare. Serviciul va începe la nivelele 2 până la 5 cu prioritatea 99 (ultima) și va opri serviciul la nivelele 0, 1 și 6 cu prioritate 01 (în primul rând).
Pentru a elimina un script de la pornire, utilizați comanda:


Să luăm în considerare un exemplu de instalare automată.
Sarcină: configurați mașina virtuală care rulează VirtualBox pentru a porni automat, care ar trebui să înceapă la două minute după lansarea sistemului de operare Ubuntu Server. Când serverul Ubuntu este oprit sau repornit, mașina virtuală trebuie să se închidă corect.
Să presupunem că VirtualBox este instalat pe Ubuntu Server și că există o mașină virtuală numită "Slave", sistemul de operare care suportă capacitatea de a închide corect când este apăsat butonul de închidere al computerului (suport ACPI).

Mai întâi, scrieți un script care va fi localizat în directorul /etc/init.d:


Modificând scriptul și lăsând doar minimul necesar, vom primi fișierul cu următorul conținut:


Adăugați scriptul la toate nivelele de lansare:

După repornire, puteți verifica dacă a fost executată comanda de pornire a mașinii virtuale. Să vedem raportul despre lansare:

Ultima linie conține textul scos din scriptul "slave".
Mai mult, scripturile scrise pentru init.d pot fi folosite din terminal în orice moment. De exemplu, pentru a rula o mașină virtuală, executați următoarea comandă:


După cum se poate observa din exemplul, sistemul de operare Ubuntu oferă caracteristici bogate pentru a controla functia pornire / oprire servicii / programe. Script-urile de pornire pot fi descrise în funcție pentru a porni / opri servicii de la alte servicii, cu ajutorul secțiunilor «Necesar-Start / Necesar-Stop», și script-ul în sine poate fi de orice complexitate, care vă permite să organizați chiar și cele mai autostart „subțire“.

nu sracha de dragul lui, chiar înainte de a exista un mod 3 console multi-user mode (rc3.d), și 5 multilayer grafic (rc5.d) - în Ubuntu și acest lucru a schimbat?







Articole similare

Trimiteți-le prietenilor: