Rozdział 4. Aktualizacja z Debiana 6.0 (squeeze)

Spis treści

4.1. Przygotowanie do aktualizacji
4.1.1. Kopia zapasowa danych i konfiguracji
4.1.2. Uprzednie poinformowanie użytkowników
4.1.3. Przygotowanie do przestoju usług
4.1.4. Przygotowanie do odzyskiwania
4.1.5. Przygotowanie bezpiecznego środowiska do uaktualnienia
4.2. Sprawdzanie statusu systemu
4.2.1. Przeglądnięcie zaplanowanych działań w menedżerze pakietów
4.2.2. Wyłączanie przypięć APT-a (APT pinning)
4.2.3. Sprawdzanie statusu pakietów
4.2.4. Sekcja proposed-updates
4.2.5. Nieoficjalne źródła i backporty
4.3. Przygotowanie źródeł dla APT-a
4.3.1. Dodawanie internetowych źródeł APT-a
4.3.2. Dodawanie źródeł APT-a do lokalnego serwera lustrzanego
4.3.3. Dodawanie źródeł APT-a do CD-ROM-u lub DVD
4.4. Aktualizowanie pakietów
4.4.1. Zapisywanie sesji
4.4.2. Aktualizowanie listy pakietów
4.4.3. Zapewnienie wystarczającej ilości wolnego miejsca
4.4.4. Wybór odmiany jądra
4.4.5. Minimalna aktualizacja systemu
4.4.6. Aktualizowanie jądra i udev
4.4.7. Aktualizacja systemu
4.5. Możliwe problemy przy aktualizacji
4.5.1. Przejście z ia32-libs do wieloarchitekturowości
4.5.2. Obsługa cryptoloop nie jest umieszczona w jądrze Linux wydania wheezy
4.5.3. Oczekiwane usunięcia
4.5.4. Konflikty lub pętle wymaga wstępnie
4.5.5. Konflikty plików
4.5.6. Zmiany konfiguracji
4.5.7. Zmiana sesji na konsoli
4.5.8. Pakiety specjalnej troski
4.6. Aktualizowanie jądra i powiązanych pakietów
4.6.1. Instalowanie metapakietu jądra
4.6.2. Problemy z kolejnością rozruchową
4.7. Przygotowanie do następnego wydania
4.8. Przestarzałe składniki
4.9. Przestarzałe pakiety
4.9.1. Pakiety atrapy

4.1. Przygotowanie do aktualizacji

Przed aktualizacją zalecamy również zapoznanie się z informacjami zawartymi w Rozdział 5, Problemy, które należy mieć na uwadze, dotyczące wydania wheezy. Rozdział ten opisuje również potencjalne problemy, niezwiązane bezpośrednio z procesem aktualizacji, o których warto wiedzieć przed rozpoczęciem całej procedury.

4.1.1. Kopia zapasowa danych i konfiguracji

Przed zaktualizowaniem systemu zalecamy wykonanie pełnej kopii zapasowej, a przynajmniej kopii tych danych i konfiguracji, których utrata byłaby bolesna. Narzędzia i proces aktualizacji są dość niezawodne, lecz problem sprzętowy w trakcie procedury może spowodować dość znaczne uszkodzenie systemu.

Główną rzeczą, którą warto skopiować jest zawartość plików /etc, /var/lib/dpkg, /var/lib/apt/extended_states oraz wynik polecenia dpkg --get-selections "*" (cudzysłów jest istotny). Jeśli do zarządzania pakietami wykorzystuje się program aptitude, należy zachować również zawartość pliku /var/lib/aptitude/pkgstates.

Sam proces aktualizacji nie zmienia niczego w katalogu /home. Niektóre aplikacje (np. część zestawu Mozilla oraz środowiska graficzne GNOME i KDE) nadpisują istniejące ustawienia użytkownika wartościami domyślnymi, gdy użytkownik uruchamia dany program jako pierwszy. Środkiem ostrożności jest wykonanie kopii zapasowych ukrytych plików i katalogów (z kropką - dotfiles) z katalogów domowych użytkowników. Kopia może ułatwić odtworzenie lub przywrócenie starych ustawień. Powinno się również poinformować o tym swoich użytkowników.

Operacja związana z instalacją pakietów musi być wykonana z uprawnieniami administratora, dlatego należy się zalogować na konto root, używając polecenia su lub wykorzystując sudo do uzyskania potrzebnych uprawnień.

Przed aktualizacją należy wykonać kilka czynności, dlatego trzeba zapoznać się z poniższą listą przed wykonaniem aktualizacji.

4.1.2. Uprzednie poinformowanie użytkowników

Przed każdą aktualizacją powinno się poinformować swoich użytkowników o tym fakcie, choć osoby uzyskujące dostęp do komputera za pomocą ssh nie powinny odczuć większych problemów i powinny móc kontynuować pracę.

Jako dodatkowe zabezpieczenie, można wykonać kopię zapasową lub odmontować partycję z katalogiem /home przed wykonaniem aktualizacji.

Przy aktualizacji do wydania wheezy konieczne będzie zaktualizowanie jądra, tak więc nie obędzie się bez ponownego uruchomienia komputera.

4.1.3. Przygotowanie do przestoju usług

Mogą istnieć usługi oferowane przez system, które są związane z pakietami objętymi aktualizacją. W takim przypadku, proszę pamiętać, że podczas aktualizacji zostaną one zatrzymane na czas zastąpienia nowszą wersją oraz konfiguracji i nie będą w tym czasie dostępne.

Dokładny czas niedostępności usług zależy od liczby aktualizowanych pakietów i obejmuje również czas, jaki administratorowi zajmie odpowiedzenie na pytania konfiguracyjne (o ile takie będą). Proszę zwrócić uwagę, że jeśli proces aktualizacji nie będzie nadzorowany, a system będzie wymagał reakcji użytkownika, występuje duże prawdopodobieństwo pozostawienia usług niedostępnych[1], przez znaczny czas.

Jeśli aktualizowany system udostępnia usługi, które są krytyczne dla użytkowników lub sieci[2], można ograniczyć przerwę w ich działaniu, wykonując aktualizację minimalną, zgodnie z opisem w Sekcja 4.4.5, „Minimalna aktualizacja systemu”, a następnie aktualizację jądra i ponownie uruchamiając komputer (patrz Sekcja 4.4.6, „Aktualizowanie jądra i udev” ) oraz aktualizując pakiety związane z krytycznymi usługami. Dopiero później należy wykonać pełną aktualizację, jak opisano to w Sekcja 4.4.7, „Aktualizacja systemu”. W ten sposób można upewnić się, że te krytyczne usługi działają i są dostępne w trakcie pełnej aktualizacji, a przerwa w działaniu jest zminimalizowana.

4.1.4. Przygotowanie do odzyskiwania

Choć Debian zawsze stara się upewnić, że system będzie dało się uruchomić w każdym przypadku, zawsze istnieje ryzyko, że wystąpią problemy z ponownym uruchomieniem systemu po wykonaniu aktualizacji. Znane, potencjalne problemy są omówione w tym i kolejnych rozdziałach uwag do wydania.

