Xubuntu cum să adăugați un program la pornire. Cum să porniți automat aplicațiile și serviciile în Ubuntu.

Scopul acestui articol este de a introduce principiile încărcării automate în sistemul de operare Ubuntu folosind exemplul Ubuntu Server 10.04 LTS, precum și o demonstrație a setărilor de încărcare automată mașină virtuală, care rulează sub VirtualBox și închiderea grațioasă a acestuia din urmă în mod automat când închideți Ubuntu Server.

Atenţie! Exemplul descris mai jos poate să nu fie aplicabil la configurarea încărcării automate a aplicațiilor grafice pentru un anumit utilizator de sistem de pe desktop versiuni de Ubuntu. Pentru a face acest lucru, utilizați elementul Aplicații de pornire din meniul principal Ubuntu.

Unele șabloane includ mai multe exemple pentru a arăta utilizarea lor. Structura tabelului este creată la introducerea datelor. Când o nouă coloană este adăugată la un tabel, este definit un nou câmp. Dacă nu doriți să introduceți date în Tabelul 1 în acest moment, faceți clic pe Închidere. Faceți clic pe Da pentru a salva modificările, faceți clic pe Nu le respinge sau faceți clic pe Anulare pentru a deschide foaia de calcul. Fiecare conținut pe care îl conține este moștenit din toate noile baze de date goale.

Acest mod bun distribuirea conținutului implicit, cum ar fi numerele de declinare a răspunderii pentru articole sau companii și reguli. Crearea unui tabel în vizualizarea design În vizualizarea design, mai întâi trebuie să creați o structură de tabel. Apoi comutați la vizualizarea filă pentru a introduce date sau introduceți date folosind o altă metodă, cum ar fi inserarea sau importul.


În primul rând, asta pornire automată servicii/aplicații la începutul sistemului de operare. Încărcarea automată poate asigura, de asemenea, că aceste servicii/aplicații se încheie cu grație atunci când sistemul este oprit sau repornit.

Organizarea pornirii în Ubuntu Server.
Desigur, pentru a porni/opri corect serviciul, este necesar să descrii un script cu comenzi de pornire/oprire. Aruncă o privire la conținutul directorului /etc/init.d: ​​acesta conține scripturi care controlează încărcarea/oprirea serviciilor pe mașina ta. Deci, primul, dar nu ultimul punct configurare reușită este prezența unui script în /etc/init.d. Scriptul nu descrie când trebuie executat un anumit script. Poate accepta doar parametrii de pornire, oprire, repornire și așa mai departe. Cum știe Ubuntu când să apeleze un script? Răspunsul se află în directoarele /etc/rcN.d, unde N este un număr între 0 și 6. Aceste directoare stochează link-uri simbolice către scripturile din /etc/init.d. Luați în considerare ce înseamnă fiecare director și totul va deveni imediat clar:
- rc0.d – executarea scriptului la oprirea sistemului;
- rc1.d – executarea scriptului la pornirea sistemului în modul single-user;
- rc2.d - executarea scriptului la pornirea sistemului în modul multi-utilizator;
- rc3.d - rc5.d - rezervat;
- rc6.d - executarea scriptului la repornirea sistemului.

Atribuirea proprietăților câmpului unui obiect de design Indiferent de modul în care creați tabelul, este o idee bună să revizuiți și să setați proprietățile câmpului. În timp ce unele proprietăți sunt disponibile în vizualizarea foaie de date, altele pot fi setate doar în vizualizarea design. Pentru a comuta la vizualizarea Design, faceți clic Click dreapta mouse-ul peste tabel din panoul de navigare și selectați Proprietăți câmp de proiectare.

Poți obține mai mult informatii detaliate făcând clic pe butonul Ajutor. Dacă datele se află într-un program de procesare de text, este mai bine să copiați datele, să separați coloane de date folosind un delimitator sau să convertiți datele într-un tabel într-un program de procesare a cuvintelor. Access oferă nume de câmpuri pe baza a ceea ce găsește în prima linie a datelor introduse.

