RHCSA seeria: Yumi paketihaldus, ülesannete automatiseerimine Croni ja jälgimissüsteemi logidega - 10. osa
Selles artiklis käsitleme pakettide installimist, värskendamist ja eemaldamist Red Hat Enterprise Linux 7-s. Samuti käsitleme, kuidas croni abil ülesandeid automatiseerida, ja lõpetame selle juhendi, selgitades, kuidas süsteemilogifaile fookusega leida ja tõlgendada õpetada teile, miks kõik need on iga süsteemiadministraatori jaoks olulised oskused.
Pakettide haldamine Yumi kaudu
Paketi installimiseks koos kõigi selle installimata sõltuvustega kasutate järgmist:
# yum -y install package_name(s)
Kui pakendi_nimi (ed) tähistavad vähemalt ühte reaalset paketinime.
Näiteks httpd ja mlocate installimiseks (selles järjekorras) tippige.
# yum -y install httpd mlocate
Märkus. Et ülaltoodud näide täht y möödub kinnitusviipidest, mille yum esitab enne taotletud programmide tegelikku allalaadimist ja installimist. Soovi korral võite selle välja jätta.
Vaikimisi installib yum paketi koos arhitektuuriga, mis sobib OS-i arhitektuuriga, välja arvatud juhul, kui paketi arhitektuur selle nimele lisatakse.
Näiteks 64-bitises süsteemis installib pakett yum install paketi x86_64 versiooni, samas kui yum install package.x86 (kui see on saadaval) 32-bitise.
Mõnikord soovite paketi installida, kuid ei tea selle täpset nime. Otsingu kõik või otsinguvõimalused võivad praegu lubatud hoidlatest otsida teatud märksõna vastavalt ka paketi nimes ja/või kirjelduses.
Näiteks,
# yum search log
otsib installitud hoidlatest pakette, mille nimedes ja kokkuvõtetes on sõna log, kusjuures
# yum search all log
otsib sama märksõna ka pakendi kirjelduse ja URL-i väljadelt.
Kui otsing tagastab pakettide loendi, võiksite enne installimist kuvada mõne neist lisateavet. Siis on infovõimalus kasulik:
# yum info logwatch
Värskendusi saate regulaarselt kontrollida järgmise käsuga:
# yum check-update
Ülaltoodud käsk tagastab kõik installitud paketid, mille värskendus on saadaval. Alloleval pildil näidatud näites on värskendus saadaval ainult rhel-7-server-rpms:
Seejärel saate seda paketti üksi värskendada,
# yum update rhel-7-server-rpms
Kui on mitu paketti, mida saab värskendada, värskendab yum update neid kõiki korraga.
Mis juhtub siis, kui teate käivitatava faili nime, näiteks ps2pdf, kuid ei tea, milline pakett seda pakub? Funktsiooni yum abil saate teada, mis pakub\"*/[käivitatav]]"
# yum whatprovides “*/ps2pdf”
Nüüd, kui tegemist on pakendi eemaldamisega, saate seda teha pakendi eemaldamise abil. Lihtne, mis? See näitab, et yum on täielik ja võimas paketihaldur.
# yum remove httpd
Loe ka: 20 Yum käsku RHEL 7 paketihalduse haldamiseks
Vana hea tavaline RPM
RPM-i (teise nimega RPM Package Manager ehk algselt RedHat Package Manager) saab kasutada ka pakettide installimiseks või värskendamiseks, kui need on eraldiseisvate .rpm
-pakettidena.
Seda kasutatakse sageli lippude -Uvh
abil, et see peaks installima paketi, kui seda veel pole, või proovima seda värskendada, kui see on installitud (-U)
, mitmekülgne väljund (-v)
ja räsimärkidega edenemisriba (-h)
toimingu sooritamise ajal. Näiteks,
# rpm -Uvh package.rpm
Teine tüüpiline rpm-i kasutusviis on praegu installitud pakettide loendi loomine koodiga> rpm -qa (lühike kõigi päringute jaoks):
# rpm -qa
Loe ka: 20 RPM käsku pakettide installimiseks RHEL 7-sse
Ülesannete ajastamine Croni abil
Linux ja muud Unixi-laadsed operatsioonisüsteemid sisaldavad tööriista nimega cron, mis võimaldab ajastada ülesandeid (s.o käske või shelliskripte) perioodiliselt töötama. Cron kontrollib kataloogis/var/spool/cron iga minut failide kohta, mis on nime saanud/etc/passwd kontode järgi.
Käskude täitmisel saadetakse mis tahes väljund crontabi omanikule (või kasutajale, kes on määratud keskkonnamuutuja MAILTO kataloogis/etc/crontab, kui see on olemas).
Crontabi failidel (mis on loodud kirjutades crontab -e ja vajutades Enter) on järgmine vorming:
Seega, kui soovime värskendada kohalikku failide andmebaasi (mida locate kasutab failide leidmiseks nime või mustri järgi) iga kuu teisel päeval kell 2:15, peame lisama järgmise crontabi kirje:
15 02 2 * * /bin/updatedb
Ülaltoodud crontab-kirje kõlab: "Run/bin/updatedb kuu teisel päeval, igal aastal aastas, olenemata nädalapäevast, kell 02:15." Nagu ma olen kindel, et te juba arvasite , tähe sümbolit kasutatakse metamärgina.
Pärast croni töö lisamist näete, et fail nimega root lisati kataloogi/var/spool/cron, nagu me varem mainisime. Selles failis on loetletud kõik ülesanded, mida crond-deemon peaks käivitama:
# ls -l /var/spool/cron
Ülaltoodud pildil saab praeguse kasutaja crontab-i kuvada kas cat/var/spool/cron/root abil
# crontab -l
Kui peate mõne ülesande täitma täpsemalt (näiteks kaks korda päevas või kolm korda kuus), aitab cron teil ka seda teha.
Näiteks, et käivitada/my/script iga kuu 1. ja 15. kuupäeval ning mis tahes väljund saata aadressile/dev/null, saate lisada kaks crontab-kirjet järgmiselt:
01 00 1 * * /myscript > /dev/null 2>&1 01 00 15 * * /my/script > /dev/null 2>&1
Kuid selleks, et ülesannet oleks hõlpsam hooldada, saate mõlemad kanded ühte ühendada:
01 00 1,15 * * /my/script > /dev/null 2>&1
Eelmise näite järgi saame/my/other/script käivitada iga kolme kuu kuu esimesel päeval kell 1.30 hommikul:
30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1
Aga kui peate teatud ülesannet kordama iga\"x" minuti, tunni, päeva või kuu tagant, saate õige positsiooni jagada soovitud sagedusega. Järgmisel risttahukakirjel on täpselt sama tähendus kui eelmisel:
30 01 1 */3 * /my/other/script > /dev/null 2>&1
Või võib-olla peate käivitama kindla töö kindla sagedusega või näiteks pärast süsteemi käivitamist. Viie välja asemel võite kasutada ühte järgmistest stringidest, et näidata täpset aega, millal soovite oma tööd käivitada:
@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 * * * *.
Loe ka: 11 käsku ajakirja Cron töökohtade ajastamiseks RHEL 7-s
Logide leidmine ja kontrollimine
Süsteemilogid asuvad (ja pööratakse) kataloogis/var/log. Vastavalt Linuxi failisüsteemi hierarhia standardile sisaldab see kataloog mitmesuguseid logifaile, mis on süsteemi töö ajal vastavate deemonite poolt kirjutatud sinna või vastavasse alamkataloogi (näiteks audit, httpd või samba alloleval pildil):
# ls /var/log
Muud huvitavad logid on dmesg (sisaldab kõiki kerneli rõnga puhvris olevaid sõnumeid), turvaline (logib ühenduse katsed, mis nõuavad kasutaja autentimist), sõnumid (kogu süsteemi hõlmavad sõnumid) ja wtmp (kõigi kasutaja sisselogimiste ja väljalogimiste kirjed).
Logid on väga olulised selle poolest, et need võimaldavad teil heita pilgu sellele, mis teie süsteemis kogu aeg toimub ja mis on juhtunud minevikus. Need on hindamatu tööriist Linuxi serveri tõrkeotsinguks ja jälgimiseks ning seetõttu kasutatakse neid sageli koos käsuga tail -f
sündmuste reaalajas kuvamiseks, kui need juhtuvad ja logisse salvestatakse.
Näiteks kui soovite kuvada kerneliga seotud sündmusi, tippige järgmine käsk:
# tail -f /var/log/dmesg
Sama, kui soovite vaadata juurdepääsu oma veebiserverile:
# tail -f /var/log/httpd/access.log
Kokkuvõte
Kui teate, kuidas pakette tõhusalt hallata, ülesandeid ajastada ja kust otsida teavet oma süsteemi praeguse ja varasema töö kohta, võite olla kindel, et te ei satu üllatusi eriti sageli. Loodan, et see artikkel on aidanud teil õppida või värskendada oma teadmisi nende põhioskuste kohta.
Kui teil on küsimusi või kommentaare, heitke meile allpool oleva kontaktivormi abil rida.