CARNet Debian 4.0 (etch) nadogradnja Zoran Dželalija Ivan 'ico' Rako Valentin Vidić Verzija 4.0.0 Ovaj priručnik opisuje postupak nadogradnje CARNet Debian distribucije sa verzije 2.1 (sarge) na verziju 4.0 (etch). CARNet Debian 4.0 (etch) je treća generacija CARNet Debian distribucije temeljena na Debian GNU/Linux 4.0 (etch) distribuciji. Priručnik je zamišljen kao pomoć CARNetovim sistem inženjerima koji na svojim poslužiteljima imaju instaliran CARNet Debian i trebao bi obuhvatiti cjelokupan postupak nadogradnje, kao i tipične probleme na koje se može naići. Za tu svrhu pripremili smo paket carnet-upgrade verzije 4.0, koji se nalazi na CARNetovom FTP poslužitelju u Sarge repozitoriju paketa. Backup Datotečni sustav

Prije bilo kakve veće instalacije ili nadogradnje, strogo se preporučuje izvršiti backup trenutnog stanja sustava, tako da u slučaju bilo kakvih problema bude moguć povratak na stanje prije nadogradnje. Nakon izvršenog backupa treba provjeriti mogu li se vratiti podaci s takve kopije, npr. vraćanjem sadržaja na neko drugo računalo, rezervni disk, ili barem probnim vraćanja nekoliko datoteka. Datotečni sustav se može backupirati na uobičajeni način, korištenjem tračnog uređaja (dump/restore, tar...), ili drukčije. Za ovu svrhu preporučujemo backup svih podataka (level 0 backup). Također je potrebno osigurati ispravnost pohranjenih podataka, što znaci da baze podataka (OpenLDAP, MySQL, PostgreSQL) treba backupirati na ispravan način, jer backup datotečnog sustava za takve servise nije dovoljan i ne garantira ispravnost i konzistenciju podataka. Svaka baza podataka donosi zasebne programe koji omogućavaju izvoz sadržaja baze u oblik pogodan za backup.

OpenLDAP

Prije backupa OpenLDAP-a potrebno je spustiti FreeRADIUS i OpenLDAP servise. FreeRADIUS je potrebno ugasiti da bi CMU usluga nastavila funkcionirati za vrijeme backupa, jer lokalni FreeRADIUS daemon radi neispravno ukoliko je LDAP poslužitelj nedostupan. To radite na sljedeći način: # /etc/init.d/freeradius stop # /etc/init.d/slapd stop

Backup OpenLDAPa napravite koristeći naredbu slapcat: # slapcat -l /var/backups/slapcat.cn-upgrade

Umjesto /var/backups/slapcat.cn-upgrade možete upisati bilo koje ime za izlaznu datoteku. Nakon toga možete vratiti servise u radno stanje: # /etc/init.d/slapd start # /etc/init.d/freeradius start

Za više informacija o backupu OpenLDAP baze pogledajte man stranicu naredbe slapcat.

MySQL

Prilikom backupa MySQL baze, mysqld poslužitelj mora biti pokrenut. Backup možete izvršiti na sljedeći način: # mysqldump --all-databases > /var/backups/mysqldump.sql.cn-upgrade

Za više informacija o backupu MySQL baze pogledajte .

PostgreSQL

Backup PostgreSQL baze podataka možete napraviti na sljedeći način: # su - postgres -c /usr/lib/postgresql/bin/pg_dumpall \ >/var/lib/postgres/postgres.sql.cn-upgrade # mv /var/lib/postgres/postgres.sql.cn-upgrade /var/backups

Za više informacija o backupu PostgreSQL baze podataka pogledajte .

Nadogradnja Prije početka

Prije instalacije paketa za nadogradnju i same nadogradnje, potrebno je izvršiti nadogradnju tekuće inačice distribucije na najsvježije pakete. To se najjednostavnije izvodi sa naredbom apt-get: # apt-get update # apt-get dist-upgrade

Paket carnet-upgrade

U paketu carnet-upgrade nalazi se istoimena skripta, koja služi za nadogradnju poslužitelja. Skripta carnet-upgrade zapisuje izvršene radnje u datoteku /var/log/carnet-upgrade.log, koju možete konzultirati u slučaju nepredviđenih problema da bi ustanovili do koje faze je skripta stigla s radom. Pored skripte, u paketu se nalazi i kompletna dokumentacija. Paket se instalira na uobičajen način: # apt-get update # apt-get install carnet-upgrade

Time ste instalirali paket koji je potreban za upgrade. Ukoliko paket nije dostupan, postoji mogućnost da nemate ispravne postavke za repozitorij CARNetovih paketa u /etc/apt/sources.list datoteci, koja treba sadržavati sljedeći redak: deb http://ftp.carnet.hr/carnet-debian carnet-sarge main non-free

To je uobičajena konfiguracija popisa repozitorija na CARNet Debianu 2.x. Ako tog retka nema, dodajte ga i ponovite postupak instalacije paketa.

Nadogradnja