De exemplu, dacă are loc o repornire, atunci toate scripturile din directorul /etc/rc6.d vor fi executate, la închidere - din /etc/rc0.d și așa mai departe. Numărul din numele directorului se numește runlevel. Adică, directorul /etc/rc0.d va fi numit runlevel zero și așa mai departe.
Există un alt punct important pe care trebuie să-l cunoașteți - aceasta este ordinea de execuție a scripturilor din directoarele rcN.d. La urma urmei, pentru organizare adecvată Pornirea/oprirea Ubuntu poate solicita să porniți/opriți serviciile într-o anumită ordine. Acest moment este rezolvat prin denumirea specială a fișierelor din directoarele de la nivel de execuție. Fișierele au următoarele nume: NN[nume], unde este un singur caracter ("S" înseamnă că scriptul pornește serviciul, "K" - se oprește), NN este un număr de secvență, [nume] este numele fișierului. Nu trebuie să alegeți singur caracterul „S” sau „K”, deoarece toate scripturile din directoarele rc1.d-rc5.d trebuie să înceapă cu caracterul „S”, iar în directoarele rc0.d și rc6. d - cu caracterul „K” . Numărul „NN” determină ordinea în care sunt executate scripturile, care este efectuată de la cel mai mic la cel mai mare. Cu cât numărul scriptului de rulat este mai mic, cu atât acesta va fi lansat mai devreme la pornirea sistemului; cu cât numărul scriptului de oprire a serviciului este mai mare, cu atât acesta va fi executat mai târziu.

În Vizualizare tabel, faceți dublu clic pe un titlu de coloană și introduceți un nume de câmp descriptiv pentru fiecare coloană. Notă: Modul de dezvoltare. Procesul pe care îl puteți utiliza este ușor diferit în funcție de sursa dvs., dar procedura de mai jos vă va ajuta să începeți.


Tabele Tabele pe ecranul de navigare.

Creați o bază de date folosind un șablon

Puteți utiliza aplicația pentru a adăuga funcționalități unei baze de date existente. O parte a aplicației poate fi un singur tabel sau poate conține mai multe obiecte asociate, cum ar fi un tabel și un formular asociat. Îl puteți adăuga la orice bază de date și îl puteți utiliza ca atare sau cu puține modificări. Faceți dublu clic pe o bază de date pentru a o deschide în modul implicit setat în caseta de dialog „Opțiuni de acces” sau în modul „Reguli administrative”. Faceți clic pe „Deschidere” pentru a deschide baza de date acces publicîntr-un mediu multi-utilizator, astfel încât dumneavoastră și alți utilizatori să puteți citi și scrie în baza de date. Deschideți și apoi faceți clic pe „Open Read Only” pentru a deschide baza de date ca doar în citire, astfel încât să o puteți vizualiza fără a o edita. Alți utilizatori vor avea acces de citire și scriere la baza de date. Faceți clic pe săgeata de lângă butonul „Deschidere” și selectați „Deschidere în modul exclusiv pentru a deschide baza de date cu „Acces exclusiv”. Când o bază de date este deschisă cu acces exclusiv, oricine încearcă să o deschidă primește un mesaj „Fișierul este deja în uz”. Alți utilizatori vor avea acces numai în citire la baza de date. Pentru a deschide una dintre bazele de date deschise recent, în fila Fișier, faceți clic pe Recent, apoi faceți clic pe numele fișierului pentru acea bază de date. Dacă nu vedeți o listă de fișiere utilizate recent, în fila Fișier, selectați Opțiuni. În secțiunea Ecran, introduceți numărul de documente pe care doriți să le afișați în lista recentă documente deschise, max. În partea de jos a filei Recente, bifați caseta de lângă Acces rapid la următoarea ultima bază de date" și apoi ajustați numărul de baze de date de afișat. Dacă deschideți o bază de date făcând clic pe comanda „Deschidere” din fila „Fișier”, puteți vizualiza o listă de comenzi rapide către bazele de date pe care le-ați deschis anterior făcând clic pe „Documentele mele recente” în caseta de dialog „Deschidere”.

  • Deschideți baza de date la care doriți să adăugați aplicația.
  • Faceți clic pe fila „Creați”.
  • În grupul Templates, selectați Application Parts.
  • Se va deschide o listă de piese disponibile.
  • Faceți clic pe aplicația pe care doriți să o utilizați.
  • În fila Fișier, faceți clic pe Deschidere.
  • În caseta de dialog Deschidere, găsiți baza de date pe care doriți să o deschideți.
  • Efectuați una dintre următoarele acțiuni.
  • În caseta de dialog Opțiuni de acces, selectați Opțiuni client.
