5.1.7. Održavanje operativnog sustava |
Po održavanjem operativnog sustava podrazumijeva se njegovo redovito ažuriranje novim 'zakrpama' koje uglavnom ispravljaju neke sigurnosne propuste na već instaliranom sustavu, nadogradnja novih verzijama programa i biblioteka, 'čišćenje' datotečnog sustava od nakupina nepotrebnih zaostalih datoteka i izrada sigurnosne kopije podataka. Nadalje slijedi opis radnji za Debian operativni sustav.
Mehanizam dogradnje sustava razdvojen je prema distribucijama i vrši se komandnom skupinom tipa ' apt '. Komanda se oslanja na zapise u datoteci [/etc/apt/sources.list] u kojoj u navedeni svi poslužitelji koji omogućavaju učinkovitu primjenu komande.
drago@voda:/etc/apt$ cat sources.list
#
# deb cdrom:[Debian GNU/Linux 5.0.5 _Lenny_ - Official i386 NETINST ... main
deb https://ftp.carnet.hr/debian/ lenny main
deb-src https://ftp.carnet.hr/debian/ lenny main
deb https://security.debian.org/ lenny/updates main
deb-src https://security.debian.org/ lenny/updates main
deb https://volatile.debian.org/debian-volatile lenny/volatile main
deb-src https://volatile.debian.org/debian-volatile lenny/volatile main
drago@voda:/etc/apt$
U popisu se nalazi sjedište s kojeg je instalacija izvršena, sjedište koje služi za rješavanje sigurnosnih propusta i sjedište s nestalnim sadržajima kao što su spam filtri, antivirusne definicije i slično. Instalaciju novih paketa ili brisanje i rekonfiguraciju postojećih može izvršiti samo administrator na način kako je nadalje navedeno.
drago@voda:~$ drago@voda:~$ su - ............. (upis administratorske zaporke korisnika 'root') voda:~# voda:~# pwd (komanda za ispis trenutnog mjesta rada 'root') /root voda:~# cd / voda# voda# / voda# apt-get clean (čišćenje već instaliranih i arhiviranih paketa) voda# apt-get update (obnavljanje liste izvora za preuzimanje) voda# apt-get upgrade (preuzimanje novih verzija paketa) voda# apt-get dist-upgrade (nadogradnja postojeće distribucije) voda# apt-get install ime_paketa (instalacija točno određenog paketa) voda# apt-get remove ime_paketa (uklanjanje paketa, konfiguracija ostaje) voda# apt-get purge ime_paketa (uklanjanje paketa i konfiguracije) voda# apt-get check (provjera međuzavisnosti između programa) voda# apt-get autoremove (brisanje paketa koji nisu više u funkciji)
Sama procedura ažuriranja poslužitelja izgleda otprilike ovako:
voda:/# voda:/# apt-get clean voda:/# apt-get update Hit https://security.debian.org lenny/updates Release.gpg Ign https://security.debian.org lenny/updates/main Translation-en_US Hit https://security.debian.org lenny/updates Release Hit https://ftp.carnet.hr lenny Release.gpg Ign https://security.debian.org lenny/updates/main Packages/DiffIndex Ign https://security.debian.org lenny/updates/main Sources/DiffIndex Hit https://security.debian.org lenny/updates/main Packages Hit https://security.debian.org lenny/updates/main Sources Ign https://ftp.carnet.hr lenny/main Translation-en_US Hit https://ftp.carnet.hr lenny Release Hit https://volatile.debian.org lenny/volatile Release.gpg Ign https://volatile.debian.org lenny/volatile/main Translation-en_US Ign https://ftp.carnet.hr lenny/main Packages/DiffIndex Hit https://volatile.debian.org lenny/volatile Release Ign https://volatile.debian.org lenny/volatile/main Packages/DiffIndex Ign https://volatile.debian.org lenny/volatile/main Sources/DiffIndex Ign https://ftp.carnet.hr lenny/main Sources/DiffIndex Hit https://volatile.debian.org lenny/volatile/main Packages Hit https://volatile.debian.org lenny/volatile/main Sources Hit https://ftp.carnet.hr lenny/main Packages Hit https://ftp.carnet.hr lenny/main Sources Reading package lists... Done voda:/# apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. voda:/#
Prvo se očisti arhiva paketa. Nije nužno ako se misli da će neki od novih paketa biti nestabilan. Nakon toga se prema datoteci sources.list ažurira dohvat do odgovarajućih sjedišta i očitavaju verzije paketa, a potom se vrši nadogradnja paketa. Ako je sve ažurno status svih radnji je ' 0 '. Ako se pak treba ažurirati neki paket prikaže se njegovo ime i traži potvrda ažuriranja. Postupak se ponavlja sve dok se status ažuriranja ne dovede do ' 0 ' po svim stavkama. Ponekad je potrebno uporabiti komandu ' apt-get dist-upgrade ' koja služi za nadogradnju postojeće distribucije na način da se instalira nova verzija paketa uz koju će se moguće izvršiti brisanje, zamjena ili nadopuna nekih drugih starijih paketa. Stoga se radnja nadogradnje postojeće distribucije ne može izvršiti uobičajenom ' apt-get upgrade ' komandom da se status ažuriranja dovede do ' 0 ', jer se ova komanda bavi isključivo ažuriranjem postojećih paketa bez unosa izmjena u sustav.
voda:~# dpkg -l | more Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-===============-====================-====================================== ii acpi-support 0.109-11 scripts for handling base ACPI ..... ii acpid 1.0.8-1lenny2 Utilities for using ACPI ..... ii adduser 3.110 add and remove users and groups ii apt 0.7.20.2+lenny2 Advanced front-end for dpkg ii apt-utils 0.7.20.2+lenny2 APT utility programs ii aptitude 0.4.11.11-1-lenny1 terminal-based package manager ii base-files 5lenny6 Debian base system miscellaneous ..... ii base-passwd 3.5.20 Debian base system master password ... ii bash 3.2-4 The GNU Bourne Again SHell : ii dhcp3-client 3.1.1-6+lenny4 DHCP client ii dhcp3-common 3.1.1-6+lenny4 common files used by all ..... : ii grub 0.97-47lenny2 GRand Unified Bootloader ..... ii grub-common 1.96+20080724-16 GRand Unified Bootloader, ..... ii gzip 1.3.12-6+lenny1 The GNU compression utility : ii wget 1.11.4-2+lenny1 retrieves files from the web ii whiptail 0.52.2-11.3+lenny1 Displays user-friendly dialog ..... ii x11-common 1:7.3+20 X Window System (X.Org) infrastructure ii xauth 1:1.0.3-2 X authentication utility ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime
Prvi stupac u popisu pokazuje koji je status paketa po instalaciji. Jedini ispravan status paketa je ' ii ' U zaglavlju popisa plavom bojom označena su slova koja se mogu pojaviti u prvom stupcu. Drugi stupac su imena instaliranih paketa, treći stupac prikazuje verzije paketa a četvrti su kratki opisi paketa. Ime_paketa ne treba miješati s punim nazivom paketa koji se nekom FTP programskom potporom preuzima s nekog sjedišta. Na primjer, imenu paketa ' bash ' pripada pun naziv ' bash_3.2-4_i386.deb '. Obično je na sjedištu raspoloživa najnovija verzija paketa za različite platforme i nekoliko starijih verzija. ' apt ' mehanizam zna sve to razlučiti i uzeti što mu treba na osnovu liste međuzavisnosti (dependency) između osnovnog paketa, popratnih paketa i potrebnih biblioteka.
Dakle, paketi se mogu instalirati i s računala ako se prethodno preuzmu s nekom FTP programskom potporom ili komandom ' wget '. Paket se potom u imeniku u kojem se nalazi, kao .deb datoteka, instalira na nadalje opisani način.
drago@voda:~$ drago@voda:~$ su - ............. (upis administratorske zaporke korisnika 'root') voda:~# voda:~# cd / voda# voda# dpkg --list (pregled instaliranih paketa) voda# dpkg --install pun_naziv_paketa.deb (instalacija preuzetog paketa) voda# dpkg --remove ime_paketa (uklanjanje paketa, konfiguracija ostaje) voda# dpkg --purge ime_paketa (uklanjanje paketa i konfiguracije) voda# dpkg --configure ime_paketa (rekonfiguracija instaliranog paketa) voda# dpkg-reconfigure ime_paketa (rekonfiguracija pakete)
U ovom primjeru radi se o instalaciji paket koji je preuzet i premješten u korijenski imenik, mada nije od značaja s kojeg mjesta se paket instalira. Iz primjera se vidi da je moguća i rekonfiguracija već instaliranih paketa. Ako se želi ukloniti neki paket može se dogoditi da to nije moguće izvršiti, jer je po međuzavisnoj hijerarhiji potreban nekom drugom paketu. U tom slučaju prvo treba ukloniti taj drugi paket, ako nije od koristi, te potom željeni paket. Već se može naslutiti da neoprezno uklanjanje paketa može izazvati ozbiljne posljedice. Zato prava u radu s paketima ima samo superuser.
Ako se ukaže potreba da se neki od paketa ukloni, navedeno se može obaviti i s komandom ' apt ' kako slijedi:
voda# apt-get remove ime_paketa (uklanjanje paketa bez konfiguracije) voda# apt-get remove --purge ime_paketa (uklanjanje paketa i konfiguracije)
Tijekom rada s računalom korisnik može doći u situaciju da izvrši velik broj instalacija i deinstalacija pojedinih paketa, što neminovno dovodi do toga da na sustavu ostanu datoteke koje s ničim nisu povezane - siročići (orphans). Takve datoteke brišu se komandom:
voda# apt-get remove --purge $(deborphan)
Komanda se sukcesivno ponavlja sve dok se broj ostataka ne svede na nulu.
* * * * * komanda za izvršiti; naredna komanda; naredna komanda .... - - - - - | | | | | | | | | '----- dan u tjednu ( 0 - 6 ; Nedjelja=0) | | | '-------- mjesec ( 1 - 12 ) | | '----------- dan u mjesecu ( 1 - 31 ) | '-------------- sat u danu ( 0 - 23 ) '----------------- minuta u satu ( 0 - 59 )
Zvjezdica znači 'bilo koji', a stvarnih vrijednosti može biti više, odvojenih zarezom ako su pojedinačne, ili s minusom ako je u pitanju raspon između brojeva koji ga okružuju.
Izrada sigurnosne kopije podataka u nedjelju tijekom naći ili dnevno izvješće o zapunjenosti diskova su neki od tih poslova. U narednom primjeru prikazan je dio sadržaja datoteke [/var/spool/cron/crontabs/root], koja se izvršava pod nadzorom supervisora. U istom imeniku može se nalaziti i datoteka 'drago' s istom zadaćom ali sa sadržajima specifičnim za korisnika.
mak:/# mak:/# cd /var/spool/cron/crontabs# ls -al mak:/var/spool/cron/crontabs# ls -al
total 12
drwx-wx--x 2 root crontab 4096 Mar 4 11:37 .
drwxr-xr-x 3 root root 4096 Jul 1 2009 ..
-rw------- 1 root root 3373 Mar 6 12:26 root mak:/var/spool/cron/crontabs# mak:/var/spool/cron/crontabs# cat root : # Backup na traku #
1 2 * * 0 updatedb
4 2 * * 0 mt -f /dev/st0 rewind
5 2 * * 0 cd /; tar -zcf /dev/st0 etc home usr var -X /home/0script/bkp_no.txt; /usr/bin/mail -s mak-backup ostalo@mak.ktf-split.hr < /home/0script/backup.txt : # zauzetost diska - posta #
14 3 * * * cd /home/0script; df -kh > disk.log; /usr/bin/mail -s mak-disk ostalo@mak.ktf-split.hr < disk.log; rm disk.log : # brisanje stare poste #
32 6 * * * cd /home/0script; /home/0script/stara_ptt > null; /usr/bin/mail -s mak-stara_posta ostalo@mak.ktf-split.hr < /home/0script/stara_ptt.txt
Duži redovi u primjeru prikazani su razlomljeni nakon znaka ' ; ' ili znaka redirekcije radi preglednosti stranice. U primjeru se vidi i način primjene znakova za usmjeravanje ' > ' i ' < '. Datoteka bkp_no.txt sadrži popis datoteka koje će se izostaviti u postupku arhiviranja, a datoteka backup.txt je poruka koja se administratoru šalje poštom. Komanda ' /usr/bin/mail ' nije osnovni dio operativnog sustava i naknadno je treba instalirati.
mak:/var/spool/cron/crontabs# mak:/var/spool/cron/crontabs# cd /home/0script mak:/home/0script# cat backup.txt Izvrsen je backup na traku za: /etc /home /usr /var! mak:/home/0script# mak:/home/0script# cat stara_ptt #! /bin/zsh
cd /var/mail
for i in *
do
mail-expire --delete 40 $i
chown $i:mail $i
chmod 660 $i
done mak:/home/0script# mak:/home/0script# cat stara_ptt.txt Obrisana je posta starija od 40 dana! mak:/home/0script#
U sustav su ugrađen mehanizam za poslove vezane uz satnicu, za zbivanja koja se periodički vrše svaki sat, dnevno, tjedno i mjesečno, što se najbolje vidi uvidom u sadržaj [/etc] imenika. Korisnik ' ostalo ' je zapisan u datoteci [etc/aliases] u kojoj stoji da se posta upućena na njega usmjerava na korisnika ' drago '. Tako se može definirati da se posta upućena npr. na adresu kontakt@trazilica.hr usmjerava na više osoba. Usmjeravanje rezultata rada skripte za brisanje stare pošte u ' null ' uređaj (crnu rupu) znači da nema nikakvog vidljivog izlaza, jer uopće nije važno koliko toga i što je bilo prije 40 dana.
Izrada sigurnosne kopije vrši se komandom ' tar ' iz korijenskog imenika, i pri tome se ispred naziva imenika koji se arhiviraju, u ovom slučaju imenici [/etc], [/home], [/usr] i [/var], ne dodaje znak povezivanja ' / ', kako se prilikom vraćanja podataka s trake ne bi 'pregazili' već postojeći podaci. Komanda se izvrši u nekom privremenom imeniku izrađenom na mjestu po volji, te se otuda podaci mogu lako uspoređivati i kopirati prema potrebi, na primjer:
mak:/#
mak:/# mkdir /home/drago/tmp
mak:/# cd /home/drago/tmp
mak:/home/drago/tmp# tar -zxvf /dev/st0 etc home usr var
Zašto i kad vršiti arhiviranje na traku? Zato jer na trake stane prilično podataka te se spremaju i čuvaju nakon izvršenog, dnevnog, sedmičnog, mjesečnoga i godišnjeg arhiviranja podataka na njih, uz oznaku kada je arhiva izvršena i što je arhivirano. U tu svrho dobro služe DAT uređaji. Ne moraju se sve trake čuvati. Šest traka može se sedmično rotirati (traka ponedjeljak, utorak, srijeda, ...) i koristiti dok se ne potroše od istezanja i ogrebotina. Opisan je postupak nuždan ako ustanova ima samo jedan poslužitelj, koji tada mora imati DAT uređaj i diskove u RAID polju. Ako se koriste dva poslužitelja koja se stalno međusobno kopiraju, opisani postupak se vrši ali se znatno vremenski prorjeđuje. A ako se pak ima DATACENTRE kao GOOGLE, koji podatke neprekidno izmjenjuje između njih, trake i RAID, pa ni kvaliteta diskova, nisu od značaja. Komandom ' tar ' podaci se mogu spremiti i u neku datoteku, umjesto slanja na uređaj s trakom kao u primjeru, koja se potom kopira na neko drugo računalo, ili naprosto preuzme s nekim FTP programom na nekom drugom računalu.
Sve navedene komande i radnje s njima vezane su za pregled sustava i njegovo održavanje. Osobito treba voditi računa o [/var] imeniku u kojem se nalaze sve radne datoteke servisa, liste čekanja, web-sadržaji i dolazna pošta, kod lijenih korisnika uglavnom nepročitana, imenik s odbačenim datotekama pošte bilo da su prepoznate kao virus ili spam, komprimirane datoteke log-ova, arhiva novih paketa i slično. ako se redovito ne prati stanje na sustavu, može doći do zapunjenja neke od particija te je nužno ručno provesti 'čišćenje' bez obzira na to što se velik dio poslova obavlja automatski. Dakle svakodnevni pregled poslužitelja je neizostavna obveza administratora.
Podešavanje konfiguracije sukladno zbivanjima na Internetu još je jedna od važnijih zadaća, osobito ako je usmjerena na povećanje sigurnosti, te u tom smislu treba vršiti provjere glede otpornosti sustava na 'provale' u čemu je od velike pomoći služba CERT-a (Computer Emergency Response Team.), ako je raspoloživa.
Najgore što se administratoru može dogoditi je da greškom promijeni zaporku SUPERUSER-a. Tada treba a nekakvim samo startajućim optičkim medijem koji sadrži najosnovnije editore i može prepoznati diskove sustava poslužitelja (RECOVERY CD / DVD), izvršiti aktiviranje operativnog sustava s optičkog medija 'prikačiti' [/etc] imenik sustava za njega i izbrisati 'root' zaporku u [/etc/shadow] datoteci. Ako je poslužitelj sklopovski 'i386' tipa, tada se postupak dosta pojednostavnjuje jer se s KNOPPIX distribucijom Linuxa, koja se aktivira sa CD / DVD uređaja raspoloživ kompletan Linux sustav koji odmah prepozna i 'zakači' particije poslužitelja, tako da se s KNOPPIX alatima jako brzo može urediti [/etc/shadow] datoteka poslužitelja, odnosno obrisati zaporka root-a, i naravno po vraćanju sustava i prvotno stanje zaporku treba odmah obnoviti. Ne zove se KNOPPIX distribucija bez razloga RESCUE SYSTEM.
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |