<chapt id="uptodate">Aktualizowanie systemu Debian

<p>Celem Debiana jest udostępnianie spójnych sposobów uaktualnień
oraz bezpiecznego procesu unowocześniania wersji. Robimy wszystko,
co w naszej mocy, aby zapewnić łagodny system uaktualniania.

Jeśli podczas aktualizacji pakietu użytkownik musi zostać o czymś
poinformowany, zostanie to uczynione, a często także zostanie
poinstruowany w jaki sposób rozwiązać ewentualne problemy.

<p>Należy czytać notatki do wydań (Release Notes), które opisują
szczegóły uaktualnień i które są dostępne na wszystkich płytach CD
Debiana oraz pod adresem:
<url id="http://www.debian.org/releases/stable/releasenotes">.

<sect id="libc5to6upgrade">Jak mogę uaktualnić mojego Debiana 1.3.1 (lub wcześniejszego),
opartego na libc5, do wersji 2.0 (lub późniejszej), opartej na libc6?

<p>Istnieje kilka dróg takiego uaktualnienia:
<list>
  <item>
	Używając prostego skryptu powłoki nazwanego <tt>autoup.sh</tt>,
	który uaktualnia najważniejsze pakiety. Po tym jak skończy on swoją
	pracę, możesz użyć programu <prgn>dselect</prgn> do masowej
	instalacji wymaganych pakietów. Jest to rekomendowana, aczkolwiek
	nie jedyna metoda.

	<p>Obecnie najnowsze wydanie skryptu <tt>autoup.sh</tt> może być
	znalezione w następujących miejscach:
    <list>
      <item><url id="http://www.debian.org/releases/2.0/autoup/">
      <item><url id="http://www.taz.net.au/autoup/">
      <item><url id="http://debian.vicnet.net.au/autoup/">
    </list>

  <item>
	Podążając za radami z dokumentu:
	<url name="Debian libc5 to libc6 Mini-HOWTO"
		 id="http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html">
	uaktualniać najważniejsze pakiety ręcznie. Skrypt <tt>autoup.sh</tt> bazuje na tym właśnie
	Mini-HOWTO, więc ta metoda działa mniej więcej tak, jak użycie <tt>autoup.sh</tt>.

  <item>
	Używając opartego na libc5 programu <tt>apt</tt>. APT oznacza A Package Tool
	i pewnego dnia zastąpi wysłużony program <prgn>dselect</prgn>. Obecnie
	<prgn>apt</prgn> działa z linii poleceń lub jako jedna z metod dostępu
	<prgn>dselect</prgn>a. Wersję bazującą na libc5 znajdziesz w katalogu
	<tt>dists/slink/main/upgrade-older-i386</tt> w archiwum Debiana.

<item>
	Używając programu <prgn>dselect</prgn> bez uaktualniania
	wcześniej żadnych pakietów ręcznie. Stanowczo NIE polecamy tej metody
	jeśli możesz jej uniknąć, ponieważ <prgn>dselect</prgn> nie instaluje
	pakietów w optymalnej kolejności. APT działa o wiele lepiej i jest bezpieczniejszy.
    <!-- This should probably work if dpkg's max-error-before-stop internal
    variable is increased. Question: Will it be increased some day? -->
</list>

<!--
This paragraph is obsolete, but I will keep it here as a reminder in
case libc6-based dpkg happen to be some better than the one in Debian
1.3.1: Note that the version of <tt>dpkg</tt> in this directory has the
a.out binary format.  The versions of <tt>dpkg</tt> in the development and
stable trees have the ELF format.
-->

<sect id="howtocurrent">Jak mogę utrzymać ciągle aktualną wersję Debiana?


<p>Można po prostu połączyć się anonimowo przez FTP z serwerem zawierającym 
archiwum Debiana, uważnie przyjrzeć się katalogom, znaleźć pożądane pliki, 
pobrać je i zainstalować z użyciem <tt>dpkg</tt>. 
<tt>dpkg</tt> instaluje uaktualnienia na żywo, nawet na pracującym 
systemie. Czasami poprawione pakiety wymagają instalacji innych, 
również poprawnionych wersji pakietów powiązanych i wtedy instalacja 
się nie uda, póki owe pakiety nie zostaną zainstalowane.

