Jak migrować do formatu deb822 w Debian 13 Trixie
Czy używasz nowego Debian 13 trixie lub planujesz aktualizację do Debian 13 z Debian 12? Jeśli tak, mogłeś zauważyć szum wokół deb822, nowego sposobu zarządzania źródłami oprogramowania. W tym samouczku wyjaśnimy , dlaczego Debian trixie go przyjął, jego zalety oraz jak przenieść się ze starego pliku sources.list do nowego formatu deb822 w Debian 13 trixie.
Przełączanie na format deb822 jest jednym z ważnych kroków do wykonania po zainstalowaniu Debiana 13 trixie. Ta zmiana przynosi szereg korzyści, czyniąc Twój system bardziej bezpiecznym i łatwiejszym w zarządzaniu.
Czym jest format Debian deb822?
Mówiąc prosto, deb822 to nowy, ustrukturyzowany sposób na określenie, skąd Twój system Debian pobiera aktualizacje oprogramowania.
Przez lata Debian i jego pochodne, takie jak Ubuntu, używały prostego jednolinijkowego formatu w plikach takich jak /etc/apt/sources.list. Każda linia w tych plikach wskazywała na repozytorium oprogramowania.
Jednak nowy format deb822 używa struktury „klucz-wartość”, podobnie jak lista przepisów.
Zamiast jednej, długiej linii, każda informacja (jak typ paczki, jej lokalizacja czy jakie komponenty zawiera) otrzymuje własną, wyraźnie oznaczoną linię.
Te nowe pliki konfiguracyjne zazwyczaj znajdują się w katalogu /etc/apt/sources.list.d/ i często kończą się rozszerzeniem .sources.
Proszę zauważyć, że format deb822 nie jest nowy. APT obsługuje go od dość dawna.
W starym formacie już było możliwe jawne określenie klucza podpisującego. Jednak w deb822 możesz pójść o krok dalej, osadzając klucz bezpośrednio w pliku .sources.
Dlaczego Debian zaleca nowy format w stylu deb822?
To nie jest tylko kosmetyczna aktualizacja; format deb822 wprowadza kilka istotnych usprawnień:
1. Poprawiona czytelność i struktura
Wyobraź sobie niechlujną, ręcznie pisaną listę zakupów w porównaniu z starannie wydrukowaną i wyszczególnioną listą. Format deb822 jest znacznie bardziej przejrzysty, używając par klucz-wartość, które ułatwiają przeglądanie i edytowanie szczegółów repozytorium.
Ta jasność jest szczególnie przydatna, gdy musisz dodać wspólne elementy, takie jak "contrib", do źródła, ponieważ pozwala uniknąć długich, trudnych do przeczytania linii.
2. Zwiększone bezpieczeństwo
Główną zaletą jest jawne określenie zaufanych kluczy za pomocą pola Signed-By.
Wcześniej klucze do repozytoriów zewnętrznych były często dodawane do globalnego pęku kluczy, co oznaczało, że każdy pakiet podpisany tym kluczem był zaufany w całym systemie.
Teraz możesz powiązać konkretny klucz z określonym repozytorium, znacznie zwiększając bezpieczeństwo swojego systemu.
3. Większa modułowość i elastyczność
Definicja każdego repozytorium znajduje się teraz w osobnym bloku w pliku .sources, oddzielonym pustą linią.
To sprawia, że znacznie łatwiej jest włączyć lub wyłączyć repozytoria tymczasowo bez usuwania ich konfiguracji.
Możesz nawet połączyć zarówno pakiety binarne (deb), jak i źródłowe (deb-src) dla repozytorium w jednym wpisie.
4. Przyszłościowe zabezpieczenie
Ten ustrukturyzowany format umożliwia łatwiejsze dodawanie nowych funkcji do APT bez zakłócania istniejących konfiguracji.
Obsługuje również systemy wieloarchitekturowe bardziej efektywnie. Warto zauważyć, że nazwy pól nie rozróżniają wielkości liter, chociaż powszechną praktyką jest ich kapitalizacja (np. Signed-By).
Zrozumienie nowego formatu deb822: Spojrzenie
Spójrzmy na typowy wpis źródłowy Debiana w obu formatach, starym i nowym.
Stary format (np. w /etc/apt/sources.list):
deb http://deb.debian.org/debian/ trixie main non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main non-free-firmware
[...]Nowy format deb822 (np. w /etc/apt/sources.list.d/debian.sources):
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpgJak widać, nowy format bardzo jasno przedstawia Typy, URI, Pakiety i Komponenty.
Inne przydatne pola, na które możesz natknąć się, to Architectures, Enabled (do łatwego przełączania), Languages oraz Check-Valid-Until do wykrywania ataków powtórzeniowych.
Teraz zobaczmy, jak zaktualizować swoje źródła APT w Debian 13 trixie ze starego formatu do nowego formatu deb822.
Migracja do formatu deb822 w Debian 13 Trixie
Debian uczynił przejście prostym. Jeśli używasz Debiana 13 (Trixie), możesz po prostu użyć polecenia, aby przekonwertować swoje istniejące źródła.
Krok 1: Zmodernizuj źródła Apt na Debianie 13 trixie (Automatyczna konwersja)
Aby przełączyć się z sources.list na format deb822 w Debian 13 trixie, uruchom następujące polecenie:
sudo apt modernize-sourcesNaciśnij Y i wciśnij klawisz ENTER, aby przenieść do formatu deb822:
The following files need modernizing:
- /etc/apt/sources.list
Modernizing will replace .list files with the new .sources format,
add Signed-By values where they can be determined automatically,
and save the old files into .list.bak files.
This command supports the 'signed-by' and 'trusted' options. If you
have specified other options inside [] brackets, please transfer them
manually to the output files; see sources.list(5) for a mapping.
For a simulation, respond N in the following prompt.
Rewrite 1 sources? [Y/n] y
Modernizing /etc/apt/sources.list...
- Writing /etc/apt/sources.list.d/debian.sourcesJak widać, polecenie apt modernize-sources automatycznie konwertuje twój stary plik sources.list na nowy format deb822. Nowy plik umieszczany jest w /etc/apt/sources.list.d/debian.sources.
Co ważniejsze, APT tworzy kopie zapasowe twoich oryginalnych plików (takich jak sources.list.bak i .save), dzięki czemu można je łatwo przywrócić, jeśli coś pójdzie nie tak.
Proszę zauważyć: polecenie apt modernize-sources jest obecnie dostępne w Debian 13 (Trixie) i nowszych wersjach, i nie działa jeszcze w Debian 12 (Bookworm). Jeśli używasz starszej wersji APT (takiej jak 2.3.10), może być konieczne ręczne modyfikowanie plików źródeł.
Krok 2: Zweryfikuj swoją nową konfigurację
Po konwersji zawsze sprawdź wygenerowany plik, aby upewnić się, że wszystko wygląda poprawnie:
sudo nano /etc/apt/sources.list.d/debian.sourcesPrzykładowy wynik:
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpgKrok 3: Zaktualizuj źródła APT
Na końcu odśwież listy pakietów:
sudo apt updateŻegnając się z apt-key: Bezpieczne zarządzanie kluczami repozytoriów
Kolejną istotną zmianą wprowadzoną wraz z deb822 jest przestarzałość apt-key. To polecenie, używane do zarządzania kluczami publicznymi, było problematyczne, ponieważ każdy dodany za jego pomocą klucz był globalnie zaufany, co stanowiło zagrożenie dla bezpieczeństwa.
Teraz wszystkie klucze firm trzecich powinny znajdować się w /usr/share/keyrings/ i stosować jasno określoną konwencję nazewnictwa, zazwyczaj {THE_REPO}-archive-keyring.gpg. Następnie łączysz ten konkretny klucz z odpowiadającym mu repozytorium w pliku deb822 .sources za pomocą pola Signed-By.
Fantastyczna nowa funkcja, dostępna od wersji APT 2.3.10, pozwala osadzić cały klucz publiczny bezpośrednio w samym pliku .sources.
Jest to często preferowane, ponieważ pozwala zachować wszystkie informacje o repozytorium w jednym miejscu i zapobiega zostawianiu osieroconych kluczy w przypadku późniejszego usunięcia repozytorium.
Podczas osadzania klucza pamiętaj, aby każdą linię wciąć pojedynczą spacją, a puste linie zaznaczać kropką.
Czy to coś zepsuje?
Nie! APT w pełni obsługuje ten format, a wiele narzędzi (takich jak apt-add-repository) dostosowuje się do niego. Co więcej, jeśli kiedykolwiek będziesz musiał cofnąć zmiany, zawsze możesz wrócić do starego stylu.
Stary format będzie obsługiwany do 2029 roku
Podczas gdy Debian 13 (Trixie) oficjalnie wprowadza i zachęca do stosowania formatu deb822, stary format sources.list pozostanie wspierany co najmniej do 2029 roku. Jednak APT w Debianie 13 zacznie zgłaszać uwagi, jeśli nadal używasz starszego formatu, mimo że nadal działa.
Dlatego przejście na format deb822 nie jest obecnie absolutnie konieczne, ale jest zalecanym krokiem dla lepszego bezpieczeństwa, bardziej przejrzystej konfiguracji i płynniejszego korzystania z przyszłych wersji Debiana.
Przejście teraz na format deb822 niewątpliwie usprawni zarządzanie systemem Debian. Zaktualizuj więc dziś swoje źródła APT dla lepszej czytelności, bezpieczeństwa i przyszłej zgodności!


