Product SiteDocumentation Site

6.6. Uaktualnienie z Jednej Stabilnej Dystrybucji do Następnej

Jedna z najbardziej rozpoznawalnych funkcji Debiana jest jego zdolność uaktualniania całego systemu z jednego stabilnego wydania do następnego: dist-upgrade — dobrze znana fraza — znacznie przyczyniła się do reputacji projektu. Przy zachowaniu odpowiedniej troski, uaktualnienie może zająć zaledwie kilka minut lub kilkanaście minut, zależnie od prędkości pobierania z repozytoriów pakietów.

6.6.1. Zalecana Procedura

W związku z tym, że Debian ma sporo czasu do ewolucji pomiędzy stabilnymi wydaniami, przed uaktualnieniem należy przeczytać informacje o wydaniu.
W tej sekcji zostanie położony nacisk na uaktualnienie z systemu Squeeze do Wheezy. W związku z tym, że jest to znacząca zmiana systemu, nigdy nie jest w 100% wolna od ryzyka i nie powinna być podejmowana bez uprzedniego wykonania kopii zapasowej wszystkich ważnych danych.
Kolejnym dobrym zwyczajem ułatwiającym uaktualnienie (i skracającym je) jest porządkowanie zainstalowanych pakietów i zachowywanie tylko tych, które są naprawdę wymagane. Pomocnymi narzędziami do tego celu mogą być aptitude, deborphan i debfoster (spójrz na fiszkę Sekcja 6.2.7, „Śledzenie Automatycznie Zainstalowanych Pakietów”). Na przykład można użyć jednej ze wspomnianych komend, a następnie użyć trybu interaktywnego aptitude w celu sprawdzenia i dopracowania zaplanowanych usunięć:
# deborphan | xargs aptitude --schedule-only remove
Przechodząc do samego uaktualnienia. Najpierw należy zmienić plik /etc/apt/sources.list, aby APT wiedział, że musi pobierać pakiety dla Wheezy zamiast Squeeze. Jeżeli plik zawiera tylko odwołania do Stabilnego zamiast bezpośrednich nazw kodowych, to zmiana nie jest nawet wymagana, ponieważ Stabilny zawsze odnosi się do najnowszej wydanej wersji Debiana. W obu przypadkach baza dostępnych pakietów musi zostać odświeżona (za pomocą komendy apt-get update lub przycisku odświeżania w synaptic).
Kiedy już nowe źródła pakietów zostaną zarejestrowane, należy najpierw wykonać minimalne uaktualnienie za pomocą apt-get upgrade. Wykonywanie uaktualnienia w dwóch krokach ułatwia pracę narzędziom zarządzającym pakietami i często zapewnia, że używane są ich najnowsze wersje, mogące posiadać poprawki błędów i ulepszenia wymagane do wykonania pełnego uaktualnienia dystrybucji.
Po wykonaniu pierwszego uaktualnienia nadchodzi czas na zrobienie właściwego uaktualnienia za pomocą apt-get dist-upgrade, aptitude, lub synaptic. Należy przy tym starannie sprawdzić sugerowane akcje przed ich zastosowaniem: może być pożądane dodanie sugerowanych pakietów lub odznaczenie pakietów, które są tylko rekomendowane, ale nie będą używane. W każdym razie użycie interfejsu powinno zakończyć się otrzymaniem spójnego i aktualnego systemu Wheezy. Następnie jedyne co trzeba zrobić, to poczekać, aż zostaną pobrane wymagane pakiety, odpowiedzieć na pytania Debconfa oraz te dotyczące modyfikowanych lokalnie plików konfiguracyjnych, a potem usiąść wygodnie, podczas gdy APT będzie czynił swoją magię.

6.6.2. Obsługa Problemów po Uaktualnieniu

Wbrew największym wysiłkom opiekunów Debiana, uaktualnienie nie zawsze jest tak bezproblemowe jak można by sobie życzyć. Nowe wersje oprogramowania mogą być niekompatybilne z poprzednimi (na przykład mogło się zmienić ich domyślne zachowanie lub format danych). Pomimo fazy testowania, poprzedzającej każde wydanie Debiana, mogły również przemknąć się jakieś błędy.
W celu przewidzenia niektórych problemów można zainstalować pakiet apt-listchanges, który wyświetla informacje o możliwych problemach na początku procesu uaktualnienia pakietu. Informacja ta jest opracowana przez opiekunów pakietu i umieszczona w plikach /usr/share/doc/pakiet/NEWS.Debian dla pożytku użytkowników. Czytanie tych plików (prawdopodobnie używając apt-listchanges) powinno pomóc w uniknięciu niemiłych niespodzianek.
Niekiedy nowa wersja oprogramowania wcale nie działa. Zdarza się to w przypadku, gdy aplikacja nie jest szczególnie popularna i nie była dostatecznie przetestowana; aktualizacja wykonana w ostatniej chwili również mogła wnieść regresje, które odkryto dopiero po wydaniu. W obu przypadkach pierwszym krokiem jest spojrzenie w system śledzenia błędów na http://bugs.debian.org/pakiet i sprawdzenie, czy dany problem został już zgłoszony. Jeżeli nie, to należy go zgłosić za pomocą reportbug. Natomiast jeżeli jest już znany, jego zgłoszenie i powiązane wiadomości są zazwyczaj doskonałym źródłem informacji dotyczących błędu:
  • czasami istnieje już łatka i jest dostępna w zgłoszeniu błędu; można wtedy lokalnie przekompilować naprawioną wersję zepsutego pakietu (spójrz na fiszkę Sekcja 15.1, „Rebuilding a Package from its Sources”);
  • w innych przypadkach, użytkownicy znajdują obejścia problemu i dzielą się swoimi spostrzeżeniami w odpowiedziach pod zgłoszeniem;
  • w jeszcze innych przypadkach, naprawiona wersja pakietu mogła zostać już przygotowana i udostępniona przez jego opiekuna.
W zależności od dotkliwości błędu, nowa wersja pakietu mogła zostać przygotowana specjalnie dla nowej rewizji wydania stabilnego. W takim przypadku naprawiony pakiet jest udostępniany w sekcji proposed-updates na serwerach lustrzanych Debiana (spójrz na fiszkę Sekcja 6.1.2.3, „Proponowane Aktualizacje”). Odpowiedni wpis można tymczasowo dodać do pliku sources.list i zainstalować zaktualizowane pakiety za pomocą apt-get lub aptitude.
Czasami naprawiony pakiet nie jest jeszcze dostępny w tej sekcji, ponieważ czeka na zatwierdzenie przez Menedzerów Stabilnego Wydania (Stable Release Managers). Można to sprawdzić na ich stronie internetowej. Pakiety na znajdującej się tam liście nie sa jeszcze dostępne, ale przynajmniej wiadomo, że trwa proces ich publikacji.