Poslije napravljenog backupa i dist-upgradea, možemo pokrenuti skriptu za nadogradnju. Preporučamo je pokrenuti unutar naredbe script, da imate zabilježen log svih akcija i problema): # script upgrade.log Script started, file is upgrade.log # carnet-upgrade

Pojaviti će se pozdravni prozor koji podsjeća na potrebne predradnje: +-----------------------------------------------------------------+ | Nadogradnja CARNet Sarge->Etch | +-----------------------------------------------------------------+ | PAZNJA! PAZNJA! | | | | Pokrenuli ste proceduru nadogradnje CARNet Linux distribucije. | | Podsjecamo Vas da prije ove skripte svakako pokrenete 'apt-get | | dist-upgrade'. Strogo preporucujemo i backup cijelog sustava, s | | posebnim naglaskom na instalirane baze podataka poput MySQL i | | PostgreSQL. | | | | Takodjer pazljivo procitajte dokumentaciju za ovu nadogradnju | | koja se nalazi u: | | | | /usr/share/doc/carnet-upgrade/carnet-upgrade.pdf | | | | Zelite li nastaviti? | +-----------------------------------------------------------------+ | < Yes > < No > | +-----------------------------------------------------------------+

U sljedećem koraku biti će izvršena provjera nadogradnje na zadnju inačicu prethodne distribucije za kritične servise (amavisd-cni, bind9-cn, clamav-cn, nessus-cn). Ako neki od njih najnovije inačice, pojavit će se poruka: CARNet Debian 2.1 ­ Nadogradnja distribucije sa CARNet Debian 1.x str. 7/14

Izvršite navedene upute, napravite dist-upgrade, te ponovno pokrenite skriptu. Ako je sve uredno instalirano, skripta će otići na idući korak. Instalacija prethodne inačice CARNetove distribucije, CARNet Linux 2, donosila je mnoštvo programskih paketa koji nisu nužno potrebni za uobičajen rad poslužiteljskog računala. Brisanjem tih aplikacija ubrzati ćete proceduru nadogradnje, kao i smanjiti zauzeće diskovnog prostora. Sve aplikacije koje ostanu označene za brisanje se brišu nakon pritiska na tipku ENTER. Oznaka se može maknuti pritiskom na SPACE, i time spriječiti brisanje aplikacije.

U sljedećem koraku skripta će provjeriti da li u /etc/dpkg/dpkg.cfg postoji opcija force-overwrite koja nije preporučljiva za uobičajen rad. Ako postoji, zakomentirat će je, i krenuti dalje. Ukoliko je želite koristiti, nakon nadogradnje je odkomentirajte.

U sljedećem koraku skripta sprema jos jedan backup OpenLDAP (slapd) baze, s obzirom na važnost podataka u LDAP imeniku. Novi Debian paketi bi trebali neometano nastaviti raditi sa trenutnim sadržajem baze, a ovaj backup možete obrisati kad se uvjerite da LDAP radi ispravno nakon nadogradnje. CARNet Debian 2.1 ­ Nadogradnja distribucije sa CARNet Debian 1.x str. 9/14

Ova skripta će napraviti i backup direktorija /etc. Ako će biti potrebna neka stara konfiguracijska datoteka, potražite je pomoću naredbe tar u arhivi /var/backups/cn4-etc.tar.gz.

Slijedi instalacija /etc/apt/sources.list datoteke podešene za CARNet Debian 4.0, s uključenim repozitorijima za CARNetove i Debian Etch pakete, te obnova apt baze paketa. Vaše dodatne repozitorije nakon završetka rada ove skripte možete kopirati u tu datoteku iz stare datoteke, koja će biti spremljena kao /etc/apt/sources.list.cn-upgrade.

Poslije osvježavanja popisa repozitorija kreće skidanje paketa na lokalno računalo. To može trajati od nekoliko minuta do nekoliko sati, ovisno o brzini veze. Tipično trajanje na 2 Mbps linku je oko 40 minuta. Cijela nadogradnja je "teška" oko 400-700MB, ovisno o instaliranom softveru. U slučaju da nakon skidanja paketa nemate dovoljno prostora za fazu nadogradnje (cca 200MB), skripta će prekinuti s radom. Kad oslobodite dovoljno prostora na /var particiji, ponovo pokrenite carnet-upgrade. Nakon ovoga kreće instalacija novih paketa, tj. sama nadogradnja. Prilikom procesa nadogradnje Debianov paketni sustav će postaviti veći broj upita vezanih za izmjenu konfiguracijskih datoteka. Radi optimalnog rada sustava nakon nadogradnje, pripremili smo popis upita za koje preporučujemo odgovore koji nisu podrazumni (eng. default). Najčešće se radi o forsiranoj instalaciji novih inačica konfiguracijskih datoteka.

