Minor documentation fixes.
[carnet-upgrade.git] / doc / carnet-upgrade.sgml
1 <!doctype debiandoc system>
2 <debiandoc>
3
4   <book>
5     <titlepag>
6       <title>CARNet Debian 4.0 (etch) nadogradnja</title>
7       <author>
8         <name>Zoran Dželalija</name>
9       </author>
10       <author>
11         <name>Ivan 'ico' Rako</name>
12       </author>
13       <author>
14         <name>Valentin Vidić</name>
15       </author>
16       <version>Verzija 4.0.0</version>
17
18       <abstract>
19         Ovaj priručnik opisuje postupak nadogradnje CARNet Debian
20         distribucije sa verzije 2.1 (sarge) na verziju 4.0 (etch).
21         Priručnik je zamišljen kao pomoć CARNetovim sistem inženjerima
22         koji na svojim poslužiteljima imaju instaliran CARNet Debian i
23         trebao bi obuhvatiti cjelokupan postupak nadogradnje, kao i 
24         tipične probleme na koje se može naići. Za tu svrhu pripremili smo
25         paket carnet-upgrade verzije 4.0, koji se nalazi na CARNetovom FTP
26         poslužitelju u Sarge repozitoriju paketa.
27       </abstract>
28     </titlepag>
29
30     <toc detail="sect1">
31
32     <chapt id="backup">
33       <heading>Backup</heading>
34
35       <sect><heading>Datotečni sustav</heading>
36         <p>
37         Prije bilo kakve veće instalacije ili nadogradnje, strogo se
38         preporučuje izvršiti backup trenutnog stanja sustava, tako da u
39         slučaju bilo kakvih problema bude moguć povratak na stanje prije
40         nadogradnje. Nakon izvršenog backupa treba provjeriti mogu li se
41         vratiti podaci s takve kopije, npr. vraćanjem sadržaja na neko
42         drugo računalo, rezervni disk, ili barem probnim vraćanja nekoliko
43         datoteka. Datotečni sustav se može backupirati na uobičajeni način,
44         korištenjem tračnog uređaja (dump/restore, tar...), ili drukčije. Za
45         ovu svrhu preporučujemo backup svih podataka (level 0 backup).
46         Također je potrebno osigurati ispravnost pohranjenih podataka, što
47         znaci da baze podataka poput OpenLDAP, MySQL ili PostgreSQL, treba
48         backupirati na ispravan način, jer backup datotečnog sustava za
49         takve servise nije dovoljan i ne garantira ispravnost i
50         konzistenciju podataka. Svaka baza podataka donosi zasebne programe
51         koji omogućavaju izvoz sadržaja baze u oblik pogodan za backup.
52         </p>
53       </sect>
54
55       <sect><heading>OpenLDAP</heading>
56         <p>
57         Prije backupa OpenLDAP-a potrebno je spustiti FreeRADIUS i OpenLDAP
58         servise. FreeRADIUS je potrebno ugasiti da bi CMU usluga nastavila
59         funkcionirati za vrijeme backupa, jer lokalni FreeRADIUS daemon radi
60         neispravno ukoliko je LDAP poslužitelj nedostupan. To radite na
61         sljedeći način:
62
63 <example>
64 # /etc/init.d/freeradius stop
65 # /etc/init.d/slapd stop
66 </example>
67         </p>
68
69         <p>
70         Backup OpenLDAPa napravite koristeći naredbu <prgn>slapcat</prgn>:
71
72 <example>
73 # slapcat -l /var/backups/slapcat.cn-upgrade
74 </example>
75         </p>
76
77         <p>
78         Umjesto <file>/var/backups/slapcat.cn-upgrade</file> možete upisati
79         bilo koje ime za izlaznu datoteku. Nakon toga možete vratiti servise
80         u radno stanje:
81
82 <example>
83 # /etc/init.d/slapd start
84 # /etc/init.d/freeradius start
85 </example>
86         </p>
87
88         <p>
89         Za više informacija o backupu OpenLDAP baze pogledajte man stranicu
90         naredbe <prgn>slapcat</prgn>.
91         </p>
92       </sect>
93
94       <sect><heading>MySQL</heading>
95         <p>
96         Prilikom backupa MySQL baze, mysqld poslužitelj mora biti pokrenut.
97         Backup možete izvršiti na sljedeći način:
98
99 <example>
100 # mysqldump --all-databases > /var/backups/mysqldump.sql.cn-upgrade
101 </example>
102         </p>
103
104         <p>
105         Za više informacija o backupu MySQL baze pogledajte
106         <url name="MySQL dokumentaciju" 
107         id="http://dev.mysql.com/doc/refman/4.1/en/disaster-prevention.html">.
108         </p>
109       </sect>
110
111       <sect><heading>PostgreSQL</heading>
112         <p>
113         Backup PostgreSQL baze podataka možete napraviti na sljedeći način:
114
115 <example>
116 # su - postgres -c /usr/lib/postgresql/bin/pg_dumpall \
117     >/var/lib/postgres/postgres.sql.cn-upgrade
118 # mv /var/lib/postgres/postgres.sql.cn-upgrade /var/backups
119 </example>
120         </p>
121
122         <p>
123         Za više informacija o backupu PostgreSQL baze podataka pogledajte
124         <url name="PosgreSQL dokumentaciju"
125         id="http://www.postgresql.org/docs/7.4/static/backup.html">.
126         </p>
127       </sect>
128     </chapt>
129
130     <chapt id="nadogradnja">
131       <heading>Nadogradnja</heading>
132
133       <sect>
134         <heading>Prije početka</heading>
135         <p>
136         Prije instalacije paketa za nadogradnju i same nadogradnje, potrebno
137         je izvršiti nadogradnju tekuće inačice distribucije na najsvježije
138         pakete. To se najjednostavnije izvodi sa naredbom
139         <prgn>apt-get</prgn>:
140
141 <example>
142 # apt-get update
143 # apt-get dist-upgrade
144 </example>
145         </p>
146       </sect>
147
148       <sect><heading>Paket carnet-upgrade</heading>
149         <p>
150         U paketu <prgn>carnet-upgrade</prgn> nalazi se istoimena skripta,
151         koja služi za nadogradnju poslužitelja. Skripta carnet-upgrade
152         zapisuje izvršene radnje u datoteku
153         <file>/var/log/carnet-upgrade.log</file>, koju možete konzultirati u
154         slučaju nepredviđenih problema da bi ustanovili do koje faze je
155         skripta stigla s radom. Pored skripte, u paketu se nalazi i
156         kompletna dokumentacija. Paket se instalira na uobičajen način:
157
158 <example>
159 # apt-get update
160 # apt-get install carnet-upgrade
161 </example>
162         </p>
163
164         <p>
165         Time ste instalirali paket koji je potreban za upgrade. Ukoliko
166         paket nije dostupan, postoji mogućnost da nemate ispravne postavke
167         za repozitorij CARNetovih paketa u
168         <file>/etc/apt/sources.list</file> datoteci, koja treba sadržavati
169         sljedeći redak:
170
171 <example>
172 deb http://ftp.carnet.hr/carnet-debian carnet-sarge main non-free
173 </example>
174         </p>
175
176         <p>
177         To je uobičajena konfiguracija popisa repozitorija na CARNet Debianu
178         2.x. Ako tog retka nema, dodajte ga i ponovite postupak instalacije
179         paketa.
180         </p>
181       </sect>
182
183       <sect><heading>Nadogradnja</heading>
184         <p>
185         Poslije napravljenog backupa i dist-upgradea, možemo pokrenuti
186         skriptu za nadogradnju. Preporučamo je pokrenuti unutar naredbe
187         script, da imate zabilježen log svih akcija i problema):
188
189 <example>
190 # script upgrade.log
191 Script started, file is upgrade.log
192 # carnet-upgrade
193 </example>
194         </p>
195
196         <p>
197         Pojaviti će se pozdravni prozor koji podsjeća na potrebne
198         predradnje:
199
200 <example>
201 +-----------------------------------------------------------------+
202 | Nadogradnja CARNet Sarge->Etch                                  |
203 +-----------------------------------------------------------------+
204 | PAZNJA! PAZNJA!                                                 |
205 |                                                                 |
206 | Pokrenuli ste proceduru nadogradnje CARNet Linux distribucije.  |
207 | Podsjecamo Vas da prije ove skripte svakako pokrenete 'apt-get  |
208 | dist-upgrade'. Strogo preporucujemo i backup cijelog sustava, s |
209 | posebnim naglaskom na instalirane baze podataka poput MySQL i   |
210 | PostgreSQL.                                                     |
211 |                                                                 |
212 | Takodjer pazljivo procitajte dokumentaciju za ovu nadogradnju   |
213 | koja se nalazi u:                                               |
214 |                                                                 |
215 |  /usr/share/doc/carnet-upgrade/carnet-upgrade.pdf               |
216 |                                                                 |
217 | Zelite li nastaviti?                                            |
218 +-----------------------------------------------------------------+
219 |                 < Yes >            < No  >                      |
220 +-----------------------------------------------------------------+
221 </example>
222         </p>
223
224         <p>
225         U sljedećem koraku biti će izvršena provjera nadogradnje na zadnju
226         inačicu prethodne distribucije za kritične servise
227         (<prgn>amavisd-cni</prgn>, <prgn>bind9-cn</prgn>,
228         <prgn>clamav-cn</prgn>, <prgn>nessus-cn</prgn>). Ako neki od njih
229         najnovije inačice, pojavit će se poruka:
230
231 <example>
232 CARNet Debian 2.1 ­ Nadogradnja distribucije sa CARNet Debian 1.x str. 7/14
233 </example>
234         </p>
235
236         <p>
237         Izvršite navedene upute, napravite dist-upgrade, te ponovno
238         pokrenite skriptu. Ako je sve uredno instalirano, skripta će otići
239         na idući korak. Instalacija prethodne inačice CARNetove
240         distribucije, CARNet Linux 2, donosila je mnoštvo programskih paketa
241         koji nisu nužno potrebni za uobičajen rad poslužiteljskog računala.
242         Brisanjem tih aplikacija ubrzati ćete proceduru nadogradnje, kao i
243         smanjiti zauzeće diskovnog prostora. Sve aplikacije koje ostanu
244         označene za brisanje se brišu nakon pritiska na tipku ENTER. Oznaka
245         se može maknuti pritiskom na SPACE, i time spriječiti brisanje
246         aplikacije.
247         </p>
248
249         <p>
250         U sljedećem koraku skripta će provjeriti da li u
251         <file>/etc/dpkg/dpkg.cfg</file> postoji opcija
252         <tt>force-overwrite</tt> koja nije preporučljiva za uobičajen rad.
253         Ako postoji, zakomentirat će je, i krenuti dalje. Ukoliko je želite
254         koristiti, nakon nadogradnje je odkomentirajte.
255         </p>
256
257         <p>
258         U sljedećem koraku skripta sprema jos jedan backup OpenLDAP (slapd)
259         baze, s obzirom na važnost podataka u LDAP imeniku. Novi Debian
260         paketi bi trebali neometano nastaviti raditi sa trenutnim sadržajem
261         baze, a ovaj backup možete obrisati kad se uvjerite da LDAP radi
262         ispravno nakon nadogradnje.
263
264 <example>
265 CARNet Debian 2.1 ­ Nadogradnja distribucije sa CARNet Debian 1.x str. 9/14
266 </example>
267         </p>
268
269         <p>
270         Ova skripta će napraviti i backup direktorija <file>/etc</file>. Ako
271         će biti potrebna neka stara konfiguracijska datoteka, potražite je
272         pomoću naredbe tar u arhivi <file>/var/backups/cn4-etc.tar.gz</file>.
273         </p>
274
275         <p>
276         Slijedi instalacija <file>/etc/apt/sources.list</file> datoteke
277         podešene za CARNet Debian 4.0, s uključenim repozitorijima za
278         CARNetove i Debian Etch pakete, te obnova apt baze paketa. Vaše
279         dodatne repozitorije nakon završetka rada ove skripte možete
280         kopirati u tu datoteku iz stare datoteke, koja će biti spremljena
281         kao <file>/etc/apt/sources.list.cn-upgrade</file>.
282         </p>
283
284         <p>
285         Poslije osvježavanja popisa repozitorija kreće skidanje paketa na
286         lokalno računalo. To može trajati od nekoliko minuta do nekoliko
287         sati, ovisno o brzini veze. Tipično trajanje na 2 Mbps linku je oko
288         40 minuta. Cijela nadogradnja je "teška" oko 400-700MB, ovisno o
289         instaliranom softveru. U slučaju da nakon skidanja paketa nemate
290         dovoljno prostora za fazu nadogradnje (cca 200MB), skripta će
291         prekinuti s radom. Kad oslobodite dovoljno prostora na
292         <file>/var</file> particiji, ponovo pokrenite
293         <prgn>carnet-upgrade</prgn>. Nakon ovoga kreće instalacija novih
294         paketa, tj. sama nadogradnja. Prilikom procesa nadogradnje Debianov
295         paketni sustav će postaviti veći broj upita vezanih za izmjenu
296         konfiguracijskih datoteka. Radi optimalnog rada sustava nakon
297         nadogradnje, pripremili smo popis upita za koje preporučujemo
298         odgovore koji nisu podrazumni (eng. default). Najčešće se radi o
299         forsiranoj instalaciji novih inačica konfiguracijskih datoteka.
300         </p>
301
302         <p>
303         Donji redoslijed ne mora nužno pratiti redoslijed prilikom
304         nadogradnje, kao što ne morate imati instalirane sve navedene pakete
305         s donje navedenim konfiguracijskim datotekama. Pitanja za dolje
306         navedene datoteke će biti upućena ili putem debconf sučelja, ili
307         putem tekstualnog sučelja. Ukoliko ste vlastoručno mijenjali neku od
308         tih datoteka, možete pogledati razlike između stare i nove datoteke
309         (odgovor <tt>d</tt>, od eng. differences ­ razlike) i prenijeti
310         izmjene u novu datoteku ukoliko je potrebno. To se može učiniti
311         odabirom izbora <tt>z</tt>, koji će pokrenuti novu ljusku iz koje
312         možete izvršiti željene izmjene, i nakon njih se s naredbom
313         <prgn>exit</prgn> vratiti u postupak instalacije. Datoteke za koje
314         preporučamo zamjenu novim inačicama su sljedeće (preporučeni izbor
315         je "install the package maintainer's version"):
316
317         <list>
318           <item>/etc/apache/httpd.conf</item>
319           <item>/etc/apache-ssl/httpd.conf</item>
320           <item>sve skripte u /etc/init.d za paket sendmail, sve konfiguracijske
321           datoteke</item>
322           <item>/etc/proftpd.conf</item>
323           <item>/etc/limits.conf</item>
324           <item>sve datoteke u /etc/pam.d</item>
325           <item>sve logrotate konfiguracijske datoteke</item>
326           <item>/etc/postgresql/postmaster.conf</item>
327           <item>/etc/postgresql/postgresql.conf</item>
328           <item>sve snort konfiguracijske datoteke</item>
329           <item>/etc/xinetd.conf</item>
330           <item>/etc/services</item>
331         </list>
332         </p>
333
334         <p>
335         Jedno od pitanja prilikom nadogradnje je željeni raspored tipaka na
336         tastaturi:
337         </p>
338
339         <p>
340         Ovu postavku također možete izmijeniti i nakon instalacije, pozivom:
341
342 <example>
343 # dpkg-reconfigure console-data
344 </example>
345         </p>
346
347         <p>
348         Nakon nadogradnje poslužitelja provjerite da li svi servisi uredno
349         rade. Naša skripta za upgrade provjerava jesu li pokrenuti osnovni
350         servisi, ali nije svemoguća. Također provjerite ispravan rad baza
351         podataka (MySQL, PostgreSQL, OpenLDAP):
352         </p>
353
354         <p>
355         Nakon uspješne nadogradnje možete obrisati skinute pakete koji
356         zauzimaju diskovni prostor na <file>/var</file> particiji. To
357         napravite naredbom:
358
359 <example>
360 # apt-get clean
361 </example>
362         </p>
363       </sect>
364     </chapt>
365
366     <chapt id="izvanredne">
367       <heading>Izvanredne situacije</heading>
368
369       <sect><heading>Premalo mjesta na <file>/var</file> particiji</heading>
370
371         <p>
372         Ako imate premalo mjesta na <file>/var</file> particiji, skripta
373         neće moći skinuti potrebne pakete, i neće htjeti nastaviti
374         nadogradnju. To možete riješiti tako da direktorij
375         <file>/var/cache/apt/archives</file> prebacite na neki drugi disk,
376         te da to polinkate. Kratka kuharica je (u slučaju <file>/home</file>
377         particije):
378
379 <example>
380 # mv /var/cache/apt/archives /home/apt-archives/
381 # ln -s /home/apt-archives /var/cache/apt/archives
382 </example>
383         </p>
384
385         <p>
386         Time će se paketi skidati na <file>/home</file> particiju, na kojoj
387         ima više mjesta. Nakon uspješne nadogradnje, vratite cache
388         direktorij na staro mjesto:
389
390 <example>
391 # rm /var/cache/apt/archives # mv /home/apt-archives
392 # /var/cache/apt/archives/
393 </example>
394         </p>
395       </sect>
396
397       <sect><heading>Problemi sa apt-get</heading>
398         <p>
399         U slučaju greške u nekom paketu, može se dogoditi da kod instalacije
400         <prgn>apt-get</prgn> pukne i instalacija se prekine. U tom slučaju,
401         za početak treba dovršiti instalaciju već otpakiranih paketa:
402
403 <example>
404 # dpkg -configure -a
405 </example>
406         </p>
407
408         <p>
409         Nakon toga treba pokušati dati apt-u mogućnost ispravke ako je
410         greška vezana za međuovisnosti paketa:
411
412 <example>
413 # apt-get -f install
414 </example>
415         </p>
416
417         <p>
418         Ukoliko apt zahtijeva deinstalaciju nekih paketa, možete ih
419         instalirati nakon što ova naredba završi, također pomoću apt-geta.
420         Nakon toga možete ponovo pokrenuti carnet-upgrade skriptu. Ovaj
421         postupak ponovite ako se desi pucanje na nekom drugom paketu.
422         </p>
423       </sect>
424     </chapt>
425
426     <chapt id="kraj">
427       <heading>Napokon kraj</heading>
428
429         <p>
430         Ovo bi bila završna riječ ovog kratkog priručnika. Nadamo se da Vam
431         je pomogao prilikom nadogradnje poslužitelja Vaše ustanove. Svi vaši
432         komentari i sugestije će biti rado saslušani, te ako ih imate,
433         uputite ih službi pomoći sistem-inženjerima.
434         </p>
435     </chapt>
436
437     <appendix id="pregled">
438       <heading>Brzi pregled upgrade procedure</heading>
439
440         <p>
441         Kao prvo, backup svega!
442
443 <example>
444 # apt-get update
445 # apt-get dist-upgrade
446 # apt-get install carnet-upgrade
447 </example>
448
449 Ima li cca 600MB slobodno na <file>/var</file>? A nakon <prgn>apt-get
450 clean</prgn>? Ako nema,
451
452 <example>
453 # mv /var/cache/apt/archives /home/apt-archives
454 # ln -s /home/apt-archives /var/cache/apt/archives
455 # carnet-upgrade
456 </example>
457
458 Odgovoriti sa <tt>Y</tt>, odn. "install package maintainer's version":
459
460 /etc/init.d/*
461 sendmail, sve sto ima veze s njim
462 /etc/proftpd.conf
463 /etc/limits.conf
464 /etc/pam.d/*
465 logrotate, sve /etc/logrotate.d/*, /etc/logrotate.conf logcheck,
466 sve /etc/logcheck/*
467 /etc/postgresql/postmaster.conf,
468 /etc/postgresql/postgresql.conf
469 snort, sve /etc/snort/*
470 /etc/xinetd.conf
471 /etc/services
472
473 Ignorirati poruke o izmjenama u <file>lilo.conf</file> (ali provjeriti radi
474 li nakon reboota)
475
476 <example>
477 dpkg --configure -a
478 apt-get -f install
479 apt-get install obrisani_paketi carnet-upgrade
480 </example>
481
482 Ako instalacija pukne: # # # #
483
484       Na kraju, provjeriti servise:
485       <list>
486         <item>freeradius (spojiti se na CMU i pogledati u logovima),</item>
487         <item>ldap (npr. http://stroj/ldap/),</item>
488         <item>apache (http:// i https://stroj),</item>
489         <item>bind (host www.vasa-domena.hr localhost),</item>
490         <item>slanje i primanje maila (lokalno, sa LAN-a, izvana),</item>
491         <item>antivirus (poslati eicar.com i pogledati mail.log),</item>
492         <item>ftp,</item>
493         <item>ssh,</item>
494         <item>telnet (ako ga slučajno jos koristite),</item>
495         <item>mysql,</item>
496         <item>postgresql,</item>
497         <item>aplikacije koje koriste te baze,</item>
498         <item>i sve ostalo...</item>
499       </list>
500
501 <example>
502 # apt-get clean
503 </example>
504
505       Ako ste premjestili <file>/var/cache/apt/archives</file>, možete ga
506       sada vratiti na staro mjesto. ... i to je to!
507       </p>
508     </appendix>
509
510   </book>
511 </debiandoc>
512 <!-- vim:set ai et sts=2 sw=2 tw=76: -->