Z tego względu, powinno się upewnić, że będzie istniała możliwość odzyskania systemu, jeśli nie uruchomi się on po aktualizacji lub, w przypadku systemów zarządzanych zdalnie, nie aktywuje sieci.

Najoczywistszym pomysłem jest wypróbowanie działania systemu najpierw ze starym jądrem. Jednak nie ma żadnej pewności powodzenia.

Jeśli ten sposób zawiedzie, konieczne będzie zapewnienie sobie alternatywnego sposobu rozruchu systemu, aby móc go naprawić. Rozwiązaniem może okazać się specjalny obraz ratunkowy lub płyta typu live CD. Po uruchomieniu systemu za pomocą jednej z tych metod, powinno się dać podmontować główny system plików, a następnie wykonać chroot, aby rozpoznać i naprawić problem.

Inną polecaną metodą jest tryb ratunkowy w instalatorze Debiana wheezy. Zaletą skorzystania z instalatora jest możliwość wyboru wielu metod instalacji, w zależności od potrzeb. Więcej informacji zawiera Recovering a Broken System w rozdziale 8 przewodnika instalacji i FAQ instalatora Debiana.

4.1.4.1. Debugowanie powłoki podczas rozruchu, za pomocą initrd

Pakiet initramfs-tools udostępnia powłokę debugowania[3] w generowanych obrazach initrd. Na przykład, jeśli initrd nie może podmontować głównego systemu plików, to przeniesie się do powłoki debugowania z dostępnymi podstawowymi poleceniami, aby umożliwić znalezienie problemu, a może nawet naprawienie go.

Podstawowymi rzeczami do sprawdzenia są: obecność poprawnych plików urządzeń w /dev; które moduły są załadowane (cat /proc/modules); wyniku dmesg pod kątem błędów ładowania sterowników. Wynik dmesg pokaże również, jakie pliki urządzeń zostały przypisane do danych dysków; powinno się je sprawdzić z wynikiem echo $ROOT, aby upewnić się, że główny system plików znajduje się na oczekiwanym urządzeniu.

Jeśli uda się rozwiązać problem, polecenie exit zamknie powłokę debugowania i będzie kontynuować proces debugowania od momentu wystąpienia błędu. Oczywiście, konieczne będzie naprawienie źródła problemu i ponowne wygenerowanie initrd, aby przy następnym rozruchu nie znaleźć się w identycznej sytuacji.

4.1.5. Przygotowanie bezpiecznego środowiska do uaktualnienia

Aktualizacja dystrybucji może być wykonana lokalnie, z trybu tekstowego wirtualnej konsoli (lub przez bezpośrednio połączony terminal szeregowy) lub zdalnie, za pomocą ssh.

[Ważne]Ważne

Jeśli korzysta się z usług VPN (takich jak tinc), to mogą one nie być dostępne w czasie aktualizacji. Proszę zapoznać się z Sekcja 4.1.3, „Przygotowanie do przestoju usług”.

Aby zapewnić większy margines bezpieczeństwa przy aktualizacji zdalnej, sugerujemy uruchomić proces aktualizacji w wirtualnej konsoli zapewnionej przez program screen, który pozwala na bezpieczne ponowne podłączenie i zapewnia nieprzerwaność procesu aktualizacji, nawet przy zerwaniu połączenia.

[Ważne]Ważne

Nie należy wykonywać aktualizacji za pomocą telnet, rlogin, rsh lub z sesji X zarządzanej przez xdm, gdm lub kdm itp. na aktualizowanym komputerze. Każda z tych usług może zostać przerwana podczas aktualizacji, co może skutkować niedostępnym systemem, uaktualnionym jedynie częściowo. Używanie programu GNOME update-manager jest zdecydowanie odradzane przy aktualizacji do nowego wydania, ponieważ narzędzie to wymaga, aby sesja pulpitu pozostawała aktywna.

4.2. Sprawdzanie statusu systemu

Proces aktualizacji opisany w tym rozdziale został opracowany dla aktualizacji z czystego wydania squeeze bez pakietów pochodzących z zewnątrz. Aby zwiększyć niezawodność aktualizacji, można usunąć takie pakiety przed rozpoczęciem procesu.

Bezpośrednie aktualizacje z wydań Debiana starszych niż 6.0 (squeeze) nie jest wspierane. Proszę zapoznać się z instrukcjami w Uwagach do wydania Debian 6.0 aby wykonać najpierw aktualizację do wydania 6.0.

Procedura ta zakłada, że system został zaktualizowany do ostatniej aktualizacji punktowej squeeze. Jeśli się tego nie wykonało lub nie jest się tego pewnym, należy wykonać instrukcje z Sekcja A.1, „Uaktualnianie wydania squeeze”.

4.2.1. Przeglądnięcie zaplanowanych działań w menedżerze pakietów

Niekiedy, użycie apt-get do instalowania pakietów zamiast aptitude może spowodować, że aptitude potraktuje je jako nieużywane i przeznaczy do usunięcia. Z reguły powinno się upewnić, że system jest całkowicie uaktualniony i czysty przed rozpoczęciem procesu aktualizacji.

Z tego powodu, należy sprawdzić, czy nie ma żadnych zaplanowanych działań w menedżerze pakietów aptitude. Jeśli jakiś pakiet jest przeznaczony do usunięcia lub aktualizacji, może to negatywnie wpłynąć na przebieg aktualizacji, Proszę zauważyć, że naprawienie tego problemu będzie możliwe tylko wówczas, gdy sources.list wciąż wskazuje na wydanie squeeze, a nie na stable lub wheezy; patrz Sekcja A.2, „Sprawdzanie listy źródeł”.

Sprawdzenie polega na uruchomieniu aptitude w trybie wizualnym i wciśnięciu g (pobierz/instaluj/usuń). Jeśli pokazane zostaną jakieś akcje, należy je przejrzeć i poprawić lub przeprowadzić. Jeśli nie będzie sugerowanych akcji, zostanie wyświetlony komunikat Nie jest zaplanowana instalacja, aktualizacja, ani usunięcie żadnych pakietów.

4.2.2. Wyłączanie przypięć APT-a (APT pinning)

Jeśli skonfigurowano APT w celu instalacji konkretnych pakietów z dystrybucji innej niż stabilna (np. z testowej), konieczna może okazać się zmiana konfiguracji przypięć APT-a (przechowywanej w /etc/apt/preferences), aby pozwolić na aktualizację pakietów do wersji z nowego wydania stabilnego. Więcej informacji na ten temat można znaleźć w podręczniku systemowym apt_preferences(5).

4.2.3. Sprawdzanie statusu pakietów

Niezależnie od wybranej metody aktualizacji, zaleca się uprzednie sprawdzenie wszystkich pakietów i zweryfikowanie, czy wszystkie nadają się do aktualizacji. Następujące polecenie pokaże pakiety o statusie częściowo zainstalowany lub nieprawidłowa konfiguracja i te z jakimkolwiek statusem błędu.

# dpkg --audit

Można również sprawdzić stan wszystkich pakietów za pomocą aptitude lub np.