<p>Wielu użytkowników uzna takie podejście za zbyt czasochłonne,
zwłaszcza że Debian rozwija się szybko i typowo około tuzin lub więcej
pakietów jest uaktualnianych tygodniowo. Ta ilość jest o wiele większa przed
wydaniem kolejnej głównej wersji. Aby poradzić sobie z taką lawiną,
użytkownicy zazwyczaj wolą używać bardziej zautomatyzowanych metod.

<p>Oto kilka metod automatyzacji:

<sect1 id="apt">APT

<p>APT to zaawansowany interfejs do systemu pakietów Debiana.
apt-get to oparte o linię poleceń narzędzie do obsługi pakietów,
a metoda APT dselecta to interfejs do APT z programu <prgn>dselect</prgn>.
Obydwa z nich udostępniają prostszy i bezpieczniejszy sposób instalacji
oraz uaktualniania pakietów.

<p>APT potrafi ustalać kolejność instalacji, pobierać dane z wielu źródeł
jak również wiele innych, unikalnych rzeczy, o których możesz przeczytać
w <tt>/usr/share/doc/apt/guide.html/index.html</tt>.

<p>Zainstaluj pakiet <package>apt</package> i zmodyfikuj
plik <tt>/etc/apt/sources.list</tt>. Jeśli chcesz używać jako
źródła pakietów najnowszej, stabilnej wersji Debiana, możesz
użyć np.:

<example>http://http.us.debian.org/debian stable main contrib non-free</example>

<p>Możesz również zastąpić http.us.debian.org nazwą szybszego serwera lustrzanego
dostępnego z Twojej lokalizacji. Listę serwerów znajdziesz tutaj:
<url id="http://www.debian.org/misc/README.mirrors">.

<p>Więcej informacji na ten temat znajdziesz w podręczniku systemowym:
<manref name="apt-get" section="8"> oraz <manref name="sources.list" section="8">
a także w przewodniku <tt>/usr/share/doc/apt/guide.html/index.html</tt>.

<p>Uruchom:
      <example>apt-get update</example>
a następnie:
      <example>apt-get dist-upgrade</example>
Odpowiedz na wszystkie ewentualne pytania, zadane przez system i Twój Debian
zostanie uaktualniony.

<p>Aby używać systemu APT z programem <prgn>dselect</prgn>,
wybierz metodę dostępu APT w głównym ekranie programu <prgn>dselect</prgn>
(opcja 0) i określ źródła pakietów, jakie mają być używane. Plik konfiguracyjny
to <file>/etc/apt/sources.list</file>, a jego format opisany jest na stronach
podręcznika systemowego: <manref name="sources.list" section="5">.

