Systemd este un manager de sistem și servicii pentru sistemul de operare Linux. A fost conceput pentru a fi compatibil cu scripturile de inițializare SysV și pentru a oferi caracteristici utile, cum ar fi rularea serviciilor de sistem în paralel la momentul pornirii, activarea demonilor la cerere, menținerea instantanee a stării sistemului și logica de control al serviciului bazată pe dependență. În CentOS 7, systemd înlocuiește Upstart ca sistem de pornire implicit.
În acest articol ne vom uita la procesul de gestionare a serviciilor în systemd pentru un utilizator CentOS 7. Aceste cunoștințe vor fi utile și în alte distribuții, deoarece systemd a fost folosit de mult în Fedora și este planificat pentru Ubuntu 14.10 și Debian 8. Noi îl va lăsa în culise.
În timp ce citiți acest articol, puteți încerca systemd pe VPS clasic și cloud VPS din Infobox. Ne străduim să adăugăm suport pentru sistemele de operare moderne în timp util, astfel încât să puteți utiliza cele mai recente tehnologii pentru a lucra mai eficient. Însăși ideea de a scrie un articol s-a născut după o altă întrebare a utilizatorilor despre utilizarea serviciilor în CentOS 7.
Introducere
Systemd aduce conceptul de unități systemd. Unitățile sunt reprezentate de fișiere de configurare situate într-unul dintre directoare:- / usr / lib / systemd / system /- unități din pachetele RPM instalate.
- / run / systemd / system /- unități create în timpul execuției. Acest director are prioritate față de directorul cu unități instalate din pachete.
- / etc / systemd / system /- unități create și gestionate de administratorul de sistem. Acest director are prioritate față de directorul de unități create în timpul execuției.
Tipuri de unități Systemd:
- .serviciu- service de sistem
- .ţintă- un grup de unități systemd
- .automoun t - punct de montare automată a sistemului de fișiere
- .dispozitiv- fișierul dispozitivului recunoscut de kernel
- .montură- punct de montare a sistemului de fișiere
- .cale- un fișier sau director în sistemul de fișiere
- .sfera de aplicare- un proces creat extern
- .felie- un grup de unități organizate ierarhic care gestionează procesele sistemului
- .instantaneu- starea salvată a managerului de sistem
- .priză- comunicare interproces socket
- .schimba- Schimbați dispozitivul sau fișierul de schimb (fișier de schimb)
- .temporizator- cronometru systemd
Principalele caracteristici ale systemd în CentOS 7
- Activare bazată pe socket... La momentul pornirii, systemd ascultă socket-uri pentru toate serviciile de sistem, acceptă acest tip de activare și transferă socket-uri către aceste servicii imediat după pornirea serviciilor. Acest lucru nu numai că permite systemd să pornească serviciile în paralel, dar oferă și posibilitatea de a reporni serviciile fără a pierde mesajele trimise către acesta în timp ce serviciile nu erau disponibile. Soclul corespunzător rămâne disponibil și toate mesajele sunt puse în coadă.
- Activare bazată pe D-Bus... Serviciile de sistem care utilizează D-Bus pentru comunicarea între procese pot fi pornite la cerere atunci când o aplicație client încearcă să comunice cu acestea.
- Activare bazată pe dispozitiv... Serviciile de sistem care acceptă activarea pe bază de dispozitiv pot fi lansate atunci când un anumit tip de echipament este conectat sau pus la dispoziție.
- Activare bazată pe cale... Serviciile de sistem pot suporta acest tip de activare dacă starea unui folder sau director se modifică.
- Instantanee ale stării sistemului... Sistemul poate salva starea tuturor unităților și poate restabili starea anterioară a sistemului.
- Managementul punctului de montare și al montajului automat... Systemd monitorizează și gestionează punctele de montare și montare automată.
- Paralelizare agresivă Systemd pornește serviciile de sistem în paralel datorită utilizării activării bazate pe socket. Atunci când este combinată cu servicii care acceptă activarea la cerere, activarea concomitentă reduce semnificativ timpul de pornire a sistemului.
- Logica tranzacțională pentru activarea unităților... Înainte de a activa și dezactiva unitățile, systemd calculează dependențele acestora, creează o tranzacție temporară și verifică integritatea acelei tranzacții. Dacă o tranzacție este inconsecventă, systemd încearcă automat să o repare și să elimine lucrările inutile din ea înainte de a genera un mesaj de eroare.
- Compatibil înapoi cu inițializarea SysV... SystemD acceptă pe deplin scripturile de inițializare SysV așa cum este descris în specificația Linux Standard Base (LSB), ceea ce facilitează migrarea la systemd.
Managementul serviciilor
Versiunile anterioare de CentOS au folosit SysV sau Upstart. Scripturile de inițializare au fost localizate în director /etc/rc.d/init.d/... Astfel de scripturi erau de obicei scrise în Bash și permiteau administratorului să gestioneze starea serviciilor și a demonilor. În CentOS 7, scripturile de pornire au fost înlocuite cu unități de service.Prin utilizarea unităților de service .serviciu seamănă cu scripturile init. Pentru a vizualiza, a porni, a opri, a reporni, a activa sau a dezactiva serviciile de sistem, utilizați comanda systemctl... Comenzi serviciuși chkconfig sunt încă incluse în sistem, dar numai din motive de compatibilitate.
Extensia de fișier este opțională când utilizați systemctl.
Mai jos sunt comenzile de bază systemctl:
- systemctl start name.service- lansarea serviciului.
- systemctl stop name.service- oprire serviciu
- systemctl restart name.service- repornirea serviciului
- systemctl try-restart name.service- repornirea serviciului numai dacă rulează
- systemctl reîncărcare nume.serviciu- reîncărcarea configurației serviciului
- systemctl status name.service- verificarea dacă serviciul rulează cu o ieșire detaliată a stării serviciului
- systemctl este activ nume.serviciu- verificarea dacă serviciul rulează cu un răspuns simplu: activ sau inactiv
- systemctl list-units --type service --all- afișarea stării tuturor serviciilor
- systemctl enable name.service- activează serviciul (vă permite să porniți în timpul pornirii sistemului)
- systemctl dezactivează name.service- dezactivează serviciul
- systemctl reactiva name.service- dezactivează serviciul și îl activează imediat
- systemctl este – activat name.service- verifică dacă serviciul este activat
- systemctl list-unit-files --type service- afișează toate serviciile și verifică care sunt activate
- systemctl mask name.service- înlocuiește fișierul de serviciu cu un link simbolic către / dev / null, făcând unitatea inaccesibilă pentru systemd
- systemctl demasc nume.serviciu- returnează un fișier de service, făcând unitatea disponibilă pentru systemd
Lucrul cu ținte Systemd
Versiunile anterioare de CentOS cu SysV init sau Upstart includeau un set predefinit de niveluri de execuție, care reprezentau moduri specifice pentru operațiuni, numerotate de la 0 la 6. În CentOS 7, conceptul de niveluri de execuție a fost înlocuit cu ținte systemd.Fișiere țintă Systemd .ţintă sunt concepute pentru a grupa alte unități de sistem printr-un lanț de dependențe. De exemplu, unitatea grafică.ţintă, care este folosit pentru a porni o sesiune grafică, lansează serviciile de sistem GNOME Display Manager ( gdm.service) și Serviciul de conturi ( conturi – daemon.service) și se activează multi-utilizator.ţintă... In schimb multi-utilizator.ţintă pornește alte servicii de sistem, cum ar fi Network Manager ( NetworkManager.service) sau D-Bus ( dbus.service) și activează alte unități țintă de bază.ţintă.
CentOS 7 are ținte predefinite similare cu setul standard de niveluri de execuție. Din motive de compatibilitate, au și aliasuri în aceste scopuri, care sunt mapate direct la nivelurile de execuție SysV.
- poweroff.target (runlevel0.target)- oprirea si oprirea sistemului
- rescue.target (runlevel1.target)- personalizarea shell-ului de recuperare
- multi-user.target (runlevel2.target, runlevel3.target, runlevel4.target)- configurarea unui sistem multi-utilizator non-grafic
- graphical.target (runlevel5.target)- configurarea unui sistem grafic multi-utilizator
- reboot.target (runlevel6.target)- închideți și reporniți sistemul
Următoarea comandă este utilă pentru a determina care unitate țintă este implicită: systemctl get – implicit.
Pentru a vizualiza toate unitățile țintă încărcate, utilizați comanda systemctl list-units --type targetși pentru a vizualiza toate unitățile țintă în general cu comanda: systemctl list-units --type target --all.
Pentru a schimba ținta implicită, comanda va ajuta systemctl set-default name.target.
Pentru a vă schimba obiectivul actual: systemctl izola nume.țintă... Comanda va porni unitatea țintă și toate dependențele acesteia și va opri imediat toate celelalte.
În CentOS 7, systemctl înlocuiește un număr semnificativ de comenzi de gestionare a energiei. Comenzile anterioare au fost păstrate pentru compatibilitate, dar se recomandă utilizarea systemctl:systemctl stop- opreste sistemul
poweroff systemctl- oprește sistemul
repornire systemctl- repornește sistemul
Gestionarea systemd pe o mașină la distanță
Systemd vă permite să controlați o mașină de la distanță prin SSH. Pentru a gestiona, utilizați comanda:systemctl --gazdă [email protected] comanda _name unde user_name este numele de utilizator, host_name este numele gazdei care este controlată de la distanță, iar comanda este comanda systemd de rulat.
Serviciu tipic de sistem
Această secțiune vă va ajuta dacă aveți nevoie să susțineți rapid managementul serviciului de la systemd. Pentru detalii despre toate opțiunile din fișierul .service, consultați secțiunea aferentă a documentației systemd.Descriere = Daemon pentru a detecta aplicațiile care se blochează După = syslog.target ExecStart = / usr / sbin / abrtd Tip = forking WantedBy = multi-user.target
Să aruncăm o privire la secțiune
... Conține informații generale despre serviciu. Această secțiune este disponibilă nu numai în unitățile de service, ci și în alte unități (de exemplu, la gestionarea dispozitivelor, punctelor de montare etc.). În exemplul nostru, dăm o descriere a serviciului și indicăm că demonul ar trebui să fie pornit după Syslog.
În secțiunea următoare conține direct informații despre serviciul nostru. Parametru utilizat ExecStart indică fișierul executabil al serviciului nostru. V Tip specificăm modul în care serviciul anunță systemd că a terminat de pornire.
Secțiune finală conține informații despre scopul pentru care ar trebui să înceapă serviciul. În acest caz, spunem că serviciul ar trebui să fie pornit atunci când ținta este activată. multi-utilizator.ţintă.
Acesta este un fișier de serviciu systemd minim funcțional. După ce l-ați scris pe al dvs., copiați-l în /etc/systemd/system/service_name.service pentru testare. Rulați comenzile systemctl daemon-reload... Systemd va ști despre serviciu și veți putea să-l porniți.
Informații suplimentare
Un ghid excelent pentru systemd de la RedHat, care formează baza acestui articol.Documentație pentru scrierea propriei unități de service systemd.
„Systemd for Administrators” de la dezvoltatorul systemd în limba rusă.
Concluzie
În acest articol, am învățat cum să gestionăm serviciile CentOS 7. Desigur, aceasta nu este singura funcție a systemd, iar alte aspecte ale acesteia vor fi discutate în viitor. Sistemul de operare în sine a fost disponibil aproape din momentul lansării pe VPS clasic și cloud VPS din Infobox. Încercați acum systemd. Aceste cunoștințe vor fi utile în legătură cu migrarea multor distribuții la systemd.Dacă găsiți o eroare în articol, autorul o va remedia cu plăcere. Vă rugăm să scrieți la PM sau la e-mail despre asta.
În cazul în care nu puteți lăsa comentarii pe Habré, le puteți scrie pe blog
Sistem Linux este un sistem de operare multi-tasking, multi-utilizator, ceea ce înseamnă că un număr semnificativ de oameni pot rula mai multe aplicații diferite în același timp pe același computer. Acest sistem Linux diferă de MS-DOS, de exemplu, unde doar o persoană poate lucra la un computer la un moment dat.
Opțiuni comenzi Linux de obicei începe cu un caracter -, după care puteți specifica mai multe opțiuni simultan. De exemplu, în loc de comanda ls -l -F, puteți introduce comanda ls -lF.
Ca argumente de comandă Linux pot apărea liste de nume de fișiere sau directoare. De exemplu, argumentele comenzii cp sunt numele fișierelor de copiat. Lista fișierelor copiate este închisă după numele fișierului (sau directorului) în care vor fi copiate fișierele. Când copiați mai mult de un fișier, trebuie să existe un nume de director la sfârșit.
A crea numele de utilizator
Înainte de a începe lucrul la un sistem nou instalat Linux trebuie să-ți faci un nume pentru munca de zi cu zi. Nu este de dorit să folosiți numele rădăcină pentru aceasta, care este rezervată pentru executarea comenzilor speciale și pentru lucrările de menținere a sănătății sistemului.
Pentru a crea un nume de utilizator, conectați-vă ca root și utilizați comanda useradd (sau adduser).
Conectați-vă la sistem
De obicei, atunci când vă conectați, pe ecran apare următoarea solicitare:
După introducerea numelui de utilizator și apăsarea tastei introduce vi se va solicita să introduceți o parolă:
localhost login: oleg Parola:
După aceea, trebuie să introduceți parola (caracterele formate nu sunt vizibile pe ecran). Dacă parola este introdusă incorect, pe ecran va apărea următorul mesaj:
localhost login: oleg Parola: Conectare autentificare greșită:
După ce ați introdus numele de utilizator și parola corecte, sunteți autentificat.
Consolă virtuală
Consola de sistem este un monitor și tastatură conectate direct la computer. Sistem Linux ca și alte versiuni ale sistemului UNIX, oferă acces la console virtuale de pe care puteți efectua mai multe sesiuni în același timp în sistem.
Pentru a vă familiariza cu munca din consolele virtuale, conectați-vă și apăsați combinația de taste Alt-F2. Apare din nou promptul de conectare: (aceasta este a doua consolă virtuală). Pentru a reveni la prima consolă virtuală, apăsați combinația de taste Alt-F1 (există o revenire la o sesiune de lucru deja începută).
Sistem L nou instalat inux de obicei oferă acces la primele șase console virtuale, care pot fi accesate folosind combinațiile de taste Alt-Fx. Astfel, deja în stadiul inițial, utilizatorul primește un instrument puternic care vă permite să lucrați în același timp în mai multe sesiuni deodată.
Cochilii și comenzi
Majoritatea comunicării cu sistemul Linux are loc prin shell-uri de comandă (coajă). Shell de comandă este un program care preia comenzile introduse de la tastatură și le convertește în instrucțiuni pentru sistemul de operare.
După autentificare, sistemul de operare lansează un shell de comandă, după care pot fi introduse comenzi. Comanda este primul cuvânt de pe linia de comandă. Orice altceva de pe linia de comandă este luat ca argument pentru acea comandă. De exemplu, să creăm (mkdir) directorul de comenzi:
comenzi $ mkdir
Sign out
Pentru a ieși din sistem, introduceți comanda după promptul shell:
schimbați parola
Pentru a schimba parola, introduceți comanda passwd. Comanda vă va solicita să introduceți parola veche, apoi pe cea nouă. Comanda vă va cere apoi să introduceți noua parolă din nou pentru confirmare:
Fișiere și directoare
În sistemul de operare Linux se folosește conceptul de fișier ( fişier). Un fișier este o anumită „informație” care are propriul nume ( nume de fișier). Trebuie să știți că informațiile sunt stocate pe disc doar sub formă de fișiere separate.
Numele fișierelor obișnuite în Linux poate avea până la 255 de caractere și poate fi orice caracter, altul decât cuvântul de cod și / (slash). Cu toate acestea, există o serie de alte simboluri care au în carcasă coajă semnificație specială și care de aceea nu este recomandat să fie inclusă în nume. Acestea sunt următoarele simboluri:
! @ # $ & ~ % * () { } " " \ : ; > Conceptul de fișier este strâns legat de conceptul de director ( director). Un director este o colecție de fișiere. Utilizatori Windows numit director „dosar”, prin analogie cu un folder care conține multe foi diferite. Cu toate acestea, această analogie este incorectă, deoarece directorul nu conține fișierele reale, ci legături către fișiere, precum și către alte directoare. Directoarelor li se dau nume după care pot fi recunoscute. În plus, directoarele formează o structură arborescentă; cu alte cuvinte, există un singur director rădăcină care conține toate celelalte directoare din el. La accesarea unui fișier este specificată calea (calea), care poate consta din numele directorului (numele directoarelor imbricate unul în celălalt), urmată de numele fișierului. Numele sunt separate unul de celălalt printr-o bară oblică (/). De exemplu: În exemplul de mai sus, puteți vedea că numele sunt separate prin /. Din acest motiv nu o pot contine. Pe majoritatea sistemelor Linux este utilizată o locație standard a fișierelor, astfel încât locația principalelor fișiere și programe de sistem este ușor de găsit. Directoarele formează o structură arborescentă care începe cu directorul /. Acest director se mai numește și director rădăcină. Subdirectoarele importante / bin, / etc, / dev, / usr și altele sunt adiacente directorului /. În orice moment, comanda emisă se referă la directorul curent ( directorul curent). Când vă autentificați, directorul curent este setat la directorul principal (în cazul nostru / home / oleg). Când vă referiți la un fișier, puteți specifica fie calea completă către acest fișier, fie numai calea din directorul curent. Exemplul anterior, când este găsit, de exemplu, în directorul / home / oleg / docs, va arăta astfel: $ mai puțin mokshadharma / index.xml Dacă calea către un fișier (de exemplu, mokshadharma / index.xml) începe cu un alt caracter decât /, atunci fișierul este accesat în raport cu directorul curent. Acest mod de adresare se numește mod relativ (cale relativă). Dacă numele fișierului începe cu un /, atunci sistemul interpretează aceasta ca o cale completă, adică o cale care duce la fișierul pornind de la directorul rădăcină / (/home/oleg/docs/mokshadharma/index.xml) . .. Se mai numeste mod absolut (cale absolută). Într-un shell de comandă bash incluse în aproape toate sistemele nou instalate Linux, directorul de acasă poate fi notat cu ~. De exemplu, comanda: $ mai puțin ~ / docs / mokshadharma / index.xml este echivalent cu comanda: $ mai puțin /home/oleg/docs/mokshadharma/index.xml Comanda folosită pentru a naviga în arborele de directoare se numește cd, prescurtare de la schimba directorul(schimba directorul). Ca exemplu de utilizare a comenzii cd, accesați directorul / home / oleg / docs / mokshadharma /: $ cd ~ / docs / mokshadharma Acum, din directorul curent, vă puteți referi la fișier cu următoarea comandă: $ mai puțin index.xml Pentru a merge la cel mai apropiat director de nivel superior, există o comandă: Pentru a trece la directorul principal, puteți lansa comanda cd fără argumente: Comanda Ls (prescurtare de la listă) afișează o listă de fișiere și directoare (opțiunea -F permite informații mai complete): $ ls -F ~ / docs / mokshadharma ch / ch01.html ch02.html ch03.html cron.sh * docbook.xsl index.html index.xml pr01.html pt01.html stil / În listă, vedem că caracterul / este atașat la sfârșitul numelui subdirectoarelor și la sfârșitul numelui fișierului executabil ( executabil) i se atribuie caracterul *. Pentru a crea un director nou, utilizați comanda mkdir (prescurtare de la face director). De exemplu, să creăm un director nou și să îl introducem: $ exemplu mkdir $ exemplu cd Comenzile touch și cat sunt folosite pentru a crea fișiere. Comanda atingere creează un fișier gol: $ atingeți nume_fișier Pentru a crea un fișier cu comanda cat, conceput pentru a redirecționa ieșirea, datele de la intrarea standard (tastatură) sunt trimise la intrarea sa, iar ieșirea comenzii este trimisă într-un fișier nou: $ pisică> fișier_nou După ce este introdus textul necesar, combinația de taste Enter și Ctrl-D sau Enter și Ctrl-C este apăsată, iar tot ce este introdus va fi înregistrat în new_file. Desigur, cele mai multe fișiere text scurte sunt create astfel. Numai superutilizatorul poate schimba proprietarul, proprietarul fișierului sau superutilizatorul poate schimba grupul. Pentru a avea dreptul de a schimba grupul, proprietarul trebuie să fie suplimentar membru al grupului căruia dorește să-i acorde drepturi la acest fișier. Pentru a distruge fișiere, utilizați comanda rm (prescurtare de la elimina): $ rm index.xml $ În mod implicit, comanda rm nu este întotdeauna configurată să emită avertismente înainte de ștergerea unui fișier. Pentru a distruge directoare, utilizați comanda rmdir, care distruge doar un director gol. $ cd .. $ exemplu rmdir $ ls -F $ Pentru a distruge directoare care conțin fișiere și subdirectoare, utilizați comanda rm -rf, care trebuie folosită cu precauție extremă. conținutul este distrus de ea fără avertisment. Comenzile more și cat sunt folosite pentru a vizualiza conținutul fișierelor. Cu cât comanda more afișează conținutul fișierului în bucăți (câte un ecran) și comanda pisică scoate întregul fișier deodată. O versiune îmbunătățită a mai mult se numește less. Folosiți tastele B și Spațiu pentru a vizualiza conținutul afișat de comanda less (puteți folosi și pagina în sus și pagina în jos). Aproape toate sistemele din familie UNIX inclusiv sistemul Linux, au documentație pe ecran ( pagini de manual). Textele sale conțin documentație privind comenzile sistemului, resursele, fișierele de configurare etc. și pot fi afișate pe ecran în timpul funcționării. Pentru a accesa documentația de pe ecran, utilizați comanda man (prescurtare de la manual). De exemplu, pentru a vizualiza opțiunile pentru comanda ls, introduceți comanda. Articolul de astăzi este dedicat în întregime începătorilor care tocmai fac primii pași în etapa de cunoaștere a sistemului de operare CentOS. În acest articol, am colectat primele 20 de comenzi care vor fi utile în munca de zi cu zi, gestionarea serverului și depanarea de bază. De multe ori trebuie să instalăm diverse programe. Implicit, sistemul are doar cele mai necesare, iar dacă aveți nevoie de ceva anume, atunci va trebui să instalați programe manual. Instalarea software-ului Linux este, într-un fel, mai ușoară decât instalarea lui pe Windows. Aici, cele mai multe dintre programele necesare se află în depozitele oficiale și pentru a le instala sau actualiza, trebuie doar să rulați câteva comenzi. În acest articol, vom analiza cum să instalați pachetele CentOS 7. Să ne uităm la elementele de bază ale lucrului cu managerul de pachete yum, capacitățile acestuia și găsirea și rezolvarea dependențelor pachetelor. YUM (Yellowdog Updater Modified) este un manager de pachete open source dezvoltat de RedHat pentru a lucra cu pachete RPM. Permite utilizatorilor și administratorilor de sistem să instaleze, să elimine și să actualizeze pachete pe sisteme bazate pe RedHat. Programul este distribuit sub GPL (General Public License) și orice utilizator poate accesa sursa sau chiar poate îmbunătăți codul. Managerul de pachete acceptă conectarea depozitelor terțe și rezolvarea dependențelor pentru instalarea pachetelor. Pot fi descărcate diverse pluginuri pentru a îmbunătăți performanța Yum. Utilitarul funcționează în consolă, iar sintaxa sa este foarte simplă: Comanda $ sudo yum options nume_pachet Mai întâi, să aruncăm o privire la comenzile de bază ale managerului de pachete: Vom lua în considerare și opțiuni suplimentare de care ați putea avea nevoie atunci când instalați rpm CentOS: Acum cunoașteți toate caracteristicile principale ale utilitarului, să ne uităm la câteva exemple de lucru cu acesta. Înainte de a continua cu instalarea pachetelor CentOS, trebuie să actualizați lista de depozite și sistemul la cea mai recentă versiune. Pentru aceasta există o comandă: Pentru a instala un pachet care se află în depozitele oficiale, trebuie doar să utilizați comanda de instalare. Doar tastați această comandă și numele pachetului, de exemplu pentru Firefox: sudo yum instalează thunderbird În timpul instalării, va trebui să confirmați că doriți să instalați acest anumit program apăsând tasta y. Pentru a evita acest lucru, utilizați opțiunea -y: sudo yum -y instalează thunderbird Pentru a vizualiza informații despre un pachet instalat, utilizați comanda info: sudo yum info thunderbird Pentru a elimina un pachet, utilizați comanda remove: sudo yum elimina thunderbird Nu știm numele exact ale tuturor pachetelor. Dar yum acceptă o funcție de căutare pentru a vă ajuta să aflați ce pachet să instalați CentOS 7. Există două comenzi de căutare. Prima este căutarea, care vă permite să găsiți un pachet după nume: sudo yum search mysql Al doilea vă permite să găsiți pachetul necesar prin comanda de care aveți nevoie, în unele cazuri acest lucru este foarte convenabil: sudo yum oferă lspci Acum știți ce pachet este necesar și instalarea pachetelor CentOS 7 rpm se poate face acum foarte rapid și nu este nevoie să deschideți multe forumuri pentru a găsi informații. Grupurile de pachete sunt, de asemenea, un instrument destul de util. Cu el, nu puteți instala pachetele pe rând, ci puteți instala un întreg grup deodată. Mai întâi, vedeți lista de grupuri disponibile: lista de grupuri sudo yum informații despre grup sudo yum „Server web standard” Atunci. pentru a instala un tip de grup de pachete: sudo yum group instalează „Server web standard” De asemenea, puteți actualiza un grup de pachete pentru a evita actualizarea întregului sistem: Actualizare grup sudo yum „Server web standard” Sau eliminați: sudo yum group eliminați „Standard Web Server” Arhivele oficiale nu conțin toate pachetele necesare. Dacă programele server pot fi găsite acolo fără dificultate, atunci cu programe pentru desktop, aceleași codecuri, vor apărea probleme. Acestea trebuie instalate din depozite terțe. Arhivele de pe CentOS nu sunt adăugate printr-un fișier de configurare, ele sunt instalate prin descărcarea și instalarea fișierului de depozit rpm. De exemplu, unul dintre cele mai frecvent utilizate depozite terțe este EPEL. Instalatorul său se află în depozitele oficiale, așa că pentru a vă conecta este suficient să rulați: sudo yum install epel-release Dar nu este cazul tuturor depozitelor. Multe dintre ele stochează fișierele de instalare pe cont propriu. De exemplu, un depozit cu diverse software nux multimedia este instalat diferit. Mai întâi, trebuie să descărcați fișierul de depozit de pe link. Descărcați cea mai recentă versiune, altfel nimic nu va funcționa. De exemplu, momentan cel mai nou wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm Apoi instalați pachetul descărcat folosind yum: sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm Apoi actualizați lista de depozite și puteți instala pachete: sudo yum install vlc Ei bine, ne uităm la lista de depozite: sudo yum repolist Toate depozitele disponibile sunt afișate aici. Pentru a elimina un depozit, va fi suficient să-i eliminați pachetul. Dacă nu vă place să utilizați terminalul, atunci instalarea programelor CentOS 7 se poate face prin interfața grafică. Dar aici posibilitățile sunt mult mai puține decât în terminal. Utilizați utilitarul „Programe”, care se află în meniul principal: CentOS este o distribuție gratuită bazată pe codul sursă Red Hat Enterprise Linux, de fapt, este creată din aceste surse cu modificări reduse sau deloc, dezvoltatorii tăind doar brandingul Red Hat. Dar, spre deosebire de Red Hat, CentOS este complet gratuit și primește actualizări regulate la scurt timp după ce sunt lansate pentru Red Hat, deoarece sunt, de asemenea, construite din sursă. CentOS este adesea folosit ca sistem de operare pentru servere. Într-unul dintre articolele anterioare, ne-am uitat la modul în care se face. Astăzi ne vom uita la configurarea unui server CentOS 7 după instalare. Vom acoperi toți parametrii de bază pe care va trebui să îi modificați pentru a pregăti serverul pentru utilizare. Primul lucru de făcut este să vă configurați rețeaua. Pe computerele personale se folosește obținerea unei adrese IP prin DHCP, iar computerul va avea o adresă diferită de fiecare dată când pornește, serverul trebuie să funcționeze mereu la aceeași adresă, așa că îi atribuim un IP static. De asemenea, trebuie să configurați DNS și gateway-ul implicit. Dar mai întâi instalați utilitarul net-tools: yum instalează net-tools Mai întâi, să vedem interfețele de rețea disponibile și adresa IP curentă: Acum puteți trece la configurarea interfeței prin fișierul / etc / sysconfig / network-scripts / ifcfg-enp0s3, de exemplu, folosind editorul vi: vi / etc / sysconfig / network-scripts / ifcfg-enp0s3 Ipaddr = your_ip După efectuarea modificărilor, acest fișier va arăta astfel: Apoi va rămâne să reporniți rețeaua pentru a aplica noile setări: repornirea rețelei de servicii Apoi, dacă este necesar, puteți schimba adresa IP în același mod. Următorul lucru pe care trebuie să-l facem este să schimbăm numele computerului. Numele curent al computerului este stocat în variabila HOSTNAME: Pentru a-l schimba, trebuie să editați fișierul / etc / hostname și să înlocuiți numele vechi cu cel nou acolo. vi / etc / nume de gazdă Alternativ, puteți utiliza comanda hostnamectl: hostnamectl set-hostname "hostname" După instalare, este obișnuit să actualizați software-ul la cea mai recentă versiune pentru a vă asigura că sunt instalate toate actualizările de securitate. Pentru a actualiza lista de pachete din depozite și pentru a instala versiuni noi, executați următoarea comandă: yum actualizare && yum upgrade În multe cazuri, trebuie să utilizați CentOS din linia de comandă fără o interfață grafică, așa că este posibil să aveți nevoie de un browser pentru a găsi ceva pe Internet sau pentru a verifica funcționalitatea site-urilor din linia de comandă. Pentru a instala browserul de link-uri, tastați: yum link-uri de instalare Puteți găsi alte browsere de consolă pentru Linux, cum ar fi Lynx sau Elinks. Setarea corectă a fusului orar este foarte importantă pentru server. Acest lucru va elimina confuzia din jurnale și va permite aplicațiilor dvs. să afișeze data și ora corecte. Utilitarul timedatectl este folosit pentru configurare. Mai întâi, obțineți o listă de fusuri orare: timedatectl list-timezones Apoi instalați-l pe cel pe care îl doriți, de exemplu, Europa / Kiev: timedatectl set-timezone Europa / Kiev Apoi verificați: Localitatea determină limba și codificarea care vor fi utilizate pe sistemul dvs., de exemplu, pentru a activa limba rusă, setați valoarea ru_RU.UTF-8 localectl set-locale LANG = ru_RU.UTF-8 Apoi vedem ce s-a întâmplat: Apoi setăm aspectul tastaturii: localectl set-keymap ne Un set de politici SELinux sunt concepute pentru a controla accesul la fișiere pe un sistem Linux, dar dacă nu intenționați să le utilizați, atunci această caracteristică poate fi dezactivată. Pentru a face acest lucru, rulați: sed -i "s / (^ SELINUX =). * / SELINUX = dezactivat /" / etc / selinux / config Apoi reporniți computerul și verificați dacă funcția a fost efectiv dezactivată: Este nesigur să folosiți sistemul în numele superutilizatorului și cu atât mai nesigur să lăsați accesul liber la contul root prin ssh. Mai întâi, creați un utilizator obișnuit și setați o parolă pentru acesta: useradd nume de utilizator Apoi adăugați utilizatorul la grupul de roți pentru a permite utilizatorului să ruleze ca administrator: usermod -G wheel nume de utilizator Acum rămâne să modificați setările sudo, pentru aceasta adăugați următoarea linie, dacă nu este deja acolo: % roată ALL = (ALL) ALL Adăugarea de repoziții terță parte la un server de producție nu este o idee bună și poate duce la consecințe nefaste în unele cazuri. Cu toate acestea, uneori este posibil să aveți nevoie de programe care nu se află în depozitele oficiale. Prin urmare, să vedem cum să adăugați mai multe depozite. Pentru a adăuga Enterprise Linux Repository (EPEL), rulați: yum install epel-release Cel mai adesea, trebuie să lucrăm cu servere nu direct, ci prin rețea, prin SSH. De obicei, SSH este deja instalat și activat, dar are nevoie de câteva modificări pentru a-l face să funcționeze corect. În primul rând, trebuie să configurați utilizarea doar a unui protocol securizat, pentru aceasta deschideți fișierul / etc / ssh / ssh_config și ștergeți linia Protocol 2,1. Și în schimb adăugați: De asemenea, trebuie să dezactivați autentificarea ca superutilizator: PermitRootLogin nr Dacă intenționați să utilizați mașina ca server web, veți avea nevoie de Apache. Cu acesta, puteți găzdui site-uri web, conținut multimedia, programe client și multe altele. Pentru a instala, rulați: yum instalează httpd Când instalarea este completă, trebuie să activați HTTP în firewall înainte de a vă putea pune la lucru: firewall-cmd --add-service = http Acum rămâne să adăugați Apache la încărcare automată: systemctl porniți httpd.service PHP este o aplicație web modernă și un limbaj de scripting. Este adesea folosit ca limbaj de programare de uz general. Pentru a instala, rulați: După instalare, trebuie să reporniți Apache: eco -e ""> /var/www/html/phpinfo.php Apoi deschideți fișierul generat într-un browser: link-uri http://127.0.0.1/phpinfo.php MariaDB este o bază de date bazată pe codul sursă MySQL. Distribuțiile Linux bazate pe Red Hat folosesc MariaDB în loc de MySQL. Bazele de date sunt indispensabile pe un server, așa că setarea CentOS după instalare ar trebui să includă instalarea acestuia. Pentru a instala MariaDB, tastați: yum instalează mariadb-server mariadb Apoi rulați și adăugați la autoload: systemctl porniți mariadb.service Și permiteți utilizarea serviciului în firewall: firewall-cmd --add-service = mysql Rămâne să rulăm scriptul de configurare: / usr / bin / mysql_secure_installation GCC înseamnă GNU Compiler Collection și este un set de compilatoare care sunt considerate standardul pentru construirea de programe pe Linux. Dar nu vine cu CentOS în mod implicit, așa că pentru a instala, tastați: Apoi vă puteți uita la versiunea GCC: Java este un limbaj de programare cu scop general orientat către obiective. Nu este instalat implicit, așa că configurarea CentOS 7 după instalare ar putea include și instalarea acestuia. Pentru a face acest lucru, rulați: yum instalează java Apoi verificați versiunea: În acest articol, ne-am uitat la modul de configurare a serverului CentOS 7 după instalare. După cum puteți vedea, există mulți pași elementari pe care ar trebui să-i faceți înainte de a utiliza serverul în producție. Dacă aveți întrebări, întrebați în comentarii!
Arborele directorului
Directorul curent
Referindu-ne la directorul principal
Deplasarea prin arborele de directoare
Vizualizarea conținutului directoarelor
Crearea de noi directoare
Crearea de noi fișiere
Schimbați proprietarul unui fișier sau al unui grup de fișiere
Vizualizați conținutul fișierului
Documentația ecranului
Comenzi
Instalarea pachetelor pe CentOS 7
Instalarea unui pachet CentOS
Găsirea pachetelor CentOS
Grupuri de pachete CentOS
Arhivele de pachete CentOS
Instalarea programelor CentOS în GUI
1. Configurarea unei adrese IP statice
GATEWAY = gateway_for_network_access
DNS1 = Adresa_IP_DNS1
DNS2 = adresa_IP_DNS2. Numele computerului
3. Actualizarea CentOS
4. Instalați browserul
5. Setarea fusului orar
7. Setarea localizării
8. Dezactivați SELinux
9. Creați un utilizator
# parola passwd10. Activați depozitele terțelor părți
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm10. Configurarea SSH
11. Instalați serverul web Apache
# firewall-cmd -permanent -add-port = 3221 / tcp
# firewall-cmd --reload
# systemctl enable httpd.service12. Instalați PHP
13. Instalarea bazei de date
# systemctl enable mariadb.service14. Instalați GCC
15. Instalați Java
concluzii