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.