Jaka jest różnica między menedżerami pakietów?

129

Jakie są różnice między apt-get, aptitudei synaptic, i który jest zalecanym wyborem do codziennego zarządzania pakietami?

To podstawowe pytanie, ale myślę, że dobrze byłoby mieć informacje na stronie, a poza tym jestem stosunkowo nowy w Ubuntu, więc mogłem skorzystać z wyjaśnień ekspertów.

David Z
źródło
1
Widziałem także ludzi polecających tasksel. Może ktoś mógłby wyjaśnić, dla czego ten też jest dobry?
silvo
2
taskselsłuży do wybierania określonych zadań, a nie do instalowania pakietu J. Random.
lfaraone
W [doskonałe porównanie] [1] apt-geti aptitudeze szczególnym wzmianki o moim ulubionym front-end, wajig. [1]: unix.stackexchange.com/questions/767/…
tshepang
Aby uzyskać bardziej szczegółowe porównanie apt-geti aptitudezobaczyć inne pytanie na tej stronie - czy aptitude jest naprawdę lepszy niż apt-get?
8128

Odpowiedzi:

111

Prawdopodobnie najpopularniejszymi menedżerami pakietów są apt-get, aptitude, synaptic i Software Center. Są inne (Linux Mint ma swoje, a niektóre są zaprojektowane dla KDE), ale na te najczęściej się natkniesz.

apt-get to proste narzędzie wiersza poleceń. Jest to przydatne, jeśli znasz dokładną nazwę pakietu, który chcesz zainstalować i nie chcesz tracić czasu na klikanie GUI, aby go uzyskać.

aptitude jest bardzo podobne do apt-get, i słyszałem, że lepiej radzi sobie z szalonymi sytuacjami zależności. Który z nich jest naprawdę lepszy, jest dyskusyjny.

synaptic to niskiego poziomu GUI. Jest to dobry wybór, jeśli jesteś dość zaawansowanym użytkownikiem, ale nie masz doświadczenia z narzędziami wiersza poleceń.

Centrum oprogramowania to przyjazny dla użytkownika interfejs GUI na wysokim poziomie. Oprogramowanie jest dobrze podzielone na kategorie, więc jeśli nie masz pewności, jakiej aplikacji potrzebujesz, możesz szybko znaleźć to, czego potrzebujesz. Software Center wyróżnia się także tym, że jest jedynym menedżerem pakietów na tej liście, który umożliwia zakup aplikacji komercyjnych.

dpkg jest rzadziej używanym, niskopoziomowym standardem menedżera pakietów dla większości systemów opartych na Debianie. W rzeczywistości apt-get, aptitude, synaptic i Ubuntu Software Center to tylko nakładki na dpkg lub apt, które same w sobie są nakładkami na dpkg.

W odpowiedzi na twoje pytanie „który jest zalecanym wyborem do codziennego zarządzania pakietami”, powiedziałbym, że Software Center jest zalecane do większości zastosowań. Ale w miarę zdobywania doświadczenia przydatne będą niektóre funkcje menedżerów pakietów niższego poziomu.

Michael Crenshaw
źródło
Muszę się zastanawiać, o co w tym momencie chodzi z Synaptic. Ludzie, którzy chcą bibliotek, używają wiersza poleceń, a ludzie, którzy chcą programów, korzystają z Centrum oprogramowania?
mlissner,
Szczerze mówiąc, rzadko używam już Synaptic, a w tej chwili nie mogę wymyślić żadnego konkretnego powodu, dla którego używałbym Synaptic w stosunku do jednego z innych narzędzi (chociaż robię to od czasu do czasu). Dobre pytanie.
Michael Crenshaw,
10
aptitude vs apt-get nie podlega dyskusji, aptitude jest ulepszeniem w stosunku do apt-get i jest z nim w pełni kompatybilny.
Mircea Chirea
1
Nie mam wiedzy, by o tym dyskutować, ale widziałem, jak debatują inni. Według mojej najlepszej wiedzy jest to dyskusyjne. Jeśli chodzi o kompatybilność, słyszałem, że najlepiej nie używać obu. Ale znowu nie wiem. Zostawię to na inne pytanie. :-)
Michael Crenshaw
3
aptitude umożliwia zaawansowane funkcje zarządzania pakietami, takie jak przechowywanie pakietów, których brakuje apt-get.
scottl
18

