RHCSA-sarja: Yum-pakettien hallinta, tehtävien automatisointi Cron- ja seurantajärjestelmälokeilla - osa 10


Tässä artikkelissa tarkastellaan pakettien asentamista, päivittämistä ja poistamista Red Hat Enterprise Linux 7 -käyttöjärjestelmässä. Käsittelemme myös tehtävien automatisointia cronin avulla ja viimeistelemme tämän oppaan, jossa selitetään, miten järjestelmälokitiedostot löytyvät ja tulkitaan kohdennetusti opettaa sinulle miksi nämä kaikki ovat välttämättömiä taitoja jokaiselle järjestelmänvalvojalle.

Pakettien hallinta Yumin kautta

Asenna paketti kaikkien sen riippumattomuuksien kanssa, joita ei ole vielä asennettu, käyttämällä:

# yum -y install package_name(s)

Jos paketin_nimi (t) edustavat vähintään yhtä todellista paketin nimeä.

Voit esimerkiksi asentaa httpd ja mlocate (siinä järjestyksessä) kirjoittamalla.

# yum -y install httpd mlocate

Huomaa: Y-kirjain ohittaa yllä olevan esimerkin vahvistuspyynnöt, jotka yum esittää ennen pyydettyjen ohjelmien varsinaista lataamista ja asentamista. Voit jättää sen pois, jos haluat.

Oletusarvoisesti yum asentaa paketin arkkitehtuurilla, joka vastaa käyttöjärjestelmän arkkitehtuuria, ellei ohita lisäämällä paketin arkkitehtuuria sen nimeen.

Esimerkiksi 64-bittisessä järjestelmässä yum install -paketti asentaa x86_64-paketin version, kun taas yum install package.x86 (jos saatavilla) asentaa 32-bittisen.

Joskus haluat asentaa paketin, mutta et tiedä sen tarkkaa nimeä. Hae kaikki tai -hakuvaihtoehdot voivat etsiä tällä hetkellä käytössä olevista arkistoista tiettyä avainsanaa vastaavasti paketin nimessä ja/tai sen kuvauksessa.

Esimerkiksi,

# yum search log

etsii asennetuista arkistoista paketteja, joiden nimissä ja yhteenvedoissa on sana loki, kun taas

# yum search all log

etsii samaa avainsanaa myös paketin kuvaus- ja URL-kentistä.

Kun haku palauttaa pakettiluettelon, saatat haluta näyttää lisätietoja joistakin niistä ennen asennusta. Silloin tietovaihtoehto on kätevä:

# yum info logwatch

Voit tarkistaa päivitykset säännöllisesti seuraavalla komennolla:

# yum check-update

Yllä oleva komento palauttaa kaikki asennetut paketit, joille päivitys on käytettävissä. Alla olevassa kuvassa esitetyssä esimerkissä vain rhel-7-server-rpms: llä on päivitys saatavilla:

Voit sitten päivittää kyseisen paketin yksin,

# yum update rhel-7-server-rpms

Jos päivitettävissä on useita paketteja, yum update päivittää ne kaikki kerralla.

Mitä tapahtuu, kun tiedät suoritettavan tiedoston, kuten ps2pdf, nimen, mutta et tiedä mikä paketti tarjoaa sen? Voit selvittää yum -toiminnon avulla, mikä tarjoaa ”*/[suoritettava tiedosto]” :

# yum whatprovides “*/ps2pdf”

Nyt, kun on kyse paketin poistamisesta, voit tehdä sen yum remove -paketilla. Helppo, vai mitä? Tämä osoittaa, että yum on täydellinen ja tehokas paketinhallinta.

# yum remove httpd

Lue myös: 20 Yum-komentoa RHEL 7 -paketinhallinnan hallintaan

Vanha hyvä tavallinen kierrosluku

RPM: ää (alias RPM Package Manager, tai alun perin RedHat Package Manager) voidaan käyttää myös pakettien asentamiseen tai päivittämiseen, kun ne ovat erillisten .rpm -pakettien muodossa.

Sitä käytetään usein lippujen -Uvh kanssa osoittamaan, että sen tulisi asentaa paketti, jos sitä ei vielä ole, tai yritä päivittää sitä, jos se on asennettu (-U) , mikä tuottaa runsas ulostulo (-v) ja edistymispalkki, jossa hash-merkit (-h) toiminnon suorittamisen aikana. Esimerkiksi,

# rpm -Uvh package.rpm

Toinen rpm: n tyypillinen käyttö on luoda luettelo nykyisistä asennetuista paketeista, joiden koodi on> rpm -qa (lyhyt kysely kaikille):

# rpm -qa

Lue myös: 20 RPM-komentoa pakettien asentamiseksi RHEL 7: een

Tehtävien ajoitus Cronilla

Linux ja muut Unixin kaltaiset käyttöjärjestelmät sisältävät työkalun nimeltä cron, jonka avulla voit ajoittaa tehtäviä (ts. Komentoja tai komentosarjoja) ajoittain. Cron tarkistaa joka minuutti hakemistossa/var/spool/cron tiedostot, jotka on nimetty/etc/passwd: n tilien mukaan.