Un șablon este o bază de date gata de utilizat, care conține toate tabelele, interogările, formularele și rapoartele de care aveți nevoie pentru a finaliza o anumită sarcină.

Dacă trebuie să porniți orice serviciu sau aplicație înainte sau după un anumit serviciul existent trebuie doar să căutați numărul de serie în directorul rcN.d corespunzător și să luați în considerare acesta atunci când alegeți un număr de serie pentru scriptul dvs.

Ei bine, unde să stocați scripturile și cum să le apelați clar, dar cum să le scrieți?
Directorul /etc/init.d conține un exemplu de script pentru controlul pornirii/opririi serviciilor. Acesta este fișierul /etc/init.d/skeleton, iar în exemplul de mai jos va fi simplificat. Pentru a crea un nou script, trebuie să faceți o copie a exemplului și să o editați pentru a se potrivi nevoilor dvs. Să folosim următoarea comandă:
sudo cp /etc/init.d/skeleton /etc/init.d/myscript && vi /etc/init.d/myscript

De exemplu, există șabloane pe care le puteți utiliza pentru a urmări probleme, a gestiona contacte sau pentru a economisi costuri. Unele șabloane includ câteva exemple de intrări care demonstrează utilizarea lor. Puteți utiliza baze de date șabloane în forma lor originală sau le puteți personaliza în funcție de nevoile dvs. Dacă oricare dintre aceste șabloane satisface nevoile dvs., utilizarea lor este de obicei cea mai mare drumul rapid obținerea unei baze de date funcționale.

Crearea unei baze de date fără a utiliza un șablon

Șabloanele au o structură de date care este deja definită și poate fi nevoie de multă muncă pentru a vă adapta datele la aceasta. În cele mai multe cazuri, un șablon este conceput pentru a deschide un formular de introducere a datelor, astfel încât să puteți începe să introduceți datele imediat. Dacă nu sunteți interesat să utilizați un șablon, puteți crea o bază de date creând propriile tabele, formulare, rapoarte și alte obiecte de bază de date. În cele mai multe cazuri, aceasta include una dintre două sau ambele dintre următoarele.

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

Scenariul este gata. Ce urmeaza?
În unele surse, există recomandări pentru crearea manuală a legăturilor simbolice folosind comanda ln, în ciuda existenței unor utilități speciale. Înainte de a adăuga un script, utilitarul verifică valabilitatea acestuia, iar comanda ln va crea o legătură chiar dacă există erori. Este mai bine să acordați preferință utilităților specializate, cum ar fi update-rc.d, care vine cu Ubuntu. Cu ajutorul acestuia, puteți adăuga un nou script la orice nivel de încărcare, puteți șterge unul existent și așa mai departe. Iată un exemplu de utilizare:
sudo update-rc.d myscript start 99 2 3 4 5 . oprire 01 0 1 6 .

Creați o bază de date goală

