Moje pytanie jest proste - chcę wiedzieć więcej o dpkg - co to robi?
Moje pytanie jest proste - chcę wiedzieć więcej o dpkg - co to robi?
Odpowiedzi:
Jak już powiedziano, dpkg
to niskopoziomowe narzędzie systemowe do wyodrębniania, analizowania, rozpakowywania i instalowania lub usuwania plików .deb. Jednak lepiej jest używać Software Centre
lub Gdebi
instalować lub usuwać pliki .deb uzyskane z innych źródeł, ponieważ te dwa programy mają rozwiązywanie zależności.
Jednak nie wyjaśniono anatomii aktualizacji przy użyciu dpkg
i apt-get
. Jeśli, na przykład, wzywamy apt-get
do instalacji cheese
, drzewo zależności jest analizowane i pobierane są niezbędne pliki apt-get
, które następnie przekazują je w dpkg
celu wyodrębnienia, analizy i instalacji we właściwych lokalizacjach i skonfigurowania ich zgodnie ze znajdującymi się w nich skryptami.
Skrypty odczytywane dpkg
wewnątrz każdego pliku .deb są ważne, ponieważ dostarczają programowi informacji dotyczących instalacji, usuwania i konfiguracji pakietów. Stąd, kiedy zaglądasz do /var/log/dpkg.log
środka, pojawia się wiele szczegółowych informacji na temat „wyzwalaczy” i pakietów przechodzących przez różne etapy rozpakowywania i konfiguracji. Na swoim blogu Raphael Hertzog (który jest kluczowym deweloperem i opiekunem dpkg
pakietu Debian ) wyjaśnia więcej o wyzwalaczach dpkg oraz o sposobie dpkg
kontroli i konfiguracji pakietów.
Przechodzimy teraz do sedna tego, co dpkg
robi; fachowo obsługuje pakiety Debiana, a nie ich zależności. Za pomocą dpkg-deb
, na przykład, możesz wykonywać różne czynności podczas analizy i ręcznego rozpakowywania plików z archiwów .deb; zobacz man dpkg-deb
dalsze informacje.
Status każdego pakietu jest wymieniony w pozycji /var/lib/dpkg/status
, za pomocą której można grep
sprawdzić konkretny pakiet. Dpkg
można również wywołać w celu zmiany konfiguracji określonych pakietów, które zostały skonfigurowane (patrz man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
Lub wykonać konfigurację wszystkich nieskonfigurowanych pakietów, jeśli wystąpił problem z aktualizacją, a konfiguracja niektórych pakietów jest nadal w toku:
sudo dpkg --configure -a
Świetny samouczek, który koncentruje się na dpkg
i apt-get
, patrz rozdziały 5 i 6 Podręcznika Debiana , który jest najlepszą dostępną dyskusją. Wejdź man dpkg
do terminalu lub przejrzyj strony Ubuntu online, aby zobaczyć wszystkie dostępne opcje, takie jak dpkg -l
wyświetlanie listy aktualnie zainstalowanych pakietów.
dpkg to metoda wiersza poleceń do instalacji z .deb lub usuwania już zainstalowanych pakietów. Na przykład, jeśli masz plik .deb w swoim katalogu domowym, uruchomienie dpkg -i yourpackage.deb
spowoduje zainstalowanie tego pakietu. Uważam to za przydatne przynajmniej dla mnie, ponieważ czasami po kliknięciu pliku .deb ładuje ono Centrum oprogramowania Ubuntu, ale tak naprawdę nigdy go nie instaluje ani nie ma problemów.
Jak zawsze, man
polecenie to świetne miejsce na rozpoczęcie.
man dpkg
może dać ci wszystkie opcje, niemniej:
dpkg jest menedżerem pakietów dla systemów opartych na Debianie. Może instalować, usuwać i budować pakiety, ale w przeciwieństwie do innych systemów zarządzania pakietami, nie może automatycznie pobierać i instalować pakietów oraz ich zależności.
Zasadniczo jest to apt-get bez rozwiązywania zależności i służy do instalowania plików .deb.
Ostrzegam jednak: Odinstalowywanie pakietów przy użyciu dpkg w większości przypadków NIE jest zalecane. Lepiej jest użyć menedżera pakietów, który obsługuje zależności, aby zapewnić spójność systemu.
Na przykład używając dpkg -r zip
możesz usunąć pakiet zip, ale wszystkie pakiety, które od niego zależą, będą nadal instalowane i mogą nie działać poprawnie.
Możesz przeczytać więcej na ten temat w przewodniku serwera i gdzie indziej .