Donji redoslijed ne mora nužno pratiti redoslijed prilikom nadogradnje, kao što ne morate imati instalirane sve navedene pakete s donje navedenim konfiguracijskim datotekama. Pitanja za dolje navedene datoteke će biti upućena ili putem debconf sučelja, ili putem tekstualnog sučelja. Ukoliko ste vlastoručno mijenjali neku od tih datoteka, možete pogledati razlike između stare i nove datoteke (odgovor d, od eng. differences ­ razlike) i prenijeti izmjene u novu datoteku ukoliko je potrebno. To se može učiniti odabirom izbora z, koji će pokrenuti novu ljusku iz koje možete izvršiti željene izmjene, i nakon njih se s naredbom exit vratiti u postupak instalacije. Datoteke za koje preporučamo zamjenu novim inačicama su sljedeće (preporučeni izbor je "install the package maintainer's version"): /etc/apache/httpd.conf /etc/apache-ssl/httpd.conf sve skripte u /etc/init.d za paket sendmail, sve konfiguracijske datoteke /etc/proftpd.conf /etc/limits.conf sve datoteke u /etc/pam.d sve logrotate konfiguracijske datoteke /etc/postgresql/postmaster.conf /etc/postgresql/postgresql.conf sve snort konfiguracijske datoteke /etc/xinetd.conf /etc/services

Jedno od pitanja prilikom nadogradnje je željeni raspored tipaka na tastaturi:

Ovu postavku također možete izmijeniti i nakon instalacije, pozivom: # dpkg-reconfigure console-data

Nakon nadogradnje poslužitelja provjerite da li svi servisi uredno rade. Naša skripta za upgrade provjerava jesu li pokrenuti osnovni servisi, ali nije svemoguća. Također provjerite ispravan rad baza podataka (MySQL, PostgreSQL, OpenLDAP):

Nakon uspješne nadogradnje možete obrisati skinute pakete koji zauzimaju diskovni prostor na /var particiji. To napravite naredbom: # apt-get clean

Izvanredne situacije Premalo mjesta na /var particiji

Ako imate premalo mjesta na /var particiji, skripta neće moći skinuti potrebne pakete, i neće htjeti nastaviti nadogradnju. To možete riješiti tako da direktorij /var/cache/apt/archives prebacite na neki drugi disk, te da to polinkate. Kratka kuharica je (u slučaju /home particije): # mv /var/cache/apt/archives /home/apt-archives/ # ln -s /home/apt-archives /var/cache/apt/archives

Time će se paketi skidati na /home particiju, na kojoj ima više mjesta. Nakon uspješne nadogradnje, vratite cache direktorij na staro mjesto: # rm /var/cache/apt/archives # mv /home/apt-archives # /var/cache/apt/archives/

Problemi sa apt-get

U slučaju greške u nekom paketu, može se dogoditi da kod instalacije apt-get pukne i instalacija se prekine. U tom slučaju, za početak treba dovršiti instalaciju već otpakiranih paketa: # dpkg -configure -a

Nakon toga treba pokušati dati apt-u mogućnost ispravke ako je greška vezana za međuovisnosti paketa: # apt-get -f install

Ukoliko apt zahtijeva deinstalaciju nekih paketa, možete ih instalirati nakon što ova naredba završi, također pomoću apt-geta. Nakon toga možete ponovo pokrenuti carnet-upgrade skriptu. Ovaj postupak ponovite ako se desi pucanje na nekom drugom paketu.

Napokon kraj

Ovo bi bila završna riječ ovog kratkog priručnika. Nadamo se da Vam je pomogao prilikom nadogradnje poslužitelja Vaše ustanove. Svi vaši komentari i sugestije će biti rado saslušani, te ako ih imate, uputite ih službi pomoći sistem-inženjerima.

Brzi pregled upgrade procedure

Kao prvo, backup svega! # apt-get update # apt-get dist-upgrade # apt-get install carnet-upgrade Ima li cca 600MB slobodno na /var? A nakon apt-get clean? Ako nema, # mv /var/cache/apt/archives /home/apt-archives # ln -s /home/apt-archives /var/cache/apt/archives # carnet-upgrade Odgovoriti sa Y, odn. "install package maintainer's version": /etc/init.d/* sendmail, sve sto ima veze s njim /etc/proftpd.conf /etc/limits.conf /etc/pam.d/* logrotate, sve /etc/logrotate.d/*, /etc/logrotate.conf logcheck, sve /etc/logcheck/* /etc/postgresql/postmaster.conf, /etc/postgresql/postgresql.conf snort, sve /etc/snort/* /etc/xinetd.conf /etc/services Ignorirati poruke o izmjenama u lilo.conf (ali provjeriti radi li nakon reboota) dpkg --configure -a apt-get -f install apt-get install obrisani_paketi carnet-upgrade Ako instalacija pukne: # # # # Na kraju, provjeriti servise: freeradius (spojiti se na CMU i pogledati u logovima), ldap (npr. http://stroj/ldap/), apache (http:// i https://stroj), bind (host www.vasa-domena.hr localhost), slanje i primanje maila (lokalno, sa LAN-a, izvana), antivirus (poslati eicar.com i pogledati mail.log), ftp, ssh, telnet (ako ga slučajno jos koristite), mysql, postgresql, aplikacije koje koriste te baze, i sve ostalo... # apt-get clean Ako ste premjestili /var/cache/apt/archives, možete ga sada vratiti na staro mjesto. ... i to je to!