# dpkg -l | pager

albo

# dpkg --get-selections "*" > ~/curr-pkgs.txt

Pożądane może okazać się usunięcie wszelkich zatrzymań z pakietów. Jeśli jakikolwiek aktualizowany pakiet o statusie istotny będzie zatrzymany, aktualizacja nie powiedzie się.

Proszę zauważyć, że aptitude używa innej metody rejestrowania zatrzymanych pakietów niż apt-get i dselect. Pakiety zatrzymane w aptitude można sprawdzić za pomocą polecenia

# aptitude search "~ahold" 

Pakiety zatrzymane w apt-get można sprawdzić korzystając z

# dpkg --get-selections | grep 'hold$'

Jeśli zmieniono jakiś pakiet lub ponownie skompilowano go lokalnie, bez zmiany nazwy lub dodaniu epoki do nazwy, konieczne będzie zatrzymanie go, aby zapobiec uaktualnieniu.

Stan zatrzymania pakietu w apt-get można zmienić za pomocą:

# echo package_name hold | dpkg --set-selections

Proszę zamienić hold słowem install aby cofnąć zatrzymanie pakietu.

Jeśli jest coś, co wciąż trzeba poprawić, najlepiej jest upewnić się, że lista sources.list wciąż odnosi się do wydania squeeze, zgodnie z opisem Sekcja A.2, „Sprawdzanie listy źródeł”.

4.2.4. Sekcja proposed-updates

Jeśli w pliku /etc/apt/sources.list znajduje się sekcja proposed-updates, należy usunąć ją przed rozpoczęciem aktualizacji systemu. Jest to środek ostrożności, zmniejszający prawdopodobieństwo konfliktów.

4.2.5. Nieoficjalne źródła i backporty

Jeśli zainstalowano jakieś pakiety pochodzące spoza Debiana, należy pamiętać, że mogą one zostać usunięte podczas aktualizacji, z powodu konfliktów w zależnościach. Jeśli pakiety zostały zainstalowane przez dodanie dodatkowego archiwum pakietów w /etc/apt/sources.list, należy sprawdzić, czy nie oferuje ono pakietów skompilowanych dla wydania wheezy; wówczas należy odpowiednio zmienić wiersz dotyczący tego archiwum we wspomnianym pliku, w tym samym czasie, co pozostałe wiersze związane z pakietami Debiana.

Część użytkowników może posiadać nieoficjalne, backportowane wersje pakietów, które są nowsze niż pakiety zainstalowane w Debianie squeeze. Takie pakiety będą prawdopodobnie sprawiać kłopoty, z powodu konfliktów plików[4]. Sekcja 4.5, „Możliwe problemy przy aktualizacji” opisuje sposoby radzenia sobie z konfliktami plików.

4.3. Przygotowanie źródeł dla APT-a

Przed rozpoczęciem aktualizacji, należy przygotować plik konfiguracyjny apta z listami pakietów - /etc/apt/sources.list.

apt bierze pod uwagę wszystkie pakiety oznaczone za pomocą wpisu deb i instaluje pakiety o najwyższym numerze wersji, dając priorytet wcześniejszym wierszom w pliku (stąd, jeśli wymieniono kilka położeń, należy zwykle jako pierwszy umieścić lokalny dysk twardy, następnie CD-ROM-y, a na końcu serwery lustrzane HTTP/FTP).

Wydanie można określić często za pomocą nazwy kodowej (tzn. squeeze, wheezy) lub statusu wydania (np. oldstable - stare stabilne, stable - stabilne, testing - testowe, unstable - niestabilne). Zapis odnoszący się do nazwy kodowej ma tę zaletę, że użytkownik nie zostanie nigdy zaskoczony nowym wydaniem, z tego powodu to podejście jest preferowane w niniejszym dokumencie. Z drugiej strony, powoduje to konieczność samodzielnego sprawdzania, czy nie wydano nowej wersji systemu. Jeśli użyje się nazwy statusu, po prostu pokaże się wówczas bardzo dużo dostępnych aktualizacji pakietów.

4.3.1. Dodawanie internetowych źródeł APT-a

Domyślna konfiguracja jest przeznaczona do instalacji z głównych serwerów internetowych Debiana, lecz można zmodyfikować plik /etc/apt/sources.list w celu użycia innych serwerów lustrzanych, najlepiej położonych najbliżej użytkownika.

Adresy serwerów lustrzanych HTTP i FTP można znaleźć na stronie http://www.debian.org/distrib/ftplist (w rozdziale lista serwerów lustrzanych Debiana). Serwery HTTP są zwykle szybsze niż FTP.

Załóżmy na przykład, że najbliższym serwerem lustrzanym jest http://mirrors.kernel.org. Przy sprawdzaniu go za pomocą przeglądarki internetowej lub programu FTP, można zauważyć, że główne katalogi są ułożone podobnie do:

http://mirrors.kernel.org/debian/dists/wheezy/main/binary-alphaamd64armelarmhfi386ia64mipsmipselpowerpcsparcs390s390xkfreebsd-i386kfreebsd-amd64/...
http://mirrors.kernel.org/debian/dists/wheezy/contrib/binary-alphaamd64armelarmhfi386ia64mipsmipselpowerpcsparcs390s390xkfreebsd-i386kfreebsd-amd64/...

Aby użyć tego serwera lustrzanego z aptem, należy dodać poniższy wiersz do pliku sources.list:

deb http://mirrors.kernel.org/debian wheezy main contrib

Proszę zwrócić uwagę, że dists jest dodane jawnie, a argumenty po nazwie wydania są używane do rozwinięcia ścieżki na wiele katalogów.

