Jedną z bardziej irytujących rzeczy podczas instalacji nowego pakietu przy użyciu polecenia dpkg
jest brak rozwiązywania zależności. Powoduje to, że zamiast zainstalować pakiet musimy ręcznie doinstalowywać pakietu z repozytorium.
Brakuje możliwości takiej instalacji pakietu jak robi to polecenie yum
:
Polecenie to zainstaluje wybrany pakiet jednocześnie rozwiązując zależności przy użyciu dostępnych repozytoriów.
Użycie polecenia dpkg
może wyglądać następująco (próba instalacji Picasy w Ubuntu):
Zaznaczenie poprzednio niezaznaczonego pakietu picasa.
(Odczytywanie bazy danych ... 299273 files and directories currently installed.)
Rozpakowanie picasa (z picasa_3.0-current_amd64.deb) ...
dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie picasa:
picasa zależy od libc6-i386 (>= 2.2); jednakże:
Pakiet libc6-i386 nie jest zainstalowany.
picasa zależy od ia32-libs; jednakże:
Pakiet ia32-libs nie jest zainstalowany.
picasa zależy od lib32asound2; jednakże:
Pakiet lib32asound2 nie jest zainstalowany.
picasa zależy od lib32z1; jednakże:
Pakiet lib32z1 nie jest zainstalowany.
dpkg: błąd przetwarzania picasa (--install):
problemy z zależnościami - pozostawiony nieskonfigurowany
Przetwarzanie wyzwalaczy dla gconf2...
Wystąpiły błędy podczas przetwarzania:
picasa
W przypadku dystrybucji opartych o Debiana można użyć polecenia gdebi
. Pozwoli ono na zainstalowanie pakietu i jednoczesne rozwiązanie jego zależności. Instalacja Picasy przy użyciu tego narzędzia wygląda tak:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Building data structures... Done
Wymaga instalacji poniższych pakietów:
ia32-libs lib32asound2 lib32bz2-1.0 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32v4l-0 lib32z1 libc6-i386
Image management application from Google
Picasa is software that helps you instantly find, edit and share all
Jak widać od razu zostaje zaprezentowana lista dodatkowych pakietów do instalacji, jak się zgodzimy na ich instalację to zostaną pobrane i zainstalowane.