FAQ Debian ma dość dobre wyjaśnienie różnych menedżerów pakietów. ( dpkg, apt-get, aptitude, tasksel, synaptic)

lfaraone
źródło
1
Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
Pilot6
1
Siedem lat później?
lfaraone
13

Jako dodatek do doskonałej odpowiedzi mac9416 jest , Kubuntu oferuje te same narzędzia wiersza polecenia, jak Ubuntu, a mianowicie dpkg, apt-get, i aptitude. Istnieją również dwa graficzne menedżery pakietów:

Adept to prosty interfejs GUI apt-get, który pozwala edytować listy źródeł, przeglądać paczki według kategorii lub nazwy, sprawdzać ich status oraz instalować / odinstalowywać.

KPackageKit to prosty GUI dla PackageKit, który jest nowszym systemem zarządzania pakietami obejmującym wiele dystrybucji, który wykorzystuje się apt-getza kulisami. Pozwala wyszukiwać programy według różnych kryteriów, instalować i odinstalowywać programy, dokonywać rutynowych aktualizacji i edytować listy źródeł.

David Z
źródło
KPackageKitjest teraz zastąpiony przez Apper.
David twój przyjaciel
6

Osobiście wolę apt-get, ponieważ jest to program wiersza poleceń. A składnia do instalowania pakietów jest bardzo prosta:

sudo apt-get install nazwa - pakietu

Używam apt-get na co dzień do instalowania i usuwania pakietów.

Synaptic jest oparty na graficznym interfejsie użytkownika, a aptitude opiera się na tekście.

Nathan Osman
źródło
aptitudemoże być również używany interaktywnie i przez długi czas miał funkcje, których brakowało większości innych klientów libapt. sudo aptitude installdziała równie dobrze jak sudo apt-get install. sudo apitude searchdziała równie dobrze jak sudo apt-cache search. Aptitude jest jednak przeznaczone do usunięcia w przyszłości.
Broam
@Broam, czy możesz podać źródło roszczenia, że ​​Aptitude jest przeznaczone do usunięcia? Googling po okolicy nie mogłem nic na ten temat znaleźć.
itsadok
Jest przeznaczony do usunięcia w domyślnej instalacji, takiej jak GIMP.
Broam
5

Zasadniczo różnią się tylko tym, jak niski są.

dpkg : nawet niepoprawny menedżer pakietów, apt go używa

apt-get : wiersz polecenia, tylko jeśli znasz nazwę pakietu

aptitude : tekstowy, ale przyjazny dla użytkownika

synaptic : odpowiednik umiejętności w GUI

Centrum oprogramowania : dla codziennych użytkowników

BTW, wszystkie są front-endami apt (oprócz dpkg), który jest jedynym menedżerem pakietów w Ubuntu.

Sőrés Viktor
źródło
1

Innym narzędziem, o którym prawie nie wspomniano, jest tasksel. Służy do wybierania określonych zadań, oznaczania ich do instalacji, a następnie instalowania (ewentualnie przy użyciu aptitude- nie jestem pewien).

Uruchom, tasksel --list-tasksaby zobaczyć, jakie zadania są dostępne.

tshepang
źródło
Zostało to faktycznie wspomniane w komentarzach do pytania.
David Z
1
@ David widziałem tę wzmiankę, ale komentarze są obywatelami drugiej klasy.
tshepang
1

Jedną z kluczowych różnic między aptitude i apt-get, które uniknęły wcześniejszego powiadomienia, jest to aptitude, że w przeciwieństwie do tego apt-get, oferuje różne opcje na wypadek zderzenia zależności. apt-getpo prostu zawiedzie. aptitudez tego powodu jest znacznie bardziej elastyczny i wszechstronny. Nigdy nie korzystałem z menedżera pakietów GUI, nie wiem, jak Synaptic i inni radzą sobie z takimi sytuacjami.

ShankarG
źródło