Tastați, lipiți sau importați date în tabelul creat când ați creat noua bază de date și repetați procesul cu tabele noi create folosind comanda Table din fila Nou. Importați date din alte surse și creați tabele noi. . Dacă nu doriți să introduceți informații chiar acum în Tabelul 1, faceți clic pe Închidere. Faceți clic pe „Da” pentru a salva modificările în „Nu” pentru a le renunța sau „Înapoi” pentru a lăsa foaia de calcul deschisă. Puteți adăuga un tabel nou la o bază de date existentă folosind comenzile din tabelul Tabele din fila Creare.

Această comandă va adăuga un nou script „myscript” la toate nivelurile de încărcare. Serviciul va începe de la nivelurile 2 până la 5 cu prioritate 99 (ultimul) și va opri serviciul la nivelurile 0, 1 și 6 cu prioritate 01 (foarte primul).
Pentru a elimina un script de la pornire, utilizați comanda:
sudo update-rc.d -f myscript remove

Luați în considerare un exemplu de setări de încărcare automată.
O sarcină: configurați pornirea automată a unei mașini virtuale care rulează VirtualBox, care ar trebui să înceapă la două minute după pornirea sistemului de operare Ubuntu Server. Când închideți sau reporniți Ubuntu Server, mașina virtuală ar trebui să se închidă cu grație.
Să presupunem că Ubuntu Server are VirtualBox instalat și că există o mașină virtuală numită „Slave” sistem de operare care acceptă capacitatea de a închide grațios atunci când butonul de oprire al computerului este apăsat (suport ACPI).

Creați un tabel în modul design. În modul proiectare, trebuie mai întâi să creați o nouă structură de tabel. Apoi comutați la vizualizarea file pentru a introduce datele sau introduceți datele folosind o altă metodă, cum ar fi inserarea sau importul. Cu un singur clic, puteți crea o structură de tabel gata făcută cu câmpuri deja configurate și gata de utilizare.

Puteți adăuga sau elimina câmpuri după cum este necesar pentru ca tabelul să se potrivească nevoilor dvs. Atribuirea proprietăților câmpului în modul de proiectare Indiferent de modul în care creați tabelul, este o idee bună să revizuiți și să setați proprietățile câmpului. Acest lucru se poate face numai în modul de dezvoltare. Pentru a comuta la modul Design, faceți clic dreapta pe tabel din panoul de navigare și selectați Modul Design. Pentru a vedea proprietățile unui câmp, faceți clic pe un câmp din rețeaua de proiectare. Proprietățile sunt afișate în secțiunea Design Network din secțiunea Field Properties.

Mai întâi, să scriem un script care va fi localizat în directorul /etc/init.d:
sudo cp /etc/init.d/skeleton /etc/init.d/slave && sudo vi /etc/init.d/slave

Editând scriptul și lăsând doar minimul necesar, obținem un fișier cu următorul conținut:
#!/bin/sh ### BEGIN INIT INFO # Furnizează: slave # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: abilitate pentru pornirea și salvarea stării de execuție a mașinilor virtuale VBox # Descriere: Acest script este utilizat pentru pornirea și salvarea stării de execuție a mașinilor virtuale VBox utilizând System-V pe Ubuntu Server. Acest fișier ar trebui să fie plasat în /etc/init.d ### END INIT INFO # Autor: Fuks Alexander . /lib/lsb/init-functions # Efectuați pornirea mașinii virtuale a lui Slave cu întârziere de 2 minute perform_start() ( log_daemon_msg „Pornirea mașinii Vbox Slave” sleep 120 && su -l -c „VboxHeadless --startvm Slave &” kungfux log_end_msg 0 return 0 ) # Trimite semnal POWEROFF ACPI pentru mașina virtuală a slavei perform_save() ( log_daemon_msg „Trimitere semnal ACPI POWER OFF pentru mașina slave Vbox” su -l -c „VboxManage controlvm Slave acpipowerbutton” kungfux log_end_msg 0 return 0 ) case „ $1 ” în start) perform_start ;; stop) perform_save ;; *) echo „Utilizare: /etc/init.d/slave (start|stop)” exit 3 ;; esac:

Copierea datelor dintr-o altă sursă într-un tabel de acces

