Spis treści
Przed aktualizacją zalecamy zapoznanie się z informacjami zawartymi w Rozdział 5, Problemy, które należy mieć na uwadze, a dotyczące wydania bullseye. Rozdział ten opisuje również potencjalne trudności, niezwiązane bezpośrednio z procesem aktualizacji, o których warto wiedzieć przed rozpoczęciem całej procedury.
Przed zaktualizowaniem systemu zalecamy wykonanie pełnej kopii zapasowej, a przynajmniej kopii tych danych i konfiguracji, których utrata byłaby dla nas bolesna. Narzędzia i proces aktualizacji są dość niezawodne, lecz problem sprzętowy w trakcie procedury może spowodować 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. Ta kopia może ułatwić odtworzenie lub przywrócenie starych
ustawień. Powinno się również poinformować o tym pozostałych 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 każdą aktualizacją powinno się poinformować innych użytkowników systemu o tym fakcie, choć osoby uzyskujące dostęp do komputera za pomocą ssh nie powinny napotkać większych problemów podczas kontynuowania pracy.
Jako dodatkowe zabezpieczenie można wykonać przed wykonaniem aktualizacji
kopię zapasową lub odmontować partycję z katalogiem
/home
.
Przy aktualizacji do wydania bullseye konieczne jest zaktualizowanie jądra. Nie obędzie się więc bez ponownego uruchomienia komputera. Zwykle odbywa się to po zakończeniu aktualizacji.
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 i konfiguracji będą one zatrzymane na czas zastąpienia ich przez nowszą wersję oraz nie będą w tym czasie dostępne.
Dokładny czas braku dostępu do usług zależy od liczby aktualizowanych pakietów i od okresu, w jakim administrator odpowie na pytania konfiguracyjne. Proszę zwrócić uwagę, że jeśli proces aktualizacji nie będzie nadzorowany, a system będzie wymagał reakcji administratora, występuje duże prawdopodobieństwo trwania usług niedostępnych[1] w dłuższym okresie.
Jeśli aktualizowany system udostępnia usługi, które są krytyczne dla użytkowników bądź sieci[2], można ograniczyć przerwę w ich działaniu wykonując aktualizację minimalną (zgodnie z opisem w Sekcja 4.4.4, „Minimalna aktualizacja systemu”) a następnie wykonać aktualizację jądra i ponownie uruchomić komputer (aktualizując pakiety związane z krytycznymi usługami). Dopiero później należy wykonać pełną aktualizację opisaną w Sekcja 4.4.5, „Aktualizacja systemu”. W ten sposób można sprawdzić, że krytyczne usługi działają i są dostępne w trakcie pełnej aktualizacji, a przerwa w działaniu będzie zminimalizowana.
Choć Debian stara się zapewnić, że system będzie się uruchomiał w każdym przypadku to zawsze istnieje możliwość, że wystąpią problemy z ponownym jego uruchomieniem po dokonaniu aktualizacji. Rozpoznane, ewentualne problemy są omówione w tym i kolejnych rozdziałach uwag do wydania.
Z tego względu należy 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 zaktywuje sieci).
W przypadku aktualizacji zdalnej za pomocą ssh, zaleca się dodatkowe środki bezpieczeństwa, w celu zapewnienia sobie możliwości dostępu do serwera za pomocą zdalnego terminala szeregowego. Istnieje ryzyko, że po aktualizacji jądra i ponownym uruchomieniu systemu wystąpi konieczność poprawienia konfiguracji systemu korzystając z konsoli lokalnej. Jeśli w trakcie aktualizacji system zostanie przypadkowo zresetowany, możliwe że konieczne będzie odzyskiwanie za pomocą lokalnej konsoli.
W sytuacjach awaryjnych zalecamy użycie trybu ratunkowego w instalatorze Debiana bullseye. Zaletą skorzystania z instalatora jest możliwość wyboru takiej metody jaka jest najkorzystniejsza. Więcej informacji zawiera „Recovering a Broken System” w rozdziale 8 przewodnika instalacji i FAQ instalatora Debiana.
If that fails, you will need an alternative way to boot your system so you can access and repair it. One option is to use a special rescue or live install image. After booting from that, you should be able to mount your root file system and chroot into it to investigate and fix the problem.
Pakiet initramfs-tools
udostępnia
powłokę debugowania[3] w generowanych
obrazach initrd. Na przykład: jeśli initrd nie będzie mógł zamontować
głównego systemu plików to przeniesie się do powłoki debugowania z
dostępnymi podstawowymi poleceniami, aby dać możliwość znalezienia problemu
i naprawy.
Podstawowymi sprawami do sprawdzenia są: obecność poprawnych plików urządzeń
w /dev
; które moduły są załadowane (cat
/proc/modules
); wynik 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 problem się rozwiąże to polecenie exit
zamknie
powłokę debugowania i proces debugowania będzie kontynuowany 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.
Jeśli rozruch nie powiedzie się korzystając z systemd, można dostać się do
powłoki roota służącej do debugowania zmieniając wiersz polecenia
jądra. Jeśli podstawowy rozruch uda się, lecz część usług nie wystartuje,
można spróbować dodać do parametrów jądra
systemd.unit=rescue.target
.
Z kolei parametr jądra systemd.unit=emergency.target
udostępni powłokę roota najwcześniej jak to możliwe. Będzie to jednak
jeszcze przed zamontowaniem głównego systemu plików z uprawnieniami do
odczytu i zapisu. Zajdzie konieczność ręcznego wykonania:
# mount -o remount,rw /
More information on debugging a broken boot under systemd can be found in the Diagnosing Boot Problems article.
Ważne | |
---|---|
If you are using some VPN services (such as |
In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in the virtual console provided by the screen program, which enables safe reconnection and ensures the upgrade process is not interrupted even if the remote connection process temporarily fails.
The upgrade process described in this chapter has been designed for „pure” Debian stable systems. APT controls what is installed on your system. If your APT configuration mentions additional sources besides buster, or if you have installed packages from other releases or from third parties, then to ensure a reliable upgrade process you may wish to begin by removing these complicating factors.
The main configuration file that APT uses to decide what sources it should
download packages from is /etc/apt/sources.list
, but it
can also use files in the /etc/apt/sources.list.d/
directory - for details see sources.list(5).
If your system is using multiple source-list files then you will need to
ensure they stay consistent.
Direct upgrades from Debian releases older than 10 (buster) are not supported. Display your Debian version with:
$ cat /etc/debian_version
Please follow the instructions in the Release Notes for Debian 10 to upgrade to Debian 10 first.
Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).
$ aptitude search '?narrow(?installed, ?not(?origin(Debian)))' $ apt-forktracer | sort
This procedure assumes your system has been updated to the latest point release of buster. If you have not done this or are unsure, follow the instructions in Sekcja A.1, „Uaktualnienie wydania buster”.
You should make sure the package database is ready before proceeding with
the upgrade. If you are a user of another package manager like aptitude
or synaptic
, review any pending actions. A package
scheduled for installation or removal might interfere with the upgrade
procedure. Note that correcting this is only possible if your APT
source-list files still point to buster and
not to stable or bullseye;
see Sekcja A.2, „Checking your APT source-list files”.
It is a good idea to remove obsolete packages from your system before upgrading. They may introduce complications during the upgrade process, and can present security risks as they are no longer maintained.
A previous upgrade may have left unused copies of configuration files; old versions of configuration files, versions supplied by the package maintainers, etc. Removing leftover files from previous upgrades can avoid confusion. Find such leftover files with:
# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
For APT source lines referencing the security archive, the format has
changed slightly along with the release name, going from
buster/updates
to bullseye-security
;
see Sekcja 5.1.3, „Changed security archive layout”.
If you have listed the proposed-updates
section in your
APT source-list files, you should remove it before attempting to upgrade
your system. This is a precaution to reduce the likelihood of conflicts.
If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT source-list files, you should check if that archive also offers packages compiled for bullseye and change the source item accordingly at the same time as your source items for Debian packages.
Część użytkowników może posiadać nieoficjalne, backportowane wersje pakietów, które są „nowsze” niż pakiety zainstalowane w Debianie buster. Te pakiety będą prawdopodobnie sprawiać kłopoty z powodu konfliktów plików[4]. Sekcja 4.5, „Możliwe problemy przy aktualizacji” opisuje sposoby rozwiązywania konfliktów plików.
If you have configured APT to install certain packages from a distribution
other than stable (e.g. from testing), you may have to change your APT
pinning configuration (stored in /etc/apt/preferences
and /etc/apt/preferences.d/
) to allow the upgrade of
packages to the versions in the new stable release. Further information on
APT pinning can be found in apt_preferences(5).
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 to aktualizacja nie powiedzie się.
Note that aptitude uses a different method for registering packages that are on hold than apt and dselect. You can identify packages on hold for aptitude with
# aptitude search "~ahold"
If you want to check which packages you had on hold for apt, you should use
# dpkg --get-selections | grep 'hold$'
Jeśli zmieniono jakiś pakiet lub ponownie skompilowano go lokalnie bez zmiany nazwy ani dodania epoki do nazwy, konieczne będzie zatrzymanie go, aby zapobiec uaktualnieniu.
The „hold” package state for apt can be changed using:
# echo package_name
hold | dpkg --set-selections
Proszę zastąpić hold
słowem install
aby cofnąć „zatrzymanie” pakietu.
If there is anything you need to fix, it is best to make sure your APT source-list files still refer to buster as explained in Sekcja A.2, „Checking your APT source-list files”.
Before starting the upgrade you must reconfigure APT source-list files
(/etc/apt/sources.list
and files under
/etc/apt/sources.list.d/
) to add sources for
bullseye
and typically to remove sources for
buster
.
APT will consider all packages that can be found via any configured archive, and install the package with the highest version number, giving priority to the first entry in the files. Thus, if you have multiple mirror locations, list first the ones on local hard disks, then CD-ROMs, and then remote mirrors.
Wydanie można określić dzięki nazwie kodowej
(np. buster
, bullseye
)
lub statusowi wydania (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 rozwiązanie 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 pokaże się wówczas bardzo dużo dostępnych aktualizacji pakietów.
Debian udostępnia dwie listy dyskusyjne z ogłoszeniami, aby ułatwić bieżące śledzenie ważnych informacji związanych z wydaniami Debiana:
By subscribing to
the Debian announcement mailing list, you will receive a
notification every time Debian makes a new release. Such as when
bullseye
changes from
e.g. testing
to stable
.
Po zapisaniu się do listy dyskusyjnej z ogłoszeniami związanymi z bezpieczeństwem Debiana, będzie można śledzić wszystkie ogłoszenia bezpieczeństwa publikowane przez Debiana.
On new installations the default is for APT to be set up to use the Debian APT CDN service, which should ensure that packages are automatically downloaded from a server near you in network terms. As this is a relatively new service, older installations may have configuration that still points to one of the main Debian Internet servers or one of the mirrors. If you haven't done so yet, it is recommended to switch over to the use of the CDN service in your APT configuration.
To make use of the CDN service, add a line like this to your APT source
configuration (assuming you are using main
and
contrib
):
deb http://deb.debian.org/debian bullseye main contrib
After adding your new sources, disable the previously existing
„deb
” lines by placing a hash sign
(#
) in front of them.
However, if you get better results using a specific mirror that is close to you in network terms, this option is still available.
Debian mirror addresses can be found at https://www.debian.org/distrib/ftplist (look at the „list of Debian mirrors” section).
Załóżmy na przykład, że najbliższym serwerem lustrzanym jest
http://mirrors.kernel.org
. Przy sprawdzaniu go przeglądarką
internetową można zauważyć, że główne katalogi są ułożone podobnie do:
http://mirrors.kernel.org/debian/dists/bullseye/main/binary-amd64/... http://mirrors.kernel.org/debian/dists/bullseye/contrib/binary-amd64/...
To configure APT to use a given mirror, add a line like this (again,
assuming you are using main
and
contrib
):
deb http://mirrors.kernel.org/debian bullseye 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.
Again, after adding your new sources, disable the previously existing archive entries.
Instead of using remote package mirrors, you may wish to modify the APT source-list files to use a mirror on a local disk (possibly mounted over NFS).
Kopia serwera lustrzanego może się znajdować np. w
/var/local/debian/
i posiadać główne katalogi, takie
jak:
/var/local/debian/dists/bullseye/main/binary-amd64/... /var/local/debian/dists/bullseye/contrib/binary-amd64/...
Aby użyć jej ze swoim apt
em, proszę
dodać ten wiersz do pliku sources.list
:
deb file:/var/local/debian bullseye 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.
After adding your new sources, disable the previously existing archive
entries in the APT source-list files by placing a hash sign
(#
) in front of them.
If you want to use only DVDs (or CDs or Blu-ray Discs),
comment out the existing entries in all the APT source-list files by placing
a hash sign (#
) in front of them.
Proszę upewnić się, że w pliku /etc/fstab
istnieje
wiersz pozwalający na zamontowanie CD-ROM-u w punkcie montowania
/media/cdrom
. Na przykład, jeśli napęd CD-ROM jest
urządzeniem /dev/sr0
, to plik
/etc/fstab
powinien zawierać wiersz podobny do
poniższego:
/dev/sr0 /media/cdrom auto noauto,ro 0 0
Proszę zauważyć, że w czwartym polu, między słowami
noauto,ro
nie mogą występować
spacje.
Aby sprawdzić, czy wszystko działa, proszę włożyć płytę i spróbować wykonać
# mount /media/cdrom # this will mount the CD to the mount point # ls -alF /media/cdrom # this should show the CD's root directory # umount /media/cdrom # this will unmount the CD
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.
The recommended way to upgrade from previous Debian releases is to use the package management tool apt.
Uwaga | |
---|---|
apt is meant for interactive use, and should not be used in scripts. In scripts one should use apt-get, which has a stable output better suitable for parsing. |
Proszę nie zapomnieć o zamontowaniu potrzebnych partycji do odczytu i zapisu
(przede wszystkim partycji głównej i /usr
), za pomocą
polecenia podobnego do poniższego:
# mount -o remount,rw /mountpoint
Next you should double-check that the APT source entries (in
/etc/apt/sources.list
and files under
/etc/apt/sources.list.d/
) refer either to
„bullseye
” or to
„stable
”. There should not be any sources
entries pointing to buster.
Uwaga | |
---|---|
Wiersze źródeł CD-ROM-u mogą niekiedy wskazywać na
„ |
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-bullseyestep
.time -a ~/upgrade-bullseyestep
.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 po restarcie.
Zapis ten pozwoli również na przejrzenie informacji, które już zniknęły z
ekranu. 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-bullseye.script
, aby przejrzeć plik.
Po zakończeniu aktualizacji można zatrzymać polecenie
script poleceniem exit
.
apt will also log the changed package states in
/var/log/apt/history.log
and the terminal output in
/var/log/apt/term.log
. dpkg will, in
addition, log all package state changes in
/var/log/dpkg.log
. If you use
aptitude, it will also log state changes in
/var/log/aptitude
.
Jeśli użyto przełącznika -t do polecenia script można skorzystać z programu scriptreplay, aby odtworzyć całą sesję:
# scriptreplay ~/upgrade-bullseyestep
.time ~/upgrade-bullseyestep
.script
Na początku, należy pobrać listę dostępnych pakietów nowego wydania. Można to zrobić za pomocą polecenia:
# apt update
Uwaga | |
---|---|
Users of apt-secure may find issues when using aptitude or apt-get. For apt-get, you can use apt-get update --allow-releaseinfo-change. |
Konieczne jest upewnienie się, że system posiada wystarczająco dużo wolnej
przestrzeni dyskowej przed pełną aktualizacją systemu, opisaną w Sekcja 4.4.5, „Aktualizacja systemu”. Wszystkie pakiety potrzebne do instalacji są
najpierw pobierane z sieci i przechowywane w
/var/cache/apt/archives
(przy pobieraniu w podkatalogu
partial/
), dlatego trzeba zapewnić sobie wolne miejsce
na partycji z katalogiem /var/
. 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, pobrane przy
aktualizacji. Jeśli jest zbyt mało wolnego miejsca można doprowadzić do
trudnej w opanowaniu, niedokończonej aktualizacji.
apt can show you detailed information about the disk space needed for the installation. Before executing the upgrade, you can see this estimate by running:
# apt -o APT::Get::Trivial-Only=true full-upgrade [ ... ] XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded. Need to get xx.xMB of archives. After this operation, AAAMB of additional disk space will be used.
Uwaga | |
---|---|
Wykonanie tego polecenia na początku procesu aktualizacji może wypisać błąd, z powodów opisanych w następnych rozdziałach. Trzeba wówczas poczekać z komendą do zakończenia minimalnej aktualizacji systemu (opisanej w Sekcja 4.4.4, „Minimalna aktualizacja systemu”) |
If you do not have enough space for the upgrade, apt will warn you with a message like this:
E: You don't have enough free space in /var/cache/apt/archives/.
W takim przypadku, konieczne będzie zwolnienie miejsca na dysku. Można:
Remove packages that have been previously downloaded for installation (at
/var/cache/apt/archives
). Cleaning up the package
cache by running apt clean will remove all previously
downloaded package files.
Remove forgotten packages. If you have used aptitude or apt to manually install packages in buster it will have kept track of those packages you manually installed, and will be able to mark as redundant those packages pulled in by dependencies alone which are no longer needed due to a package being removed. They will not mark for removal packages that you manually installed. To remove automatically installed packages that are no longer used, run:
# apt autoremove
Do znalezienia zbędnych pakietów można również użyć programów deborphan, debfoster lub cruft. Nie należy usuwać wszystkich proponowanych przez to narzędzie pakietów bez zastanowienia (szczególnie, jeśli skorzysta się z agresywnych opcji, które nie są domyślne, a są podatne na nieprawidłowe wskazania). Powinno się osobiście przejrzeć pakiety sugerowane do usunięcia (ich zawartość, rozmiar i opis) przed ostateczną decyzją.
Usunąć pakiety zajmujące zbyt dużo miejsca, które nie są obecnie potrzebne
(można je zawsze doinstalować po aktualizacji). Jeśli zainstalowano pakiet
popularity-contest
to do
wyświetlenia listy nieużywanych pakietów zajmujących najwięcej miejsca można
posłużyć się poleceniem popcon-largest-unused. Największe
pakiety można znaleźć poleceniem dpigs (z pakietu
debian-goodies
) lub programem
wajig (poleceniem wajig size
). Można
użyć także programu aptitude
. W tym
celu proszę uruchomić aptitude w graficznym interfejsie
terminalowym, wybrać → , wcisnąć
l, wpisać ~i
, następnie wcisnąć
S i wpisać ~installsize
. W ten sposób
można otrzymać zwięzłą listę do dalszych działań.
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 | |
---|---|
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
:
usunięcie poprzednio pobranych pakietów do instalacji:
# apt clean
skopiowanie katalogu /var/cache/apt/archives
na napęd
USB:
# cp -ax /var/cache/apt/archives /media/usbkey/
zamontowanie tymczasowego bufora w obecnym:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
przywrócenie pierwotnego katalogu
/var/cache/apt/archives
po aktualizacji:
# umount /var/cache/apt/archives
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.4, „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ą.
Note that in order to safely remove packages, it is advisable to switch your APT source-list files back to buster as described in Sekcja A.2, „Checking your APT source-list files”.
Ważne | |
---|---|
If you are upgrading remotely, be aware of Sekcja 5.1.23, „No new SSH connections possible during upgrade”. |
W niektórych przypadkach bezpośrednie wykonanie pełnej aktualizacji (opisanej poniżej) może usunąć wiele pakietów które mają być zachowane. Z tego powodu zaleca się wykonanie dwustopniowej aktualizacji. Najpierw minimalnej, pozwalającej uporać się z tymi konfliktami, a następnie pełnej, zgodnie z opisem w Sekcja 4.4.5, „Aktualizacja systemu”.
Aby to zrobić, proszę wykonać
# apt upgrade --without-new-pkgs
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.
If the apt-listchanges
package is
installed, it will (in its default configuration) show important information
about upgraded packages in a pager after downloading the packages. Press
q after reading to exit the pager and continue the upgrade.
Po wykonaniu poprzednich kroków, nadszedł czas na główną część aktualizacji. Proszę wykonać
# apt full-upgrade
Przeprowadzona zostanie w ten sposób pełna aktualizacja systemu, instalacja najnowszych dostępnych wersji wszystkich pakietów i rozwiązanie wszystkich możliwych zmian zależności 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 płyt CD/DVD/BD, użytkownik będzie prawdopodobniej proszony o włożenie określonej płyty w wielu miejscach aktualizacji. Z powodu zależności między pakietami rozproszonymi na poszczególnych nośnikach konieczne może okazać się wielokrotne wkładanie tej samej płyty.
New versions of currently installed packages that cannot be upgraded without
changing the install status of another package will be left at their current
version (displayed as „held back”). This can be resolved by
either using aptitude to choose these packages for
installation or by trying apt install
.
package
Poniższe sekcje opisują znane problemy, które mogą pojawić się przy aktualizacji do wydania bullseye.
In some cases the apt full-upgrade step can fail after downloading packages with:
E: Could not perform immediate configuration on 'package
'. Please see man 5 apt.conf under APT::Immediate-Configure for details.
If that happens, running apt full-upgrade -o APT::Immediate-Configure=0 instead should allow the upgrade to proceed.
Another possible workaround for this problem is to temporarily add both buster and bullseye sources to your APT source-list files and run apt update.
Proces aktualizacji do wydania bullseye 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 tego zabiegu. W razie wątpliwości przed kontynuowaniem należy sprawdzić listę usuwanych pakietów proponowaną przez każdą z metod. Więcej informacji o pakietach przestarzałych w wydaniu bullseye znajduje się w Sekcja 4.8, „Przestarzałe pakiety”.
Sometimes it's necessary to enable the
APT::Force-LoopBreak
option in APT to be able to
temporarily remove an essential package due to a Conflicts/Pre-Depends
loop. apt will alert you of this and abort the upgrade.
You can work around this by specifying the option -o
APT::Force-LoopBreak=1
on the apt command line.
It is possible that a system's dependency structure can be so corrupt as to require manual intervention. Usually this means using apt or
# dpkg --remove package_name
aby wyeliminować część przeszkadzających pakietów lub
# apt -f install # dpkg --configure --pending
W sytuacjach ekstremalnych konieczne może być wymuszenie reinstalacji za pomocą polecenia
# dpkg --install /path/to/package_name.deb
Konflikty plików nie powinny wystąpić przy aktualizacji z „czystego” wydania buster, lecz mogą się pojawić przy zainstalowanych nieoficjalnych backportach. Konflikty plików objawiają się komunikatami błędów, podobnymi do poniższego:
Unpacking<package-foo>
(from<package-foo-file>
) ... dpkg: error processing<package-foo>
(--install): trying to overwrite `<some-file-name>
', which is also in package<package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountered while processing:<package-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 package_name
After fixing things up, you should be able to resume the upgrade by repeating the previously described apt commands.
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ć nazwę pakietu lub pliku i zdecydować o tym później. Można przeszukać plik z zapisem sesji, aby znaleźć informację wyświetloną na ekranie przy aktualizacji.
If you are running the upgrade using the system's local console you might find that at some points during the upgrade the console is shifted over to a different view and you lose visibility of the upgrade process. For example, this may happen in systems with a graphical interface when the display manager is restarted.
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.
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.
When you full-upgrade from buster to bullseye, it is strongly recommended that you install a linux-image-* metapackage, if you have not done so before. These metapackages will automatically pull in a newer version of the kernel during upgrades. You can verify whether you have one installed by running:
# dpkg -l "linux-image*" | grep ^ii | grep -i meta
Jeśli nie zostanie wypisany żaden wynik potrzeba będzie albo zainstalować ręcznie nowy pakiet linux-image lub zainstalować metapakiet linux-image. Aby zobaczyć listę dostępnych metapakietów linux-image, proszę wykonać:
# apt-cache search linux-image- | grep -i meta | grep -v transition
If you are unsure about which package to select, run uname
-r
and look for a package with a similar name. For example, if
you see „4.9.0-8-amd64
”, it is recommended
that you install linux-image-amd64
.
You may also use apt to see a long description of each
package in order to help choose the best one available. For example:
# apt show linux-image-amd64
You should then use apt install
to install it. Once this
new kernel is installed you should reboot at the next available opportunity
to get the benefits provided by the new kernel version. However, please
have a look at Sekcja 5.1.25, „Sprawy do zrobienia przed ponownym uruchomieniem” before performing the
first reboot after the upgrade.
For the more adventurous there is an easy way to compile your own custom
kernel on Debian. Install the kernel sources, provided in the linux-source
package. You can make use of the
deb-pkg
target available in the sources' makefile for
building a binary package. More information can be found in the Debian Linux
Kernel Handbook, which can also be found as the debian-kernel-handbook
package.
If possible, it is to your advantage to upgrade the kernel package
separately from the main full-upgrade
to reduce the
chances of a temporarily non-bootable system. Note that this should only be
done after the minimal upgrade process described in Sekcja 4.4.4, „Minimalna aktualizacja systemu”.
Po aktualizacji jest kilka rzeczy, które można zrobić w celu przygotowania do następnego wydania.
Usunięcie pakietów oznaczonych teraz jako przestarzałe zgodnie z opisem w rozdziałach Sekcja 4.4.3, „Zapewnienie wystarczającej ilości wolnego miejsca ” i Sekcja 4.8, „Przestarzałe pakiety”. Proszę przejrzeć używane pliki konfiguracyjne i rozważyć całkowite wyczyszczenie (ang. purge) pakietów, w celu usunięcia ich plików konfiguracyjnych. Zob. też Sekcja 4.7.1, „Czyszczenie usuniętych pakietów”.
Ogólnym zaleceniem jest czyszczenie usuniętych pakietów. Ma to szczególny sens, jeśli pakiety zostały usunięte we wcześniejszej aktualizacji wydania (np. przy aktualizacji do buster) lub pochodzą od zewnętrznych dostawców. W szczególności znane są problemy ze starymi skryptami init.d.
Ostrzeżenie | |
---|---|
Wyczyszczenie pakietu zazwyczaj usuwa również jego pliki dziennika, dlatego można rozważyć uprzednie wykonanie ich kopii zapasowej. |
Poniższe polecenie wyświetla listę wszystkich usuniętych pakietów z pozostawionymi w systemie plikami konfiguracyjnymi:
# dpkg -l | awk '/^rc/ { print $2 }'
The packages can be removed by using apt purge. Assuming you want to purge all of them in one go, you can use the following command:
# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
Jeśli korzysta się z programu aptitude
, można rozważyć użycie następującego
odpowiednika powyższych poleceń:
# aptitude search '~c' # aptitude purge '~c'
Wprowadzając wiele nowych pakietów, bullseye porzuca i pomija również sporo starych pakietów z wydania buster. 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 wsparcie bezpieczeństwa po roku od wydania bullseye[5] i nie dostarczy 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ę), nie jest dłużej uważany za odpowiedni dla wydania bullseye ze względu na poważne błędy. W tym ostatnim przypadku pakiet może być wciąż obecny w dystrybucji „niestabilnej”.
Some package management front-ends provide easy ways of finding installed packages that are no longer available from any known repository. The aptitude textual user interface lists them in the category „Obsolete and Locally Created Packages”, and they can be listed and purged from the commandline with:
# aptitude search '~o' # aptitude purge '~o'
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 pakietów uznanych za przestarzałe w wydaniu Bullseye jest dostępna w: Sekcja 5.3.1, „Znane pakiety oznaczone jako przestarzałe”.
Some packages from buster may have been replaced in bullseye by transitional dummy packages, which are empty placeholders designed to simplify upgrades. If for instance an application that was formerly a single package has been split into several, a transitional package may be provided with the same name as the old package and with appropriate dependencies to cause the new ones to be installed. After this has happened the redundant dummy package can be safely removed.
The package descriptions for transitional dummy packages usually indicate
their purpose. However, they are not uniform; in particular, some
„dummy” packages are designed to be kept installed, in order to
pull in a full software suite, or track the current latest version of some
program. You might also find deborphan with the
--guess-
options (e.g.
*
--guess-dummy
) useful to detect transitional dummy
packages on your system.
[1] Jeśli priorytet debconfa jest ustawiony na bardzo wysoką wartość, to może to spowodować niewyświetlanie pytań konfiguracyjnych. Usługi zależne od domyślnych odpowiedzi, które nie będą pasowały 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] Lub tak długo, aż nie pojawi się nowe wydanie w tym czasie. Zwykle jedynie dwa wydania stabilne są wspierane w dowolnym czasie.