NAZWA
dpkg - menedżer pakietów dla systemu Debian
SKŁADNIA
dpkg [opcje] działanie
UWAGA
Ten podręcznik jest przeznaczony dla użytkowników, którzy chcą poznać opcje programu dpkg oraz chcą dowiedzieć się o pakietach więcej niż podaje to dpkg −−help.
Ten podręcznik nie wyjaśnia technicznych szczegółów, np. w jaki sposób dpkg instaluje lub usuwa swoje pakiety, gdyż jest to dla przeciętnego użytkownika zupełnie nieistotne.
OPIS
dpkg to średniego poziomu narzędzie do instalowania, tworzenia, usuwania oraz zarządzania pakietami systemu Debian. Podstawowym i bardziej przyjaznym użytkownikowi narzędziem-nakładką dpkg jest dselect(8). Sam dpkg jest obsługiwany z linii komend poprzez podanie jednego działania oraz opcjonalnie dodatkowych opcji. Parametr działanie określa, co dpkg ma zrobić, a dodatkowe opcje modyfikują to działanie.
dpkg
może być także użyty jako nakładka
na dpkg−deb. Wymienione poniżej parametry
zostaną przekazane z dpkg do
dpkg−deb:
−b, −−build,
−c, −−contents,
−I, −−info,
−f, −−field,
−e, −−control,
−x, −−extract,
−X, −−vextract oraz
−−fsys−tarfile.
Działania te są opisane w osobnym podręczniku
do dpkg−deb(1).
INFORMACJE O PAKIETACH
dpkg zarządza informacjami o dostępnych pakietach. Informacje zostały podzielone na trzy klasy: stan bieżący, stan wyboru oraz flagę. Wartości te mogą zostać zmienione za pomocą programu dselect.
STAN
BIEŻĄCY PAKIETÓW
installed (zainstalowany)
Pakiet jest rozpakowany i poprawnie skonfigurowany.
half−installed (wpółzainstalowany)
Instalacja pakietu została rozpoczęta, ale niedokończona z pewnych powodów.
not−installed (niezainstalowany)
Pakiet nie jest zainstalowany w systemie.
unpacked (rozpakowany)
Pakiet jest rozpakowany, ale nie skonfigurowany.
half−configured (wpółskonfigurowany)
Pakiet jest rozpakowany, a konfiguracja została rozpoczęta, ale niedokończona z pewnych powodów.
config−files (pliki−konfiguracyjne)
Tylko pliki konfiguracyjne pakietu zostały w systemie.
STAN WYBORU
PAKIETÓW
install (instalacja)
Pakiet został wybrany do zainstalowania.
deinstall (deinstalacja)
Pakiet został wybrany do odinstalowania (to znaczy, że chcemy skasować wszystkie pliki pakietu, oprócz plików konfiguracyjnych).
purge (wyczyszczenie)
Pakiet został wybrany do wyczyszczenia (to znaczy, że chcemy skasować wszystko, włącznie z plikami konfiguracyjnymi).
FLAGI
PAKIETÓW
hold (wstrzymanie)
Pakiet oznaczony jako wstrzymany nie jest obsługiwany przez dpkg, chyba że użyje się opcji −−force−hold.
reinst−required (konieczna−reinstalacja)
Pakiet oznaczony jako konieczna−reinstalacja jest uszkodzony i wymaga reinstalacji. Taki pakiet nie może zostać usunięty, chyba że użyje się opcji −−force−remove−reinstreq.
DZIAŁANIA
dpkg −i | −−install plik_pakietu...
Instalacja pakiet. Jeśli została użyta opcja −−recursive lub −R, plik_pakietu musi oznaczać wybrany katalog.
Instalacja składa się z następujących kroków:
1. Rozpakowanie plików kontrolnych nowego pakietu.
2. Jeśli inna wersja tego samego pakietu jest już zainstalowana, uruchomienie skryptu prerm starego pakietu.
3. Uruchomienie skryptu preinst, jeśli pakiet go zawiera.
4. Rozpakowanie nowych plików, ale przechowanie starych na wypadek, gdyby instalacja się nie powiodła i trzeba by je odzyskać.
5. Jeśli inna wersja tego samego pakietu była poprzednio zainstalowana, uruchomienie skryptu postrm starego pakietu. Proszę zauważyć, że ten skrypt jest uruchamiany po skrypcie preinst nowego pakietu, ponieważ nowe pliki są zapisywane w tym samym czasie, gdy stare są kasowane.
6. Konfiguracja pakietu. Bardziej szczegółowe informacje zawarto przy opisie parametru −−configure.
dpkg −−unpack plik_pakietu ...
Rozpakowanie pakietu, ale nie konfigurowanie go. Jeśli została użyta opcja −−recursive lub −R, plik_pakietu musi oznaczać wybrany katalog.
dpkg −−configure pakiet ... | −a | −−pending
Rekonfigurowanie rozpakowanego pakietu. Jeśli zamiast nazwy pakietu została podana opcja −a lub −−pending, rekonfiguracja obejmie wszystkie rozpakowane ale nie skonfigurowane pakiety.
Konfigurowanie składa się z następujących kroków:
1. Rozpakowanie nowych plików konfiguracyjnych, ale przechowanie starych na wypadek, gdyby konfigurowanie się nie powiodło i trzeba by je odzyskać.
2. Uruchomienie skryptu postinst, jeśli pakiet go zawiera.
dpkg −r | −−remove | −P | −−purge pakiet ... | −a | −−pending
Usuwanie zainstalowanych pakietów. Parametr −r lub −−remove powoduje usunięcie wszystkich plików oprócz plików konfiguracyjnych. Pozwala to uniknąć powtórnej konfiguracji, gdyby pakiet był znów instalowany później. (Pliki konfiguracyjne są wymienione w pliku kontrolnym debian/conffiles pakietu). Parametr −P lub −−purge usuwa wszystko, łącznie z plikami konfiguracyjnymi. Jeśli zamiast nazwy pakietu została podana opcja −a lub −−pending, usunięte lub wyczyszczone zostaną wszystkie pakiety rozpakowane i wybrane w pliku /var/lib/dpkg/status jako przeznaczone do usunięcia lub wyczyszczenia.
Usunięcie pakietu składa się z następujących kroków:
1. Uruchomienie skryptu prerm
2. Usunięcie zainstalowanych plików
3. Uruchomienie skryptu postrm
dpkg −−update−avail | −−merge−avail Packages
Zaktualizowanie bazy danych programu dpkg oraz dselect o dostępnych pakietach. Opcja −−merge−avail powoduje, że poprzednie informacje są łączone z nowymi z pliku Packages. Opcja −−update−avail powoduje zastąpienie starych informacji nowymi z pliku Packages. Plik Packages jest dystrybuowany razem z systemem Debian. dpkg przechowuje informacje z tego pliku w pliku /var/lib/dpkg/available.
Szybszą opcją zaktualizowania pliku available jest uruchomienie polecania dselect update.
dpkg −A | −−record−avail plik_pakietu ...
Zaktualizowanie bazy danych programu dpkg oraz dselect o dostępnych pakietach, uwzględniając informacje zawarte w pliku_pakietu. Jeśli została użyta opcja −−recursive lub −R, plik_pakietu musi oznaczać wybrany katalog.
dpkg −−forget−old−unavail
Skasowanie informacji o wszystkich niezainstalowanych i niedostępnych pakietach.
dpkg −−clear−avail
Skasowanie informacji o dostępnych pakietach.
dpkg −C | −−audit
Wyszukanie pakietów, które zainstalowane są w systemie tylko częściowo. dpkg zasugeruje, co można zrobić z tymi pakietami, aby w pełni działały.
dpkg −−get−selections [wzorzec...]
Pobranie listy wybranych pakietów i wyrzucenie jej na stdout.
dpkg −−set−selections
Ustawienie wyboru pakietów odczytane ze stdin.
dpkg −−yet−to−unpack
Wyszukanie pakietów przeznaczonych do zainstalowania, które z pewnych powodów nie mogły zostać zainstalowane.
dpkg −−print−architecture
Podanie architektury docelowej (na przykład "i386"). Ta opcja wykorzystuje program gcc.
dpkg −−print−gnu−build−architecture
Podanie wersji GNU docelowej architektury (na przykład "i486").
dpkg −−print−installation−architecture
Podanie architektury komputera, dla którego nastąpi instalacja.
dpkg −−compare−versions wersja1 op wersja2
Porównanie numerów wersji, gdzie op jest operatorem binarnym. dpkg zwróci prawdę (rezultat zerowy), gdy warunek zostanie spełniony, lub zwróci fałsz (rezultat niezerowy) - w przeciwnym razie. Istnieją dwie grupy operatorów, w zależności od tego, w jaki sposób traktuje się pusty numer wersji1 lub wersji2. Operatory, dla których pusty numer wersji oznacza wersję wcześniejszą niż dowolna: lt le eq ne ge gt. Operatory, dla których pusty numer wersji oznacza wersję późniejszą niż dowolna: lt−nl le−nl ge−nl gt−nl. Operatory istniejące, aby zachować kompatybilność z plikiem kontrolnym: < << <= = >= >> >.
dpkg −−command−fd <n>
Wykonuje listę poleceń odczytywanych z deskryptora pliku <n>. Uwaga: dodatkowe opcje ustawione w linii komend oraz przez polecenia odczytane z tego deskryptora pliku nie są czyszczone dla kolejnych poleceń wykonywanych podczas tego samego przebiegu.
dpkg −−help
Wyświetlenie krótkiego komunikatu pomocy.
dpkg −−force−help
Wyświetlenie opisu opcji −−force−działanie.
dpkg −Dh | −−debug=help
Wyświetlenie opisu opcji debuggera.
dpkg −−licence | dpkg −−license
Wyświetlenie licencji dpkg.
dpkg −−version
Wyświetlenie informacji o wersji dpkg.
dpkg−deb−actions
Zajrzyj do dpkg−deb(1), aby poznać pełny opis następujących działań.
dpkg
−b | −−build katalog
[nazwa-pliku]
Zbudowanie pakietu deb.
dpkg −c | −−contents
nazwa-pliku
Podanie zawartości pakietu deb.
dpkg −e | −−control
nazwa-pliku [katalog]
Rozpakowanie plików kontrolnych z pakietu.
dpkg −x | −−extract
nazwa-pliku katalog
Rozpakowanie plików zawartych w pakiecie.
dpkg −f | −−field
nazwa-pliku [pola-kontrolne] ...
Podanie informacji z pól kontrolnych pakietu.
dpkg −−fsys−tarfile nazwa-pliku
Podanie na stdout archiwum tar, które zawiera pakiet
Debiana.
dpkg −I | −−info
nazwa-pliku [plik-kontrolny]
Podanie informacji o pakiecie.
dpkg −X | −−vextract
nazwa-pliku katalog
Rozpakowanie pakietu i podanie nazw plików,
które zawiera pakiet.
dpkg−query−actions
Proszę przeczytać dpkg−query(8), aby uzyskać szczegółowe informacje o następujących działaniach.
dpkg
−l | −−list
wzorzec-nazw-pakietów ...
Wyświetla pakiety pasujące do wzorca.
dpkg −s | −−status
nazwa-pakietu ...
Wyświetla informacje o stanie danego pakietu.
dpkg −L | −−listfiles
pakiet ...
Wyświetla listę plików zainstalowanych w
systemie przez pakiet pakiet.
dpkg −S | −−search
wzorzec-wyszukiwania-nazw-plików ...
Wyszukuje nazwy plików w zainstalowanych pakietach.
dpkg −p | −−print−avail
pakiet
Wyświetla szczegółowe informacje na temat
pakietu, pochodzące z
pliku /var/lib/dpkg/available.
OPCJE
Wszystkie opcje
mogą być podane zarówno w linii
poleceń, jak i w pliku konfiguracyjnym
/etc/dpkg/dpkg.cfg programu dpkg. Każda
linia tego pliku jest albo opcją (dokładnie
taką samą jak opcja linii poleceń, ale bez
początkowych myślników), albo komentarzem
(jeżeli zaczyna się od #).
−−abort−after=liczba
Zmiana ilości błędów, po których dpkg zaprzestanie działania. Domyślna wartość to 50.
−B|−−auto−deconfigure
Gdy pakiet jest usuwany, możliwa jest sytuacja, że kolejny zainstalowany pakiet jest zależny od tego usuwanego. Podanie tej opcji spowoduje automatyczne dekonfigurowanie pakietów, które są zależne od usuwanego.
−Doktal | −−debug=oktal
Włączenie trybu debuggera. oktal jest liczbą ósemkową zależną od żądanych opcji debuggera (te wartości mogą ulec zmianie w przyszłości). Parametr −Dh lub −−debug=help wyświetla te wartości.
numer opis
1 Ogólnie przydatne informacje o postępie
2 Wywołanie i stan skryptów kontrolnych
10 Informacje o każdym przetwarzanym pliku
100 Więcej informacji o każdym przetwarzanym pliku
20 Informacje o każdym pliku konfiguracyjnym
200 Więcej informacji o każdym pliku
konfiguracyjnym
40 Zależności i konflikty
400 Więcej informacji o zależnościach i
konfliktach
1000 Mnóstwo informacji m.in. o plikach info z bazy
danych dpkg
2000 Reszta szczegółowych informacji
−−force−działanie | −−no−force−działanie | −−refuse−działanie
Wymuś (−−force−) wykonanie pewnych działań lub pozostaw domyślny sposób (no−force i refuse oznaczają to samo) wykonania działań. działanie to rozdzielona przecinkami lista działań. −−force−help wyświetla opis tych działań. Działania oznaczone przez (*) są domyślnie wymuszone.
Ostrzeżenie: Te opcje są zwykle przeznaczone wyłącznie dla doświadczonych użytkowników. Użycie ich bez pełnego zrozumienia efektu działania może spowodować uszkodzenie systemu.
all Włącza (lub wyłącza) wszystkie opcje typu "force".
auto−select(*): Zaznaczenie pakietów do zainstalowania lub usunięcia.
downgrade(*): Zainstalowanie pakietu, nawet gdy nowsza jego wersja jest już zainstalowana.
Ostrzeżenie: W chwili obecnej dpkg nie sprawdza zależności podczas instalowania starszej wersji pakietu i dlatego nie wypisze ostrzeżenia, jeżeli zainstalowanie starszej wersji popsuje zależności innych pakietów. Instalowania starszych wersji niezbędnych (essential) pakietów może spowodować, i jest to poważny skutek uboczny, że Twój system nie będzie się nadawał do użytku. Proszę używać tej opcji ostrożnie.
configure−any: Skonfigurowanie wszystkich rozpakowanych ale nie skonfigurowanych pakietów, od których jest zależny bieżący pakiet.
hold: Działanie obejmie także pakiety oznaczone jako "wstrzymane" (hold).
remove−reinstreq: Usunięcie pakietu, nawet wtedy gdy jest uszkodzony i wymaga przeinstalowania. Może to spowodować pozostawienie części pakietu w systemie, gdyż dpkg zapomni o niej.
remove−essential: Usunięcie pakietu, nawet wtedy gdy jest on uznany za niezbędny (essential). Pakiety niezbędne zawierają podstawowe polecenia Uniksa. Usunięcie ich może spowodować, że system przestanie działać. Należy zachować szczególną ostrożność przy użyciu tej opcji.
depends: Zamiana wszystkich problemów z zależnościami na ostrzeżenia.
depends−version: Zignorowanie problemów z numerami wersji przy sprawdzaniu zależności.
conflicts: Instalacja, nawet gdy pakiet powoduje konflikt z innym. Powstać może niebezpieczeństwo nadpisania plików z innego pakietu, dlatego należy zachować ostrożność przy użyciu tej opcji.
confmiss: Zawsze będą instalowane brakujące pliki konfiguracyjne. Używanie tej opcji może być niebezpieczne, ponieważ nie zachowuje to zmiany dokonanej na pliku (czyli jego usunięcia).
confnew: Jeśli plik konfiguracyjny został zmodyfikowany, zainstalowana zostanie jego nowa wersja bez pytania, chyba że użyto również opcji −−force−confdef, co spowoduje wykonanie domyślnej akcji.
confold: Jeśli plik konfiguracyjny został zmodyfikowany, stara wersja zostanie zachowana bez pytania, chyba że użyto również opcji −−force−confdef, co spowoduje wykonanie domyślnej akcji.
confdef: Jeśli plik konfiguracyjny został zmodyfikowany, wybrane zostanie domyślne działanie. Jeżeli nie określono domyślnej akcji, użytkownik zostanie poproszony o dokonanie wyboru. Podanie dodatkowo opcji −−force−confnew lub −−force−confold zdecyduje o dalszym działaniu.
overwrite: Nadpisanie plików z innych pakietów, w przypadku gdy dany plik występuje także w innym pakiecie.
overwrite−dir Nadpisanie katalogów z innych pakietów, w przypadku gdy dany katalog występuje także w innym pakiecie.
overwrite−diverted: Nadpisanie plików ominiętych plikami nieominiętymi.
architecture: Działanie obejmie pakiety z niepoprawną architekturą.
bad−path: Zignorowanie braku pewnych programów w ścieżce zmiennej systemowej PATH.
not−root: Próba (de)instalacji, gdy dpkg nie jest uruchamiany z konta root.
bad−verify: Instalowanie pakietu, nawet jeżeli nie powiedzie się sprawdzenie jego autentyczności.
−−ignore−depends=pakiet,...
Zignorowanie sprawdzania zależności od podanych pakietów (a ściślej rzecz biorąc, sprawdzanie się odbywa, ale w przypadku konfliktów wyświetlane jest tylko ostrzeżenie).
−−new | −−old
Wybór pomiędzy nowym i starym formatem binarnym pakietu. Ta opcja jest przesłana do dpkg−deb(1).
−−nocheck
Brak sprawdzania zawartości pliku kontrolnego podczas budowania pakietu. Ta opcja jest przesłana do dpkg−deb(1).
−−no−act | −−dry−run | −−simulate
Podejmowane działania nie powodują żadnych zmian. Ta opcja jest użyteczna, gdy potrzeba sprawdzić, czy działanie się wykona, ale bez powodowania zmian czegokolwiek.
Opcję −−no−act należy podać jako pierwszy parametr, gdyż w przeciwnym razie można otrzymać niespodziewane efekty. (np. dpkg −−purge foo −−no−act wyczyści pakiet foo, a następnie spróbuje wyczyścić pakiet o nazwie −−no−act, mimo że najprawdopodobniej spodziewałeś się, że takie polecenie nic nie zrobi).
−R | −−recursive
Działanie obejmie wszystkie pliki *.deb z podanego katalogu, wraz z podkatalogami tego katalogu. Ta opcja może zostać użyta wraz z −i, −A, −−install, −−unpack oraz −−avail.
−G |
Nieinstalowanie pakietu, jeśli nowszy jest już zainstalowany w systemie. Jest to dokładnie to samo co −−refuse−downgrade. |
−−root=katalog | −−admindir=katalog | −−instdir=katalog
Zmiana domyślnych katalogów. admindir to domyślnie /var/lib/dpkg, gdzie przechowywane są informacje o stanie pakietów, itp. instdir to domyślnie / i oznacza katalog w którym zostaną zainstalowane pliki. instdir oznacza również katalog na którym zostanie wykonane polecenie chroot(2) przed wykonaniem skryptów kontrolnych pakietu. Oznacza to, że skrypty będą uważać katalog instdir za swój katalog główny. Zmiana katalogu root na katalog spowoduje zmianę katalogu instdir na katalog, a katalogu admindir na katalog/var/lib/dpkg.
−O | −−selected−only
Działanie obejmuje wyłącznie pakiety wybrane do instalacji. Wybór może zostać dokonany przez polecenie dselect lub dpkg, gdy wykonuje operacje na pakietach. Na przykład pakiet usuwany jest zaznaczany jako wybrany do deinstalacji.
−E | −−skip−same−version
Nieinstalowanie pakietu, jeśli o tej samej wersji jest już zainstalowany w systemie.
−−status−fd <n>
Wysyła do deskryptora pliku <n> informacje o stanie pakietów. Ta opcja może być podana wiele razy. Informacje przesyłane są w następującej postaci: ’status: <pakiet>: <stan pakietu>’.
PLIKI
/etc/dpkg/dpkg.cf
Plik konfiguracyjny zawierający domyślne opcje.
Pozostałe
pliki wymienione poniżej odnoszą się do
swoich domyślnych katalogów. Opcja
−−admindir może zmienić
lokalizację tych plików.
/var/lib/dpkg/available
Lista dostępnych pakietów.
/var/lib/dpkg/status
Stan dostępnych pakietów. Ten plik zawiera informacje o tym, czy dany pakiet jest wybrany do skasowania, czy jest zainstalowany, itp. Te informacje są opisane w sekcji INFORMACJE O PAKIETACH.
Poniższe
pliki są częścią składową
pakietów binarnych. Więcej informacji o nich
można znaleźć w deb(5).
control
conffiles
preinst
postinst
prerm |
||
postrm |
ZMIENNE ŚRODOWISKA
DPKG_NO_TSTP
Zdefiniuj tę zmienną, jeśli chcesz, aby dpkg uruchomił nową sesję powłoki zamiast usuwać dpkg w tło, gdy potrzeba wykonać coś w powłoce.
SHELL |
Program uruchamiany przez dpkg, gdy trzeba uruchomić nową sesję powłoki. |
COLUMNS
Ustawia liczbę kolumn używanych przez dpkg w czasie wyświetlania sformatowanego tekstu. Obecnie używane tylko przez opcję −l.
DPKG_OLD_CONFFILE
Zmienna zawierająca nazwę starego pliku konfiguracyjnego, ustawiana przez dpkg, kiedy użytkownik uruchomi powłokę w celu zbadania zmienionego pliku konfiguracyjnego.
DPKG_NEW_CONFFILE
Zmienna zawierająca nazwę nowej wersji pliku konfiguracyjnego, ustawiana przez dpkg, kiedy użytkownik uruchomi powłokę w celu zbadania zmienionego pliku konfiguracyjnego.
PRZYKŁADY
Wyświetlenie
wszystkich pakietów mogących być
związanymi z edytorem vi:
dpkg −l ’*vi*’
Wyświetlenie
informacji z pliku /var/lib/dpkg/available o
dwóch pakietach:
dpkg −−print−avail elvis vim |
less
Samodzielne
przeszukanie informacji o pakietach:
less /var/lib/dpkg/available
Wykasowanie
zainstalowanego pakietu elvis:
dpkg −r elvis
Aby
zainstalować pakiet, należy wpierw
znaleźć go w archiwum lub na CDROM. Plik
"available" pokazuje, że pakiet vim jest w
sekcji "editors":
cd /cdrom/hamm/hamm/binary/editors
dpkg −i vim_4.5−3.deb
Aby
stworzyć kopię lokalnie wybranych pakietów:
dpkg −−get−selections
>mojepakiety
Ten plik
można przenieść do innego systemu i
zainstalować te pakiety poprzez:
dpkg −−set−selections <mojepakiety
Należy zauważyć, że ta opcja nie
powoduje zainstalowania lub usunięcia czegokolwiek, ale
tylko zapisuje, że pewne pakiety są wybrane do
zainstalowania bądź usunięcia. Do
ściągnięcia i zainstalowania tych
pakietów trzeba użyć innego programu. Na
przykład można uruchomić dselect i
wybrać opcję "Install".
Zwyczajowo do wyboru pakietów służy dselect(8), który daje większe możliwości zmiany ich stanu.
DODATKOWA FUNKCJONALNOŚĆ
Dodatkową funkcjonalność można uzyskać, instalując którykolwiek z następujących pakietów: apt, aptitude oraz debsums.
ZOBACZ TAKŻE
dselect(8), dpkg−deb(1), deb(5), deb−control(5) i dpkg−reconfigure(8)
BŁĘDY
−−no−act podaje raczej zbyt mało pomocnych informacji.
AUTORZY
Plik
/usr/share/doc/dpkg/THANKS.gz zawiera listę
osób, które przyczyniły
się do rozwoju programu dpkg.