Uwagi dotyczące wydania Debiana GNU/Linux 2.2 (`potato'), Motorola 680x0 ------------------------------------------------------------------------ Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer tłumaczenie: Marcin Owsiany $Id: release-notes.pl.sgml,v 1.16 2001/02/11 01:09:57 polish Exp $ ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Spis treści ----------- 1. Co nowego w Debianie GNU/Linux 2.2? 1.1. Co nowego w systemie instalacyjnym? 1.2. Co nowego w dystrybucji? 2. Nowe instalacje 3. Aktualizacje poprzednich edycji 3.1. Dokładne zmiany w systemie 3.2. Niezbędne przed aktualizacją czynności 3.3. Proces aktualizacji ------------------------------------------------------------------------------- 1. Co nowego w Debianie GNU/Linux 2.2? -------------------------------------- [Najnowsza wersja tego dokumentu jest dostępna zawsze pod adresem http://www.debian.org/releases/2.2/m68k/release-notes/. Jeśli Twoja wersja jest starsza niż jeden miesiąc, powinieneś/powinnaś pobrać z sieci najnowszą wersję.] Poprzednie wydanie Debiana, Debian GNU/Linux 2.1, oficjalnie obsługiwało cztery architektury: Intel x86 (``i386''), Motorola 680x0 (``m68k''), Alpha (``alpha'') i SPARC (``sparc''). W tym wydaniu dodaliśmy kolejne dwie architektury: PowerPC (``powerpc'') i ARM (``arm''). Możesz przeczytać więcej na temat stanu wersji dla poszczególnych architektur na specjalnie w tym celu utworzonej stronie (http://www.debian.org/ports/m68k/). Debian GNU/Linux 2.2 dla architektury używa jądra w wersji 2.2.17. Jądra serii 2.2 są nową generacją wprowadzającą kilka cennych zmian zarówno w jądrze, jak i w innych programach współpracujących z jądrem, a także mnóstwo nowych sterowników sprzętu i poprawek w istniejących sterownikach. 1.1. Co nowego w systemie instalacyjnym? ---------------------------------------- Pakiety `boot-floppies' i `debian-cd' zawierają wiele ulepszeń od wydania Debiana 2.1. Wprowadzono znaczne ulepszenia w obsłudze instalacji sieciowej, w tym obsługę konfiguracji DHCP. Więcej architektur obsługuje instalację przez konsolę szeregową. Stary system wyboru profilów i zadań został zamieniony na system "meta-pakietów" Debiana (pakietów, których jedynym zadaniem jest wymaganie innych pakietów) i interfejsu o nazwie `tasksel'. Oznacza to, że teraz zadania można wybrać w każdym momencie, nie tylko podczas instalacji, oraz że mogą być one zachowane w czasie aktualizacji. Za konfigurację po pierwszym restarcie systemu, poprzednio przeprowadzaną przez zbiór skryptów powłoki, jest teraz odpowiedzialny pakiet `base-config' używający pakietu `debconf'. Spodziewamy się, że przy następnej edycji Debiana `debconf' będzie głównym interfejsem, z którym użytkownicy będą się stykać w czasie instalacji i konfiguracji systemu. 1.2. Co nowego w dystrybucji? ----------------------------- Wersje dla wszystkich architektur oparte są teraz o nowe wydanie biblioteki GNU C (glibc) w wersji 2.1.3. Choć nowa biblioteka spowodowała, że nowe pakiety nie dają się zainstalować w starszych wydaniach, to jednak zachowała zgodność (co do skompilowanych programów) ze starymi pakietami z wersji Debian GNU/Linux 2.1 i 2.0, skompilowanymi dla glibc 2.0, a także prawie całkowitą zgodność ze starymi źródłami. W tej edycji większość podstawowych narzędzi systemowych zaczęła używać PAM (Pluggable Authentication Modules), które dają administratorowi potężne narzędzie kontroli dostępu do systemu i metod uwierzytelniania. PAM pozwala administrować uwierzytelnianiem i kontami z jednego miejsca. Aby zmienić sposób uwierzytelniania w swoim systemie na inny (np. na OPIE, Kerberos itp...) wystarczy zmienić odpowiednie pliki konfiguracyjne PAM bez potrzeby ponownej kompilacji wszystkich programów. Wydanie 2.2 jest pierwszą wersją Debiana zawierającą pełne wsparcie japońskich użytkowników, którzy, aby uzyskać wielobajtowe środowisko znakowe, musieli do tego czasu używać dodatkowych pakietów Debian JP. Dodatkowo zwiększyliśmy ilość tłumaczeń i poprawiliśmy obsługę większości języków nie europejskich. Liczba pakietów w głównej dystrybucji sięgnęła teraz około 3650, zwiększając jak zwykle ilość pakietów o połowę. Edycja 2.2 zawiera także uaktualnienia kilku ważnych programów i bibliotek, takich jak XFree86 3.3.6, Perl 5.005.03, GCC 2.95.2, PAM 0.72, GTK+/GLib 1.2.7, GNOME 1.0.56, ncurses 5.0, teTeX 1.0.6, GNU Emacs 20.7, XEmacs 21.1.10, S-Lang 1.3.9, GGI 1.99.2, i wiele innych. W tej edycji pojawia się wiele nowych wersji starych pakietów, wiele nowych pakietów, a także mnóstwo nowych opcji i poprawek. Do przeprowadzania uaktualnień używa się tego samego systemu dpkg+apt, a my postaraliśmy się ułatwić uaktualnienie tak bardzo, jak to tylko możliwe. `apt', obecnie w wersji 0.3.19, używany w połączeniu z `dpkg', obecnie w wersji 1.6.13, jest zalecanym narzędziem do instalacji pakietów, ponieważ obsługuje kilka różnych źródeł pakietów (CD-ROMy i inne dyski wymienialne, dyski twarde montowane lokalnie jak i przez sieć, a także serwery FTP i HTTP). Do instalacji nowych i uaktualnienia starych pakietów binarnych (i źródłowych) można go używać tak z linii poleceń, jako `apt-get', jak i jako metodę pobierania pakietów w programie `dselect'. Oficjalna dystrybucja na CD-ROM-ie zawiera _trzy_ płyty z pakietami binarnymi. Pierwszy CD-ROM z binariami zawiera części działu ``main'', ale może zawierać również dział ``non-US/main''. Pozostałe 2 płyty z binariami zawierają resztę działów ``main'' i ``contrib''. Jeśli Twój dystrybutor płyt doda do zestawu działy ``non-free'' lub ``non-US/non-free'', płyt może być więcej. Z pierwszego CD-ROMu w zestawie można załadować system i zazwyczaj używa się go do rozpoczynania nowych instalacji. Każda z płyt jest niezależna, co oznacza, że można wsunąć do napędu dowolną z nich i używać jej bez konieczności korzystania z innych. Do zarządzania wieloma płytami używa się programu `apt-cdrom', z którego można korzystać tak z linii poleceń, jak i wykorzystać go jako metodę dostępu dla programu `dselect'. Podobnie do płyt z binariami, są _trzy_ płyty ze źródłami, z których pierwsza może zawierać dodatkowo źródła ``non-US/main''. (Uwaga: W niektórych przypadkach może być osobna płyta ze źródłami ``non-US'', przez co ilość płyt ze źródłami może wzrosnąć do 4.) ------------------------------------------------------------------------------- 2. Nowe instalacje ------------------ Jeśli instalujesz Debiana po raz pierwszy w danym systemie, powinieneś/powinnaś przeczytać podręcznik instalacji, który jest dostępny na oficjalnych CD-ROMach w następującym miejscu: /dists/potato/main/disks-m68k/current/doc/install.txt (lub .html) Lub w Internecie pod adresem: http://www.debian.org/releases/2.2/m68k/install System instalacyjny Debiana, zwany `boot-floppies' (mimo tego, że jest to dużo więcej niż same dyskietki[1]), został jeszcze bardziej usprawniony i zaktualizowany dla wygody użytkowników. [1] ``boot floppies'' oznacza ``dyskietki startowe'' -- przyp. tłum. ------------------------------------------------------------------------------- 3. Aktualizacje poprzednich edycji ---------------------------------- 3.1. Dokładne zmiany w systemie ------------------------------- Opisane poniżej procedury umożliwiają aktualizację każdej poprzedniej edycji Debiana od razu do 2.2, nie jest konieczna osobna aktualizacja do każdej z dotychczasowych edycji. Należy jednak zwrócić uwagę na to, że aktualizacje z edycji 2.0 i wcześniejszych nie były dobrze testowane i w związku z tym nie są obsługiwane. Zgodność GNU LibC 2.1 wstecz ze źródłami i binariami oznacza, że większość programów z poprzednich edycji będzie działała w nowej edycji (ale nie odwrotnie). Wszystkie pakiety w systemie Debian GNU/Linux 2.2 zostały oczywiście skonfigurowane do działania w nowym środowisku i będzie możliwe skompilowanie bez zmian większości programów w obecnej edycji. Jednak zawsze jest kilka wyjątków od tej reguły, więc niektóre z lokalnych programów mogą wymagać zmian i/lub rekompilacji z nową biblioteką aby działały poprawnie. System automatycznie zamontuje wirtualny napęd ``devpts'' jeśli będzie uruchomiony z jądrem 2.2 i glibc 2.1. Umożliwi to obsługę pseudoterminali Unix98 -- niektóre z demonów (serwerów Unix) automatycznie zaczną używać tych nowych urządzeń (`/dev/pts/*' zamiast `/dev/ttyp*'). W jądrach serii 2.2.x wprowadzono zmianę polegającą na tym, że urządzenia drukarek PC zaczynają się od lp0 zamiast od lp1, jak to było w jądrach 2.0.x, więc konieczna będzie modyfikacja plików konfiguracyjnych printcap i innych, aby używały nowych nazw (`/dev/lp0' zamiast `/dev/lp1', `/dev/lp1' zamiast `/dev/lp2' i tak dalej). Zwróć uwagę, że po aktualizacji (z wersji slink) konieczne jest zainstalowanie jądra 2.2.x aby Samba mogła działać. Zmiana jądra na nową wersję udała się bez większych problemów, głównie dlatego, że już edycja 2.1 była prawie całkowicie przygotowana do działania z jądrem 2.2. Mimo tego nadal pozostają pewne problemy, związane głównie z siecią: * Program do manipulacji firewall'em, `ipfwadm', został zamieniony na `ipchains'. Podczas aktualizacji pakietu `netbase' pojawi się pytanie o to, czy mają zostać utworzone dowiązania symboliczne do skryptów symulujących działanie `ipfwadm'. Można przeczytać także `/usr/share/doc/netbase/ipchains-HOWTO.txt.gz' i zacząć używać `ipchains'. * Skrypt `/etc/init.d/network' używany w poprzedniej edycji Debiana zgłasza błędy jeśli zostanie użyty z nowym jądrem. Można je usunąć dodając odpowiednie parametry ``netmask'' i ``dev'' do wywołania programu `route' w tym pliku. * Niestety aktualizacja jądra będzie wiązała się z problemami w przypadku użytkowników, których maszyny mają bardzo małą ilość pamięci RAM. Więcej informacji na temat aktualizacji programów do działania z nową wersją jądra można znaleźć w pliku `Documentation/Changes' w źródłach jądra. Aktualizacje do aplikacji współpracujących z PAM ułatwiono jak to tylko możliwe. W większości przypadków nowa konfiguracja PAM będzie udawała tą sprzed zainstalowania PAM. Jednak nie będzie tak we wszystkich przypadkach. Jeśli masz zamiar dokonać zmian, zainstaluj pakiet `libpam-doc', który zawiera dokumentację do każdej części systemu PAM, a nawet wskazówki dotyczące modyfikowania istniejących aplikacji nie obsługujących PAM. Jedna z części aktualizacji PAM polegała na włączeniu pakietu `secure-su' do głównego pakietu `login'. Domyślny program `su' dotychczas zawarty w pakiecie `shellutils', jest teraz częścią pakietu `login', dzięki czemu integracja PAM jest szersza i bardziej kompletna. Jeśli używałeś/używałaś do tej pory zwykłego programu `su', nie powinieneś/powinnaś zauważyć żadnej różnicy. Jednak użytkownicy pakietu `secure-su' będą musieli sprawdzić swoją konfigurację, aby upewnić się, że jest ona zgodna z poprzednią. Możesz zauważyć, że ta edycja zawiera dwie wersje Perla: 5.004 (w pakietach `perl-5.004*') i 5.005 (w pakietach `perl-5.005*'). Zalecamy używanie drugiej, nowszej wersji i usunięcie wcześniejszej, którą zostawiliśmy tylko aby zachować zgodność, dla wygody programistów.[1] Jeśli używasz w swoich skryptach jakichkolwiek modułów Perla z nowych pakietów `lib*-perl', musisz ustawić (korzystając z `update-alternatives') dowiązanie symboliczne `/usr/bin/perl' aby wskazywało na Perl 5.005, w przeciwnym wypadku napotkasz problemy. Zwróć uwagę, że zmieniono nieco organizację archiwum non-US Debiana, aby lepiej rozgraniczyć pakiety wolnodostępne od innych. Jeśli już używasz programu `apt' aby uzyskać do nich dostęp, powinieneś/powinnaś zmienić w pliku `/etc/apt/sources.list' linie odpowiadające za non-US tak, aby wyglądały w następujący sposób: deb http://non-US.debian.org/debian-non-US potato/non-US main contrib non-free Poprzednie wersje programu `inetd' (z pakietu `netbase') miały błąd, który polegał na tym, że gdy `inetd' był zatrzymywany, niektóre z wewnętrznych usług mogły uniemożliwiać mu ponowne uruchomienie się. Błąd ten naprawiono w obecnym pakiecie `netbase', ale starsze jego wersje nadal są na ten błąd narażone. Jeśli okaże się, że `inetd' nie jest restartowany poprawnie, poszukaj nadal działających procesów `inetd' lub procesów takich jak ``-discard'' lub ``-echo''. Jeśli masz zainstalowany pakiet `psmisc', wykonanie: sed 's/[[:space:]][[:space:]]*/ /g' /etc/inetd.conf | grep '^ *[^#]' | cut -d" " -f1,3 | while read serv type; do fuser -n $type $serv; done jako root pokaże, które procesy używają portów, którymi jest zainteresowany `inetd'. Użytkownicy serwera pocztowego smail zobaczą, że nie ma go w edycji 2.2, z powodu poważnych błędów, które pojawiły się podczas cykli testowych. Uaktualnione pakiety smail można znaleźć w dystrybucji niestabilnej lub pod adresem http://www.fs.tum.de/~bunk/smail.html. Nowy system XFree86 i inne pakiety `xserver-*' w tej edycji posiadają lepszą obsługę kart graficznych w stosunku do poprzedniej edycji (2.1). Lepsze są zwłaszcza sterowniki nowszych kart graficznych, takich jak wiele nowych kart z akceleracją 3D. Jeśli nie jesteś pewien/pewna który pakiet z X serwerem wybrać, spróbuj wykorzystać program `xviddetect' (z pakietu `xviddetect'), który wskaże nazwę potrzebnego X serwera na podstawie informacji znalezionych przez magistralę PCI/AGP. Użytkownicy chipsetu Intel i810 powinni wiedzieć, że do poprawnego działania Xserwer wymaga modułu jądra Linuksa, który nie jest rozprowadzany ze źródłami jądra. Kod źródłowy tego modułu oraz instrukcje jak go skompilować i użyć są dostępne na stronie X Strike Force (http://www.debian.org/~branden/). Należy zwrócić uwagę, że pakiet `ssh' w tym wydaniu domyślnie nie pozwala na bezpośrednie zgłaszanie się administratora do systemu. Jeśli ta funkcja jest Ci niezbędna, ustaw po aktualizacji w `/etc/ssh/sshd_config' opcję `PermitRootLogin' na `yes'. (Można także zabezpieczyć się przed modyfikacją pliku konfiguracyjnego przez dpkg. W tym celu należy go zmodyfikować -- wystarczy dodać do pliku pustą linię.) Jeśli X serwer, którego używasz, wykorzystuje usługi `xfs' na aktualizowanej maszynie, może utracić połączenie podczas zatrzymania `xfs'. Nie jest to niebezpieczne, ale może być denerwujące. Uwaga: podobne rzeczy mogą się wydarzyć w przypadku innych serwerów, więc bądź na to przygotowany/przygotowana. [1] Można to zrobić instalując pakiet perl-5.005, przy pomocy na przykład polecenia `apt-get install perl-5.005' 3.1.1. Zmienione nazwy pakietów ------------------------------- Zmieniono nazwy następujących pakietów. W większości przypadków dodano odpowiednie pola Conflicts:, Replaces:, i Provides: (a nawet specjalne pakiety imitujące), co powoduje, że nowe pakiety będą instalowane automatycznie i/lub w bezpieczny sposób zamienią/usuną stare wersje. ada-rm -> gnat-doc [1] alsa-modules -> alsa-base alsalib -> libasound0.4 ax25-utils -> libax25 blt8.0-unoff -> blt8.0 c-client-dev -> libc-client4.7-dev console-tools-data -> console-data cti-ifhp -> ifhp cwnn -> freewnn-cserver cwnn-dev -> freewnn-cserver-dev data-dumper -> perl-5.005 [2] dhcp-beta -> dhcp dhcp-client-beta -> dhcp-client dhcp-relay-beta -> dhcp-relay egcc -> gcc egcs-docs -> gcc-doc emacspeak-bs-tcl, emacspeak-dt, emacspeak-dt-tcl -> emacspeak-ss eterm-backgrounds -> eterm [3] fte-cfgdocs -> fte-docs fvwm -> fvwm1 fvwm2 -> fvwm gltt2 -> libgltt2 gltt2-dev -> libgltt2-dev gmp2 -> libgmp2 gmp2-dev -> libgmp2-dev gnome-gnobots -> gnome-gnobots2 gnome-gnothello -> gnome-iagno gnome-gyahtzee -> gnome-gtali gsl -> libgsl0 gsl-dev -> libgsl0-dev gstep-base -> gstep-base0 gstep-base-dev -> gstep-base0-dev gstep-extensions -> gstep-extensions0 gstep-gui -> gstep-gui0 gstep-gui-dev -> gstep-gui0-dev gstep-guile -> gstep-guile0 gtkicq -> gnomeicu intlfonts-arabic -> xfonts-intl-arabic intlfonts-asian -> xfonts-intl-asian intlfonts-chinese -> xfonts-intl-chinese intlfonts-chinese-big -> xfonts-intl-chinese-big intlfonts-european -> xfonts-intl-european intlfonts-japanese -> xfonts-intl-japanese intlfonts-japanese-big -> xfonts-intl-japanese-big intlfonts-phonetic -> xfonts-intl-phonetic ivtools -> ivtools-unidraw kbd-data -> console-data [4] kwnn -> freewnn-kserver kwnn-dev -> freewnn-kserver-dev lam -> lam-runtime lesstifg-dbg -> lesstif-dbg lesstifg-dev -> lesstif-dev libapache-mod-auth-sys -> apache-common libapache-mod-put -> apache-common libatalk1 -> netatalk libatalk1-dev -> netatalk-dev libc6-doc -> glibc-doc libdatecalc-perl -> libdate-calc-perl libg++2.8.2-dev -> libg++2.8.1.3-dev libgg0 -> libgii0 libgg0-dev -> libgii0-dev libggi1 -> libgii0, libggi2 libgnome0 -> libgnomesupport0 libjpegg-dev -> libjpeg62-dev liblockdev0-perl -> liblockdev1-perl liblockdev0g-dbg -> liblockdev1-dbg liblockdev0g-dev -> liblockdev1-dev libmd5-perl -> libdigest-md5-perl libpam0g-util -> libpam-runtime libwcsmbs, wcsmbs-locale-ja -> locale-ja libwine0.0.971116 -> libwine libxml0 -> libxml1 maplay -> maplay3 mysql-base -> mysql-gpl-client, mysql-client mysql-dev -> libmysqlclient6-dev newt0.25-dev -> libnewt-dev open -> console-tools [5] palmpython -> pyrite perl -> perl5 perl-base -> perl5-base popt -> libpopt0, libpopt-dev ppp-pam -> ppp [6] ptx -> textutils [7] python-bsddb, python-curses, python-misc, python-net -> python-base [8] python-mysql -> python-mysqldb python-pil -> python-imaging rgrep -> grep [9] r-pdl -> pdl sgmlspm -> libsgmls-perl smbfsx -> smbfs sorcerer -> pccts t1lib0-bin -> t1lib-bin t1lib0-dev -> t1lib-dev tcd -> gnome-media [10] timezones -> libc6 [11] tm -> semi [12] toshiba-fan, toshiba-hotkey -> toshutils v-bin -> libv-bin v-dbg -> libv-dbg v-dev, vm-dev -> libv-dev v1g -> libv1.22 vnc-doc -> xvncviewer, vncserver wcsmbs-locale-ko -> locale-ko wnn -> freewnn-jserver wnn-common -> freewnn-common wnn-dev -> freewnn-jserver-dev www-search -> libwww-search-perl wxxt1 -> libwxxt1 wxxt1-dev -> libwxxt-dev xfntbig5p-cmex24m -> xfonts-cmex-big5p xfntil2 -> xfonts-biznet-iso-8859-2-{base,75dpi,100dpi} xntp3-doc -> ntp-doc xpm-bin -> xpm4g-dev [13] Choć dołożyliśmy wszelkich starań aby ukończyć tę listę, nadal może nie być kompletna. [1] Podręcznik Ady został włączony do pakietu gnat-doc. [2] Pakiet data-dumper został włączony do pakietu perl-5.005. [3] Tła zostały włączone z powrotem do pakietu eterm. [4] Pakiet `kbd-data' został zastąpiony pakietem console-data. [5] Pakiet `open' został włączony z powrotem do pakietu console-tools. [6] Pakiet ppp z obsługą PAM został włączony do pakietu ppp. [7] Pakiet `ptx' został włączony do pakietu `textutils'. [8] Te pakiety zostały włączone do pakietu python-base. [9] Pakiet `rgrep' został włączony do pakietu `grep'. [10] Pakiet `tcd' został włączony do pakietu `gnome-media'. [11] Pakiet timezones został włączony do pakietu libc6. [12] Zwróć uwagę, że `wemi' jest rodzajem 'semi'. [13] Pakiet xpm-bin został włączony do pakietu xpm4g-dev. 3.1.2. Podzielone pakiety ------------------------- Pomiędzy edycjami 2.1 (``slink'') i 2.2 (``potato''), niektóre pakiety zostały podzielone na dwa lub więcej pakietów. Zrobiono tak głównie dlatego, że pakiety te dostarczały wielu funkcji, a bardzo niewielu użytkowników (jeśli w ogóle) używało ich wszystkich. Niektóre pakiety przy instalacji wyświetlą uwagę lub ostrzeżenie, niektóre mają informację w opisie pakietu, a niektóre po prostu to ignorują. Jeśli zorientujesz się, że któryś ze znanych Ci pakietów utracił swoją funkcjonalność lub jej część, sprawdź poniższą listę aby zobaczyć, czy nie musisz zainstalować dodatkowego pakietu aby odzyskać tą funkcjonalność. Jeśli tak nie jest, sprawdź dziennik zmian (ang. changelog) danego pakietu, który można znaleźć w pliku `/usr/docchangelog.Debian.gz'. Oto lista podzielonych pakietów (może nie być kompletna): gmc: mc gmc mc-common [1] libpgtcl: libpgtcl pgaccess mozilla: mozilla libnspr3 libnspr3-dev netbase: netbase tcpd libwrap0 libwrap0-dev netstd: bootp bootparamd bootpc finger fingerd fping ftp ftpd icmpinfo pidentd rdate rdist routed rsh-client rsh-server ruptime rusers rusersd rwall rwalld rwho rwhod tftp tftpd traceroute wdsetup [2] perl-base: perl-base perl-5.004-base perl-5.005-base [3] perl: perl-5.004 perl-5.004-doc perl-5.005 perl-5.005-doc [4] postgresql: postgresql postgresql-client postgresql-test vim: vim vim-gtk [5] [1] Pakiet gmc zawiera teraz tylko wersję GNOME, mc zawiera wersję na konsolę, a oba pakiety nie są ze sobą w konflikcie. [2] Po zaktualizowaniu pakietu netstd i wszystkich pakietów, których on wymaga należy go usunąć. [3] Aktualizacja pakietu perl-base spowoduje zainstalowanie podstawowej dystrybucji Perla, wersji 5.004. Aby uzyskać nowszą wersję Perla należy zainstalować pakiet perl-5.005-base, po czym można usunąć pakiet perl-5.004-base. [4] Aktualizacja pakietu perl spowoduje zainstalowanie pełnej dystrybucji Perla, wersji 5.004. Aby uzyskać nowszą wersję Perla należy zainstalować pakiety perl-5.005 i perl-5.005-doc, po czym można usunąć pakiety perl-5.004 i perl-5.004-doc. [5] Vim zawierał program na konsolę i X (GTK+). Teraz został podzielony, aby umożliwić instalację bez X. 3.2. Niezbędne przed aktualizacją czynności ------------------------------------------- Przed aktualizacją systemu zalecamy wykonanie pełnej kopii zapasowej, albo przynajmniej kopii tych danych i konfiguracji, na których utratę nie możesz sobie pozwolić. Na wykorzystywanych narzędziach i procesie aktualizacji można polegać, ale jeśli w czasie aktualizacji pojawi się jakiś błąd sprzętu, może to spowodować poważne uszkodzenie systemu. Przede wszystkim należy zapisać zawartość katalogów `/etc', `/var/lib/dpkg' i wynik działania polecenia `dpkg --get-selections'. Mądrze jest poinformować użytkowników o mającej nastąpić aktualizacji, choć użytkownicy korzystający z systemu przez ssh (przynajmniej oni) nie powinni wiele zauważyć w czasie aktualizacji i mogą kontynuować pracę. Jeśli chcesz zachować szczególne środki ostrożności, przed aktualizacją zrób kopię zapasową lub odmontuj partycje użytkowników (`/home'). Aktualizacja dystrybucji powinna się odbyć lokalnie, z konsoli tekstowej (lub bezpośrednio podłączonego terminala szeregowego), albo zdalnie przez połączenie `ssh'. _Nie_ powinno się przeprowadzać aktualizacji przez `telnet', `rlogin', `rsh' lub z sesji X zarządzanej przez `xdm' na maszynie, którą aktualizujesz. Powodem jest możliwość wyłączenia tych usług w czasie aktualizacji, co może spowodować, że system stanie się _niedostępny_ i tylko częściowo zaktualizowany. Aktualizacja z buforów powłoki `emacs' nie jest zalecana, z powodu problemów z niektórymi nakładkami debconfa w tym trybie. Bez względu na metodę aktualizacji zaleca się sprawdzenie stanu wszystkich pakietów. Aby sprawdzić, czy wszystkie pakiety są w stanie umożliwiającym aktualizację można użyć polecenia dpkg -l | pager lub dpkg --get-selections > (a następnie sprawdzenie pliku `'). Można do tego celu użyć także programu `dselect'. Każda instalacja pakietów musi być wykonywana z uprawnieniami administratora, więc albo zaloguj się jako root, albo użyj programu `su' lub `sudo' aby uzyskać konieczne prawa dostępu. Zaleca się użycie programu `/usr/bin/script', co umożliwi zapisanie przebiegu całej aktualizacji. [1] Dzięki temu, jeśli pojawią się jakieś problemy, będzie dostępny zapis wszystkiego, co się wydarzyło, a także, o ile będzie to konieczne, dokładne informacje do załączenia w zgłoszeniu błędu. Aby zacząć nagrywać, wpisz: script -a /upgrade-2.2.typescript lub podobną komendę. Pamiętaj, aby nie umieszczać pliku z zapisem w katalogu tymczasowym (takim jak `/tmp' lub `/var/tmp'). Przed aktualizacją zaleca się usunięcie wszystkich atrybutów "zatrzymania" (ang. hold) pakietów. Jeśli ``zatrzymany'' jest jakikolwiek pakiet niezbędny do aktualizacji, nie powiedzie się ona. Jeśli zmieniłeś/zmieniłaś lub skompilowałeś/skompilowałaś pakiet lokalnie i nie zmieniłeś/zmieniłaś jego nazwy ani nie dodałeś/dodałaś do wersji ``epoki'' (ang. epoch), to aby zabezpieczyć pakiet przed aktualizacją należy go ``zatrzymać''. Ten stan pakietu można zmienić używając programu `dselect' (w menu wyboru należy użyć klawiszy `H' i `G' aby odpowiednio zatrzymać i usunąć zatrzymanie), lub wykonując komendę: dpkg --get-selections > modyfikując plik `' aby zmienić "hold" na "install" (lub odwrotnie), a następnie wykonując jako administrator komendę dpkg --set-selections < Dobrym pomysłem może być ``zatrzymanie'' pakietu `ssh' (jeśli jest zainstalowany), powieważ w przeciwnym wypadku zostanie on zamieniony na OpenSSH (nowy pakiet ssh), który ma nie do końca zgodny format pliku konfiguracyjnego, co może czasem spowodować, że program `sshd' nie będzie uruchamiał się po aktualizacji. ``Zatrzymując'' pakiet można upewnić się, że system pozostanie osiągalny. Później można albo dowolnie zmodyfikować plik konfiguracyjny i zainstalować OpenSSH, albo wybrać do instalacji pakiet `ssh-nonfree', który jest całkowicie zgodną, ale nie wolnodostępną wersją ssh. (Uwaga: nawet bez ``zatrzymywania'' pakietu istniejące połączenia nie będą zerwane.) Ważne jest, aby przed aktualizacją istniał katalog `/etc/rcS.d', bo w przeciwnym wypadku nie powiedzie się instalacja pakietu `libc6'. Nie zapomnij zamontować wszystkich potrzebnych partycji (zwłaszcza partycji głównej i `/usr') w trybie do odczytu i zapisu przy pomocy komendy: mount -o remount,rw / Katalog `/usr/share/doc' (jeśli już istnieje) nie powinien być dowiązaniem symbolicznym (np. do `/usr/doc', ponieważ uniemożliwi to instalację niektórych pakietów. Jednak możliwe jest dowiązanie katalogu `/usr/doc' do `/usr/share/doc'. Zwróć uwagę, że takie dowiązanie spowoduje pojawienie się podczas aktualizacji wielu komunikatów błędów o tym, że podkatalogi w `/usr/doc' nie mogą być usunięte. Jest to normalne i można te komunikaty bezpiecznie zignorować. W celu wykonania aktualizacji zaleca się bezpośrednie użycie programu `apt-get', tak jak to opisano w następnym rozdziale. APT jest następną generacją narzędzi obsługi pakietów Debiana i pozwala na przeprowadzenie bezproblemowych instalacji. _Nie_ powinno się wykonywać żadnych poważnych aktualizacji pakietów z wykorzystaniem programu `dselect', ponieważ w przeciwieństwie do programu `apt' nie ustawia on programów do instalacji w żaden logiczny sposób, przez co nie można na nim polegać. Co więcej takie aktualizacje nie zostały dobrze przetestowane, a co za tym idzie nie są wspierane przez Debiana. [1] W zasadzie dobrze jest używać programu `script' do zapisania każdej sesji z programem `dselect', a także wszystkich innych, które warto zapisać. 3.3. Proces aktualizacji ------------------------ Jeśli wykonuje się aktualizację z wykorzystaniem CD-ROMów, lub jeśli aktualizuje się system z wersji Debian GNU/Linux 2.0 lub wcześniejszej, potrzebne są odpowiednie wersje programów `apt' i `dpkg' z katalogu http://http.us.debian.org/debian/dists/potato//main/upgrade-m68k/ na serwerze lustrzanym Debiana, lub z katalogu `upgrade/' na pierwszym CD-ROMie z zestawu Debian 2.2. Pobierz i zainstaluj te pliki, używając komend (dokładnie w tej kolejności): dpkg -i dpkg_1.6.13_m68k.deb dpkg -i apt_0.3.19_m68k.deb Są to specjalne, skompilowane statycznie wersje, które mogą być zainstalowane (i uruchomione) w dowolnym systemie Debian. Jeśli aktualizuje się system z wersji Debian GNU/Linux 2.1 (dowolna pod-edycja) z wykorzystaniem sieci (FTP, HTTP) lub lokalnego serwera lustrzanego (partycja na dysku lub zamontowany przez NFS system plików), można użyć pakietów `apt' i `dpkg', które zawierała ta edycja. Oczywiście jeśli `apt' nie jest jeszcze zainstalowany (a nie jest instalowany domyślnie), zainstaluj go teraz. Należy zwrócić uwagę, że do aktualizacji z wykorzystaniem _wielu_ płyt CD z _dowolnej_ wersji Debiana są potrzebne statyczne wersje pakietów `apt' i `dpkg', tak jak to opisano powyżej. Zaleca się przeczytanie w tym momencie stron podręcznika systemowego apt-get(8) i sources.list(5). Jeśli zainstalowane są statyczne wersje `apt' i `dpkg', do czasu aktualizacji pakietu `man-db' można uzyskać dostęp do tych stron podręcznika przy pomocy komendy takiej jak `man -l /usr/share/man/man8/apt-get.8.gz'. Przed rozpoczęciem aktualizacji należy odpowiednio skonfigurować plik list pakietów `apt''a, `/etc/apt/sources.list'. `apt' sprawdzi wszystkie pakiety, które może znaleźć przy pomocy wszystkich linii "`deb'" i zainstaluje pakiety z największym numerem wersji, dając pierwszeństwo źródłom wymienionym jako pierwsze (dzięki temu można wymienić kilka źródeł pakietów, na przykład lokalny dysk twardy, CD-ROM i serwery lustrzane FTP/HTTP). 3.3.1. Przygotowanie aktualizacji przez Internet ------------------------------------------------ Domyślna konfiguracja umożliwia aktualizację z naszych głównych serwerów Internetowych, ale można zmodyfikować plik `/etc/apt/sources.list' aby używał innych serwerów lustrzanych, najlepiej w sieci, która jest najbliżej. W tym przypadku najpierw wykomentuj istniejące linie "`deb'" w `sources.list' umieszczając przed nimi znak "hash" (`#'). Adresy serwerów FTP i HTTP można znaleźć pod adresem http://www.debian.org/distrib/ftplist (patrz "pełna lista serwerów lustrzanych"). Załóżmy, że najbliższym serwerem lustrzanym Debiana jest `ftp://alea.iacta.est/debian/' Przy pomocy przeglądarki WWW lub programu FTP można znaleźć następujące katalogi: ftp://alea.iacta.est/debian/dists/potato/main/binary-m68k/... ftp://alea.iacta.est/debian/dists/potato/contrib/binary-m68k/... Aby umożliwić `apt'-owi użycie tego serwera, należy dodać następującą linię do pliku `sources.list': deb ftp://alea.iacta.est/debian potato main contrib Należy zwrócić uwagę, że ``dists'' jest dodawane domyślnie, a argumenty czwarty i dalsze rozszerzają ścieżkę na wiele katalogów. Jeśli serwer lustrzany zawiera także działy non-US/* w katalogu ftp://alea.iacta.est/debian/debian-non-US, należy dodać także następującą linię: deb ftp://alea.iacta.est/debian/debian-non-US potato/non-US main contrib Każdy pakiet potrzebny do instalacji pobrany z sieci jest zapisywany w katalogu `/var/cache/apt/archives' (i w podkatalogu `partial/' w czasie pobierania), więc należy upewnić się przed aktualizacją, czy dostępna jest odpowiednia lość miejsca. W przypadku umiarkowanie obszernej instalacji pobrane zostanie około 300MB. Uwaga: jeśli używa się statycznych wersji pakietów `apt' i `dpkg', funkcja tłumaczenia nazw serwerów nie działa (co jest jednym z powodów używania programu `apt' ze slink'a przy aktualizacji przez sieć). Rozwiązaniem jest wpisanie w liniach ```deb''' adresów IP serwerów. (Wskazówka: `nslookup ') 3.3.2. Przygotowanie aktualizacji z lokalnego serwera lustrzanego ----------------------------------------------------------------- Jeśli jest dostępny lokalny serwer lustrzany, to zamiast używać serwerów FTP lub HTTP można zmodyfikować plik `/etc/apt/sources.list' aby `apt' używał lustra na lokalnym dysku (ewentualnie zamontowanym przez NFS). W tym przypadku najpierw wykomentuj istniejące linie "`deb'" w `sources.list', umieszczając przed nimi znak "hash" (`#'). Jeśli na przykład pakiety są w katalogu `/var/ftp/debian/', a katalogi są umieszczone w następujący sposób: /var/ftp/debian/dists/potato/main/binary-m68k/... /var/ftp/debian/dists/potato/contrib/binary-m68k/... Należy dodać do pliku `sources.list' następującą linię: deb file:/var/ftp/debian potato main contrib Należy zwrócić uwagę, że ``dists'' jest dodawane domyślnie, a argumenty czwarty i dalsze rozszerzają ścieżkę na wiele katalogów. deb file:/var/ftp/debian-non-US potato/non-US main contrib 3.3.3. Przygotowanie aktualizacji z CD-ROMów -------------------------------------------- Najpierw należy zainstalować najnowsze wersje pakietów `apt' i `dpkg', tak jak to opisano powyżej, Jeśli chcesz użyć _tylko_ płyt, wykomentuj istniejące linie ```deb''' w `/etc/apt/sources.list' umieszczając przed nimi znak "hash" (`#'). Upewnij się, że w pliku `/etc/fstab' jest linia umożliwiająca montowanie CD-ROMu w katalogu `/cdrom' (jest to wymagane przez program `apt-cdrom'). Jeśli na przykład Twoim napędem CD-ROM jest `/dev/hdc', `/etc/fstab' powinien zawierać linię: /dev/hdc /cdrom auto defaults,noauto,ro 0 0 Należy zwrócić uwagę, że w czwartym polu, między słowami `defaults,noauto,ro' nie powinno być spacji. Aby sprawdzić, czy działa, wsuń CD-ROM do napędu i wykonaj polecenia: mount /cdrom (spowoduje zamontowanie płyty) ls -alF /cdrom (wyświetli główny katalog płyty) umount /cdrom (odmontuje płytę) Następnie wykonaj polecenie: apt-cdrom add dla każdej płyty Debiana z binariami, którą posiadasz, aby dodać dane o każdej płycie do bazy danych APT-a. 3.3.4. Aktualizacja ------------------- Po skonfigurowaniu `sources.list' `apt'-a, wydaj (jako root) komendę: apt-get update Spowoduje to synchronizację list pakietów oraz aktualizację informacji na temat nowych i aktualizowanych pakietów. Niektórzy zalecają wykonanie komendy apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager dzięki czemu można sprawdzić co się stanie. Choć może to zająć trochę czasu, może zaoszczędzić pewnych niespodzianek. Dzięki temu można dowiedzieć się, czy w systemie jest coś nieprawidłowego (i jak to naprawić) lub, co bardziej prawdopodobne, co dokładnie będzie się działo w czasie aktualizacji. Zwróć szczególną uwagę na pakiety, które będą usunięte ("REMOVE") nie powinno tam być żadnych niezbędnych pakietów. Po sprawdzeniu, że `apt-get' powinien działać prawidłowo, wydaj komendę: apt-get --fix-broken --show-upgraded dist-upgrade Spowoduje to przeprowadzenie pełnej aktualizacji systemu, tzn. zainstalowanie najnowszych dostępnych wersji wszystkich pakietów i rozwiązanie wszystkich możliwych zmian zależności między pakietami w różnych edycjach. Jeśli okaże się to konieczne, zostaną zainstalowane nowe pakiety (zazwyczaj nowe wersje bibliotek lub pakiety o zmienionych nazwach) i usunięte te pakiety, które przestaną być potrzebne, a będą w konflikcie z innymi. Podczas aktualizacji z zestawu CD-ROMów pojawią się w kilku momentach prośby o wsunięcie do napędu odpowiedniej płyty. Może być konieczne wsunięcie do napędu tej samej płyty kilka razy, z powodu powiązanych ze sobą pakietów, które są rozrzucone po różnych płytach. Nowe wersje obecnie zainstalowanych pakietów, które nie mogą być zainstalowane bez zmiany stanu innych pakietów zostaną zachowane w obecnej wersji ("held back"). Dlatego może być konieczne użycie `dpkg' lub `dselect' w celu usunięcia i zainstalowania ponownie niektórych zepsutych pakietów lub naprawienia zależności. Można również zamiast tego użyć `apt-get -f dist-upgrade' a następnie `apt-get dselect-upgrade' (patrz strona podręcznika systemowego apt-get(8)). Opcja `--fix-broken' (lub po prostu `-f') sprawia, że `apt' próbuje od razu naprawić zepsute zależności. `apt' nie pozwala na istnienie w systemie popsutych zależności. 3.3.5. Możliwe problemy w czasie i po aktualizacji -------------------------------------------------- Czasem może być konieczne włączenie opcji APT::Force-LoopBreak APT-a, która umożliwi tymczasowe usunięcie niezbędnego pakietu z powodu pętli Conflicts/Pre-Depends. `apt-get' ostrzeże Cię o takim problemi i przerwie aktualizację. Można obejść ten problem dodając opcję `-o APT::Force-LoopBreak=1' w linii polecenia `apt-get'. Jest możliwe, że struktura zależności w systemie jest tak zniszczona, że będzie wymagać bezpośredniej interwencji. Zazwyczaj oznacza to konieczność użycia programu `dselect' lub dpkg --remove co wyeliminuje niektóre sprawiające problemy pakiety, lub apt-get --fix-broken --show-upgraded install dpkg --configure --pending W krańcowych przypadkach może być konieczne wymuszenie ponownej instalacji pakietu komendą dpkg --install /ścieżka/do/pakietu.deb Wtedy powinno być możliwe wznowienie aktualizacji przy pomocy wymienionych wcześniej komend `dist-upgrade'. W czasie aktualizacji system zada pytania konieczne do konfiguracji lub rekonfiguracji kilku pakietów. Jeśli pojawią się pytania o to, czy jakikolwiek plik w katalogach `/etc/init.d' lub `/etc/terminfo' albo plik `/etc/manpath.config' powinien być zamieniony na wersję opiekuna pakietu zazwyczaj należy odpowiedzieć twierdząco, aby zachować spójność systemu. Zawsze można wrócić do poprzedniej wersji pliku konfiguracyjnego, która jest zapisywana z rozszerzeniem `.dpkg-old'. Jeśli nie masz pewności co zrobić, zapisz nazwę pliku lub pakietu i sprawdź później. Możesz przeszukać zapis sesji aby przypomnieć sobie, czego dotyczył problem. Po wykonaniu `apt-get dist-upgrade' zakończyła się "formalna" część aktualizacji, ale _przed_ restartem systemu należy się zająć jeszcze paroma rzeczami. Przede wszystkim należy zainstalować pakiety `locales' i `util-linux'. Można to zrobić przy pomocy komendy: apt-get install locales util-linux Jeśli aktualizujesz system Debian 2.0 lub wcześniejszy spowoduje to usunięcie pakietu `getty', ponieważ program `getty' jest teraz w pakiecie `util-linux'. Prawdopodobnie istnieje więcej pakietów, które powinny zostać zainstalowane, ale `apt-get' ich nie wykrył, ponieważ zaznacza on automatycznie tylko te pakiety, które są wymagane przez inne pakiety (tzn. pakiety w polach Recommends: i Suggests:). Można je łatwo znaleźć przy pomocy programu `dselect' lub innej wizualnej nakładki. W `dselect' należy wybrać metodę `apt' w ekranie [D]ostępu (jeśli jeszcze się tego nie zrobiło) i zaktualizować bazę danych nowymi pakietami przy pomocy opcji [A]ktualizacji. Następnie w ekranie [W]yboru nacisnąć `o', `o', `v' i Shift-d i poszukać nagłówka Pakiety wycofane lub dostępne tylko lokalnie W tej części pokażą się takie pakiety. Na przykład w systemie Debian GNU/Linux 2.1 pakiety `gimp-smotif' i `gimp-dmotif' zostały zamienione na pakiet `gimp'. Można albo zainstalować nowy pakiet przy pomocy `dselect' (który wtedy pokaże ekran ``Rozwiązywanie problemu zależności/konfliktu" wskazujący, że stare pakiety powinny zostać usunięte), albo użyć polecenia: apt-get install gimp co spowoduje usunięcie równocześnie usunięcie starych wersji pakietów (może być jedynie konieczne potwierdzenie). Innym przykładem, czego często nie widać nawet w przypadku użycia programu `dselect' są pakiety z serwerami i klientami telnet i talk, oraz serwerem NFS, które zostały wydzielone z pakietu `netstd'. Można je zainstalować przy pomocy komendy: apt-get install telnet telnetd talk talkd nfs-server To samo odnosi się do pakietu `manpages-dev', który został wydzielony z pakietu `manpages'. Więcej informacji na temat pakietów, które zostały rozdzielone w wersji Debian GNU/Linux 2.1 można znaleźć w uwagach dotyczących edycji dla tej wersji. Listę pakietów rozdzielonych w tej edycji można znaleźć w rozdziałach Rozdział 3.1.1, `Zmienione nazwy pakietów' i Rozdział 3.1.2, `Podzielone pakiety'. Jeśli aktualizujesz system z wersji 2.0 i starszych _i_ jeśli masz zainstalowany X Window System, wydaj następujące komendy: apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable A jeśli nie chcesz aby `xdm' uruchamiał się automatycznie przy starcie systemu ("automatyczny start X"), wydaj także komendę: apt-get remove xdm Więcej informacji można znaleźć w pliku `/usr/doc/xfree86-common/README.Debian-upgrade'. System konfiguracji modułów jądra zmienił się od edycji Debian GNU/Linux 2.0. Jeśli zaktualizowałeś/zaktualizowałaś system z wersji 2.0 lub wcześniejszej, musisz skonwertować system przed następnym restartem. Zwykle wystarcza wydanie polecenia `update-modules force', jednak zaleca się przeczytanie strony podręcznika systemowego update-modules(8). Zwróć uwagę, że jądro Linuksa _nie_ zostało uaktualnione. Można to zrobić samodzielnie instalując jeden z pakietów `kernel-image-*' lub kompilując własne jądro ze źródeł. Życzymy dobrej zabawy z nowym systemem Debian GNU/Linux 2.2! :-) ------------------------------------------------------------------------------- Uwagi dotyczące wydania Debiana GNU/Linux 2.2 (`potato'), Motorola 680x0 Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer tłumaczenie: Marcin Owsiany $Id: release-notes.pl.sgml,v 1.16 2001/02/11 01:09:57 polish Exp $