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