Wiem, że zarówno apt-get
i aptitude
są interfejsy zarządzania pakietami linii poleceń na Debianie Linux pochodzą z różnych opcji, ale nadal jestem trochę zdezorientowany. Czy pod maską nie używają tego samego systemu APT?
Dlaczego Debian utrzymuje te równoległe narzędzia? (Dodatkowe pytanie: czym do diabła jest wajig ?)
debian
package-management
apt
aptitude
Kevin Cantu
źródło
źródło
Odpowiedzi:
Najbardziej oczywistą różnicą jest to, że
aptitude
zapewnia interfejs menu terminala (podobnie jak Synaptic w terminalu), podczasapt-get
gdy nie.Biorąc pod uwagę tylko interfejsy każdego z nich, są one dość podobne i w większości przypadków nie ma znaczenia, którego używasz. Najnowsze wersje obu będą śledzić, które pakiety zostały zainstalowane ręcznie, a które zostały zainstalowane jako zależności (i dlatego kwalifikują się do automatycznego usunięcia). W rzeczywistości uważam, że jeszcze niedawno te dwa narzędzia zostały zaktualizowane, aby współużytkować tę samą bazę danych ręcznie i automatycznie zainstalowanych pakietów, więc przypadki, w których instalujesz coś za pomocą apt-get, a następnie aptitude chce go odinstalować, to głównie przeszłość.
Istnieje kilka drobnych różnic:
Istnieją inne małe różnice, ale są to najważniejsze, o których mogę myśleć.
Krótko mówiąc, aptitude bardziej poprawnie należy do kategorii z nakładkami Synaptic i innymi menedżerami pakietów wyższego poziomu. Zdarza się, że ma również interfejs wiersza poleceń podobny do apt-get.
Runda bonusowa: Co to jest wajig?
Pamiętasz, jak wspomniałem o narzędziach „towarzyszących”, takich jak apt-cache i apt-mark? Cóż, jest ich sporo, a jeśli będziesz ich często używać, możesz nie pamiętać, które z nich zapewniają, które polecenia. wajig jest jednym z rozwiązań tego problemu. Zasadniczo jest to dyspozytor, który otacza wszystkie te narzędzia. W razie potrzeby stosuje się również sudo. Kiedy mówisz
wajig install foo
, wajig mówi „Ok,install
jest zapewnianyapt-get
i wymaga uprawnień administratora” i działasudo apt-get install foo
. Kiedy mówiszwajig search foo
, wajig mówi „Ok,search
jest zapewnianyapt-cache
i nie wymaga uprawnień administratora” i działaapt-cache search foo
. Jeśli użyjesz wajig zamiast apt-get, apt-mark, apt-cache i innych, nigdy nie będziesz mieć tego problemu:Jeśli chcesz wiedzieć, co wajig robi za kulisami, jakich narzędzi używa do implementacji określonego polecenia, ma
--simulate
i--teaching
tryby.Dwa często używane polecenia wajig to
wajig listfiles foo
iwajig whichpkg /usr/bin/foo
.źródło
aptitude install linux-im
Tab) zajmuje dużo czasu , a apt-get jest bardzo szybki. Wydaje się, że w rodzinie apt-get jest trochę pamięci podręcznej, której brakuje umiejętności.aptitude
także niesamowiteaptitude search
, których możesz używać z bardzo zaawansowanymi wzorami wyszukiwania . Maszaptitude reinstall
. Możesz także użyć interfejsu ncurses (menu terminala), aby przygotować złożone operacje na pakiecie, takie jak częściowa aktualizacja, usunąć jeden pakiet, zamrozić inny, uaktualnić ten, który możesz następnie wykonać w jednej operacji ... Och, i ma interaktywne rozwiązywanie konfliktów .aptitude
także musiaptitude download package-name
pobrać plik .deb pakietu!aptitude
ale jestapt-get
i tak jestapt-get --compile source package-name
.apt-get build-dep package-name
istnieją, ale myślę, żeaptitude build-dep package-name
wykonują lepszą pracę.Często się zastanawiałem. Wikipedia podkreśla, że główną cechą wyróżniającą jest to, że aptitude ma pełnoekranowy interfejs trybu tekstowego (przekleństwa). Fakt, że możesz używać większości
apt-get
argumentów poleceńaptitude
sam w sobie, jest tylko decyzją projektową, aby ułatwićapt-get
użytkownikom przejścieaptitude
i odwrotnie.Nigdy nie korzystałem
wajig
, ale dokumentacja sugeruje, że jest to tylko skrypt, który wie, czy przekazujesz mudeb
plik (gdy działadpkg
), czyapt
nazwę pakietu (gdy działaapt-get
zamiast niego). Czy możesz to wypróbować i sprawdzić, czy tak właśnie działa?Oczywiście prawdziwa różnica polega na:
źródło
aptitude
ma wiecej. Zapomniałeś umieścić niekończące się-v
flagimoo
. (Możesz iść do góry-vvvvvv
)apt-get
mają, aleaptitude
nie mają. (Spróbuj--help
obu)aptitude jest preferowanym programem do zarządzania pakietami z poziomu konsoli, zarówno do instalacji pakietów, jak i aktualizacji pakietów lub systemu w Debianie.
Oto przegląd narzędzia i jego funkcji w stosunku do apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Radzę więc po prostu apt-get install aptitude :)
źródło
aptitude
ma wiele bardziej zaawansowanych funkcji, takich jak wyszukiwanie i tryb pełnoekranowy, niżapt-get
.aptitude
pamięta, które pakiety zostały wyraźnie zażądane, a które zostały zainstalowane tylko z powodu zależności. Automatycznie odinstaluje pakiety, które nie zostały wyraźnie zamówione, gdy nie są już potrzebne.apt-get
traktuje pakiety żądane jawnie i ich zależności tak samo.Więc lepsze wykorzystanie
aptitude
, pomaga utrzymać system w czystości.źródło
apt-get autoremove
polecenie usuwania pakietów zainstalowanych tylko jako zależności. Nie wiem, kiedy ta funkcja została dodana, ale jedna strona sugeruje, że mogła się zdarzyć z Debianem Lennym (czerwiec 2010).apt-get autoremove
nie usuwa pakietów zainstalowanych tylko jako zależności, usuwa osierocone zależności, co jest subtelną różnicą; nie jest w stanie stwierdzić, czy pakiet „liść” został zainstalowany celowo, czy zależnie, więc zostawia go tam, skąd aptitude będzie go wiedział i usuwa.aptitude
ale jest to praktyczna funkcja zabójcy.apt-get
, a także różne narzędzia towarzyszące, zużywają znacznie mniej pamięci niż odpowiednie wywołania z wiersza poleceńaptitude
i są nieco szybsze. Byłem błogo nieświadomy tego, dopóki nie spróbowałem uaktualnić instalacji Debiana na starym, pomalowanym pentium Thinkpad z 32 MB pamięci RAM. Uruchomienie zajęłoby mi godzinę lub dwieapt-get
, które zakończyły się powodzeniem;aptitude
zawiedzie po dłuższym okresie czasu.To rozróżnienie jest mniej więcej bez znaczenia dla czegokolwiek przypominającego nowoczesny system stacjonarny.
źródło
Bazując na odpowiedzi @ Gaurav, pisanki w dwóch menedżerach pakietów są dość zabawne !:
i tak dalej.
źródło
Oferują tę samą podstawową funkcjonalność: instalowanie i usuwanie pakietów z wiersza polecenia.
Oto bardziej szczegółowe porównanie, opublikowane na stronie internetowej Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
źródło
Jak wspomniano, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ ,
aptitude
ma znacznie łatwiejszy w użyciu interfejs wiersza poleceń.Podstawowy system to nie tylko
apt
, aledpkg
. Ten system jest tak samo głupi jak RPM, może obsłużyć tylko instalację i administrację pojedynczymi pakietami. Śledzi, które zainstalowane pliki należą do którego pakietu.apt
obsługuje pobieranie repozytoriów, śledzenie zależności i tak dalej dla wszystkich pojedynczych pakietów - które następnie instalujedpkg
.aptitude
robi to samo z innym interfejsem.źródło
Zarówno apt-get, jak i aptitude opierają się na bibliotece APT, tak.
Zobacz moją odpowiedź na serverfault.com .
Debian nie jest jednostką monolityczną, są ludzie o różnych opiniach, a opiekun aptitude zdecydował, że apt-get ma pewne niedociągnięcia i chciał zbudować coś lepszego dzięki aptitude. Udoskonalił logikę, aby znaleźć rozwiązania dla złożonych scenariuszy aktualizacji, dodał GUI dla konsoli itp. I jest coś więcej niż tylko apt-get i aptitude, zobacz mój artykuł apt-get, aptitude,… wybierz odpowiedni menedżer pakietów dla siebie .
źródło
Nie jestem pewien, czy nadal tak jest, ale najnowocześniejszy deweloper Debiana, Joey Hess, zawsze bronił umiejętności apt-get. Oczywiście rzeczy się zmieniają wraz z rozwojem oprogramowania. Apt-get obsługuje teraz zależności lepiej niż kiedyś. Od http://lists.debian.org/debian-user/2004/04/msg03138.html
Data: wtorek, 20 kwietnia 2004 22:27:12 -0400 Od: Joey Hess
Dziewięć powodów, dla których powinieneś używać aptitude zamiast apt-get lub dselect.
aptitude może wyglądać jak apt-get
Jeśli uruchomisz „aktualizację aptitude” lub „aptitude upgrade” lub „aptitude install”, wygląda i działa tak samo, jak apt-get, z kilkoma ulepszeniami. Więc nie ma krzywej uczenia się.
(Jeśli jesteś użytkownikiem dselect, krzywa uczenia się oczywiście nie jest jednym z twoich problemów).
aptitude śledzi automatycznie instalowane pakiety
Przestań się martwić przycinaniem nieużywanych bibliotek i pakietów wsparcia z twojego systemu. Jeśli użyjesz aptitude do zainstalowania wszystkiego, będzie śledzić, które pakiety są pobierane przez same zależności i usuwają te pakiety, gdy nie są już potrzebne.
aptitude rozsądnie obsługuje
Długotrwałą porażką apt-get był brak wsparcia dla relacji Polecane. Co jest problemem, ponieważ wiele pakietów w Debianie polega na Zaleca pobranie oprogramowania, które przeciętny użytkownik zazwyczaj używa z pakietem. Nie jest to rzadka przyczyna problemów, mimo że ostatnio apt-get mógł przynajmniej wspomnieć o zalecanych pakietach, łatwo przeoczyć jego ostrzeżenia.
Aptitude domyślnie obsługuje Polecenia i można je skonfigurować, aby obsługiwać Sugestie. Obsługuje nawet instalowanie zalecanych pakietów, gdy są używane w trybie wiersza polecenia.
używaj aptitude jako zwykłego użytkownika i unikaj ukrywania systemu
Być może nie wiedziałeś, że możesz uruchomić aptitude w trybie GUI jako zwykły użytkownik. Wprowadź zmiany, które chcesz wypróbować. Jeśli wpadniesz w prawdziwy bałagan, możesz nacisnąć „q” i wyjść, twoje zmiany nie zostaną zapisane. (Aptitude pozwala również używać ctrl-u do cofania zmian.) Ponieważ jest uruchomiony jako zwykły użytkownik, nie możesz podłączyć systemu do czasu, aż powiesz aptitude coś do zrobienia, w którym to momencie poprosi cię o podanie hasła roota.
aptitude ma potężny interfejs użytkownika i możliwości wyszukiwania
Pomiędzy kategoryczną przeglądarką aptitude i doskonałym wsparciem dla filtrowania w stylu mutta i wyszukiwania pakietów według nazwy, opisu, opiekuna, zależności itp., Powinieneś być w stanie znaleźć pakiety szybciej niż kiedykolwiek przed użyciem aptitude.
aptitude ułatwia śledzenie przestarzałego oprogramowania
Jeśli Debian przestanie dystrybuować pakiet, apt pozostawi go w systemie na czas nieokreślony, bez ostrzeżeń i aktualizacji. Aptitude wyświetla takie pakiety w sekcji „Przestarzałe i lokalnie tworzone pakiety”, dzięki czemu możesz być informowany o problemie i coś z tym zrobić.
aptitude ma interfejs do systemu zadań Debiana
Aptitude pozwala korzystać z systemu zadań Debiana, ponieważ został zaprojektowany do użycia. Możesz przeglądać dostępne zadania, wybrać zadanie do zainstalowania, a następnie wkopać je i usunąć zaznaczenie części zadania, których nie chcesz. apt-get nie ma wsparcia dla zadań, a aptitude jest lepszy nawet niż narzędzia specjalnego przeznaczenia, takie jak tasksel.
aptitude obsługuje wiele źródeł
Jeśli twoja strona sources.list jest skonfigurowana tak, aby udostępnić wiele wersji pakietu, aptitude pozwala ci przejść w dół, aby zobaczyć dostępne wersje i wybrać wersję inną niż domyślna do zainstalowania. Jeśli pakiet psuje się niestabilnie, po prostu przywróć go do wersji testowej.
aptitude rejestruje swoje działania
Pakiet Aptitude logs instaluje, aktualizuje i usuwa do / varlog / aptitude, co może być przydatne, aby dowiedzieć się, dlaczego rzeczy zaczęły się psuć po wczorajszej aktualizacji lub po usunięciu pakietu partiticlar.
- patrz nieśmiały jo
=================== Istnieje również nowsza dyskusja z 2010 roku tutaj https://superuser.com/questions/93437/aptitude-vs-apt-get-which- jest polecanym aka-odpowiednim-narzędziem do użycia na StackExchange.
źródło