Pentru a vizualiza o descriere a fiecărei proprietăți câmp, faceți clic pe proprietate și citiți descrierea în câmpul de lângă lista de proprietăți din câmpul Proprietăți câmp. Următorul tabel descrie unele dintre proprietățile câmpului care sunt adesea corectate. Utilizați următoarea procedură. De asemenea, puteți redenumi câmpurile accesând Vizualizare proiect și editând acolo numele câmpurilor. Pentru a comuta la vizualizarea Design, faceți clic dreapta pe tabel din panoul de navigare și selectați Modul Design.

Să adăugăm scriptul la toate nivelurile de execuție:

[email protected]:~$ sudo update-rc.d slave start 99 2 3 4 5 . oprire 01 0 1 6 . Se adaugă pornirea sistemului pentru /etc/init.d/slave ... /etc/rc0.d/K01slave -> ../init.d/slave /etc/rc1.d/K01slave -> ../init.d/ slave /etc/rc6.d/K01slave -> ../init.d/slave /etc/rc2.d/S99slave -> ../init.d/slave /etc/rc3.d/S99slave -> ../ init.d/slave /etc/rc4.d/S99slave -> ../init.d/slave /etc/rc5.d/S99slave -> ../init.d/slave

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

Importați, adăugați sau conectați-vă la date din altă sursă

Pentru a reveni la vizualizarea file, faceți dublu clic pe tabel din panoul de navigare. Procesul pe care îl puteți utiliza variază ușor în funcție de sursa dvs., dar procedura de mai jos vă va ajuta să începeți.


Dacă alegeți să adăugați date la un tabel existent, datele vor fi adăugate la acel tabel. Dacă nu găsiți baza de date pe care doriți să o deschideți.

Creați un șablon de utilizator gol

În caseta de dialog Deschidere, selectați My Computer sau My Computer din lista derulantă Search List. În lista de unități, faceți clic dreapta pe dispozitivul care credeți că ar putea conține baza de date, apoi faceți clic pe Căutare. Introduceți criteriile de căutare în caseta de dialog Rezultatele căutării și faceți clic pe Căutare pentru a căuta în baza de date. Apoi închideți caseta de dialog Rezultatele căutării.

  • Dacă baza de date este găsită, faceți dublu clic pe ea pentru a o deschide.
  • Pentru a deschide baza de date, faceți clic pe Reîmprospătare în caseta de dialog Deschidere.
Dacă doriți să aveți alte obiecte în orice bază de date nouă pe care o creați, cum ar fi formulare, rapoarte, macrocomenzi sau tabele suplimentare, vă puteți crea propriile șablon gol A care conține aceste obiecte.

[email protected]:~$ cat /var/log/boot.log fsck de la util-linux-ng 2.17.2 /dev/sda1: curat, 92526/4751360 fișiere, 2565789/18975488 blocuri * Pornirea Jenkins Continuous Integration Server jenkins * Pornirea No-IP Actualizare dinamică a adresei .com noip2 * Nu pornește superserverul de internet: nu sunt servicii activate * Pornește Postfix Mail Transport Agent postfix * Pornește demonul bittorrent transmission-daemon * Pornește modulele kernelului VirtualBox * Pornește serverul NTP ntpd * Pornește serverul ftp proftpd * Pornește serverul web apache2 * Pornirea mașinii Vbox Slave

ÎN ultima linie există text care a fost scos de scriptul „slave”.
Mai mult, scripturile scrise pentru init.d pot fi folosite oricând de pe terminal. De exemplu, pentru a porni o mașină virtuală, rulați comanda:
[email protected]:~$ /etc/init.d/slave start

Apoi, data viitoare când creați o nouă bază de date, aceasta va conține deja aceste obiecte în șablonul dvs. Pe lângă aceste obiecte, șablonul poate conține tabele pre-populate, precum și opțiuni speciale de configurare, proprietăți ale bazei de date, legături sau cod pe care doriți să fie prezent în orice bază de date nouă. De exemplu, să colectăm macrocomenzi pe care doriți să le utilizați în toate proiectele dvs.