Komentoja suoritettaessa kaikki lähetykset postitetaan crontabin omistajalle (tai käyttäjälle, joka on määritetty/etc/crontab-ympäristömuuttujassa MAILTO, jos sellainen on).

Crontab-tiedostoilla (jotka luodaan kirjoittamalla crontab -e ja painamalla Enter) on seuraava muoto:

Jos siis haluamme päivittää paikallisen tiedostotietokannan (jota locate käyttää tiedostojen etsimiseen nimen tai mallin mukaan) kuukauden joka toisena päivänä kello 2:15, meidän on lisättävä seuraava crontab-merkintä:

15 02 2 * * /bin/updatedb

Yllä olevassa crontab-merkinnässä lukee "Suorita/bin/updatedb kuukauden toisena päivänä, joka kuukausi vuodessa, riippumatta viikonpäivästä, kello 2:15." Kuten olet varmasti arvannut, tähtimerkkiä käytetään jokerimerkkinä.

Kun olet lisännyt cron-työn, voit nähdä, että tiedosto nimeltä root lisättiin/var/spool/cron -kenttään, kuten aiemmin mainitsimme. Tiedosto listaa kaikki tehtävät, jotka Crond-daemonin tulisi suorittaa:

# ls -l /var/spool/cron

Yllä olevassa kuvassa nykyisen käyttäjän crontab voidaan näyttää joko käyttämällä cat/var/spool/cron/root tai

# crontab -l

Jos sinun on suoritettava tehtävä tarkemmin (esimerkiksi kahdesti päivässä tai kolme kertaa kuukaudessa), cron voi myös auttaa sinua tekemään sen.

Esimerkiksi, jos haluat suorittaa/my/scriptin jokaisen kuukauden 1. ja 15. päivänä ja lähettää minkä tahansa lähdön/dev/null, voit lisätä kaksi crontab-merkintää seuraavasti:

01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

Mutta jotta tehtävä olisi helpompi ylläpitää, voit yhdistää molemmat merkinnät yhdeksi:

01 00 1,15 * *  /my/script > /dev/null 2>&1

Aikaisemman esimerkin mukaisesti voimme suorittaa/my/other/script-ohjelman kolmen kuukauden välein kello 1.30 kuukauden ensimmäisenä päivänä:

30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

Mutta kun joudut toistamaan tietyn tehtävän ”x” minuutin, tunnin, päivän tai kuukauden välein, voit jakaa oikean sijainnin halutulla taajuudella. Seuraavalla crontab-merkinnällä on täsmälleen sama merkitys kuin edellisellä:

30 01 1 */3 * /my/other/script > /dev/null 2>&1

Tai ehkä sinun on suoritettava tietty työ kiinteällä taajuudella tai esimerkiksi järjestelmän käynnistymisen jälkeen. Voit käyttää yhtä seuraavista merkkijonoista viiden kentän sijaan osoittamaan tarkan ajan, jolloin haluat työsi suoritettavan:

@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 * * * *.

Lue myös: 11 komentoa Cron-töiden aikatauluttamiseen RHEL 7: ssä

Lokien sijainti ja tarkistus

Järjestelmälokit sijaitsevat (ja käännetään) hakemiston/var/log sisällä. Linux Filesystem Hierarchy Standard -standardin mukaan tämä hakemisto sisältää erilaisia lokitiedostoja, jotka vastaavat kirjeenvaihtajat kirjoittavat siihen tai asianmukaiseen alihakemistoon (kuten alla olevassa kuvassa oleva audit, httpd tai samba) järjestelmän käytön aikana:

# ls /var/log

Muita mielenkiintoisia lokeja ovat dmesg (sisältää kaikki viestit ytimen rengaspuskurista), suojatut (lokiyhteysyritykset, jotka edellyttävät käyttäjän todennusta), viestit (koko järjestelmän kattavat viestit) ja wtmp (kaikkien käyttäjän kirjautumisten ja uloskirjautumisten tietueet).

Lokit ovat erittäin tärkeitä, koska niiden avulla voit saada vilauksen siitä, mitä järjestelmässäsi tapahtuu jatkuvasti ja mitä on tapahtunut aiemmin. Ne edustavat korvaamatonta työkalua Linux-palvelimen vianmääritykseen ja seurantaan, ja siksi niitä käytetään usein tail -f -komennon kanssa tapahtumien näyttämiseen reaaliajassa, kun ne tapahtuvat ja tallennetaan lokiin.

Jos esimerkiksi haluat näyttää ytimeen liittyvät tapahtumat, kirjoita seuraava komento:

# tail -f /var/log/dmesg

Sama, jos haluat tarkastella pääsyä Web-palvelimeesi:

# tail -f /var/log/httpd/access.log

Yhteenveto

Jos tiedät kuinka hallita paketteja tehokkaasti, ajoittaa tehtäviä ja mistä etsiä tietoa järjestelmän nykyisestä ja aiemmasta toiminnasta, voit olla varma, ettet törmää yllätyksiin kovin usein. Toivon, että tämä artikkeli on auttanut sinua oppimaan tai päivittämään tietosi näistä perustaidoista.

Älä epäröi antaa meille riviä alla olevan yhteydenottolomakkeen avulla, jos sinulla on kysyttävää tai kommentteja.