Pod dodaniu nowych źródeł, należy wyłączyć istniejące wcześniej wiersze deb w sources.list, dodając na ich początku znak kratki (#).

4.3.2. Dodawanie źródeł APT-a do lokalnego serwera lustrzanego

Zamiast używania serwerów lustrzanych HTTP lub FTP, można zmodyfikować swój plik /etc/apt/sources.list tak, aby skorzystać z kopii na dysku lokalnym (np. zamontowanej za pomocą NFS).

Kopia serwera lustrzanego może się znajdować np. w /var/ftp/debian/ i posiadać główne katalogi, takie jak:

/var/ftp/debian/dists/wheezy/main/binary-alphaamd64armelarmhfi386ia64mipsmipselpowerpcsparcs390s390xkfreebsd-i386kfreebsd-amd64/...
/var/ftp/debian/dists/wheezy/contrib/binary-alphaamd64armelarmhfi386ia64mipsmipselpowerpcsparcs390s390xkfreebsd-i386kfreebsd-amd64/...

Aby użyć jej ze swoim aptem, proszę dodać ten wiersz do pliku sources.list:

deb file:/var/ftp/debian wheezy main contrib

Proszę zwrócić uwagę, że dists jest dodane jawnie, a argumenty po nazwie wydania są używane do rozwinięcia ścieżki na wiele katalogów.

Pod dodaniu nowych źródeł, należy wyłączyć istniejące wcześniej wiersze deb w sources.list, dodając na ich początku znak kratki (#).

4.3.3. Dodawanie źródeł APT-a do CD-ROM-u lub DVD

Aby korzystać wyłącznie z płyt, proszę wyłączyć istniejące wiersze deb w pliku /etc/apt/sources.list dodając na początku znak kratki (#).

Proszę upewnić się, że w pliku /etc/fstab istnieje wiersz pozwalający na zamontowanie CD-ROM-u w punkcie montowania /cdrom (punkt montowania o nazwie /cdrom jest wymagany przez polecenie apt-cdrom). Na przykład, jeśli napęd CD-ROM jest urządzeniem /dev/hdc, to plik /etc/fstab powinien zawierać wiersz podobny do poniższego:

/dev/hdc /cdrom auto defaults,noauto,ro 0 0

Proszę zauważyć, że w czwartym polu, między słowami defaults,noauto,ro nie mogą występować spacje.

Aby sprawdzić, czy wszystko działa, proszę włożyć płytę i spróbować wykonać

# mount /cdrom    # montowanie płyty w punkcie montowania
# ls -alF /cdrom  # wyświetlenie głównego katalogu płyty
# umount /cdrom   # odmontowanie płyty

Następnie, proszę uruchomić:

# apt-cdrom add

dla każdej płyty binarnej Debiana, aby dodać dane z każdego CD do bazy danych APT-a.

4.4. Aktualizowanie pakietów

Zalecanym sposobem aktualizacji z poprzedniego wydania systemu Debian jest narzędzie zarządzania pakietami apt-get. W poprzednich wydaniach zalecano skorzystanie z aptitude, lecz najnowsze wersje apt-get zawierają równoworzędną funkcjonalność i dają lepsze rezultaty procesu aktualizacji.

Proszę nie zapomnieć o zamontowaniu potrzebnych partycji (przede wszystkim partycji głównej i /usr) do odczytu i zapisu, za pomocą polecenia podobnego do poniższego:

# mount -o remount,rw /punkt-montowania

Proszę dobrze sprawdzić czy źródła APT-a (w /etc/apt/sources.list) odnoszą się do wydania wheezy lub stable. Nie powinno być tam wpisów dotyczących squeeze.

[Uwaga]Uwaga

Wiersze źródeł CD-ROM-u mogą niekiedy wskazywać na unstable; choć może być to mylące, nie należy tego zmieniać.

4.4.1. Zapisywanie sesji

Zaleca się skorzystanie z programu /usr/bin/script, aby zapisać wyniki sesji aktualizacji. Wówczas, jeśli wystąpi problem, gotowy będzie log, który będzie można wykorzystać np. do zgłoszenia błędu. Aby rozpocząć zapisywanie, proszę wpisać:

# script -t 2>~/upgrade-wheezykrok.time -a ~/upgrade-wheezykrok.script

lub coś podobnego. Jeśli będzie trzeba uruchomić zapis ponownie (np. po ponownym uruchomieniu systemu), proszę użyć innej wartości) krok, aby wskazać zapisywany krok aktualizacji. Nie należy umieszczać pliku do którego będzie się zapisywało w katalogu tymczasowym, takim jak /tmp lub /var/tmp (pliki w tych katalogach będą usuwane przy aktualizacjach i restarcie).

Zapis ten pozwoli również na przeglądnięcie informacji, które wypadły za ekran. Jeśli jest się w konsoli systemowej, wystarczy przełączyć się do VT2 (za pomocą Alt+F2) i, po zalogowaniu się, skorzystać z polecenia less -R ~root/upgrade-wheezy.script aby przeglądnąć plik.

Po zakończeniu aktualizacji, można zatrzymać polecenie script, wpisując exit.

Jeśli użyto przełącznika -t polecenia script, można skorzystać z programu scriptreplay, aby odtworzyć całą sesję:

# scriptreplay ~/upgrade-wheezy.time ~/upgrade-wheezy.script

4.4.2. Aktualizowanie listy pakietów

Na początku, należy pobrać listę dostępnych pakietów nowego wydania. Można to zrobić za pomocą polecenia

# apt-get update

4.4.3. Zapewnienie wystarczającej ilości wolnego miejsca

Konieczne jest upewnienie się, że system posiada wystarczająco dużo wolnej przestrzeni dyskowej, przed pełną aktualizacją systemu, opisaną w sekcji Sekcja 4.4.7, „Aktualizacja systemu”. Wszystkie pakiety potrzebne do instalacji są najpierw pobierane z sieci i przechowywane w /var/cache/apt/archives (i, przy pobieraniu, w podkatalogu partial/ ), dlatego trzeba zapewnić sobie wolne miejsce na partycji z katalogiem /var/, w celu tymczasowego przechowania instalowanych pakietów. Po zakończeniu pobierania, wolne miejsce potrzebne będzie na innych partycjach, aby zainstalować aktualizowane pakiety (które mogą zawierać większe pliki wykonywalne lub więcej danych) i nowe pakiety, dociągnięte przy aktualizacji. Jeśli jest zbyt mało wolnego miejsca, można doprowadzić do trudnej w opanowaniu, niedokończonej aktualizacji.

Polecenie apt-get może pokazać szczegółowe informacje o potrzebnym miejscu. Przed wykonaniem aktualizacji, przybliżoną wartość można zobaczyć wykonując:

# apt-get -o APT::Get::Trivial-Only=true dist-upgrade
[ ... ]
XXX aktualizowanych, XXX nowo instalowanych, XXX do usunięcia i XXX nieaktualizowanych.
Konieczne pobranie xx.x MB archiwów. 
Po tej operacji zostanie dodatkowo użyte AAA MB miejsca na dysku.
[Uwaga]Uwaga

Wykonanie tego polecenia na początku procesu aktualizacji może dać błąd, z powodów opisanych w następnym rozdziale. Trzeba wówczas poczekać na zakończenie minimalnej aktualizacji systemu, opisanej w rozdziale Sekcja 4.4.5, „Minimalna aktualizacja systemu” i aktualizacji jądra, przed wykonaniem tego polecenia szacującego potrzebne miejsce.

Jeśli zabraknie miejsca, apt-get wyświetli ostrzeżenie:

E: Niestety w /var/cache/apt/archives/ nie ma wystarczającej ilości wolnego miejsca.

W takim przypadku, konieczne będzie zwolnienie miejsca na dysku. Można:

  • Usunąć pakiety pobrane wcześniej do instalacji (z /var/cache/apt/archives). Zwolnienie bufora pakietów za pomocą polecenia apt-get clean usunie wszystkie pobrane wcześniej pliki pakietów.

  • Usunąć niepotrzebne pakiety. Jeśli zainstalowano popularity-contest można skorzystać z popcon-largest-unused aby wypisać nieużywane pakiety, które zajmują najwięcej miejsca. Można również wykorzystać polecenia deborphan lub debfoster aby znaleźć niepotrzebne pakiety (patrz Sekcja 4.9, „Przestarzałe pakiety” ). Alternatywą jest polecenie aptitude w trybie wizualnym i sekcja Pakiety lokalne lub przestarzałe.

  • Usunąć pakiety zajmujące zbyt wiele miejsca i aktualnie niepotrzebne (można je zawsze zainstalować ponownie po aktualizacji). Największe pakiety można wypisać poleceniem dpigs (dostępnym w pakiecie debian-goodies) lub wajig (uruchamiając wajig size).

    Pakiety zajmujące najwięcej miejsca można wypisać w programie aptitude. Proszę uruchomić aptitude w trybie wizualnym, wybrać WidokNowy płaski widok pakietów, wcisnąć l i wpisać ~i, wcisnąć S i wpisać ~installsize, co wyświetli zgrabną listę, możliwą do obróbki.

  • Usunąć niepotrzebne tłumaczenia i pliki lokalizacji. Można zainstalować pakiet localepurge i skonfigurować go tak, aby zachował w systemie jedynie potrzebne tłumaczenia. Zredukuje to przestrzeń zajętą przez katalog /usr/share/locale.

  • Tymczasowo przenieć na inny system lub usunąć całkowicie dzienniki systemowe z katalogu /var/log/.

  • Użyć tymczasowego /var/cache/apt/archives: można użyć tymczasowego katalogu bufora z innego systemu plików (urządzenia USB, przenośnego dysku, używanego systemu plików, ...)

    [Uwaga]Uwaga

    Proszę nie używać montowań NFS, ponieważ połączenie sieciowe może zostać przerwane przy aktualizacji.

    Na przykład, jeśli napęd USB jest zamontowany w /media/usbkey:

    1. usunięcie poprzednio pobranych pakietów do instalacji:

      # apt-get clean

    2. skopiowanie katalogu /var/cache/apt/archives na napęd USB:

      # cp -ax /var/cache/apt/archives /media/usbkey/

    3. zamontowanie tymczasowego bufora w obecnym:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives

    4. przywrócenie pierwotnego katalogu /var/cache/apt/archives po aktualizacji:

      # umount /media/usbkey/archives

    5. usunięcie pozostałego /media/usbkey/archives.

    Tymczasowy bufor można utworzyć w dowolnym systemie plików zamontowanym w systemie.

  • Wykonanie minimalnej aktualizacji (opisanej w Sekcja 4.4.5, „Minimalna aktualizacja systemu”) lub częściowych aktualizacji systemu przed pełną aktualizacją. Umożliwi to częściową aktualizację systemu i pozwoli na wyczyszczenie bufora pakietów przed pełną aktualizacją.

Proszę zwrócić uwagę, że w celu bezpiecznego usunięcia pakietów, zaleca się przełączenie swojego pliku sources.list z powrotem na wydanie squeeze zgodnie z opisem w Sekcja A.2, „Sprawdzanie listy źródeł”.

4.4.4. Wybór odmiany jądra

Konfiguracja jądra Debiana 686 została zastąpiona przez 686-pae, używającą PAE (Physical Address Extension - rozszerzenie adresu fizycznego). Jeśli komputer działa na konfiguracji 686 lecz nie ma PAE, konieczne będzie przełączenie się na konfigurację 486. Można sprawdzić, czy komputer ma PAE za pomocą:

      grep -q '^flags.*\bpae\b' /proc/cpuinfo && echo tak || echo nie

Jeśli nie ma (tzn. powyższe polecenie zwróci nie), konieczna będzie instalacja pakietu linux-image-486, a następnie usunięcie linux-image-686 i/lub linux-image-2.6-686 jeśli jest obecnie zainstalowany.

4.4.5. Minimalna aktualizacja systemu

W niektórych przypadkach, bezpośrednie wykonanie pełnej aktualizacji (opisanej niżej) może usunąć wiele pakietów, które mają być zachowane. Z tego powodu zaleca się wykonanie dwustopniowej aktualizacji, najpierw minimalnej, pozwalającej rozprawić się z tymi konfliktami, a następnie pełnej, zgodnie z opisem w Sekcja 4.4.7, „Aktualizacja systemu”.

Aby to zrobić, proszę wykonać

# apt-get upgrade

W ten sposób zaktualizowane zostaną pakiety, które nie wymagają usunięcia lub instalacji innych pakietów.

Minimalna aktualizacja systemu może okazać się przydatna również w systemach z niewielką ilością wolnego miejsca, na których pełna aktualizacja nie może być wykonana z tego powodu.

4.4.6. Aktualizowanie jądra i udev

Wersja udev w wheezy wymaga jądra w wersji 2.6.26 lub nowszej, z wyłączoną opcją CONFIG_SYSFS_DEPRECATED i włączonymi CONFIG_INOTIFY_USER i CONFIG_SIGNALFD. Ponieważ standardowe jądra Debiana w wydaniu squeeze (wersja 2.6.26) mają włączone CONFIG_SYSFS_DEPRECATED, a wersja udev w squeeze nie udostępnia pełnej funkcjonalności oczekiwanej przez najnowsze jądra, konieczna jest specjalna uwaga przy aktualizacji, aby zapobiec umieszczeniu systemu w stanie nieumożliwiającym rozruchu.

Aby zaktualizować jądro, proszę wykonać

# apt-get install linux-image-odmiana

Link Sekcja 4.6.1, „Instalowanie metapakietu jądra” pomoże w określenie właściwej odmiany jądra.

Użytkownicy programu rozruchowego grub powinni upewnić się, że polecenie update-grub zostało wykonane przy aktualizacji jądra lub uruchomić je ręcznie.

Zaraz po zaktualizowaniu jądra, konieczne będzie również zainstalowanie nowego pakietu udev, aby ograniczyć ryzyko innych niekompatybilności związanych z używaniem sterego udev z nowym jądrem. Można to zrobić w wykonując:

# apt-get install udev

Po zaktualizowaniu jądra oraz pakietu udev, powinno się uruchomić system ponownie[5].

4.4.7. Aktualizacja systemu

Po wykonaniu poprzednich kroków, nadszedł czas na główną część aktualizacji. Proszę wykonać

# apt-get dist-upgrade
[Uwaga]Uwaga

Proces aktualizacji innych wydań zalecał używanie programu aptitude do aktualizacji. To narzędzie nie jest zalecane do aktualizacji z wydania squeeze do wheezy.

Przeprowadzona zostanie w ten sposób pełna aktualizacja systemu, tzn. instalacja najnowszych dostępnych wersji wszystkich pakietów i rozwiązanie wszystkich możliwych zmian zależność pakietów w innych wydaniach. Jeśli jest to konieczne, zainstalowane zostaną nowe pakiety (najczęściej nowe wersje bibliotek lub pakiety o nowych nazwach) i usunięte wszystkie niepotrzebne pakiety powodujące konflikty.

Przy aktualizacji z zestawu CD-ROM-ów (lub płyt DVD), użytkownik będzie proszony o włożenie określonej płyty w wielu miejscach aktualizacji. Z powodu zależności między pakietami, rozproszonych na poszczególnych nośnikach, konieczne może okazać się wielokrotne wkładanie tej samej płyty.

Nowe wersje zainstalowanych pakietów, które nie mogą być zainstalowane bez zmiany statusu innego pakietu, zostaną pozostawione w bieżącej wersji (wyświetlone jako zatrzymane). Można to rozwiązać za pomocą aptitude, wybierając te pakiety do instalacji; można też spróbować wykonać apt-get -f install pakiet.

4.5. Możliwe problemy przy aktualizacji

Poniższe sekcje opisują znane problemy, które mogą pojawić się przy aktualizacji do wydania wheezy.

4.5.1. Przejście z ia32-libs do wieloarchitekturowości

Wydanie 7.0 jest wieloarchitekturowe, co pozwala na instalowanie pakietów z różnych architektur w tym samym systemie. Pakiet ia32-libs jest obecnie pakietem przejściowym, służącym do wdrożenia tej funkcji. Jeśli pakiet ia32-libs jest obecnie zainstalowany, to przed jego aktualizacją należy uprzednio włączyć wieloarchitekturowość. W przeciwnym razie, APT wyświetli następujący komunikat:

Następujące pakiety mają niespełnione zależności:
 ia32-libs : Wymaga: ia32-libs-i386 ale nie da się go zainstalować
E: Pakiety są uszkodzone

Aby pozwolić na instalowanie pakietów i386 w systemie amd64, należy wykonać poniższe polecenia:

# dpkg --add-architecture i386
# apt-get update

4.5.2. Obsługa cryptoloop nie jest umieszczona w jądrze Linux wydania wheezy

Obsługa cryptoloop została usunięta z pakietów jądra Linux w wydaniu 7.0 Debiana. Istniejące instalacje cryptoloop będą musiały być przeniesione do dm-crypt przed aktualizacją.

4.5.3. Oczekiwane usunięcia

Proces aktualizacji do wydania wheezy może prosić o usunięcie pewnych pakietów. Dokładna lista będzie zależała od obecnie zainstalowanych pakietów. Niniejsze uwagi do wydania dają ogólny obraz tych usunięć; w razie wątpliwości, przed kontynuowaniem należy sprawdzić usunięcia proponowane przez każdą z metod.

4.5.4. Konflikty lub pętle wymaga wstępnie

Czasami potrzebne jest włączenie opcji APT::Force-LoopBreak w APT, aby móc tymczasowo usunąć pakiet istotny z powodu pętli konfliktów/zależności wstępnych. Polecenie apt-get wypisze o tym ostrzeżenie i przerwie aktualizację. Można obejść problem, podając opcję -o APT::Force-LoopBreak=1 w wierszu polecenia apt-get.

Istnieje możliwość, że struktura zależności systemowych będzie na tyle uszkodzona, że konieczna będzie ręczna interwencja. Zwykle oznacza to użycie polecenia apt-get lub

# dpkg --remove nazwa-pakietu

aby wyeliminować część przeszkadzających pakietów lub

# apt-get -f install
# dpkg --configure --pending

W sytuacjach ekstremalnych, konieczne może być wymuszenie reinstalacji za pomocą polecenia

# dpkg --install /ścieżka/do/nazwy-pakietu.deb

4.5.5. Konflikty plików

Konflikty plików nie powinny wystąpić przy aktualizacji z czystego wydania squeeze, lecz mogą się pojawić przy zainstalowanych nieoficjalnych backportach. Konflikty plików objawiają się komunikatami błędów, podobnymi do poniższego:

Rozpakowywanie <pakiet-foo> (z <plik-pakietu-foo>) ...
dpkg: błąd przetwarzania <pakiet-foo> (--install):
 próba nadpisania "<jakiś-plik>",
 który istnieje także w pakiecie <pakiet-bar>
dpkg-deb: podproces wklej zabity przez sygnał (Przerwany potok)
 Wystąpiły błędy podczas przetwarzania:
 <pakiet-foo>

Można spróbować rozwiązać konflikt plików przez wymuszenie usunięcia pakietu wymienionego w ostatnim wierszu komunikatu błędu:

# dpkg -r --force-depends nazwa-pakietu

Po zakończeniu naprawy, powinno się dać wznowić aktualizację, ponawiając poprzednio wymienione polecenia apt-get.

4.5.6. Zmiany konfiguracji

Podczas aktualizacji, zostaną wyświetlone pytania dotyczące konfiguracji lub ponownej konfiguracji kilku pakietów. Gdy pytanie będzie dotyczyło tego, czy plik w katalogu /etc/init.d lub plik /etc/manpath.config ma zostać zastąpiony wersją opiekuna pakietu, to odpowiedź powinna z reguły brzmieć tak, aby zapewnić spójność systemu. Zawsze można cofnąć się do starszej wersji, ponieważ są one zapisywane z rozszerzeniem .dpkg-old.

W razie wątpliwości, proszę zapisać sobie nazwę pakietu lub pliku i zdecydować później. Można przeszukać plik z zapisem sesji, aby znaleźć informację wyświetloną na ekranie przy aktualizacji.

4.5.7. Zmiana sesji na konsoli

Jeśli aktualizacja jest wykonywana z lokalnej konsoli systemowej, w którymś momencie aktualizacji, może zdarzyć się, że konsola zostanie przesunięta na inny widok i straci się obraz procesu aktualizacji. Stanie się to np. przy interfejsie graficznym, gdy restartowany jest gdm.

Aby odzyskać konsolę, na której trwa aktualizacja, należy wcisnąć Ctrl+Alt+F1, aby przełączyć się z powrotem na terminal wirtualny 1 z graficznego ekranu powitalnego lub Alt+F1 z trybu lokalnej konsoli tekstowej. Proszę zastąpić F1 klawiszem funkcyjnym o tym samym numerze, co terminal wirtualny, na którym trwa aktualizacja. Można również skorzystać ze kombinacji Alt+strzałka w lewo lub Alt+strzałka w prawo aby przenosić się na kolejne terminale tekstowe.

4.5.8. Pakiety specjalnej troski

Pakiety powinny się zwykle aktualizować bez problemów, z wydania squeeze do wheezy. Jest jednak kilka przypadków, gdzie może okazać się potrzebna interwencja albo przed, albo w trakcie aktualizacji. Szczegółowa rozpiska dla poszczególnych pakietów znajduje się poniżej.

4.5.8.1. Sudo

Jeśli zmodyfikowano plik /etc/sudoers, to należy być świadomym pewnych zmian, które zaszły w konfiguracji sudo. Domyślny plik /etc/sudoers zawiera obecnie dwa wpisy:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#includedir /etc/sudoers.d

Żaden z nich nie zostanie dodany automatycznie do pliku /etc/sudoers przy aktualizacji (choć wciąż będzie można wykonać polecenia sudo podając ich pełne ścieżki). Należy rozważyć migrację swoich zmian do nowego katalogu /etc/sudoers.d i korzystanie z domyślnego pliku /etc/sudoers. Oto przykład:

# mv /etc/sudoers /etc/sudoers.d/moje-zmiany
# mv /etc/sudoers.dpkg-new /etc/sudoers

Konieczna może być również edycja swojego pliku /etc/sudoers.d/moje-zmiany, aby usunąć niepotrzebne wpisy Defaults i #includedir. Należy skorzystać w tym celu z polecenia visudo:

# visudo -f /etc/sudoers.d/mychanges

4.5.8.2. Screen

Wersje GNU Screen w Squeeze and Wheezy nie używają tego samego protokołu komunikacji między klientem screen, a serwerem SCREEN. Pakiet screen wydania Wheezy został załatany tak, aby najważniejsze funkcje działały nawet wówczas, gdy wersje klienta i serwera screen nie są ze sobą zgodne.

Najważniejsza funkcja niedziałająca poprawnie przy łączeniu z sesją Screen z programem screen w wersji z wydania Squeeze i klientemscreen z wydania Wheezy jest zmiana wielkości terminala (sygnał WINCH). Obejściem problemu jest odłączenie i ponowne połączenie się, dzięki czemu rozmiar terminali wewnątrz sesji screen zostanie poprawnie dopasowany.

Innym (niegroźnym) objawem takiego połączenia między różnymi wersjami programu, jest wypisywanie przez screen komunikatów takich jak "Message 40 of 12376 bytes too small".

Wszystkie te problemy znikną zaraz po zakończeniu sesji działającej z wersją screen z wydania Squeeze.

Więcej informacji znajduje się w pliku /usr/share/doc/screen/NEWS.Debian.gz pakietu screen z wydania Wheezy.

4.6. Aktualizowanie jądra i powiązanych pakietów

Niniejszy rozdział opisuje sposób aktualizacji jądra i identyfikacji potencjalnych problemów, który mogą się pojawić. Można zainstalować jeden z pakietów linux-image-* udostępnionych przez Debiana lub skompilować dostosowany do swoich potrzeb.

Proszę zauważyć, że wiele poniższych informacji zakłada, że używa się jednego z modularnych jąder Debiana, razem z initramfs-tools i udev. Jeśli korzysta się z własnego, dostosowanego jądra, które nie wymaga initrd lub wykorzystuje się inny program tworzący initrd, to część informacji będzie nieprzydatna.

4.6.1. Instalowanie metapakietu jądra

Przy aktualizowaniu dystrybucji z wydania squeeze do wheezy zaleca się zainstalowanie metapakietu linux-image-*, jeśli nie dokonano tego wcześniej. Pakiet może być zainstalowany automatycznie, przy dokonywaniu aktualizacji. Można to sprawdzić za pomocą

# dpkg -l "linux-image*" | grep ^ii

Jeśli nie zostanie wypisany żaden wynik, potrzeba będzie zainstalować ręcznie nowy pakiet linux-image. Aby zobaczyć listę dostępnych metapakietów linux-image, proszę wykonać:

# apt-cache search linux-image- | grep -v transition

W razie wątpliwości co do wyboru pakietu, proszę uruchomić uname -r i znaleźć pakiet o podobnej nazwie. Na przykład, jeśli widać 2.6.32-5-686, to zaleca się zainstalowanie linux-image-686. Można również użyć apt-cache, aby zobaczyć długi opis każdego pakietu, pomocny do wyboru najlepszego z nich. Na przykład:

# apt-cache show linux-image-686

Powinno się następnie uruchomić apt-get install, aby go zainstalować. Po zainstalowaniu nowego jądra, należy uruchomić system ponownie, przy najbliższej okazji, aby zyskać zalety nowego jądra.

Dla bardziej doświadczonych użytkowników, istnieje łatwy sposób skompilowania swojego, dostosowanego jądra w systemie Debian. Proszę zainstalować narzędzie kernel-package i przeczytać dokumentację w /usr/share/doc/kernel-package. Alternatywą jest skorzystanie ze źródeł jądra, zawartych w pakiecie linux-source. Do zbudowania pakietu binarnego można wykorzystać deb-pkg, dostępnego w źródłach makefile. Są pewne różnice w tych dwóch podejściach; proszę zapoznać się z dokumentacją odpowiednich pakietów.

Jeśli to możliwe, to osobna aktualizacja pakietu jądra od głównego dist-upgrade jest dobrym rozwiązaniem - redukuje szanse na otrzymanie tymczasowo pozbawionego możliwości rozruchu systemu. Należy to zrobić wyłącznie po aktualizacji minimalnej, opisanej w Sekcja 4.4.5, „Minimalna aktualizacja systemu”.

4.6.2. Problemy z kolejnością rozruchową

Jeśli korzysta się z initrd utworzonego przez initramfs-tools do rozruchu systemu, w niektórych przypadkach utworzenie plików urządzeń przez udev może nastąpić zbyt późno dla skryptów rozruchowych.

Częstymi objawami jest nieudany rozruch z powodu tego, że główny system plików nie może być zamontowany, a użytkownik jest przeniesiony do powłoki debugowania. Jednak po późniejszym sprawdzeniu, okazuje się, że wszystkie potrzebne urządzenia są obecne w /dev. Zdarza się to w przypadkach, gdy główny system plików znajduje się na dysku USB lub RAID, szczególnie jeśli korzysta się z LILO.

Obejściem problemu jest dodanie parametru rozruchowego rootdelay=9. Wartość oczekiwania (w sekundach) może wymagać zmiany.

4.7. Przygotowanie do następnego wydania

Po aktualizacji jest kilka rzeczy, które można zrobić w celu przygotowania do następnego wydania.

  • Usunięcie pakietów przestarzałych i nieużywanych, opisanych w rozdziale Sekcja 4.9, „Przestarzałe pakiety”. Powinno się przejrzeć używane przez nie pliki konfiguracyjne i rozważyć wyczyszczenie (purge) pakietów, aby pozbyć się również plików konfiguracyjnych.

4.8. Przestarzałe składniki

Od następnego wydania systemu Debian 8.0 (nazwa kodowa jessie) część funkcji zostanie porzucona. Użytkownicy powinni przejść na rozwiązania alternatywne, aby uniknąć problemów przy aktualizacji do 8.0.

Dotyczy do między innymi:

4.9. Przestarzałe pakiety

Wprowadzając wiele tysięcy nowych pakietów, wheezy porzuca i pomija również ponad cztery tysiące starych pakietów z squeeze. Nie ma dla nich ścieżki aktualizacji. Choć nic nie stoi na przeszkodzie, aby w razie potrzeby używać takich pakietów, to projekt Debian kończy zwykle wsparcie bezpieczeństwa po roku od wydania wheezy[6] i nie dostarczy zwykle innego wsparcie w międzyczasie. Zaleca się zastąpienie ich dostępnymi alternatywami, jeśli takie istnieją.

Jest wiele powodów, dla których pakiet mógł zostać usunięty z dystrybucji: nie jest dłużej utrzymywany przez projekt macierzysty, nie ma chętnego Dewelopera Debiana, który byłby zainteresowany opiekowaniem się pakietem, funkcja którą pełnił została przejęta przez inne programy (lub nowszą wersję) lub nie jest dłużej uważany za odpowiedni dla wydania wheezy ze względu na poważne błędy. W tym ostatnim przypadku, pakiet może być wciąż obecny w dystrybucji niestabilnej.

Znalezienie pakietów przestarzałych w zaktualizowanym systemie jest łatwe, ponieważ interfejsy zarządzania pakietami oznaczają je odpowiednio. W aptitude, znajdują się one w sekcji Pakiety przestarzałe i lokalne.

Jeśli w squeeze korzystano z poleceń aptitude lub apt-get do ręcznego instalowania pakietów, to programy te przechowują informację o nich i będą w stanie oznaczyć jako przestarzałe pakiety, pobrane jedynie przez zależności, które nie są dłużej potrzebne po usunięciu pakietu. aptitude i apt, w przeciwieństwie do deborphan, nie przeznaczy do usunięcia pakietów zainstalowanych ręcznie, lecz jedynie automatycznie. Aby usunąć nieużywane dłużej pakiety zainstalowane automatycznie, proszę wykonać:

# apt-get autoremove

Są również dodatkowe narzędzia do odnajdywania przestarzałych pakietów, takie jak deborphan, debfoster lub cruft. Zaleca się korzystanie z programu deborphan, choć (domyślnie) informuje jedynie o przestarzałych bibliotekach, tj. pakietów w sekcjach libs lub oldlibs, które nie są dłużej używane przez inne pakiety. Nie należy usuwać wszystkich proponowanych przez to narzędzie pakietów na ślepo, szczególnie, jeśli skorzysta się z agresywnych opcji, które nie są domyślne, ponieważ są one podatne na nieprawidłowe wskazania. Powinno się ręcznie przejrzeć pakiety sugerowane do usunięcia (tj. ich zawartość, rozmiar i opis) przed ostateczną decyzją.

System śledzenia błędów Debiana często udostępnia dodatkowe informacje nt. powodów usunięcia danego pakietu. Należy przejrzeć zarówno archiwalne zgłoszenia błędów samego pakietu, jak i archiwalne zgłoszenia pseudopakietu ftp.debian.org.

Lista przestarzałych pakietów obejmuje:

  • mysql-5.1, zastąpiony przez mysql-5.5.

  • postgresql-8.4, zastąpiony przez postgresql-9.1. Wheezy zawiera jedynie zaktualizowany pakiet postgresql-plperl-8.4, który jest dowiązany do do nowej wersji libperl, aby umożliwić zaktualizowanie do nowej wersji w wheezym, bez psucia istniejących instalacji postgresql-8.4. Po ukończeniu aktualizacji systemu, powinno się zaplanować aktualizację swoich baz danych PostgreSQL 8.4 do nowej wersji 9.1 za pomocą narzędzia pg_upgradecluster tool.

  • python2.5, zastąpiony przez python2.7.

  • portmap, zastąpiony przez rpcbind.

  • sun-java6, zastąpiony przez openjdk-7.

  • gdm, zastąpiony przez gdm3.

  • mpich, zastąpiony przez openmpi i mpich2.

  • compiz, menedżer okien i pulpitu OpenGL, patrz zgłoszenia błędów #677864 (i #698815).

  • Część sterowników wideo Xorga nie jest już dostępna w wydaniu wheezy, stając się przestarzała. Są to xserver-xorg-video-nv i xserver-xorg-video-radeonhd. Mogą one zostać usunięte w trakcie aktualizacji. Użytkownicy powinni zainstalować w zamian xserver-xorg-video-all.

  • Wszystkie pakiety Horde 3, udostępniające oprogramowanie do współpracy w sieci zostały usunięte i są przestarzałe. Zaliczają się tu: ansel1, chora2, dimp1, gollem, horde-sam, horde3, imp4, ingo1, kronolith2, mnemo2, nag2, sork-forwards-h3, sork-passwd-h3, sork-vacation-h3 i turba2. Pakiety Horde 4 nie osiągnęły wymaganej jakości przed wydaniem wheezy, dlatego również nie są dostępne. Można z nich skorzystać w dystrybucji testowej, pod nazwami php-horde-*.

  • Większość pakietów Kolab, udostępniających serwer do pracy zespołowej, zostało usuniętych. Są to: kolab-cyrus-imapd, kolab-webadmin, kolabd, libkolab-perl, php-kolab-filter i php-kolab-freebusy. Według stanu na rok 2012, Kolab jest w trakcie obszernego przepisywania i być może zostanie dołączony w późniejszym wydaniu Debiana, jako pakiet kolab. Przy okazji; serwer SOGo server (wcześniej zwany Scalable OpenGroupware.org) jest udostępniany w wydaniu wheezy jako sogo.

  • Wszystkie pakiety OpenERP 5 zostały usunięte i są przestarzałe. Dotyczy to: openerp-client, openerp-server, openerp-web.

  • Pakiet pootle 2.0.5 został usunięty.

4.9.1. Pakiety atrapy

Część pakietów z wydania squeeze w wheezy została podzielona na kilka pakietów, często w celu ułatwienia zarządzania systemem. Aby ułatwić ścieżkę aktualizacji, wheezy często udostępnia pakiety atrapy: puste pakiety o tej samej nazwie, co stary pakiet w wydaniu squeeze, z zależnościami, które spowodują instalację nowych pakietów. Te pakiety atrapy stają się niepotrzebne po aktualizacji i mogą zostać usunięte.

Większość (choć nie wszystkie) opisów pakietów atrap wskazuje ich przeznaczenie. Opisy pakietów nie są jednak ustandaryzowane, można skorzystać więc z deborphan z opcjami --guess-* (np. --guess-dummy) aby je odszukać. Proszę zwrócić uwagę, że część pakietów atrap nie jest przeznaczonych do usunięcia po aktualizacji, lecz są używane do śledzenia obecnie dostępnych wersji danego pakietu.



[1] Jeśli priorytet debconfa jest ustawiony na bardzo wysoką wartość, to może to spowodować niewyświetlanie pytań konfiguracyjnych, lecz usługi zależące od domyślnych odpowiedzi, które nie będą pasować do danego systemu, nie uruchomią się.

[2] Przykład: usługi DNS i DHCP, szczególnie jeśli nie ma redundancji lub tzw. failover. W przypadku DHCP, użytkownicy mogą zostać odłączeni z sieci, jeśli czas dzierżawy jest mniejszy niż czas trwania aktualizacji.

[3] Można wyłączyć tę funkcję, dodając parametr panic=0 do parametrów rozruchowych.

[4] System zarządzania pakietami Debiana nie pozwala zwykle na usunięcie lub zastąpienie pliku będącego własnością innego pakietu, chyba że pakiet został zdefiniowany jako zastępujący dany pakiet.

[5] Jeśli aktualizacja jest zapisywana zgodnie z opisem w rozdziale Sekcja 4.4, „Aktualizowanie pakietów”, proszę użyć polecenia script ponownie, aby zapisać następne kroki aktualizacji po ponownym uruchomieniu systemu, by mieć również wynik akcji opisanych w Sekcja 4.4.7, „Aktualizacja systemu”.

[6] Lub tak długo, aż nie pojawi się nowe wydanie w tym czasie. Zwykle jedynie dwa wydania stabilne są wspierane w dowolnym czasie.