Czy aptitude jest nadal uważane za lepsze od apt-get?

191

Kiedy zaczynałem od Ubuntu, używanie aptitudebyło „in-rzecz”, z pewnymi poprawkami apt-get. Czy mam rację, twierdząc, że apt-get„nadrobił” zaległości aptitudei nie robi to żadnej różnicy, która jest używana (chociaż lepiej jest wybrać jedną z nich i trzymać się jej)?

Co więcej, czy aptitudezestaw, który ma zostać usunięty z domyślnej instalacji Ubuntu, powinien powrócić do apt-getwszystkich, szczególnie podczas prowadzenia nowych użytkowników zainteresowanych interfejsem CLI?

fluteflute
źródło
1
fajne dzieci dziś używają aptzamiast jednego z nich: itsfoss.com/apt-vs-apt-get-difference
tatsu
1
aptitude whyjest czasem przydatny i nie ma prawdziwego odpowiednika .
Nathaniel M. Beaver

Odpowiedzi:

131

O ile widzę, w 10.04 główne różnice między aptitude i apt-get to:

  1. aptitudedodaje jawne flagi poszczególnych pakietów, wskazując, czy pakiet został automatycznie zainstalowany w celu spełnienia zależności: możesz manipulować tymi flagami ( aptitude markautolub aptitude unmarkauto), aby zmienić sposób, w jaki aptitude traktuje pakiet.

    apt-getśledzi te same informacje, ale nie pokaże ich wyraźnie. apt-markmoże być używany do manipulowania flagami.

  2. aptitudezaoferuje usunięcie nieużywanych pakietów za każdym razem, gdy usuniesz zainstalowany pakiet, apt-getale zrobi to tylko wtedy , gdy zostanie o to wyraźnie poproszony apt-get autoremovelub określisz --auto-remove.

  3. aptitudedziała jako jeden interfejs wiersza poleceń dla większości funkcji zarówno w, jak apt-geti apt-cache. Uwaga : od 16.04 istnieje aptpolecenie, które zawiera najczęściej używane polecenia z apt-getoraz apt-cachekilka dodatkowych funkcji.

  4. W przeciwieństwie do apt-cache„wyszukiwania”, aptitudedane wyjściowe „wyszukiwania” pokazują również status zainstalowanego / usuniętego / wyczyszczonego pakietu (plus własne flagi statusu aptitude). Ponadto wyjście „install” oznacza, które pakiety są instalowane w celu spełnienia zależności, a które są usuwane, ponieważ są nieużywane.

  5. aptitude ma (tekstowy) interaktywny interfejs użytkownika.

Osobiście używam tylko aptitudedo zarządzania pakietami wiersza poleceń (i nigdy nie używam tekstowego interfejsu użytkownika); Uważam, że jego wynik jest bardziej czytelny niż apt-get/ apt-cache.

Jeśli aptitudejednak nie będzie już standardem w systemie Ubuntu, nie ma innego wyboru niż użycie apt-getinstrukcji i dokumentów instruktażowych.

(Osobiście jestem raczej rozczarowany, gdy zniknęło w 10.10; zwłaszcza, że ​​ulepszenia aptitude apt-getsą głównie po stronie użyteczności. Wydaje mi się, że uważali, że ci, którzy znają się na linii poleceń, wiedzą, jak odzyskać aptitude, i tym, którzy nie używają wiersza poleceń, nie będzie to obchodzić ...)

Riccardo Murri
źródło
10
aptitude search'es w nazwach pakietów, apt-cache w nazwie pakietu + opis (będziemy musieli zacząć od każdego howto sudo apt-get install aptitude)
LassePoulsen
3
2. Jednak apt-get powie ci, że są nieużywane pakiety i że możesz je usunąć apt-get autoremove.
sepp2k
2
Jedną z wad aptitude jest niezdolność do rozważenia przypięcia wykonanej przez apt-get
txwikinger 15.10
4
Aptitude poprawnie odczytuje /etc/apt/preferences(i przypinanie w nim), ale obecnie ignoruje /etc/apt/preferences.d/. Jest to znany błąd, więc istnieje nadzieja, że ​​zostanie on wkrótce naprawiony.
Riccardo Murri,
3
Aptitude ma możliwość łatwo odzyskać changelog: aptitude changelog package-name. Nie znam takiej funkcji w apt-get.
Lekensteyn,
21

Myślę, że do tej pory jest to kwestia osobistego wyboru. Uważam, że pisanie aptitude searchma dla mnie więcej sensu apt-cache searchi podoba mi się to, że mówi mi, które pakiety zainstalowałem w wynikach wyszukiwania, zamiast konieczności uruchamiania dpkg -l.