<p>Jeśli chcesz wykorzystać płyty CD do instalacji pakietów,
możesz użyć programu <prgn>apt-cdrom</prgn>. Szczegóły znajdziesz
w notatkach z wydań (Release Notes) w sekcji ,,Uaktualnienia z
lokalnych serwerów lustrzanych'' ("Setting up for an upgrade from
a local mirror").

<p>Pamiętaj, że po pobraniu i zainstalowaniu pakietów są one nadal
przechowywane w hierarchii katalogu /var. Aby nie dopuścić do zapełnienia
partycji, usuwaj zbędne pliki przy użyciu poleceń <tt>apt-get clean</tt>
i <tt>apt-get autoclean</tt> lub przenoś je w inne miejsce (np. programem
<package>apt-move</package>).

<sect1 id="dpkg-ftp">dpkg-ftp

<p>Jest to starsza metoda wykorzystywana przez program <prgn>dselect</prgn>.
Może zostać wywołana z <prgn>dselect</prgn>a, przez co pozwala na pobranie 
plików oraz ich zainstalowanie w jednym kroku
Aby tego dokonać, wybierz metodę <tt>ftp</tt> dostępu do źródła pakietów
w programie <prgn>dselect</prgn> (opcja 0) i określ nazwę odległej maszyny
oraz katalog. <prgn>dpkg-ftp</prgn> automatycznie pobierze pliki, które
są wybrane (w tej lub poprzednich sesjach <prgn>dselect</prgn>a).

<p>Zauważ, że w przeciwieństwie do programu
<prgn>mirror</prgn>, <prgn>dpkg-ftp</prgn> nie pobiera wszystkiego z
serwera, a jedynie tylko te pliki, które zostały zaznaczone (podczas
uruchomienia <prgn>dpkg-ftp</prgn>) i które wymagają uaktualnienia.

<p><prgn>dpkg-ftp</prgn> jest nieco przestarzały. Należy raczej używać
systemu APT z odnośnikami do źródeł na FTP (ftp://) w pliku
<file>sources.list</file>).

<sect1 id="mirror">mirror

<p>Ten skrypt napisany w Perlu oraz jego (opcjonalny) dodatek
o nazwie <prgn>mirror-master</prgn> mogą być używane do pobrania
określonej części drzewa katalogów z wybranego serwera poprzez
anonimowy dostęp do FTP.

<p><prgn>mirror</prgn> jest szczególnie użyteczny do pobierania
dużych zbiorów oprogramowania. Po pierwszym załadowaniu plików,
na lokalnym komputerze powstaje plik <tt>.mirrorinfo</tt>. Zmiany
w odległym systemie plików są śledzone automatycznie przez
<prgn>mirror</prgn>, który porównuje ten plik z analogicznym po
stronie odległego systemu i pobiera tylko zmienione elementy.

<p>Program <prgn>mirror</prgn> jest zazwyczaj używany do uaktualniania
lokalnej kopii umieszczonego na odległym systemie drzewa katalogów.
Pobierane pliki nie muszą być plikami Debiana. (Ponieważ <prgn>mirror</prgn>
jest skryptem Perla, może być uruchamiany również na nieuniksowych
systemach).
Chociaż <prgn>mirror</prgn> udostępnia mechanizmy pozwalające na
wyłączenie plików, których nazwy pasują do określonych wzorców,
to jednak program jest najbardziej użyteczny, gdy jego celem jest pobieranie
całych fragmentów drzewa katalogów, a nie wybranych pakietów.

<!-- Should we recommend GNU wget here, too? -->

<sect1 id="dpkg-mountable">dpkg-mountable

<p>dpkg-mountable dodaje nową metodę dostępu do listy dselecta - tzw.
`mountable'. Pozwala ona na instalację pakietów z dowolnego systemu plików
podanego w /etc/fstab. Może to być na przykład zwykła partycja na dysku lub
serwerze NFS, która w razie potrzeby zostanie automatycznie zamontowana i
odmontowana.

<p>Obsługuje także parę rzeczy niedostępnych w zwykłym <prgn>dselect</prgn>,
takich jak obsługa lokalnych sytemów katalogów (zarówno równoległych do
głównego, dystrybucyjnego drzewa, jak i dla zupełnie oddzielnych),
ściąganie jedynie tych pakietów, które są wymagane, zamiast czasochłonnego,
rekurencyjnego przeszukiwania katalogów, jak również rejestrowanie
wszystkich czynności wykonanych przez <prgn>dpkg</prgn>  w fazie
instalacji.

<sect id="upgradesingle">Czy muszę przechodzić w tryb pojedynczego
        użytkownika, by móc zaktualizować pakiety?

<p>Nie. Pakiety mogą być uaktualniane nawet w trakcie normalnej
pracy systemu. Debian zawiera program <tt>start-stop-daemon</tt>,
który jest wykonywany w celu zatrzymania, a później ponownego
uruchomienia działających procesów, jeśli to konieczne, podczas
uaktualniania pakietu.

<sect id="savedebs">Czy muszę trzymać te wszystkie pliki .deb
	na swoim dysku?

<p>Nie. Jeśli masz na dysku pobrane pliki (takie, które nie
są koniecznie potrzebne - zobacz opis dpkg-ftp powyżej), to po
zainstalowaniu pakietów, możesz usunąć te pliki z systemu.

<sect id="keepingalog">Jak mogę otrzymać zapiski z czynności dodawania
	pakietów do systemu?

<p><prgn>dpkg</prgn> notuje jakie pakiety były rozpakowywane, konfigurowane,
usuwane, dodawane lub przeczyszczane, jednakże nie przechowuje (obecnie)
informacji o działaniach użytkownika na terminalu podczas operacji
na pakiecie.

<p>Najlepszym obejściem tego problemu jest uruchomienie
<prgn>dpkg</prgn>/<prgn>dselect</prgn>/<prgn>apt-get</prgn>/cokolwiek
wewnątrz sesji programu <manref name="script" section="1">.
