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