apt-listchanges - Wyświetla nowe wpisy zmian
pakietów Debiana
apt-listchanges [[opcje...]] {[--apt] |
[pakiet.deb...]}
apt-listchanges jest narzędziem pokazującym
zmiany pomiędzy nową wersją pakietu Debiana a
wersją obecnie zainstalowaną w systemie.
Narzędzie wyciąga odpowiednie wpisy z plików
zarówno NEWS.Debian, jak i changelog[.Debian], które zazwyczaj
znajdują się w katalogu /usr/share/doc/pakiet
pakietów pochodzących z archiwów Debiana.
Prosimy zwrócić uwagę na to, że
według domyślnych ustawień instalacji jeśli
apt-listchanges jest uruchamiany podczas aktualizacji pakietów
jako plugin APT, to wyświetla tylko i wyłącznie wpisy
pochodzące z plików NEWS.Debian. Można to
zmienić, używając opcji --which.
Jeśli wyświetlane są wpisy dzienników
zmian i pakiet nie zawiera pliku changelog[.Debian], to
apt-listchanges uruchamia apt-get changelog w celu pobrania
dziennika zmian przez sieć. Można to
wyłączyć, używając opcji
--no-network.
apt-listchanges przegląda pliki (które
powinny być pakietami Debiana) podane w linii poleceń (lub
odczytane z apt, jeżeli użyto --apt) w poszukiwaniu
odpowiednich wpisów w plikach zmian, a potem wyświetla te
wpisy, grupując je po pakietach źródłowych.
Grupy są sortowane najpierw po ważności zmian,
zaczynających od tych najbardziej istotnych, a następnie po
nazwie pakietu. Zmiany w każdej grupie pakietów są
wyświetlane w takiej kolejności, w jakiej się
pojawiają w plikach zmian, to jest od najnowszej do najstarszej, ale
kolejność tę można zmienić za
pomocą opcji --reverse.
apt-listchanges zawiera następujące opcje
wpływające na jego zachowanie. Większość
z nich ma swoje odpowiedniki w pliki konfiguracyjnym,
szczegółowe informacje o tym zawiera rozdział
"PLIK KONFIGURACYJNY" poniżej.
--apt
Czyta nazwy plików z odpowiednio sformatowanego
potoku (dostarczanego przez apt), a nie z argumentów linii
poleceń. Uwzględnia pewne specyficzne dla apt opcje
konfiguracyjne. Potok musi być w wersji 2, co jest określane w
konfiguracji apt.
-v, --verbose
Wyświetla informacje dodatkowe
(najczęściej niepożądane). Na przykład
wyświetla komunikat o tym, że jest już zainstalowany
pakiet w tej samej lub starszej wersji, albo o tym, że pakiet jest nowo
instalowany.
-f, --frontend
Pozwala na wybranie interfejsu wyświetlania
informacji użytkownikowi. Obecnie obsługiwane interfejsy to:
pager
Używa programu
sensible-pager(1) do
wyświetlania informacji. Program ten korzysta ze zmiennej
środowiskowej PAGER, w której można podać ulubiony
pager (program do wyświetlania wyjścia z podziałem na
strony). W wartości opcji "pager" pliku konfiguracyjnego
można także podać pager, którego ma
używać apt-listchanges.
browser
Wyświetla pliki zmian sformatowane w HTML-u i
zawierające łącza do adresów raportów o
błędach i adresów e-mail opiekunów,
używając do tego programu
sensible-browser(1),
który na podstawie wartości zmiennej środowiskowej
BROWSER uruchamia ulubioną przeglądarkę www
użytkownika. W opcji "browser" pliku konfiguracyjnego
można także podać przeglądarkę www,
której ma używać apt-listchanges.
xterm-pager
Używa ulubionego pagera do wyświetlania
wyjścia, ale robi to w X terminalu (uruchamiając program
x-terminal-emulator) w tle. Pozwala to na kontynuowanie aktualizacji
pakietów i jednoczesne przeglądanie list zmian. Używany
emulator terminala X można nadpisać w opcji "xterm"
pliku konfiguracyjnego.
xterm-browser
Kombinacja logiczna interfejsów xterm-pager i
browser. Właściwa tylko do użycia z tekstowymi
przeglądarkami www.
text
Wyświetla wyjście na stdout, bez
przerywania.
mail
Wysyła e-mail do odbiorców podanych w opcji
--email-address. Nie wyświetla zmian na standardowym
wyjściu.
gtk
Otwiera okno gtk w celu wyświetlenia w nim listy
zmian. Wymaga zainstalowanego pakietu python3-gi.
none
Nic nie robi. Można tego użyć, aby
apt-listchanges nie wyświetlał zmian, gdy jest skonfigurowany
tak, że się automatycznie uruchamia przez apt.
Należy zwrócić uwagę na to, że
przed uruchomieniem jakichkolwiek poleceń przez interfejsy
"browser", "xterm-browser" oraz "xterm-pager"
apt-listchanges będzie próbował pozbyć
się uprawnień administratora. Nie dotyczy to jednak interfejsu
"pager". Patrz także "ZMIENNE
ŚRODOWISKOWE" poniżej.
--email-address=adres
Oprócz wyświetlania zmian, wysyłany
także jest e-mail do podanych odbiorców. Aby tylko
wysłać e-mail, bez wyświetlania zmian, należy
użyć tej opcji ze specjalnym interfejsem "mail".
--email-format={text|html}
Jeśli włączono wysyłanie
e-maili (patrz --email-address powyżej), to ta opcja pozwala
wybrać ich format: text - stary, dobry niesformatowany tekst (co jest
domyślnym zachowaniem); html - dane z klikalnymi odnośnikami, co
może być wygodniejsze, gdy się używa graficznych
programów do wyświetlania e-maili.
-c, --confirm
Po wyświetleniu listy zmian pyta
użytkownika o zgodę na kontynuowania instalacji. Jeśli
użytkownik się nie zgodzi, to apt-listchanges zwróci
niezerowy kod wyjścia i apt przerwie działanie.
-a, --show-all
Wyświetla wszystkie zmiany, zamiast tylko nowszych
niż obecnie zainstalowana wersja pakietu. Może być
użyteczne do przeglądania pełnych list zmian pliku .deb
przed jego rozpakowaniem.
-n, --no-network
W rzadkich przypadkach kiedy pakiet binarny (albo
żeby być bardziej precyzyjnym: żaden z pakietów
binarnych budowanych z tego samego źródła i
przetwarzanych jako grupa pakietów) nie zawiera pliku dziennika zmian,
to domyślnie apt-listchanges uruchamia polecenie apt-get
changelog w celu pobrania dziennika zmian z serwerów sieciowych
zazwyczaj utrzymywanych przez dystrybutora systemu operacyjnego. Za
pomocą tej opcji można wyłączyć to
zachowanie, co może być użyteczne na przykład w
systemach znajdujących się za firewallem.
--save-seen=plik
Ta opcja powoduje, że apt-listchanges trzyma
informacje o ostatnich wersjach pakietów, dla których już
wyświetlił listy zmian, tak aby w przyszłości
uniknąć ponownego wyświetlania tych samych zmian.
Informacje te są przechowywane w pliku, którego nazwa jest
podana jako wartość tej opcji. Podanie "none"
spowoduje wyłączenie tej funkcjonalności.
--dump-seen
Wypisuje na standardowym wyjściu
zawartość bazy danych o wyświetlonych zmianach w postaci
listy linii składających się z nazwy pakietu i ostatniej
wersji, dla której wyświetlono listy zmian. Opcja ta wymaga
znajomości ścieżki do pliku bazy danych: należy
ją albo podać za pomocą opcji --save-seen, albo
użyć --profile=apt, aby ta ścieżka
została odczytana z pliku konfiguracyjnego.
--since=wersja
Ta opcja spowoduje, że apt-listchanges
wyświetli wpisy starsze niż podana wersja pakietu. Jeśli
podano tę opcję, to jedynym dopuszczalnym innym argumentem jest
ścieżka do pliku .deb.
--which={news|changelogs|both}
Pozwala na wybranie typu wyświetlanych zmian: news
(z plików NEWS.Debian), changelogs (z changelog.Debian itp.) lub both
(oba). Wartość domyślna to "news".
--help
Wyświetla informacje o składni
programu.
-h, --headers
Te opcje spowodują, że apt-listchanges
wyświetli linię nagłówka przed listą zmian
pakietu. Linia ta zawiera nazwę pakietu źródłowego
oraz nazwy pakietów binarnych (jeśli jest więcej
niż jeden lub gdy nazwa pakietu binarnego różni
się od nazwy pakietu źródłowego), które
są aktualizowane.
--debug
Wyświetla informacje przydatne podczas
debugowania.
--profile=nazwa
Wybiera profil opcji. Nazwa odpowiada nazwie
sekcji w pliku /etc/apt/listchanges.conf. Wartością
domyślną jest "apt", jeśli program
został uruchomiony przez apt, lub "cmdline" w przeciwnym
wypadku.
--reverse
Wyświetla wpisy pliku dziennika zmian w odwrotnej
kolejności.
--ignore-apt-assume, --ignore-debian-frontend
Wyłącza niektóre z przypadków
przełączania interfejsu na nieinteraktywny opisanych
powyżej w rozdziale "AUTOMATYCZNE NADPISYWANIE
INTERFEJSU".
--select-frontend
Interaktywnie wybiera interfejs. Ta opcja jest
przeznaczona głównie do celów testowania programu,
prosimy o jej nieużywanie.
apt-listchanges w celu lepszej integracji z
istniejącymi narzędziami do zarządzania pakietami stara
się wykryć, czy aktualizacje pakietów są
przeprowadzane w trybie nieinteraktywnym, i automatycznie
przełącza interfejs na "text", jeśli zajdzie
którykolwiek z następujących
warunków:
•standardowe wyjście nie jest
podpięte do terminalu;
•opcja
--quiet (
-q) została
przekazana do
apt-get(8) (lub
aptitude(8)); jeśli
jednakże podano tę opcję więcej niż raz, to
apt-listchanges przełączy interfejs na "mail";
•opcja
--assume-yes (
-y) jest
przekazana do
apt-get(8);
•zmienna środowiskowa
DEBIAN_FRONTEND jest ustawiona na "noninteractive", a
APT_LISTCHANGES_FRONTED nie jest ustawiona.
W celu zachowania zgodności z poprzednimi wersjami
apt-listchanges ostatnie dwa spośród powyższych
sprawdzeń można wyłączyć albo za
pomocą wpisów "ignore_apt_assume=true" lub
"ignore_debian_frontend=true" w pliku konfiguracyjnym (patrz
poniżej "PLIK KONFIGURACYJNY"), albo za pomocą opcji
linii poleceń --ignore-apt-assume lub
--ignore-debian-frontend.
Należy także zwrócić uwagę na
to, że interfejs "mail" zawsze jest nieinteraktywny,
więc nigdy nie zostanie przełączony na interfejs
"text".
Dodatkowo apt-listchanges zamienia interfejsy graficzne
oparte na X11 ("gtk", "xterm-pager",
"xterm-browser") na interfejs "pager" (lub
"browser" w przypadku "xterm-browser"), jeżeli
nie jest ustawiona zmienna środowiskowa DISPLAY.
apt-listchanges czyta konfigurację z pliku
/etc/apt/listchanges.conf. Plik ten składa się z
sekcji, których nazwy są objęte nawiasami
kwadratowymi. Każda sekcja powinna składać się z
linii w formacie klucz=wartość. Linie
rozpoczynające się od znaku "#" są
uważane za komentarze i ignorowane.
Sekcja jest nazwą profilu, którego
można użyć jako parametr opcji --profile.
Konfiguracja sekcji "apt" może być
zarządzana przez program debconf(7) i
większość ustawień tej sekcji można
zmienić za pomocą polecenia dpkg-reconfigure
apt-listchanges.
Klucz jest nazwą którejś z opcji linii
poleceń (z wyjątkiem --apt, --profile,
--help) z pominiętymi początkowymi myślnikami
oraz z pozostałymi myślnikami zastąpionymi przez znaki
podkreślenia, na przykład: "email_format" lub
"save_seen".
Wartość jest wartością
odpowiadającej opcji. W przypadku opcji linii poleceń
nieprzyjmujących argumentów, jak na przykład
"confirm" lub "headers", wartością
powinno być albo "1", "yes", "true" lub
"on", aby włączyć tę opcję,
albo "0", "no", "false" lub "off",
aby ją wyłączyć.
Ponadto kluczem może być każde z
następujących słów: "browser",
"pager" lub "xterm". Wartością
takiego wpisu konfiguracyjnego powinna być nazwa odpowiedniego
polecenia z jego ewentualnymi parametrami, na przykład
"pager=less -R".
Przykład 1. Przykładowy plik
konfiguracyjny
[cmdline]
frontend=pager
[apt]
frontend=xterm-pager
email_address=root
confirm=1
[custom]
frontend=browser
browser=mozilla
Powyższy plik konfiguracyjny określa że w
trybie linii poleceń domyślnym interfejsem jest
"pager". W trybie apt domyślnym interfejsem jest
"xter-pager", kopia wpisów zmian powinna zostać
wysłana e-mailem do użytkownika root, a apt-listchanges
powinien pytać o potwierdzenia kontynuowania. Jeśli
apt-listchanges zostanie uruchomiony z opcją --profile=custom, to
zostanie użyty interfejs "browser", który uruchomi
program mozilla.
APT_LISTCHANGES_FRONTEND
Używany interfejs.
APT_LISTCHANGES_USER, SUDO_USER, USERNAME
Wartość pierwszej istniejącej
spośród wyżej wymienionych zmiennych zostanie
użyta jako nazwa użytkownika, na którego
apt-listchanges, jeśli zostało uruchomione z
uprawnieniami administratora, przełączy się podczas
wykonywania poleceń uruchamianych przez interfejsy "browser",
"xterm-browser" oraz "xterm-pager".
DEBIAN_FRONTEND
Jeśli jest ustawiona na
"noninteractive", to wymusza na apt-listchanges użycie
nieinteraktywnego interfejsu. Szczegóły można
znaleźć w rozdziale "AUTOMATYCZNE NADPISYWANIE
INTERFEJSU".
BROWSER
Używana przez interfejs "browser",
powinna być ustawiona na ścieżkę do polecenia
pozwalającego wyświetlić URL file: lub plik HTML.
PAGER
Używana przez interfejs "pager".
APT_HOOK_INFO_FD
Deskryptor pliku, z którego będą
odczytane nazwy pakietów w trybie --apt. (Apt powinno
ustawić tę zmienną na numer odpowiedniego deskryptora
pliku).
/etc/apt/listchanges.conf
Plik konfiguracyjny.
/etc/apt/apt.conf.d/20listchanges
Plik używany do zarejestrowania programu
apt-listchanges w systemie apt.
/var/lib/apt/listchanges.db
Baza danych o wyświetlonych wersjach
pakietów.
apt-listchanges napisał Matt Zimmerman
<mdz@debian.org>
Obecnym opiekunem jest Robert Luberda
<robert@debian.org>
Robert Luberda <robert@debian.org>