apt-get i aptitude to różne interfejsy użytkownika, które są częścią tego samego systemu zarządzania pakietami, APT, Advanced Packaging Tool . Na przykład oba są skonfigurowane przy użyciu /etc/apt/apt.conf
, oba używają tej samej przestrzeni plików i formatów do reprezentowania stanu pakietu oraz tej samej przestrzeni plików do przechowywania pobranych plików .deb.
Różnią się tym, że ich wewnętrzny system reguł reprezentuje potencjalne konflikty między pakietami, jak je rozwiązywać (powiedzmy podczas apt-get dist-upgrade
vs. aptitude full-upgrade
) i jak wyrażać je podczas interakcji z użytkownikiem. Ogólnie rzecz biorąc, obaj mogą zrobić coś złego w trudnych sytuacjach, ale apt-get jest znacznie bardziej podatny na błędy niż aptitude.
aptitude
usunie je od razu, aleapt-get
poprosi tylko o ich usunięcie poprzez wprowadzenie poleceniaapt-get autoremove
. Zasadniczo będą chcieli usunąć te same elementy. Zobacz ten link, aby zapoznaćWiele dobrych rad jest już tutaj, ale dodam jedną rzecz, o której nikt nie wspomniał. Jeśli zdecydujesz się na zmianę, możesz uruchomić to polecenie, w zależności od tego, co robiłeś
apt-get
:To polecenie resetuje
aptitude
poczucie, które pakiety są sierotami i powinny zostać usunięte.Oto powód, dla którego czasami jest użyteczny: zarówno teraz, jak
apt-get
iaptitude
będzie śledził pakiety, które były automatycznie instalowane jako zależność od czegoś innego. Na przykład, jeśli zainstalujeszmpd
, możesz uzyskaćlib-so-and-so
zależność. Robią to, więc jeśli później usunieszmpd
,lib-so-and-so
zostanie również usunięty. Aleaptitude
iapt-get
posprzątaj to inaczej.aptitude
natychmiast próbuje usunąć wszystkie osierocone zależności; aleapt-get
tylko sugeruje, że biegniesz,apt-get autoremove
aby posprzątać. (Logika tego wszystkiego jest to, że dostał tylko biblioteki ponieważmpd
potrzebne. Jeśli nie utrzymaćmpd
, nie ma potrzeby biblioteki dłużej. Jeśli kolejny pakiet nadal zależy od niego, po czym obojeaptitude
iapt-get
będzie o tym wiedział i nie będzie próbował usunąć biblioteki).O co mi chodzi? Cóż, jeśli widzisz ciągłe szturchnięcia do biegania
apt-get autoremove
i przełączasz się naaptitude
, możesz być w szoku przy pierwszej próbie zainstalowania czegoś.aptitude
od razu spróbuje usunąć wszystkie sieroty. Zasadniczo będzie dobrze (w końcu są sierotami i nie są konieczne), ale jest jeden skomplikowany przypadek. Wszystkie meta-pakiety pulpitu obejmują złożony łańcuch zależności, w którym każdy program jest wciągany jako zależność wirtualnego opakowania pakietu. Na przykład, jeśli masz zainstalowany Gnome, ponieważ zainstalowałeśgnome
pakiet, wszystkie normalne programy na pulpicie zostały zainstalowane jako zależności. Jeśli odinstalowałeś jeden z tych programów (np. Ekiga lub Gedit), to w oczachaptitude
resztę pulpitu również należy usunąć. Pamiętaj, żeaptitude
zawsze pyta przed usunięciem rzeczy, ale ludzie często wpisują „Y” bez czytania. Z mojego doświadczenia wynika, że jest to najczęstsza skarga / zamieszanie wśród osób początkujących w Debianie.Dwie ogólne porady:
aptitude
lubapt-get
uważnie, zanim powiesz coś „tak”.aptitude -s safe-upgrade
lubaptitude -s install foo
.-s|--simulate
Flaga jest twoim przyjacielem.źródło
Na liście dyskusyjnej Debiana wiele lat temu powiedziano, że przejście z apt-get na aptitude jest ryzykowne. To dwie wersje Debiana (powiedzmy 10 lat) temu. Wydaje się, że wszystkie te problemy zostały już rozwiązane i na pewno nie widziałem problemów ani w Debianie, ani w Ubuntu.
źródło
apt-get
naaptitude
. Wtedy bardzo różnie obsługiwali wiele podstawowych funkcji. Z biegiem czasu stały się znacznie bardziej podobne iaptitude
osiągnęły dojrzałość tonową. W 90% przypadków teraz nie powinno być problemów po zmianie. Zobacz mój post dla jednego przypadku krawędzi.Powiedziałbym również, śmiało i skorzystaj
aptitude
.Aptitude
ma lepsze zarządzanie zależnościami niżapt-get
. Pomoże to utrzymać niską liczbę osieroconych pakietów.Czytałem jakiś czas temu, że
aptitude
ma lepszy algorytm aktualizacji dist w porównaniu doapt-get
. Ale nie jest to funkcja zabójcza, ponieważ nie jest używana tak często w czasie życia systemu.Dodatkowo będziesz mieć więcej rzeczy połączonych w jednym narzędziu. Zamiast pamiętać kiedy zadzwonić
apt-get
,apt-cache
czydpkg
i który przełącza po prostu użyć umiejętności i uzyskać większość rzeczy zrobić.Jeśli chodzi o komplikacje przy przełączaniu „w środku”: nie pamiętam, żeby je miałem, kiedy to robiłem.
źródło
Czy nie są one tylko innym interfejsem do tego samego zaplecza?
źródło
aptitude
jest bardziej funkcjonalnym interfejsem ...dpkg
. aledpkg
po prostu instaluje pakiety; to interfejsy są odpowiedzialne za wyszukiwanie, rozwiązywanie zależności i pobieranie.Z mojego doświadczenia wynika, że mają inny sposób przypinania wersji pakietów. W moim przypadku powiedziałem aptitude, aby zablokował niektóre pakiety, zakładając, że będę bezpieczny przed przyszłymi aktualizacjami. Myliłem się; menedżer aktualizacji zaplanowany przez crona, który używa apt-get, przechodzi do aktualizacji do mojego przerażenia.
Drats, kiedy to pisałem, poszukałem google i odkryłem, że błąd ( # 557580 aptitude nie stosuje się do pinów w preferencjach. D / *) został już naprawiony!
źródło
Korzystam zarówno z apt-get, jak i aptitude bez żadnego problemu: mam to samo pytanie ... Dlaczego ludzie to mówią ??? :RE
Kontynuuj, i nie martw się: aptitude to po prostu tekstowe GUI dla apt-get, którego możesz nawet użyć jako aplikacji wiersza poleceń, na przykład
apt-get install foo
jest taki sam jakaptitude install foo
.pozdrowienia
źródło
apt-get
oferują również automatyczne usuwanie pakietów zainstalowanych tylko jako zależności. Pozostała różnica w tym względzie polega na tym, żeaptitude
natychmiast usuwa zależności (odpowiednio), aleapt-get
tylko zachęca do uruchomienia poleceniaapt-get autoremove
. Ale teraz oba śledzą zależności w ten sam sposób. Wciąż jednak różnią się pod względem obsługi złożonych zależności i przypadków skrajnych (bardzo skomplikowane instalacje lub usunięcia), ale dla większości osób i większości sytuacji działają one teraz tak samo.