dpkg(1)

NAZWA
dpkg - menedżer pakietów Debiana

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 is a tool to install, build, remove and manage Debian packages. The primary and more user-friendly front-end for dpkg is dselect(1). dpkg itself is controlled entirely via command line parameters, which consist of exactly one action and zero or more options. The action-parameter tells dpkg what to do and options control the behavior of the action in some way. dpkg can be also be used as a front-end to dpkg-deb(1). The following are dpkg-deb actions, and if they are encountered, dpkg just runs dpkg-deb with the parameters given to it:
    -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
    Ponowne konfigurowanie 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 plik_pakietów
    Zaktualizowanie bazy danych programu dpkg oraz dselect o dostępnych pakietach. Opcja --merge-avail powoduje, że poprzednie informacje są łączone z nowymi z pliku_pakietów. Opcja --update-avail powoduje zastąpienie starych informacji nowymi z pliku_pakietów. Plik_pakietów dystrybuowany razem z systemem Debian nazywa się po prostu Packages. dpkg przechowuje informacje o dostępnych pakietach 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 pakiecie plik_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-nazwy-pakietu...]
    Pobranie listy wybranych pakietów i wyrzucenie jej na stdout. Jeżeli nie podano wzorca, to nie zostaną wyświetlone pakiety, które są w stanie do-wyczyszczenia (purge).

dpkg --set-selections
    Ustawia wybór pakietów używając pliku przeczytanego ze standardowego wejścia. Plik ten powinien być w następującym formacie '<pakiet> <stan>', gdzie stan jest jednym z install, hold, deinstall lub purge. Dozwolone są także linie puste i linie komentarza - zaczynające się od '#'.

dpkg --clear-selections
    Oznacza wszystkie pakiety nie będące pakietami niezbędnymi (essential) jako przeznaczone do usunięcia. Opcja ta powinna być użyta bezpośrednio przed --set-selections, aby usunąć wszystkie pakiety nie wymienione w --set-selections.

dpkg --yet-to-unpack
    Wyszukanie pakietów przeznaczonych do zainstalowania, które z pewnych powodów nie mogły zostać zainstalowane.

dpkg --print-architecture
    Print architecture of packages dpkg installs (for example, "i386").

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
    Change after how many errors dpkg will abort. The default is 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
    Switch debugging on. octal is formed by bitwise-orring desired values together from the list below (note that these values may change in future releases). -Dh or --debug=help display these debugging values.
     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: Turns on (or off) all force options. 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  Don't install a package if a newer version of the same package is already installed. This is an alias of --refuse-downgrade.

--root=katalog | --admindir=katalog | --instdir=katalog
    Change default directories. admindir defaults to /var/lib/dpkg and contains many files that give information about status of installed or uninstalled packages, etc. instdir defaults to / and refers to the directory where packages are to be installed. instdir is also the directory passed to chroot(2) before running package's installation scripts, which means that the scripts see instdir as a root directory. Changing root changes instdir to dir and admindir to dir/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 odinstalowania.

-E | --skip-same-version
    Nieinstalowanie pakietu, jeśli o tej samej wersji jest już zainstalowany w systemie.

--status-fd <n>
    Send package status info to file descriptor <n>. This can be given multiple times. Status updates are of the form `status: <pkg>: <pkg state>'. Errors are reported as `status: <pkg>: error: extend-error-message'. Configuration file conflicts are reported as `status: conffile-prompt: conffile : 'current-conffile' 'new-conffile' useredited distedited'.

--log=nazwa-pliku
    Log status change updates and actions to filename, instead of the default /var/log/dpkg.log. If this option is given multiple times, the last filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status <state> <pkg> <installed-version>' for status change updates; `YYYY-MM-DD HH:MM:SS <action> <pkg> <installed-version> <available-version>' for actions where <action> is one of install, upgrade, remove, purge; and `YYYY-MM-DD HH:MM:SS conffile <filename> <decision>' for conffile changes where <decision> is either install or keep.

--no-debsig
    Nie próbuje weryfikować sygnatur pakietu.

PLIKI

/etc/dpkg/dpkg.cf
    Plik konfiguracyjny zawierający domyślne opcje.

/var/log/dpkg.log
    Domyślny plik logu (patrz /etc/dpkg/dpkg.cfg(5) i opcja --log).

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
    The program dpkg will execute when starting a new shell.

COLUMNS
    Ustawia liczbę kolumn używanych przez dpkg w czasie wyświetlania sformatowanego tekstu. Obecnie używane tylko przez opcję -l.

PRZYKŁADY
To list packages related to the editor vi(1):
    dpkg -l '*vi*'
To see the entries in /var/lib/dpkg/available of two packages:
     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 --clear-selections
     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(1), 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(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5) oraz dpkg-reconfigure(8).

BŁĘDY
--no-act podaje raczej zbyt mało pomocnych informacji.

AUTORZY
Plik /usr/share/doc/dpkg/THANKS zawiera listę osób, które przyczyniły
się do rozwoju programu dpkg.