Wiem że zarówno apt-get
, jak i aptitude
są interfejsami zarządzania pakietami wiersza poleceń w Linuksie pochodnym Debiana, z różnymi opcjami, ale nadal jestem nieco zdezorientowany. Pod maską, czy nie używają tego samego systemu APT?
Dlaczego Debian utrzymuje te równoległe narzędzia? (Pytanie dodatkowe: czym u licha jest wajig ?)
Komentarze
- Wiem, że to nie jest właściwa odpowiedź na twoje pytanie, ale dlaczego nie możesz spróbować synaptic? bardzo przyjazny użytkownikowi i automatycznie pobiera i instaluje zależności. Czy gnom nie jest obecny w Twoim systemie?
- Mam ' m stronniczość, ale myślę, że to pytanie na witryna Ubuntu SE może być odpowiednia.
- duplicate: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
- @Wim ze względu na wajigową część tego pytania, zdecydowałem się 244 połączyć z tym pytaniem zamiast na odwrót
- Warto zauważyć, że umiejętność jest zaplanowana do usunięcia z domyślnej instalacji w następnej wersji Ubuntu (chociaż zawsze możesz zainstalować ją później za pomocą apt-get)
Odpowiedź
Najbardziej oczywistą różnicą jest to, że aptitude
udostępnia interfejs menu terminala (podobnie jak Synaptic w terminalu), podczas gdy apt-get
nie.
Biorąc pod uwagę tylko interfejsy wiersza poleceń każdego z nich, są one dość podobne i przeważnie 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 usuwania). W rzeczywistości uważam, że jeszcze niedawno te dwa narzędzia zostały zaktualizowane, aby faktycznie współdzielić tę samą bazę danych pakietów instalowanych ręcznie i automatycznie, więc przypadki, w których instalujesz coś za pomocą apt-get, a następnie aptitude chce odinstalować to, są głównie kwestią przeszłość.
Jest kilka drobnych różnic:
- aptitude automatycznie usunie odpowiednie pakiety, podczas gdy apt-get wymaga do tego osobnego polecenia
- polecenia dla upgrade vs. dist-upgrade zostały przemianowane w aptitude na prawdopodobnie bardziej dokładne nazwy safe-upgrade i full-upgrade odpowiednio.
- aptitude w rzeczywistości pełni funkcje nie tylko apt-get, ale także niektórych narzędzi towarzyszących, takich jak apt-cache i apt-mark.
- aptitude ma nieco inną składnię zapytań do wyszukiwania (w porównaniu do apt-cache)
- aptitude ma polecenia dlaczego i dlaczego nie , które mogą Ci powiedzieć które ręcznie zainstalowane pakiety uniemożliwiają wykonanie akcji.
- Jeśli działania (instalowanie, usuwanie, aktualizowanie pakietów), które chcesz wykonać, powodują konflikty, aptitude może zaproponuj kilka potencjalnych rozwiązań. apt-get powie po prostu „Przepraszam Dave, nie mogę ci na to pozwolić”.
Są inne drobne różnice, ale to są najważniejsze, może wymyślić.
Krótko mówiąc, aptitude bardziej właściwie należy do kategorii z Synaptic i innymi nakładkami do menedżerów pakietów wyższego poziomu. Tak się składa, że ma również interfejs wiersza poleceń, który przypomina apt-get.
Runda bonusowa: co to jest wajig?
Pamiętasz, jak wspomniałem o tych narzędziach „towarzyszących”, takich jak apt- pamięć podręczna i apt-mark? Cóż, jest ich kilka i jeśli używasz ich często, możesz nie pamiętać, które z nich zapewniają jakie polecenia. Wajig jest jednym z rozwiązań tego problemu. Jest to w zasadzie dyspozytor, owijka wokół wszystkich tych narzędzi. w razie potrzeby stosuje również sudo. Gdy powiesz wajig install foo
, wajig powie „Ok, install
jest dostarczane przez apt-get
i wymaga uprawnień administratora ”i działa sudo apt-get install foo
. Kiedy powiesz wajig search foo
, wajig powie„ OK, search
jest udostępniany przez apt-cache
i nie wymaga uprawnień administratora „i działa apt-cache search foo
. Jeśli użyj wajig zamiast apt-get, apt-mark, apt-cache i innych, wtedy „nigdy nie będziesz mieć tego problemu:
$ apt-get search foo E: Invalid operation search
Jeśli chcesz wie, co wajig robi za kulisami, jakich narzędzi używa do implementacji danego polecenia, ma --simulate
i --teaching
m odes.
Dwa polecenia wajig, których często używam, to wajig listfiles foo
i wajig whichpkg /usr/bin/foo
.
Komentarze
- Jednym dużym problemem, który miałem z aptitude, jest to, że uzupełnienie tabulatorów nazw pakietów zajmuje dużo czasu (np.
aptitude install linux-im
tab), podczas gdy jest bardzo szybki dla apt-get. Wygląda na to, że w rodzinie apt-get brakuje pamięci podręcznej, której brakuje aptitude. -
aptitude
mają również niesamowiteaptitude search
, którego można używać z bardzo wydajnymi wzorcami wyszukiwania . Maszaptitude reinstall
. Możesz także użyć interfejsu ncurses (menu terminala) do przygotowania złożonych operacji na pakietach , takich jak częściowa aktualizacja, usunięcie jednego pakietu, zamrożenie innego, zaktualizowanie tego, które możesz następnie wykonać w jednym operacja … Aha, i ma interaktywny rozwiązywanie konfliktów . - @Totor, święta krowa, używając aptitude ' Interfejs ncurses do przygotowywania poleceń właśnie sprzedał mi aptitude raz na zawsze! (po latach warto się zastanowić nad aptitude, ale wpisanie apt-get z pamięci mięśniowej)
- … a
aptitude
ma równieżaptitude download package-name
aby pobrać plik .deb pakietu! - To ' to tylko jedna rzecz, którą znalazłem, a nie ' t w
aptitude
, ale są wapt-get
, czyliapt-get --compile source package-name
.apt-get build-dep package-name
istnieją, ale myślę, żeaptitude build-dep package-name
radzą sobie lepiej.
Odpowiedź
Często się zastanawiałem. Wikipedia podkreśla , że główną cechą wyróżniającą jest to, że umiejętność ma pełnoekranowy interfejs w trybie tekstowym (curses). Fakt, że możesz używać większości argumentów poleceń apt-get
z samym aptitude
jest tylko decyzją projektową aby ułatwić użytkownikom apt-get
przejście do aptitude
i odwrotnie.
Nigdy nie używałem wajig
, ale dokumentacja sugeruje, że jest to tylko skrypt, który wie, czy przekazujesz mu plik deb
(po uruchomieniu dpkg
) lub nazwa pakietu apt
(jeśli zamiast tego działa apt-get
). Czy możesz go wypróbować i zobaczyć, czy to właśnie robi?
Oczywiście prawdziwa różnica jest taka:
gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program.
Komentarze
- Nie!
aptitude
ma więcej. Zapomniałeś umieścić nieskończone flagi-v
wmoo
. (Możesz przejść do-vvvvvv
) - Nie ' nie zapomnij o wszystkich ważnych mocach Super Cow, które
apt-get
ma, aleaptitude
nie. (Wypróbuj--help
na obu) - lmao. to fajna odpowiedź do przeczytania, mimo że odpowiedź @ryan ' jest dużo bardziej rozbudowana;)
Odpowiedź
aptitude jest preferowanym programem do zarządzania pakietami z konsoli zarówno w przypadku instalacji pakietów, jak i aktualizacji pakietów lub systemu w Debianie.
Oto przegląd narzędzia i funkcje, które ma ponad apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Dlatego radzę po prostu apt-get install aptitude 🙂
Komentarze
- Informacje o wersji powiedz, że apt-get jest teraz zalecany zamiast aptitude do aktualizacji do squeeze.
- Tak, ale tylko do tego. W przeciwnym razie są uważane za równe, ale
aptitude
ma wiele bardziej zaawansowanych funkcji, takich jak wyszukiwanie i tryb pełnoekranowy, niżapt-get
. - Z jakiegoś powodu użyłem aptitude do zainstalowania emacsa i bez patrzenia usunął gdm! Więc na razie będę używać apt-get, ale jestem bardzo ciekawy, co to jest.
Odpowiedź
aptitude
pamięta, które pakiety zostały jawnie zażądane i które zostały zainstalowane tylko z powodu zależności. Automatycznie odinstaluje pakiety, które nie zostały wyraźnie zażądane, gdy nie są już potrzebne.
apt-get
traktuje pakiety żądane jawnie i ich zależności tak samo.
Dlatego lepiej używaj aptitude
, to pomoże utrzymać porządek w systemie.
Komentarze
- Kiedyś tak było, ale wiem, że mój apt-get ma polecenie
apt-get autoremove
do usuwania pakietów zainstalowanych tylko jako zależności. Nie ' nie wiem, kiedy ta funkcja została dodana, ale jedna witryna sugeruje, że mogło się to stać z Debianem Lennym (czerwiec 2010). -
apt-get autoremove
nie ' t usuwa pakiety zainstalowane tylko jako zależności, usuwa osierocone zależności, co jest subtelną różnicą ; nie może ' stwierdzić, czy pakiet ' leaf ' został zainstalowany z zamiarem, czy jako zależność, więc zostawia ją tam, gdzie aptitude mogłaby ją znać i usunąć. - Sprzedałem '! Istnieją inne fajne rzeczy związane z
aptitude
, ale jest to bardzo przydatna funkcja.
Odpowiedź
apt-get
, a także różne narzędzia towarzyszące, zużywają znacznie mniej pamięci niż odpowiednie wywołania wiersza poleceń aptitude
i są nieco szybsze. Byłem tego błogo nieświadomy, dopóki nie spróbowałem zaktualizować instalacji debiana na pomarszczonym starym ThinkPadzie Pentium z 32 MB pamięci RAM. Uruchomienie apt-get
zajmie godzinę lub dwie bezładne zamiany, które zakończyły się pomyślnie; aptitude
nie powiedzie się, gdy myślę, że po dłuższym okresie czasu.
To rozróżnienie jest mniej lub bardziej bez znaczenia w przypadku wszystkiego, co przypomina nowoczesny system komputerowy.
Odpowiedź
Opierając się na odpowiedzi @Gaurav „, pisanki w dwóch menedżerach pakietów są całkiem zabawne !:
siddhartha@siddhartha-dev:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... siddhartha@siddhartha-dev:~$ aptitude moo There are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -v moo There really are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -vv moo Didn"t I already tell you that there are no Easter Eggs in this program? siddhartha@siddhartha-dev:~$ aptitude -vvv moo Stop it! siddhartha@siddhartha-dev:~$ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course.
i tak dalej.
Odpowiedź
Oferują te same podstawowe funkcje: instalować i usuwać pakiety z wiersza poleceń.
Oto bardziej szczegółowe porównanie, opublikowane na Witryna Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
Komentarze
- Są dość podobne, mogę się między nimi dość łatwo przełączać.
Odpowiedź
Jak wspomniano, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude
ma muc h łatwiejszy w użyciu interfejs wiersza poleceń.
Czy nie używają tego samego systemu APT? Tak.
Podstawowy system to nie tylko apt
, ale dpkg
. Ten system jest tak samo głupi jak RPM, obsługuje tylko instalację i administrowanie pojedynczymi pakietami. Śledzi, które zainstalowane pliki należą do którego pakietu.
apt
obsługuje pobieranie repozytoriów, śledzenie zależności itd. Dla wszystkich pojedynczych pakietów – które następnie instaluje przy użyciu dpkg
. aptitude
robi to samo, z innym interfejsem.
Odpowiedź
Obie apt -get i aptitude polegają na bibliotece APT, tak.
Zobacz moją odpowiedź na serverfault.com .
Debian nie jest jednostką monolityczną, są ludzie o różnych opiniach, a opiekun umiejętności zdecydował, że apt-get ma pewne wady i chciał zbudować coś lepszego z umiejętnościami. Poprawił logikę, aby znaleźć rozwiązania dla złożonych scenariuszy aktualizacji, dodał GUI dla konsoli itp. Jest więcej niż tylko apt-get i aptitude, zobacz mój artykuł apt -get, aptitude,… wybierz odpowiedniego menedżera pakietów .
Odpowiedź
Nie mam pewności jeśli to nadal obowiązuje, ale nowatorski deweloper Debiana, Joey Hess, zawsze opowiadał się za aptitude zamiast apt-get. Oczywiście rzeczy do zmiany wraz z rozwojem oprogramowania. Apt-get teraz obsługuje zależności lepiej niż kiedyś. Od http://lists.debian.org/debian-user/2004/04/msg03138.html
Data: wt., 20 kwietnia 2004 r. 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ć tak jak apt-get
Jeśli uruchomisz „aptitude update”, „aptitude upgrade” lub „aptitude install”, wygląda i działa tak samo jak apt-get, z kilkoma ulepszeniami. Nie ma więc krzywej uczenia się.
(Jeśli jesteś użytkownikiem programu dselect, krzywa uczenia się oczywiście nie jest jednym z twoich problemów.)
-
ścieżki umiejętności pakiety instalowane automatycznie
Przestań się martwić usuwaniem nieużywanych bibliotek i pakietów wsparcia z systemu. Jeśli używasz aptitude do instalowania wszystkiego, będzie on śledzić, które pakiety są pobierane przez same zależności i usuwać te pakiety, gdy nie są już potrzebne.
-
Zdolność rozsądnie radzi sobie z zaleceniami
Od dawna niepowodzeniem apt-get jest brak wsparcia dla relacji Poleca Co jest problemem, ponieważ wiele pakietów w Debianie polega na Zaleca pobranie oprogramowania, którego przeciętny użytkownik zazwyczaj używa wraz z pakietem. Jest to nierzadka przyczyna problemów, mimo że apt-get niedawno mógł przynajmniej wspomnieć o zalecanych pakietach , łatwo przeoczyć ostrzeżenia.
Aptitude domyślnie obsługuje Polecenia i można go skonfigurować tak, aby obsługiwał także SUGESTIE. Obsługuje nawet instalowanie zalecanych pakietów, gdy jest używany w trybie wiersza poleceń.
-
Używaj aptitude jako zwykłego użytkownika i unikaj zmiany systemu
Może tego nie zrobiłeś ” wiem, że możesz uruchomić aptitude w trybie gui jako zwykły użytkownik. Wprowadź zmiany, które chciałbyś wypróbować. Jeśli wpadniesz w prawdziwy bałagan, możesz nacisnąć „q” i wyjść, twoje zmiany nie zostaną zapisane. (Aptitude pozwala również na użycie ctrl-u do cofania zmian.) Ponieważ działa jako normalny użytkownik, nie możesz połączyć systemu, dopóki nie powiesz aptitude, aby coś zrobiła, po czym zapyta Cię o hasło roota.
-
aptitude ma potężny interfejs użytkownika i możliwości wyszukiwania
Pomiędzy przeglądarką kategorialną aptitude a jej wspaniałą obsługą filtrowania w stylu mutta i wyszukiwania pakietów według nazwy, opis, opiekun, zależności itp., powinieneś być w stanie znaleźć pakiety szybciej niż kiedykolwiek wcześniej, używając 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 uaktualnień. Aptitude wymienia takie pakiety w sekcji „Pakiety przestarzałe i utworzone lokalnie”, dzięki czemu możesz zostać poinformowany o problemie i coś z nim zrobić.
-
aptitude ma interfejs do Debiana system zadań
Aptitude pozwala na używanie systemu zadań Debiana w takiej postaci, w jakiej został zaprojektowany. Możesz przeglądać dostępne zadania, wybrać zadanie do instalacji, a następnie zagłębić się w nim i usunąć zaznaczenie części zadanie, którego nie chcesz. apt-get nie obsługuje zadań, a aptitude jest lepsza nawet niż narzędzia specjalnego przeznaczenia, takie jak tasksel.
-
aptitude obsługuje wiele źródeł
Jeśli Twoje źródła. list jest skonfigurowany tak, aby udostępniać wiele wersji pakietu, aptitude pozwala na drążenie w dół, aby zobaczyć dostępne wersje i wybrać wersję inną niż domyślna do zainstalowania. Jeśli pakiet zepsuje się w niestabilnej, po prostu przywróć go do wersji z testing.
-
aptitude rejestruje swoje działania
Aptitude loguje pakiet, który instaluje, aktualizuje, i usuwa do / varlog / aptitude, co może być przydatne do wyjaśnienia, dlaczego coś zaczęło się psuć po wczorajszej aktualizacji lub po usunięciu pakietu partiticlar.
– zobacz nieśmiały jo
=================== tutaj jest również nowsza dyskusja z 2010 roku https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use na StackExchange.