Systemd je sistemski i servisni menadžer za Linux operativni sistem. Dizajniran je da bude kompatibilan unatrag sa SysV init skriptama i da pruži korisne funkcije kao što su paralelno pokretanje sistemskih usluga u vrijeme pokretanja, aktiviranje demona na zahtjev, podrška snimaka stanja sistema i logika upravljanja uslugama zasnovana na zavisnosti. U CentOS-u 7, systemd zamjenjuje Upstart kao zadani init sistem.
U ovom članku ćemo pogledati proces upravljanja uslugama u systemd-u za korisnika CentOS 7. Ovo znanje će biti korisno u drugim distribucijama, jer se systemd već dugo koristi u Fedori i planira se u Ubuntu 14.10 i Debianu 8 Bilo da je ovo dobro ili ne, ostavićemo to iza scene.
U procesu čitanja ovog članka, možete isprobati systemd na klasičnom VPS-u i cloud VPS-u iz Infobox-a. Nastojimo da blagovremeno dodamo podršku za savremene operativne sisteme kako biste mogli da koristite najnovije tehnologije za efikasniji rad. Sama ideja o pisanju članka rodila se nakon još jednog pitanja korisnika o korištenju servisa u CentOS 7.
Uvod
Systemd donosi koncept systemd jedinica. Jedinice su predstavljene konfiguracijskim datotekama koje se nalaze u jednom od direktorija:- /usr/lib/systemd/system/- jedinice iz instaliranih RPM paketa.
- /run/systemd/system/- Jedinice kreirane u toku rada. Ovaj direktorij ima prioritet nad direktorijem s instaliranim jedinicama iz paketa.
- /etc/systemd/system/- jedinice koje kreira i kojima upravlja sistem administrator. Ovaj direktorij ima prednost u odnosu na direktorij jedinica kreiranih u vrijeme izvođenja.
Systemd tipovi jedinica:
- .servis– sistemski servis
- .target- grupa sistemskih jedinica
- .automoun t - tačka automatskog montiranja sistema datoteka
- .uređaj– fajl uređaja prepoznat od strane kernela
- .mount- tačka montiranja sistema datoteka
- .put- datoteka ili direktorij u sistemu datoteka
- .scope- vanjski proces
- .slice- grupa hijerarhijski organizovanih jedinica koje upravljaju sistemskim procesima
- .snapshot- sačuvano stanje systemd menadžera
- .socket– međuprocesna komunikaciona utičnica
- .swap– Zamijenite uređaj ili zamijenite datoteku (paging file)
- .timer- systemd tajmer
Glavne karakteristike systemd-a u CentOS-u 7
- Aktivacija zasnovana na utičnici. Tokom pokretanja, systemd osluškuje utičnice za sve sistemske usluge, podržava ovu vrstu aktivacije i prosljeđuje utičnice ovim servisima čim servisi počnu. Ovo omogućava systemd-u ne samo da paralelno pokreće usluge, već daje i mogućnost ponovnog pokretanja usluga bez gubitka poruka koje su im poslane dok usluge nisu bile dostupne. Odgovarajuća utičnica ostaje dostupna i sve poruke su u redu čekanja.
- Aktivacija bazirana na D-Bus-u. Sistemske usluge koje koriste D-Bus za međuprocesnu komunikaciju mogu se pokrenuti na zahtjev kada klijentska aplikacija pokuša komunicirati s njima.
- Aktivacija zasnovana na uređaju. Sistemske usluge koje podržavaju aktivaciju zasnovanu na uređaju mogu se pokrenuti kada se određeni tip hardvera poveže ili postane dostupan.
- Aktivacija zasnovana na putu. Sistemske usluge mogu podržati ovu vrstu aktivacije ako se promijeni stanje foldera ili direktorija.
- Snimci stanja sistema. Sistem može sačuvati stanje svih jedinica i vratiti prethodno stanje sistema.
- Upravljanje tačkama montiranja i automatskim montiranjem. Systemd prati i upravlja tačkama montiranja i automatskim montiranjem.
- Agresivna paralelizacija Systemd paralelno pokreće sistemske usluge zbog upotrebe aktivacije zasnovane na utičnici. U kombinaciji sa uslugama koje podržavaju aktivaciju na zahtjev, paralelna aktivacija značajno smanjuje vrijeme pokretanja sistema.
- Logika aktivacije transakcijske jedinice. Prije aktiviranja i deaktiviranja jedinica, systemd izračunava njihove ovisnosti, kreira privremenu transakciju i provjerava integritet ove transakcije. Ako je transakcija nedosljedna, systemd automatski pokušava da je popravi i ukloni nepotrebne poslove iz nje prije nego što se generiše poruka o grešci.
- Unatrag kompatibilan sa SysV inicijalizacijom. SystemD u potpunosti podržava SysV init skripte kao što je opisano u specifikaciji Linux Standard Base (LSB), što olakšava migraciju na systemd.
Upravljanje uslugama
Prethodne verzije CentOS-a koristile su SysV ili Upstart. Skripte za inicijalizaciju nalazile su se u direktoriju /etc/rc.d/init.d/. Takve skripte su obično bile napisane na Bashu i omogućavale su administratoru da kontroliše stanje usluga i demona. U CentOS-u 7, init skripte su zamijenjene servisnim jedinicama.Korištenjem servisnih jedinica .servis liče na init skripte. Za pregled, pokretanje, zaustavljanje, ponovno pokretanje, omogućavanje ili onemogućavanje sistemskih usluga, koristite naredbu systemctl. Timovi usluga I chkconfig i dalje su uključeni u sistem, ali samo iz razloga kompatibilnosti.
Kada koristite systemctl, navođenje ekstenzije datoteke nije obavezno.
Ispod su glavne komande systemctl:
- systemctl start name.service- početak servisa.
- systemctl stop name.service- servis stop
- systemctl restart name.service- restart servisa
- systemctl pokušaj ponovnog pokretanja name.service- restartujte uslugu samo ako je pokrenuta
- systemctl ponovno učitavanje name.service- ponovno učitavanje konfiguracije usluge
- systemctl status name.service- provjerite da li servis radi sa detaljnim izlazom statusa usluge
- systemctl je-aktivno ime.usluga- provjerite da li servis radi jednostavnim odgovorom: aktivan ili neaktivan
- systemctl list-jedinice --tip usluga --sve– prikaz statusa svih usluga
- systemctl omogući name.service– aktivira uslugu (omogućava joj da se pokrene tokom pokretanja sistema)
- systemctl onemogućuje name.service- deaktivirati uslugu
- systemctl ponovo omogući name.service– deaktivira uslugu i odmah je aktivira
- systemctl je omogućen name.service- provjerava da li je usluga aktivirana
- systemctl list-unit-files --type service– prikazuje sve usluge i provjerava koje su aktivirane
- systemctl maska name.service- zamjenjuje servisni fajl simboličkom vezom na /dev/null, čineći jedinicu nedostupnom za systemd
- systemctl demaskirati name.service- vraća servisni fajl, čineći jedinicu dostupnom za systemd
Rad sa Systemd ciljevima
Prethodne verzije CentOS-a sa SysV init ili Upstart uključivale su unapred definisani skup nivoa pokretanja, koji je predstavljao specifične modove za operacije, označene brojevima od 0 do 6. U CentOS-u 7, koncept nivoa pokretanja zamenjen je sistemskim ciljevima.systemd ciljne datoteke .target su namijenjene da budu grupisane od strane drugih sistemskih jedinica putem lanca zavisnosti. Na primjer jedinica grafički.cilj, koji se koristi za pokretanje grafičke sesije, pokreće sistemske usluge GNOME Display Manager ( gdm.service) i Usluge računa ( accounts-daemon.service) i aktivira se multi-user.target. Zauzvrat multi-user.target pokreće druge sistemske usluge kao što je Network Manager ( NetworkManager.service) ili D-Bus ( dbus.service) i aktivirati druge ciljne jedinice osnovni.cilj.
CentOS 7 ima unapred definisane ciljeve, slične standardnom skupu nivoa pokretanja. Iz razloga kompatibilnosti, oni također imaju pseudonime za ove ciljeve koji se mapiraju direktno na SysV nivoe pokretanja.
- poweroff.target (runlevel0.target)– gašenje i gašenje sistema
- rescue.target (runlevel1.target)- podešavanje shele za oporavak
- višekorisnički.target (runlevel2.target, runlevel3.target, runlevel4.target)- postavljanje negrafičkog višekorisničkog sistema
- graphical.target (runlevel5.target)– postavljanje grafičkog višekorisničkog sistema
- reboot.target(runlevel6.target)- gašenje i ponovno pokretanje sistema
Da biste odredili koja se ciljna jedinica koristi po defaultu, korisna je sljedeća naredba: systemctl get-default.
Za pregled svih učitanih ciljnih jedinica koristite naredbu systemctl list-jedinice --tip cilj, i za pregled svih ciljnih jedinica općenito pomoću naredbe: systemctl list-jedinice --tip cilj --sve.
Za promjenu zadanog cilja, komanda će pomoći systemctl set-default name.target.
Da promijenite trenutni cilj: systemctl izolirati name.target. Komanda će pokrenuti ciljnu jedinicu i sve njene zavisnosti i odmah zaustaviti sve ostale.
U CentOS-u 7, systemctl zamjenjuje značajan broj komandi za upravljanje napajanjem. Stare komande se čuvaju radi kompatibilnosti, ali se preporučuje korištenje systemctl:systemctl stop- zaustavlja sistem
systemctl poweroff- isključuje sistem
systemctl ponovno pokretanje- ponovo pokreće sistem
Kontroliranje systemd-a na udaljenoj mašini
Systemd vam omogućava da kontrolišete udaljenu mašinu preko SSH-a. Za upravljanje koristite naredbu:systemctl --host [email protected] _name komanda, gdje je user_name ime korisnika, host_name je ime hosta kojim se daljinski upravlja, a komanda je systemd naredba koju treba izvršiti.
Tipičan systemd .service
Ovaj odjeljak će vam pomoći ako trebate brzo implementirati podršku za upravljanje uslugama iz systemd-a. Detaljne informacije o svim parametrima .service datoteke mogu se naći u odgovarajućem odjeljku Systemd dokumentacije.Opis=Daemon za otkrivanje pada aplikacija After=syslog.target ExecStart=/usr/sbin/abrtd Type=forking WantedBy=multi-user.target
Pogledajmo dio
. Sadrži opšte informacije o usluzi. Takav odjeljak postoji ne samo u servisnim jedinicama, već iu drugim jedinicama (na primjer, kada se upravlja uređajima, točkama montiranja itd.). U našem primjeru dajemo opis usluge i ukazujemo na to da bi demon trebao biti pokrenut nakon Syslog-a.
U sljedećem dijelu direktno sadrži informacije o našoj usluzi. Korišteni parametar ExecStart ukazuje na izvršnu datoteku našeg servisa. IN tip specificiramo kako usluga obavještava systemd kada završi s radom.
Završni dio sadrži informacije o cilju u kojem bi usluga trebala započeti. U ovom slučaju kažemo da se usluga treba pokrenuti kada je cilj aktiviran. multi-user.target.
Ovo je minimalni radni systemd servisni fajl. Nakon što napišete svoj, kopirajte ga u /etc/systemd/system/service_name.service za testiranje. Izvršite komande systemctl daemon-reload. Systemd će znati za uslugu i možete je pokrenuti.
Dodatne informacije
Odličan vodič za systemd iz RedHata, koji je osnova ovog članka.Dokumentacija za pisanje vlastite systemd servisne jedinice.
"Systemd za administratore" od programera systemd na ruskom.
Zaključak
U ovom članku smo naučili kako upravljati uslugama CentOS 7. Naravno, ovo nije jedina karakteristika systemd-a, a drugi aspekti će biti razmatrani u budućnosti. Sam OS je dostupan skoro od kada je objavljen na klasičnom VPS-u i cloud VPS-u iz Infobox-a. Probajte systemd odmah. Ovo znanje će biti korisno u vezi sa tranzicijom mnogih distribucija na systemd.Ako nađete grešku u članku, autor će je rado ispraviti. Molimo napišite PM ili email o tome.
U slučaju da ne možete ostaviti komentare na Habréu, možete ih napisati na blogu
Sistem linux je operativni sistem za više zadataka i više korisnika, što znači da značajan broj ljudi može pokrenuti mnogo različitih aplikacija u isto vrijeme na istom računaru. Ovaj sistem linux razlikuje se od MS-DOS sistema, na primjer, gdje samo jedna osoba može raditi na računaru u isto vrijeme.
Opcije Linux komande obično počinju sa znakom - , nakon čega možete odrediti nekoliko opcija odjednom. Na primjer, umjesto ls -l -F, možete upisati ls -lF.
Kao komandni argumenti linux mogu biti liste imena datoteka ili direktorija. Na primjer, argumenti naredbe cp su imena datoteka koje treba kopirati. Lista datoteka za kopiranje završava se imenom datoteke (ili direktorija) u koji će datoteke biti kopirane. Kada kopirate više datoteka, ime direktorija mora biti na kraju.
Kreirajte korisničko ime
Prije početka rada na svježe instaliranom sistemu linux, morate sebi kreirati ime za svakodnevni rad. Za ovo je nepoželjno koristiti root ime, koje je rezervirano za izvršavanje posebnih naredbi i za rad na održavanju sistema.
Da kreirate korisničko ime, prijavite se kao root i koristite naredbu useradd (ili adduser).
Ulogovati se
Obično, kada se prijavite, na ekranu se pojavljuje sljedeći upit:
Nakon unosa korisničkog imena i pritiska na tipku Enter Od vas će biti zatraženo da unesete lozinku:
localhost prijava: oleg Lozinka:
Nakon toga treba da unesete lozinku (upisani znakovi se ne vide na ekranu). Ako je lozinka unesena pogrešno, na ekranu će se pojaviti sljedeća poruka:
localhost prijava: oleg Lozinka: Prijava netočna prijava:
Nakon unosa ispravnog korisničkog imena i lozinke, sistem je prijavljen.
Virtuelna konzola
Sistemska konzola je monitor i tastatura direktno povezani sa računarom. Sistem linux, slično drugim verzijama sistema UNIX, omogućava pristup virtuelnim konzolama sa kojih se može istovremeno obavljati nekoliko sesija rada u sistemu.
Da biste se upoznali sa radom na virtuelnim konzolama, potrebno je da se prijavite na sistem i pritisnete kombinaciju tastera Alt-F2. Ponovo će se pojaviti upit za prijavu: (ovo je druga virtualna konzola). Da biste se vratili na prvu virtuelnu konzolu, morate pritisnuti kombinaciju tastera Alt-F1 (postoji povratak na već započetu sesiju).
Novoinstaliran sistem L inux omogućava, po pravilu, pristup do prvih šest virtuelnih konzola, kojima se može pristupiti kombinacijom tastera Alt-Fx. Tako, već u početnoj fazi, korisnik dobija moćan alat koji vam omogućava da radite u isto vrijeme u nekoliko sesija odjednom.
Školjke i komande
Najveći dio komunikacije sa sistemom linux se dešava kroz školjke (školjka). komandna školjka je program koji prihvata komande unete sa tastature i pretvara ih u uputstva za operativni sistem.
Nakon prijavljivanja, operativni sistem pokreće komandnu ljusku, nakon čega možete unositi komande. Naredba je prva riječ na komandnoj liniji. Sve ostalo na komandnoj liniji uzima se kao argument za ovu naredbu. Kao primjer, kreirajmo (mkdir) direktorij naredbi:
$ mkdir komande
Odjaviti se
Da biste se odjavili sa sistema, nakon prompta ljuske, unesite naredbu:
promijenite lozinku
Za promjenu lozinke unesite naredbu passwd. Naredba će od vas tražiti da unesete staru lozinku, a zatim novu. Tada će naredba tražiti da ponovo unesete novu lozinku za potvrdu:
Fajlovi i direktoriji
U operativnom sistemu linux koristi se pojam fajla ( fajl). Fajl je dio informacije koji ima svoje ime ( ime dokumenta). Trebali biste biti svjesni da se informacije pohranjuju na disku samo kao zasebne datoteke.
Uobičajeni nazivi datoteka u linux može imati do 255 znakova i sadržavati bilo koji znak osim znaka koda i / (kosa crta). Međutim, postoji veliki broj znakova koji se nalaze u ljusci školjka posebno značenje i koje se stoga ne preporuča uvrštavati u nazive. Ovo su sljedeći likovi:
! @ # $ & ~ % * () { } " " \ : ; > Koncept datoteke je usko povezan s konceptom direktorija ( imenik). Direktorij je zbirka datoteka. Korisnici Windows Direktorij se naziva "fascikla", po analogiji s mapom koja sadrži mnogo različitih listova. Međutim, ova analogija je netačna, jer Direktorij ne sadrži stvarne datoteke, već veze do datoteka, kao i do drugih direktorija. Direktoriji imaju imena po kojima se mogu prepoznati. Pored toga, direktoriji formiraju strukturu stabla; drugim riječima, postoji jedan korijenski direktorij koji sadrži sve ostale direktorije unutar njega. Prilikom pristupa datoteci, specificira se putanja (putanja), koja se može sastojati od naziva direktorija (imena direktorija ugniježđenih jedan u drugi), nakon čega slijedi naziv datoteke. Imena su međusobno odvojena kosom crtom (/). Na primjer: U gornjem primjeru možete vidjeti da su imena odvojena znakom /. To je razlog zašto ga ne mogu zadržati. U većini sistema linux koristi standardnu lokaciju datoteke tako da je lako pronaći lokaciju ključnih sistemskih datoteka i programa. Direktoriji formiraju strukturu stabla koja počinje s / direktorij. Ovaj direktorij se također naziva korijenski direktorij. Direktno uz / direktorij su važni poddirektoriji /bin, /etc, /dev, /usr i drugi. U svakom trenutku, data naredba se odnosi na trenutni direktorij ( trenutni imenik). Kada se prijavite, vaš trenutni direktorij je postavljen na vaš početni direktorij (u našem slučaju, /home/oleg). Pozivajući se na datoteku, možete odrediti i punu putanju do ove datoteke i samo putanju iz trenutnog direktorija. Prethodni primjer, kada se nađe, na primjer, u direktoriju /home/oleg/docs, izgledat će ovako: $ manje mokshadharma/index.xml Ako putanja datoteke (na primjer, mokshadharma/index.xml) počinje znakom koji nije / , tada se datoteka upućuje u odnosu na trenutni direktorij. Ovaj način postupanja se zove relativan način (relativni put). Ako ime datoteke počinje sa / , onda sistem to tumači kao punu putanju, tj. putanju koja vodi do datoteke, počevši od korijenskog direktorija / (/home/oleg/docs/mokshadharma/index.xml) . Ovo se također zove apsolutni put (apsolutni put). U komandnoj ljusci bash uključeni u skoro sve novoinstalirane sisteme linux, početni direktorij se može označiti sa ~ . Na primjer, naredba: $ manje ~/docs/mokshadharma/index.xml je ekvivalentna naredbi: $ manje /home/oleg/docs/mokshadharma/index.xml Komanda koja se koristi za kretanje kroz stablo direktorija je cd, skraćenica od promijeniti imenik(promjena imenika). Kao primjer korištenja naredbe cd, promijenite direktorij /home/oleg/docs/mokshadharma/: $ cd ~/docs/mokshadharma Sada iz trenutnog direktorija možete pristupiti datoteci sa sljedećom naredbom: $ manje index.xml Za promjenu u najbliži direktorij višeg nivoa, postoji naredba: Da biste promijenili svoj početni direktorij, možete izdati naredbu cd bez argumenata: Naredba ls (skraćenica od lista) prikazuje listu datoteka i direktorija (opcija -F vam omogućava da dobijete potpunije informacije): $ ls -F ~/docs/mokshadharma ch/ ch01.html ch02.html ch03.html cron.sh* docbook.xsl index.html index.xml pr01.html pt01.html style/ Na listi vidimo da je simbol / prikačen na kraj naziva poddirektorijuma, a simbol / na kraju naziva izvršne datoteke ( izvršni) je dodijeljen simbol * . Za kreiranje novog direktorija koristite naredbu mkdir (skraćenica za napravi direktorij). Na primjer, napravimo novi direktorij i unesemo ga: $ mkdir primjer $ cd primjer Komande touch i cat se koriste za kreiranje datoteka. Komanda touch kreira praznu datoteku: $ dodirnite ime_datoteke Da biste kreirali datoteku s naredbom cat, dizajniranu za preusmjeravanje izlaza, podaci sa standardnog ulaza (tastature) se šalju na njen ulaz, a izlaz naredbe se šalje u novu datoteku: $ mačka > nova_datoteka Nakon što se unese traženi tekst, pritisne se kombinacija tipki Enter i Ctrl-D ili Enter i Ctrl-C i sve uneseno će biti zapisano u new_file . Naravno, na ovaj način se kreiraju uglavnom kratki tekstualni fajlovi. Samo superkorisnik može promijeniti vlasnika, vlasnik datoteke ili superkorisnik može promijeniti grupu. Da bi imao pravo na promjenu grupe, vlasnik dodatno mora biti član grupe kojoj želi dati prava na ovaj fajl. Komanda rm (skraćenica od ukloniti): $ rm index.xml $ Podrazumevano, naredba rm nije uvijek konfigurirana da izdaje upozorenja prije nego što se datoteka uništi. Za uništavanje direktorija koristite naredbu rmdir, koja uništava samo prazan direktorij. $ cd .. $ rmdir primjer $ ls -F $ Da biste uništili direktorije koji sadrže datoteke i poddirektorije, koristite naredbu rm -rf, koju treba koristiti izuzetno oprezno, jer. sadržaj je uništen bez upozorenja. Naredbe more i cat se koriste za pregled sadržaja datoteka. Komanda more prikazuje sadržaj datoteke u komadima (jedan po jedan ekran), dok komanda mačka ispisuje cijelu datoteku odjednom. Poboljšana verzija više naziva se manje. Za pregled sadržaja prikazanog komandom less, koristite tipke B i razmak (možete koristiti i Page Up i Page Down). Gotovo svi sistemi porodice UNIX, uključujući sistem linux, imaju ekransku dokumentaciju ( man stranice). Njegovi tekstovi sadrže dokumentaciju o sistemskim komandama, resursima, konfiguracionim datotekama itd. i mogu se prikazati na ekranu tokom rada. Za pristup dokumentaciji na ekranu koristite naredbu man (skraćenica od priručnik). Na primjer, da biste vidjeli opcije za naredbu ls, otkucajte naredbu. Današnji članak u potpunosti je posvećen početnicima koji tek prave prve korake u fazi upoznavanja sa operativnim sistemom CentOS. U članku smo sakupili 20 najboljih naredbi koje će biti korisne u svakodnevnom radu, upravljanju serverom i osnovnom rješavanju problema. Često moramo instalirati razne programe. Sistem podrazumevano ima samo ono najosnovnije, a ako vam treba nešto specifično, moraćete ručno da instalirate programe. Instaliranje Linux programa je na neki način lakše nego na Windows. Ovdje se većina potrebnih programa nalazi u službenim spremištima, a da biste ih instalirali ili ažurirali, samo pokrenite nekoliko naredbi. U ovom članku ćemo pogledati kako se instaliraju paketi CentOS 7. Pogledajmo osnove rada sa yum menadžerom paketa, njegove mogućnosti, pronalaženje i rješavanje zavisnosti paketa. YUM (Yellowdog Updater Modified) je open source menadžer paketa koji je razvio RedHat za rukovanje RPM paketima. Omogućava korisnicima i administratorima sistema da instaliraju, uklanjaju i ažuriraju pakete na sistemima baziranim na RedHat-u. Program se distribuira pod GPL (General Public License) i svaki korisnik može pristupiti izvornom kodu ili čak poboljšati kod. Upravitelj paketa podržava povezivanje spremišta trećih strana i rješavanje zavisnosti za instaliranje paketa. Mogu se učitati različiti dodaci kako bi se poboljšalo Yumovo iskustvo. Uslužni program radi u konzoli, a njegova sintaksa je vrlo jednostavna: $ sudo yum options naredba ime paketa Prvo, pogledajmo osnovne naredbe upravitelja paketa: Razmotrimo i dodatne opcije koje će vam možda trebati kada instalirate rpm CentOS: Sada znate sve glavne značajke uslužnog programa, pogledajmo neke primjere rada s njim. Prije nego što pređete na instaliranje CentOS paketa, morate ažurirati listu spremišta i sistem na najnoviju verziju. Za ovo postoji naredba: Da biste instalirali paket koji se nalazi u službenim repozitorijumima, samo trebate koristiti naredbu install. Samo upišite ovu naredbu i naziv paketa, na primjer za firefox: sudo yum instaliraj thunderbird Tokom instalacije, moraćete da potvrdite da želite da instalirate ovaj određeni program pritiskom na taster y. Da biste to izbjegli, koristite opciju -y: sudo yum -y instalirati thunderbird Za pregled informacija o instaliranom paketu koristite info komandu: sudo yum info thunderbird Za uklanjanje paketa koristite naredbu za uklanjanje: sudo yum uklonite thunderbird Ne znamo tačne nazive svih paketa. Ali yum podržava funkciju pretraživanja koja će vam pomoći da shvatite koji paket CentOS 7 da instalirate. Postoje dvije naredbe za pretraživanje. Prva je pretraga - omogućava vam da pronađete paket po imenu: sudo yum traži mysql Drugi vam omogućava da pronađete potreban paket pomoću naredbe koja vam je potrebna, u nekim slučajevima može biti vrlo zgodno: sudo yum pruža lspci Sada znate koji vam je paket potreban i instaliranje CentOS 7 rpm paketa sada se može obaviti vrlo brzo i ne morate otvarati mnogo foruma da biste pronašli informacije. Grupe paketa su takođe prilično zgodan alat. Uz to, ne možete instalirati pakete jedan po jedan, već instalirati cijelu grupu odjednom. Prvo pogledajte listu dostupnih grupa: sudo yum grupna lista sudo yum informacije o grupi "Standard Web Server" Onda. da instalirate grupu paketa, otkucajte: sudo yum group instalirajte "Standard Web Server" Slično, možete nadograditi grupu paketa tako da ne nadogradite cijeli sistem: sudo yum ažuriranje grupe "Standard Web Server" Ili uklonite: sudo yum group ukloni "Standard Web Server" Zvanični repozitoriji nemaju sve potrebne pakete. Ako se serverski programi tamo mogu pronaći bez poteškoća, onda će biti problema sa desktop programima, istim kodecima. Potrebno ih je instalirati iz spremišta trećih strana. Spremišta u CentOS se ne dodaju putem konfiguracijske datoteke, već se instaliraju preuzimanjem i instaliranjem rpm datoteke spremišta. Na primjer, jedno od najčešće korištenih spremišta treće strane je EPEL. Njegov instalater je u službenim spremištima, tako da da biste se povezali, samo pokrenite: sudo yum install epel-release Ali ova situacija nije sa svim repozitorijumima. Mnogi od njih drže instalacione datoteke kod kuće. Na primjer, spremište s različitim nux multimedijalnim softverom se drugačije instalira. Prvo morate preuzeti datoteku spremišta sa veze. Obavezno preuzmite najnoviju verziju inače ništa neće raditi. Na primjer, trenutno najnoviji wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm Zatim instalirajte preuzeti paket sa yum: sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm Zatim ažurirajte listu spremišta i možete instalirati pakete: sudo yum install vlc Pa, pogledajmo listu spremišta: sudo yum repolist Ovdje su prikazana sva dostupna spremišta. Da biste uklonili spremište, biće dovoljno ukloniti njegov paket. Ako ne volite da koristite terminal, instaliranje CentOS 7 softvera može se obaviti i preko grafičkog interfejsa. Ali ovdje su mogućnosti mnogo manje nego u terminalu. Koristite uslužni program "Programi", koji se nalazi u glavnom meniju: CentOS je besplatna distribucija zasnovana na izvornom kodu Red Hat Enterprise Linuxa, zapravo, napravljen je od ovih izvora bez skoro nikakvih promjena, programeri su samo izrezali sve Red Hat brendiranje. Ali za razliku od Red Hata, CentOS je potpuno besplatan i prima redovna ažuriranja kratko vrijeme nakon što su objavljeni za Red Hat, budući da su također napravljeni iz izvora. CentOS se vrlo često koristi kao operativni sistem za servere. U jednom od prethodnih članaka pogledali smo kako . Danas ćemo pogledati postavljanje CentOS 7 servera nakon instalacije. Pokrićemo sve osnovne postavke koje ćete morati promijeniti da biste pokrenuli svoj server. Prva stvar koju treba učiniti je postaviti mrežu. Personalni računari koriste DHCP za dobijanje IP adrese, a računar će imati drugu adresu svaki put kada se pokrene, server mora uvek da radi na istoj adresi, tako da mu dodeljujemo statičku IP adresu. Takođe morate da konfigurišete DNS i podrazumevani gateway. Ali prvo, instalirajte uslužni program net-tools: yum install net-tools Prvo, pogledajmo dostupna mrežna sučelja i trenutnu IP adresu: Sada možete nastaviti s konfiguracijom sučelja putem datoteke /etc/sysconfig/network-scripts/ifcfg-enp0s3, na primjer, koristeći vi editor: vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 IPADDR = vaš_ip Nakon unošenja izmjena, ovaj fajl će izgledati ovako: Zatim ostaje ponovo pokrenuti mrežu kako biste primijenili nove postavke: restart servisne mreže Zatim, ako je potrebno, možete promijeniti IP adresu na isti način. Sledeća stvar koju treba da uradimo je da promenimo ime računara. Trenutni naziv računara je pohranjen u varijablu HOSTNAME: Da biste ga promijenili, trebate urediti datoteku /etc/hostname i zamijeniti staro ime hosta novim. vi /etc/hostname Također možete koristiti naredbu hostnamectl: hostnamectl set-hostname "hostname" Nakon instalacije, uobičajeno je ažuriranje softvera na najnoviju verziju kako bi se instalirala sva sigurnosna ažuriranja. Da ažurirate listu paketa u spremištima i instalirate nove verzije, pokrenite sljedeću naredbu: yum update && yum upgrade U mnogim slučajevima morate koristiti CentOS iz komandne linije bez GUI-ja, tako da će vam možda trebati pretraživač da pronađete nešto na Internetu ili provjerite zdravlje web lokacija iz komandne linije. Da instalirate pretraživač linkova, otkucajte: yum install links Možete pronaći druge pretraživače konzole za Linux, kao što su Lynx ili Elinks. Ispravna postavka vremenske zone je veoma važna za server. Ovo će ukloniti zabunu u zapisnicima i omogućiti vašim aplikacijama da prikažu tačan datum i vrijeme. Za konfiguraciju se koristi uslužni program timedatectl. Prvo nabavite listu vremenskih zona: timedatectl lista-vremenskih zona Zatim instalirajte onaj koji vam je potreban, na primjer, Europe/Kyiv: timedatectl set-timezone Europe/Kyiv Zatim provjerite: Lokalizacija određuje jezik i kodiranje koji će se koristiti na vašem sistemu, na primjer, da biste omogućili ruski jezik, postavite vrijednost na ru_RU.UTF-8 localectl set-locale LANG=ru_RU.UTF-8 Onda da vidimo šta se desilo: Zatim postavite raspored tastature: localectl set-keymap us SELinux skup pravila namijenjen je kontroli pristupa datotekama na Linux sistemu, ali ako ih ne namjeravate koristiti, onda se ova funkcija može onemogućiti. Da biste to učinili, pokrenite: sed -i "s/(^SELINUX=).*/SELINUX=isključeno/" /etc/selinux/config Zatim ponovo pokrenite računar i proverite da li je funkcija zaista onemogućena: Nije bezbedno koristiti sistem kao superkorisnik, a još više nije bezbedno ostaviti otvoren pristup root nalogu preko ssh-a. Prvo kreirajte običnog korisnika i postavite lozinku za njega: useradd korisničko ime Zatim dodajte korisnika u grupu kotača kako biste omogućili korisniku da radi kao administrator: usermod -G wheel korisničko ime Sada ostaje da prilagodite sudo postavke, za ovo dodajte sljedeći red, ako već nije tamo: %točak SVE = (SVE) SVE Dodavanje spremišta treće strane na proizvodni server nije dobra ideja, au nekim slučajevima može dovesti do loših rezultata. Međutim, ponekad će vam možda trebati programi koji nisu u službenim spremištima. Stoga razmislite o tome kako dodati više spremišta. Za dodavanje Enterprise Linux spremišta (EPEL) pokrenite: yum instaliraj epel-release Sa serverima najčešće moramo da radimo ne direktno, već preko mreže, preko SSH-a. Obično je SSH servis već instaliran i aktiviran, ali postoji nekoliko postavki koje je potrebno napraviti da bi ispravno radila. Prvo morate da konfigurišete upotrebu samo bezbednog protokola, da biste to uradili, otvorite datoteku /etc/ssh/ssh_config i uklonite liniju Protocol 2.1. I umjesto toga dodajte: Također morate onemogućiti prijavu kao superkorisnik: PermitRootLogin br Ako planirate da koristite mašinu kao web server, trebat će vam Apache. Pomoću njega možete hostirati web stranice, multimedijalni sadržaj, klijentske programe i još mnogo toga. Za instalaciju pokrenite: yum instaliraj httpd Kada je instalacija završena, prije nego što možete nastaviti s radom, morate dozvoliti HTTP u firewall-u: firewall-cmd --add-service=http Sada ostaje dodati Apache u startup: systemctl start httpd.service PHP je moderna web aplikacija i skript jezik. Često se koristi kao programski jezik opšte namene. Da instalirate, pokrenite: Nakon instalacije, morate ponovo pokrenuti Apache: echo -e ""> /var/www/html/phpinfo.php Zatim otvorite generiranu datoteku u pretraživaču: linkovi http://127.0.0.1/phpinfo.php MariaDB je baza podataka bazirana na MySQL izvornom kodu. Red Hat distribucije Linuxa koriste MariaDB umjesto MySQL. Baze podataka su nezamjenjiva stvar na serveru, tako da bi postavljanje CentOS-a nakon instalacije trebalo uključivati njegovu instalaciju. Da instalirate MariaDB, upišite: yum install mariadb-server mariadb Zatim pokrenite i dodajte startupu: systemctl start mariadb.service I dozvolite uslugu u firewall-u: firewall-cmd --add-service=mysql Ostaje pokrenuti konfiguracijsku skriptu: /usr/bin/mysql_secure_installation GCC je skraćenica od GNU Compiler Collection i skup je kompajlera koji se smatraju standardom za kompajliranje programa na Linuxu. Ali se ne isporučuje sa CentOS-om prema zadanim postavkama, pa upišite: Zatim možete pogledati GCC verziju: Java je opšte namene, objektno orijentisani programski jezik. Nije instaliran prema zadanim postavkama, tako da konfiguriranje CentOS 7 nakon instalacije može uključivati njegovu instalaciju. Da biste to učinili, pokrenite: yum instaliraj java Zatim provjerite verziju: U ovom članku smo pogledali kako je server CentOS 7 konfigurisan nakon instalacije. Kao što vidite, postoji mnogo elementarnih radnji koje je poželjno uraditi prije korištenja servera u proizvodnji. Ako imate pitanja, pitajte u komentarima!
Drvo imenika
Trenutni imenik
Pristup matičnom imeniku
Kretanje stablom direktorija
Pregled sadržaja imenika
Kreiranje novih direktorija
Kreiranje novih fajlova
Promijenite vlasnika datoteke ili grupu datoteke
Pregled sadržaja datoteka
Dokumentacija ekrana
Timovi
Instaliranje paketa na CentOS 7
Instaliranje CentOS paketa
Pronalaženje CentOS paketa
CentOS grupe paketa
Spremišta CentOS paketa
Instaliranje CentOS programa u GUI
1. Postavljanje statičke IP adrese
GATEWAY = gateway_to_access_the_network
DNS1 = IP_adresa_DNS1
DNS2 = IP_adresa_DNS22. Naziv računara
3. Ažurirajte CentOS
4. Instalirajte pretraživač
5. Podešavanje vremenske zone
7. Podešavanje jezika
8. Onemogućite SELinux
9. Kreirajte korisnika
# lozinka za lozinku10. Omogućite spremišta trećih strana
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm10. SSH postavljanje
11. Instalirajte Apache Web server
# firewall-cmd -permanent -add-port=3221/tcp
# firewall-cmd --reload
# systemctl omogućava httpd.service12. Instalirajte PHP
13. Instalacija baze podataka
# systemctl omogući mariadb.service14. Instalirajte GCC
15. Instalirajte Javu
zaključci