Serija RHCSA: Upravljanje Yum paketima, automatizacija zadataka s Cronom i zapisnici sustava za nadzor - 10. dio
U ovom ćemo članku pregledati kako instalirati, ažurirati i ukloniti pakete u Red Hat Enterprise Linux 7. Također ćemo obraditi kako automatizirati zadatke koristeći cron, i završit ćemo ovaj vodič objašnjavajući kako locirati i protumačiti datoteke zapisnika sustava s fokusom na to da vas naučimo zašto su sve ove vještine ključne za svakog administratora sustava.
Upravljanje paketima putem Yuma
Da biste instalirali paket zajedno sa svim njegovim ovisnostima koje još nisu instalirane, upotrijebit ćete:
yum -y install package_name(s)
Gdje package_name(s) predstavlja barem jedan pravi naziv paketa.
Na primjer, da biste instalirali httpd i mlocate (tim redoslijedom), upišite.
yum -y install httpd mlocate
Napomena: Slovo y u gornjem primjeru zaobilazi upite za potvrdu koje yum prikazuje prije izvođenja stvarnog preuzimanja i instalacije traženih programa. Možete ga izostaviti ako želite.
Prema zadanim postavkama, yum će instalirati paket s arhitekturom koja odgovara arhitekturi OS-a, osim ako se ne poništi dodavanjem arhitekture paketa njegovom nazivu.
Na primjer, na 64 bitnom sustavu, yum install package će instalirati x86_64 verziju paketa, dok će yum install package.x86 (ako je dostupno) instalirat će 32-bitni.
Bit će trenutaka kada želite instalirati paket, ali ne znate njegov točan naziv. Opcije pretraži sve ili pretraži mogu pretraživati trenutno omogućena spremišta za određenu ključnu riječ u nazivu paketa i/ili u njegovom opisu.
Na primjer,
yum search log
pretražit će instalirana spremišta za pakete s riječju log u njihovim nazivima i sažetcima, dok
yum search all log
tražit će istu ključnu riječ u opisu paketa i poljima url.
Nakon što pretraga vrati popis paketa, možda ćete htjeti prikazati dodatne informacije o nekim od njih prije instaliranja. Tada će vam dobro doći opcija info:
yum info logwatch
Možete redovito provjeravati ažuriranja pomoću sljedeće naredbe:
yum check-update
Gornja naredba vratit će sve instalirane pakete za koje je dostupno ažuriranje. U primjeru prikazanom na slici ispod, samo rhel-7-server-rpms ima dostupno ažuriranje:
Tada možete sami ažurirati taj paket s,
yum update rhel-7-server-rpms
Ako postoji nekoliko paketa koji se mogu ažurirati, yum ažuriranje ažurirat će ih sve odjednom.
Što se sada događa kada znate naziv izvršne datoteke, kao što je ps2pdf, ali ne znate koji paket to nudi? Možete saznati pomoću yum whatprovides “*/[executable] ”
:
yum whatprovides “*/ps2pdf”
Sada, kada je riječ o uklanjanju paketa, to možete učiniti s yum remove package. Lako, ha? Ovo pokazuje da je yum potpun i moćan upravitelj paketa.
yum remove httpd
Pročitajte također: 20 Yum naredbi za upravljanje upravljanjem RHEL 7 paketima
Dobri stari obični RPM
RPM (aka RPM Package Manager, ili izvorno RedHat Package Manager) također se može koristiti za instaliranje ili ažuriranje paketa kada dolaze u obliku samostalnih paketa .rpm
paketi.
Često se koristi sa zastavicama -Uvh
da naznači da treba instalirati paket ako već nije prisutan ili ga pokušati ažurirati ako je instaliran (-U)
, proizvodeći verbose izlaz (-v)
i traka napretka s hash oznakama (-h)
dok se operacija izvodi. Na primjer,
rpm -Uvh package.rpm
Još jedna tipična upotreba rpm je stvaranje popisa trenutno instaliranih paketa s kodom>rpm -qa (skraćenica od query all):
rpm -qa
Pročitajte također: 20 RPM naredbi za instaliranje paketa u RHEL 7
Zakazivanje zadataka pomoću Crona
Linux i drugi operativni sustavi slični Unixu uključuju alat pod nazivom cron koji vam omogućuje da rasporedite zadatke (tj. naredbe ili skripte ljuske) za povremeno izvođenje. Cron svake minute provjerava direktorij /var/spool/cron za datoteke koje su nazvane po računima u /etc/passwd.
Prilikom izvršavanja naredbi, svaki izlaz šalje se poštom vlasniku crontab (ili korisniku navedenom u varijabli okruženja MAILTO u /etc/crontab, ako postoji).
Crontab datoteke (koje se stvaraju upisivanjem crontab -e i pritiskom na Enter) imaju sljedeći format:
Stoga, ako želimo ažurirati lokalnu bazu podataka datoteka (koju koristi locate za pronalaženje datoteka prema nazivu ili uzorku) svakog drugog dana u mjesecu u 2:15 ujutro, moramo dodati sljedeće crontab unos:
15 02 2 * * /bin/updatedb
Gornji crontab unos glasi: “Pokreni /bin/updatedb drugog dana u mjesecu, svakog mjeseca u godini, bez obzira na dan u tjednu, u 2:15 ujutro”. Kao što ste već pogodili, simbol zvjezdice koristi se kao zamjenski znak.
Nakon dodavanja cron posla, možete vidjeti da je datoteka pod nazivom root dodana unutar /var/spool/cron, kao što smo ranije spomenuli. Ta datoteka navodi sve zadatke koje crond demon treba pokrenuti:
ls -l /var/spool/cron
Na gornjoj slici, crontab trenutnog korisnika može se prikazati pomoću cat /var/spool/cron/root ili,
crontab -l
Ako trebate pokrenuti zadatak na detaljnijoj osnovi (na primjer, dva puta dnevno ili tri puta svaki mjesec), cron vam također može pomoći u tome.
Na primjer, da pokrenete /my/script 1. i 15. svakog mjeseca i pošaljete bilo koji izlaz u /dev/null, možete dodajte dva crontab unosa kako slijedi:
01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1
Ali kako bi zadatak bio lakši za održavanje, možete spojiti oba unosa u jedan:
01 00 1,15 * * /my/script > /dev/null 2>&1
Slijedeći prethodni primjer, možemo pokrenuti /my/other/script u 1:30 ujutro prvog dana u mjesecu svaka tri mjeseca:
30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1
Ali kada morate ponoviti određeni zadatak svakih “x ” minuta, sati, dana ili mjeseci, možete podijeliti pravi položaj sa željenom učestalošću. Sljedeći crontab unos ima potpuno isto značenje kao i prethodni:
30 01 1 */3 * /my/other/script > /dev/null 2>&1
Ili možda trebate pokrenuti određeni posao na fiksnoj frekvenciji ili nakon podizanja sustava, na primjer. Možete upotrijebiti jedan od sljedećih nizova umjesto pet polja kako biste označili točno vrijeme kada želite da se vaš posao pokrene:
@reboot Run when the system boots.
@yearly Run once a year, same as 00 00 1 1 *.
@monthly Run once a month, same as 00 00 1 * *.
@weekly Run once a week, same as 00 00 * * 0.
@daily Run once a day, same as 00 00 * * *.
@hourly Run once an hour, same as 00 * * * *.
Pročitajte također: 11 naredbi za planiranje Cron poslova u RHEL 7
Lociranje i provjera zapisa
Dnevnici sustava nalaze se (i rotiraju) unutar direktorija /var/log. Prema standardu hijerarhije Linux datotečnog sustava, ovaj direktorij sadrži razne datoteke dnevnika koje se zapisuju u njega ili odgovarajući poddirektorij (kao što je audit, httpd ili samba na slici ispod) od strane odgovarajućih demona tijekom rada sustava:
ls /var/log
Ostali zanimljivi dnevnici su dmesg (sadrži sve poruke iz međuspremnika prstena jezgre), secure (bilježi pokušaje povezivanja koji zahtijevaju autentifikaciju korisnika), messages (poruke na razini cijelog sustava) i wtmp (zapisi svih prijava i odjava korisnika).
Dnevnici su vrlo važni jer vam omogućuju da imate uvid u ono što se u svakom trenutku događa u vašem sustavu i što se dogodilo u prošlosti. Predstavljaju neprocjenjiv alat za rješavanje problema i nadzor Linux poslužitelja, te se stoga često koriste s tail -f naredbom
za prikaz događaja, u stvarnom vremenu, kako se događaju i bilježe u dnevniku.
Na primjer, ako želite prikazati događaje povezane s kernelom, upišite sljedeću naredbu:
tail -f /var/log/dmesg
Isto ako želite vidjeti pristup svom web poslužitelju:
tail -f /var/log/httpd/access.log
Sažetak
Ako znate kako učinkovito upravljati paketima, rasporediti zadatke i gdje potražiti informacije o trenutnom i prošlom radu vašeg sustava, možete biti sigurni da nećete često naići na iznenađenja. Nadam se da vam je ovaj članak pomogao naučiti ili osvježiti svoje znanje o ovim osnovnim vještinama.
Ne ustručavajte se javiti nam se putem obrasca za kontakt u nastavku ako imate pitanja ili komentara.