System zarządzania pakietami używa własnej bazy danych, w której przechowuje
informacje o tym, które pakiety są zainstalowane, które nie i które są dostępne
do instalacji. Program apt-get
używa właśnie tej bazy danych, aby
dowiedzieć się jak zainstalować pakiety na życzenie użytkownika i jakie
dodatkowe pakiety są potrzebne, aby te wybrane przez użytkownika działały
prawidłowo.
Aby uaktualnić tą bazę danych należy użyć komendy apt-get update
.
Przeszuka ona archiwa umieszczone w pliku /etc/apt/sources.list;
zobacz sekcję Plik
/etc/apt/sources.list, Rozdział 2.1, aby uzyskać więcej informacji na temat
tego pliku.
Dobrym nawykiem jest uruchamiać tą komendę dosyć regularnie, aby stale informować swój system o możliwych uaktualnieniach pakietów, zwłaszcza tych związanych z jego bezpieczeństwem.
W końcu proces, na który wszyscy czekaliśmy! Gdy już mamy plik sources.list z listą źródeł pakietów i wiemy jakie pakiety chcemy uaktualnić, to wszystko co musimy zrobić, to uruchomić program apt-get, który pobierze pakiety, które zamierzamy zainstalować. Dla przykładu możesz go wywołać następująco:
apt-get install xchat
APT poszuka w swojej bazie danych najnowszej wersji pakietu i pobierze go z odpowiedniego archiwum, które podano w pliku sources.list. Gdyby okazało się, że pakiet ten zależy od innego, tak jak w powyższym przykładzie, to APT sprawdzi zależności i zainstaluje potrzebne pakiety. Spójrz na ten przykład:
[root]@[/] # apt-get install nautilus Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 17.2MB will be used. Do you want to continue? [Y/n]
Pakiet nautilus
zależy od kilku wymienionych bibliotek
współdzielonych, dlatego APT pobierze je z archiwum. Gdybyś podał nazwy tych
bibliotek jako parametr wywołania programu apt-get, to APT nie
zapytałby Cię czy chcesz kontynuować, gdyż automatycznie założyłby, że chciałeś
je zainstalować.
Oznacza to, że APT tylko wtedy pyta Cię o potwierdzenie, gdy z powodu zależności między pakietami konieczne jest zainstalowanie także innych pakietów niż te podane przez Ciebie w linii komend.
Użyteczne mogą być następujące opcje programu apt-get:
-h Pomoc ekranowa do programu -d Tylko pobranie pakietu, BEZ instalacji lub rozpakowania archiwum -f Próba kontynuowania, nawet jeśli sprawdzenie integralności kończy się niepowodzeniem -s Bez akcji. Wykonuje symulację polecenia -y Zakłada odpowiedź `Tak' na wszystkie zapytania i nie pyta o potwierdzenie -u Wyświetla również listę uaktualnionych pakietów
W jednej linii można podać wiele pakietów do instalacji. Pliki pobrane z sieci są umieszczane do późniejszej instalacji w katalogu /var/cache/apt/archives.
Możesz także w tej samej linii wymienić pakiety, które chcesz usunąć. Po prostu umieść znak '-' bezpośrednio za nazwą pakietu do usunięcia, tak jak pokazano poniżej:
[root]@[/] # apt-get install nautilus gnome-panel- Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Aby dowiedzieć się więcej na temat usuwania pakietów, zobacz sekcję Usuwanie pakietów, Rozdział 3.3.
Gdybyś w jakiś sposób uszkodził zainstalowany pakiet, albo po prostu chciał ponownie zainstalować tą samą wersję pakietu, możesz użyć opcji --reinstall, jak pokazano poniżej:
[root]@[/] # apt-get --reinstall install gdm Reading Package Lists... Done Building Dependency Tree... Done 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. Need to get 0B/182kB of archives. After unpacking 0B will be used. Do you want to continue? [Y/n]
Do tworzenia tego podręcznika używano APT-a w wersji 0.5.3, która w czasie pisania była aktualną wersją w `niestabilnym' Debianie (sid). Jeśli zainstalowałeś tą wersję, to masz do dyspozycji dodatkową funkcjonalność: możesz używać polecenia w formie apt-get install pakiet/dystrybucja do instalowania pakietu ze specyficznej dystrybucji lub w formie apt-get install pakiet=wersja, aby zainstalować żądaną wersję pakietu. Na przykład:
apt-get install nautilus/unstable
Polecenie zainstaluje pakiet nautilus z `niestabilnej' wersji dystrybucji, nawet wtedy gdy używasz wersji `stabilnej'. Dopuszczalnymi wartościami, które może przybierać `dystrybucja' są stable (`stabilna'), testing (`testowa') i unstable (`niestabilna').
Możesz woleć użyć przełącznika -t to wyboru docelowej dystrybucji,
kierując program apt-get
do faworyzowanej dystrybucji w trakcie
rozwiązywania zależności.
WAŻNE: `niestabilna' wersja Debiana to wersja, do której w pierwszej kolejności trafiają najnowsze wersje pakietów .deb. W tej dystrybucji widoczne są wszystkie zmiany pakietów, od tych drobnych do tych bardzo poważnych, które wpływają na wiele innych pakietów, a nawet cały system. Z tego powodu ta wersja dystrybucji nie powinna być używana przez niedoświadczonych użytkowników oraz tych, którzy potrzebują stabilnego systemu.
Wersja `testowa' dystrybucji jest trochę lepsza od `niestabilnej' pod względem stabilności, ale systemy produkcyjne powinny używać wersji `stabilnej'.
Jeśli nie chcesz już dłużej używać jakiegoś pakietu, możesz go usunąć ze swojego systemu za pomocą APT-a. Aby to zrobić, po prostu wpisz: apt-get remove pakiet. Na przykład:
[root]@[/] # apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Jak widać na powyższym przykładzie, APT troszczy się także o usunięcie pakietów, które zależą od pakietu, który chcesz odinstalować. Za pomocą APT-a nie można usunąć pakietu bez usunięcia tych pakietów, które zależą od niego.
Uruchamiając program apt-get
w taki sposób jaki pokazano powyżej
spowodujemy usunięcie pakietów, ale jeśli posiadały one pliki konfiguracyjne,
to pozostaną one nadal w systemie. Aby całkowicie usunąć pakiet uruchom
apt-get
w następujący sposób:
[root]@[/] # apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Zwróć uwagę na znak '*' na końcu nazwy pakietów. Sygnalizuje on, że pliki konfiguracyjne każdego z pakietów także zostały usunięte.
Analogicznie jak dla metody install, możesz z opcją remove użyć symbolu, który odwróci jej znaczenie. W przypadku usuwania pakietów, jeśli za nazwą pakietu umieścisz znak '+', to zostanie on zainstalowany, a nie usunięty.
[root]@[/] # apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Zauważ, że program apt-get
wyświetla dodatkowe pakiety, które
zostaną zainstalowane (tzn. te pakiety, których instalacja jest potrzebna do
poprawnego działania pakietów, które chce zainstalować użytkownik), pakiety
które zostaną usunięte i te, które zostaną zainstalowane (ponownie włączając
dodatkowe pakiety).
Możliwość aktualizacji pakietów to wielkie osiągnięcie systemu APT. Odbywa się to za pomocą pojedynczej komendy: apt-get upgrade. Możesz jej użyć zarówno do aktualizacji pakietów z tej samej dystrybucji, jak i by zaktualizować całą dystrybucję, chociaż do tego celu jest raczej preferowana komenda apt-get dist-upgrade; zobacz sekcję Aktualizacja do nowego wydania, Rozdział 3.5, jeśli chcesz się więcej dowiedzieć na ten temat.
Warto uruchomić tą komendę z opcją -u. Spowoduje ona, że APT wyświetli kompletną listę pakietów, które zostaną zaktualizowane. Bez niej nie będziesz wiedział jakie pakiety aktualizujesz. APT pobierze najnowsze wersje każdego pakietu i zainstaluje je w odpowiedniej kolejności. Bardzo ważne jest uruchamianie apt-get update zawsze przed wydaniem polecenia apt-get upgrade. Zobacz sekcję Aktualizacja listy dostępnych pakietów, Rozdział 3.1, aby dowiedzieć się więcej szczegółów na jego temat. Spójrz także na poniższy przykład:
[root]@[/] # apt-get -u upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages have been kept back cpp gcc lilo The following packages will be upgraded adduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used. Do you want to continue? [Y/n]
Proces uaktualniania pakietów jest bardzo prosty. Zauważ, że w pierwszych kilku liniach APT informuje, które pakiety zostaną pozostawione nietknięte. Oznacza to, że istnieją nowsze wersje tych pakietów, ale z jakichś powodów nie zostaną zainstalowane. Przyczynami takiego stanu mogą być zepsute zależności (pakiet, od którego zależy nie ma dostępnej wersji do pobrania) lub nowe zależności (pakiet w ostatniej wersji zależy od nowego pakietu).
W pierwszym przypadku nie ma prostego rozwiązania. W drugim wystarczy uruchomić komendę apt-get install, aby zainstalować specyficzny pakiet wraz z zależnościami. Jeszcze prostszym rozwiązaniem jest użycie komendy dist-upgrade. Zobacz sekcję Aktualizacja do nowego wydania, Rozdział 3.5, aby dowiedzieć się więcej na ten temat.
Ta zdolność APT-a pozwala Ci uaktualnić cały system Debian za jednym razem, zarówno poprzez sieć Internet jaki i z nowej płyty CD (nabytej lub pobranej w postaci obrazu ISO).
Jest ona również używana, gdy ulegają zmianie relacje pomiędzy zainstalowanymi pakietami. Dzięki poleceniu apt-get upgrade, pakiety te pozostaną w spokoju (pozostawione nietknięte).
Dla przykładu, przypuśćmy że używamy wydania nr 0 stabilnej wersji Debiana i
kupujemy płytę CD z wydaniem nr 3. Możemy użyć APT-a do aktualizacji systemu z
tej nowej płyty CD. W tym celu najpierw użyj programu apt-cdrom
(więcej szczegółów w sekcji Dodawanie CD-ROM-u
do pliku sources.list, Rozdział 2.4), aby dodać tą płytę do pliku
/etc/apt/sources.list, a następnie uruchom program apt-get
dist-upgrade.
Jest ważną rzeczą zauważenie, że APT zawsze szuka najnowszych wersji pakietów. Dlatego, jeśli Twój plik /etc/apt/sources.list zawiera listę archiwów z nowszymi wersjami pakietów niż na płycie CD, to APT nie pobierze ich z płyty, lecz właśnie stamtąd.
W przykładzie pokazanym w sekcji Aktualizacja pakietów, Rozdział 3.4 widzieliśmy, że część pakietów została pozostawiona nietknięta. Teraz możemy rozwiązać ten problem właśnie za pomocą metody dist-upgrade:
[root]@[/] # apt-get -u dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done The following NEW packages will be installed: cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages have been kept back lilo The following packages will be upgraded adduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gcc indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded. Need to get 0B/7098kB of archives. After unpacking 3118kB will be used. Do you want to continue? [Y/n]
Zauważ teraz, że pakiety zostaną zaktualizowane i że zostaną też zainstalowane nowe pakiety (nowe zależności tych pakietów). Zauważ również, iż lilo wciąż pozostaje nietknięte. Przyczyną tego problemu jest zapewne coś więcej niż nowa zależność. Odnajdziemy ją uruchamiając:
[root]@[/] # apt-get -u install lilo Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages will be REMOVED: debconf-tiny The following NEW packages will be installed: cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages will be upgraded lilo 1 packages upgraded, 9 newly installed, 1 to remove and 31 not upgraded. Need to get 225kB/1179kB of archives. After unpacking 2659kB will be used. Do you want to continue? [Y/n]
Jak widać powyżej, lilo ma nowy konflikt z pakietem debconf-tiny
,
który uniemożliwia jego instalację (lub uaktualnienienie) bez usunięcia pakietu
debconf-tiny
.
dselect
jest programem, który pomaga użytkownikom Debiana wybrać
pakiety, które chcą zainstalować. Jest uważany za nieco skomplikowany i dość
nieciekawy, ale jeśli nabierzesz wprawy, to będziesz się swobodnie posługiwał
jego konsolowym interfejsem.
Jedną z cech programu dselect jest to, że informuje o tym, które jeszcze pakiety Debiana są "zalecane" i "proponowane" do zainstalowania. Aby użyć tego programu, jako root uruchom `dselect'. Wybierz 'apt' jako metodę dostępu. Nie jest to w rzeczywistości niezbędne, ale jeśli nie używasz CD-ROM-u i chcesz pobierać pakiety z Internetu, to jest to najlepszy sposób używania dselecta.
Aby jeszcze lepiej zrozumieć w jaki sposób używać dselecta, przeczytaj
dokumentacje do niego, którą można znaleźć na stronie http://www.debian.org/doc/ddp
.
Po wybraniu pakietów przy pomocy dselecta, użyj:
apt-get -u dselect-upgrade
tak, jak to pokazano na przykładzie poniżej:
[root]@[/] # apt-get -u dselect-upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: lbxproxy The following NEW packages will be installed: bonobo console-tools-libs cpp-3.0 enscript expat fingerd gcc-3.0 gcc-3.0-base icepref klogd libdigest-md5-perl libfnlib0 libft-perl libgc5-dev libgcc300 libhtml-clean-perl libltdl0-dev libsasl-modules libstdc++3.0 metamail nethack proftpd-doc psfontmgr python-newt talk tidy util-linux-locales vacation xbill xplanet-images The following packages will be upgraded debian-policy 1 packages upgraded, 30 newly installed, 1 to remove and 0 not upgraded. Need to get 7140kB of archives. After unpacking 16.3MB will be used. Do you want to continue? [Y/n]
Porównaj to z tym, co widzisz, gdy uruchamiasz apt-get dist-upgrade w tym samym systemie.
[root]@[/] # apt-get -u dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done The following packages will be upgraded debian-policy 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 421kB of archives. After unpacking 25.6kB will be freed. Do you want to continue? [Y/n]
Zwróć uwagę, iż wiele z powyższych pakietów będzie instalowana, ponieważ są "zalecane" lub "proponowane" przez inne. Pozostałe pakiety będą instalowane lub usunięte (np. w przypadku pakietu lbxproxy) zgodnie z naszym wyborem, którego dokonaliśmy przy użyciu dselecta. Dselect może być naprawdę potężnym narzędziem, gdy jest używany razem z APT-em.
Ludzie często używają dystrybucji testowej, gdyż jest ona stabilniejsza od dystrybucji niestabilnej i aktualniejsza od dystrybucji stabilnej. Jednakże, użytkownicy, którzy chcieliby używać najnowszych wersji jakichś pakietów, ale boją się uaktualnić swoich systemów do wersji niestabilnej mogą dokonać "wymieszania" pakietów z dystrybucji testowej i niestabilnej. Analogicznie, bardziej konserwatywni użytkownicy mogą w swoich systemach "wymieszać" pakiety z dystrybucji stabilnej i testowej.
Aby tego dokonać, umieść następującą linię w pliku
/etc/apt/apt.conf
:
APT::Default-Release "testing";
Odtąd, gdy będziesz chciał zainstalować pakiety z dystrybucji niestabilnej, to po prostu użyjesz przełącznika -t:
# apt-get -t unstable install nazwa_pakietu
Nie zapomnij o tym, że aby używać pakietów z którejś wersji Debiana, musisz do
pliku /etc/apt/sources.list
dopisać linię wskazującą APT-owi
źródło paczek. Dla naszego przykładu oprócz źródła z pakietami dystrybucji
stabilnej będziemy potrzebowali również linii określającej źródło
pakietów dla dystrybucji niestabilnej.
Program apt-show-versions
umożliwia użytkownikom
"wymieszanych" dystrybucji bezpieczne uaktualnienie swoich systemów
bez ryzyka obniżenia ich dotychczasowej stabilności. Dla przykładu, istnieje
możliwość uaktualnienia do nowszej wersji Twoich niestabilnych pakietów przez
wydanie komendy:
# apt-get install `apt-show-versions -u -b | grep unstable`
Możesz mieć okazję modyfikować coś w pakiecie i nie mieć czasu lub chęci, aby dokonywać tych zmian w nowych wersjach programów. Możesz też dla przykładu uaktualnić swoją dystrybucję Debiana do wersji 3.0, ale chcieć wciąż używać pewnych wersji pakietów z Debiana 2.2. Możesz "przyszpilić" wersję pakietu, którą zainstalowałeś i która nie będzie uaktualniona.
Używanie tego sposobu jest proste. Po prostu musisz wyedytować plik /etc/apt/preferences.
Jego format jest także prosty:
Package: <pakiet> Pin: <definicja "przyszpilenia"> Pin-Priority: <priorytet "przyszpilenia">
Na przykład, aby zachować pakiet sylpheed
, który zmodyfikowałem,
po to by móc używać opcji "reply-to-list" w wersji 0.4.99, dodałem:
Package: sylpheed Pin: version 0.4.99*
Zauważ, że użyłem znaku * (gwiazdka). To jest tzw. "znak zastępczy", który mówi, że chcę "przyszpilić" wszystkie wersje pakietów rozpoczynające się od numeru 0.4.99. Tak jest z powodu wersji tych pakietów Debiana i "debianowych korekt" i nie chcę uniknąć instalacji tych korekt. Zatem, dla przykładu, wersje 0.4.99-1 i 0.4.99-10 zostaną zainstalowane, gdy tylko będą dostępne. Zwróć uwagę, że jeśli zmodyfikowałeś pakiet, nie będziesz chciał robić tych rzeczy w ten sposób.
Pole Pin-Priority jest opcjonalne; jeśli nie zostało określone, to domyślnie przyjmuje wartość 989.
Przyjrzyjmy się jak działa priorytet "przyszpilenia". Priorytet mniejszy niż 0 wskazuje, że pakiet nigdy nie powinien być zainstalowany. Priorytety o wartościach od 0 do 100 wskazują pakiety, które nie są zainstalowane i które nie mają dostępnych wersji. Nie będą one brać udziału w procesie wyboru wersji. Priorytet równy 100 jest priorytetem przypisanym do zainstalowanego pakietu, aby zainstalowana wersja pakietu została zastąpiona przez inną wersję, wersja ta musi mieć priorytet większy niż 100.
Priorytety powyżej 100 wskazują, że pakiet powinien być zainstalowany. Zwykle zainstalowana wersja pakietu jest zmieniana tylko w czasie aktualizacji do nowszej wersji. Priorytety o wartościach pomiędzy 100 i 1000 (włącznie) wskazują te typowe zachowanie. Pakiet z takim priorytetem nie zostanie umniejszony do dostępnej wersji o mniejszym numerze. Na przykład jeśli mam zainstalowaną wersję 0.5.3 pakietu sylpheed i zdefiniuję "przyszpilenie" wersji 0.4.99 tego pakietu z priorytetem 999, to wersja 0.4.99 nie zostanie zainstalowana, aby spełnić "przyszpilenie". Aby uczynić pakiet "zmniejszonym" i spełnić "przyszpilenie" musisz ustawić priorytet na wartość większą niż 1000.
To pojęcie pomniejszenia może mieć potężne zastosowania; wyobraź sobie, że uaktualniłeś właśnie swoją stabilną wersję Debiana do wersji testowej, ale chciałeś cofnąć tą decyzję - być może wersja testowa nie została wystarczająco "przetestowana", aby nadawała się dla Ciebie. Możesz zdefiniować domyślne "przyszpilenie" używając "znaku zastępczego" dla nazwy pakietu, aby wrócić do wersji stabilnej. Na przykład:
Package: * Pin: release a=stable Pin-Priority: 1001
Po tym, komenda apt-get -u dist-upgrade przywróci Twój system do wersji stabilnej.
Przyszpilenie można określić na wersji, wydaniu lub pochodzeniu pakietu.
Przyszpilenie wersji, tak jak widzieliśmy, wspiera dosłowne numery wersji, jak i znaki zastępcze w celu określenia kilku wersji jednocześnie.
Opcja wydanie zależy od pliku Release z repozytorium APT-a lub z płyty CD. Opcja ta może nie być użyteczna zawsze jeśli używasz repozytoriów pakietów, które nie dostarczają tego pliku. Możesz zobaczyć zawartość plików Release, które masz w pliku /var/lib/apt/lists/. Parametrami dla wydania są a (archiwum), c (komponenty), v (wersja), o (pochodzenie) and l (etykieta).
Przykład:
Package: * Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian Priority: 1001
W tym przykładzie wybraliśmy wersję Debiana 2.2* (którą może być dla przykładu korekta 2.2r2 albo 2.2r3 - określa ona tzw. "punkt wydania", który zwykle zawiera nowe poprawki bezpieczeństwa i inne bardzo ważne uaktualnienia), repozytorium stable, sekcję main (w przeciwieństwie do sekcji contrib lub non-free) oraz pochodzenie i etykietę Debian. Pochodzenie (o=) definiuje kto stworzył plik Release, a etykieta (l=) - nazwę dystrybucji, na przykład Debian dla Debiana, Progeny dla Progeny. Oto przykładowy plik Release:
$ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Release Archive: stable Version: 2.2r3 Component: main Origin: Debian Label: Debian Architecture: i386
APT HOWTO
1.7.7 - marzec 2002kov@debian.org
pawel.tecza@poczta.fm