Cum se schimbă formatul implicit de fișier? Pentru a crea un șablon gol, efectuați una dintre următoarele: Creați o nouă bază de date și apoi importați sau creați obiectele pe care doriți să le includeți în șablon. Faceți o copie a unei baze de date existente care conține deja obiectele doriteîn șablon și apoi eliminați obiectele nedorite. După ce ați inclus obiectele dorite în șablon, trebuie să îl salvați într-o anumită locație.

După cum se vede din exemplu, operarea sistem Ubuntu oferă opțiuni bogate pentru gestionarea pornirii/opririi serviciilor/programelor. În scripturile de încărcare automată, puteți descrie dependențele serviciilor pornite / oprite de alte servicii folosind secțiunile „Required-Start / Required-Stop”, iar scriptul în sine poate fi de orice complexitate, ceea ce vă permite să organizați chiar și cele mai „subțiri”. ”încărcare automată.

Acest material a fost scris pentru „Primul concurs de articole în limba rusă pentru Ubuntu OS 2011” (konkurs.ubuntu.ru).

Creăm un fișier gol.

Pe primul rând scriem:

#!/bin/sh

Această linie specifică care shell de comandă necesar de utilizat. Urmează comenzile tale.

Să-l salvăm sub numele original (pentru a nu coincide cu cele existente) în directorul /usr/sbin/.

Pentru ca scriptul să ruleze la pornire, trebuie să îl scrieți în fișierul /etc/rc.local înainte de linia de ieșire 0. Dacă nu aveți fisierul dat, creați-l și inserați următorul conținut în el:

#!/bin/sh -e #Inserați o linie cu scriptul dvs. aici. /usr/sbin/mescripts ieșire 0

Un mod ceva mai complicat

Vă permite să setați secvența de încărcare și comportamentul scriptului la diferite niveluri de execuție.

Studiem /etc/init.d/skeleton , pe baza lui creăm un script /etc/init.d/my_script , care va porni/opri aplicația noastră.

Aceste directoare conțin scripturi pentru oprirea serviciilor:

/etc/rc0.d/ /etc/rc1.d/ /etc/rc6.d/

în acestea - scripturi pentru pornirea serviciilor:

/etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/

Le studiem pentru succesiune (cu cât prima cifră este mai mică la începutul scriptului, cu atât aplicația pornește/se oprește mai devreme). Acest lucru poate fi critic dacă aplicația dvs. depinde de unele servicii.

După ce ne-am hotărât asupra scriptului de lansare și a ordinii, facem următoarele:

Sudo update-rc.d my_script start 70 2 3 4 5 . oprire 20 0 1 6 .

Aici am definit că scriptul meu ar trebui să înceapă mai târziu decât celelalte (70) și să se oprească mai devreme (20). Numerele 2 3 4 5 0 1 6 indică nivelurile de încărcare.

Dacă nu vă place ceva, puteți șterge totul

sudo update-rc.d -f my_script remove

Consultați man update-rc.d pentru detalii.

Executarea unui script la pornirea/oprirea rețelei

Există un director /etc/network/ cu subdirectoare if-down.d , if-pre-up.d , if-post-down.d , if-up.d . Dacă plasați scriptul într-unul dintre aceste subdirectoare, atunci acesta va fi executat, respectiv, la oprire, înainte de pornire, după oprire sau când rețeaua este pornită.

O altă modalitate este să specificați una dintre următoarele directive în fișierul /etc/network/interfaces: up , pre-up , post-up , down , pre-down , post-down . De exemplu, linia

Post-up /path/to/script.sh

după pornirea rețelei va executa scriptul script.sh. Puteți citi mai multe în interfețele man.

În orice caz, scriptul trebuie să aibă permisiuni setate pentru a permite execuția, altfel nu va putea rula.