itsadok
źródło
2
+1 Uzgodniono, że możliwość sprawdzenia, czy aplikacja jest zainstalowana podczas wyszukiwania, jest bardzo przydatna. Chociaż uważam, że wyszukiwanie apt-cache jest o wiele szybsze niż wyszukiwanie aptitude.
Mark Davidson,
Używam dwuliterowego aliasu bash do wyszukiwania apt-cache, prawdopodobnie też bym tego używał aptitude search.
belacqua
Zauważyłem, że apt-getwyszukiwanie jest nieco dokładniejsze niż aptitude. Ta ostatnia wydaje się patrzeć tylko na nazwę pakietu, podczas gdy ta pierwsza szuka też opisów, tak myślę. np. spróbuj wyszukać build-essential.
Sparhawk
13

Wcześniej apt-get nie zarządzałby właściwie zależnościami i dlatego powodowałby, że osierocone zależności pozostały w systemie nawet po odinstalowaniu pakietu, który ich używał - nie jest tak już dłużej, aby usunąć osierocone zależności, użyj

sudo apt-get autoremove

aptitude zawsze robiło to dobrze i lepiej śledzi zależności, ale teraz obaj menedżerowie pakietów wykonują to zadanie.

Na Ubuntu lepiej jest używać apt-get, ponieważ jest obsługiwany i wspierany przez firmę, na Debianie użyłbym aptitude

kashif
źródło
2
Ostatnie stwierdzenie nie jest dokładne. aptitudejest dobrze obsługiwany na Ubuntu i jest instalowany domyślnie. Pod tym względem nie ma też różnicy między Ubuntu a Debianem.
loevborg,
3
Jest usuwany z domyślnej instalacji w 10.10
kashif,
1
Z mojego doświadczenia aptitudewynika , że zawsze gorzej było śledzić zainstalowane zależności. Podczas usuwania programu miał tendencję do usuwania niepowiązanych z nimi programów, a w końcu
powodował uszkodzenie
Co to jest równoważne apt-get autoremovez aptitude? Mam stare jądra, które apt-get autoremovesugerują mi usunięcie, ale nie widzę sposobu, aby je usunąć aptitude.
Alexey
1
@Alexey Możesz użyć aptitude remove '~g'. ( Źródło ) Należy pamiętać, że aptitudeautomatycznie zaoferuje usunięcie nieużywanych zależności podczas usuwania z nim pakietów.
nyuszika7h
6

Oprócz innych odpowiedzi, warto również zauważyć, że apt-getczęsto upada na twarz w przypadku prostych operacji i nie ma możliwości radzenia sobie z niedopasowaniem wersji lub uszkodzonymi pakietami (chociaż twierdzi, że uszkodzone pakiety można naprawić apt-get install -f, dosłownie nigdy nie widziałem tej pracy w całym moim życiu).

Z jakiegoś powodu nadal używam apt-getdomyślnie, ale kiedy napotyka problemy, zwykle rozwiązuję je aptitude, co nigdy nie wydaje się napotykać apt-getlicznych problemów.

weberc2
źródło
Mam również podobne doświadczenie w rozwiązywaniu konfliktów, aptitudejest w tym sensie lepszą alternatywą.
Volkan Yazıcı
1
Dla przypomnienia, właśnie widziałem apt-get install -f naprawić mój system. aptitude miał problemy, to naprawiło, a potem pierwszą rzeczą, którą zrobiłem, był apt install aptitude :) Wybór jest dobrą rzeczą (tm)
teknopaul
3

Powiedziałbym, że w moim osobistym doświadczeniu aptitude i apt-get mają bardzo podobną funkcjonalność.

Główną różnicą, która przychodzi na myśl, która może mieć wpływ na wybory użytkowników, jest to, że aptitude oferuje interfejs ncurses i oferuje opcje bezpiecznej i pełnej aktualizacji, które mogą się przydać.

Osobiście zawsze używam apt-get i zalecam, aby nowi użytkownicy również używali apt-get. Przy aptitude ustawionej do domyślnego usunięcia z Ubuntu, jak już powiedziałeś, nadal wydaje się to najlepszą rekomendacją. Jakby chcieli skorzystać z aptitude, będą musieli wiedzieć, jak korzystać z apt-get, aby zainstalować aptitude, jeśli tego chcą :)

Mark Davidson
źródło
czy mógłbyś wyjaśnić, czym jest interfejs ncurses?
8128,
@fluteflute: ncurses to biblioteka służąca do realizacji tekstowego interfejsu użytkownika. en.wikipedia.org/wiki/Ncurses
data
1

Na serwerze wolę Atitude, ponieważ ma całkiem niezły interfejs do sprawdzania dzienników zmian pakietów, selektywnych aktualizacji i tego typu rzeczy. apt-get jest jednak szybszy i zawsze go używam, jeśli chcę po prostu zaktualizować wszystko bez większych problemów.

Gladen
źródło