Ostatnio widziałem wiele osób
sudo apt
zamiast
sudo apt-get
Ponadto Ubuntu ciągle mówi mi, żebym instalował różne rzeczy sudo apt
The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo
(pamiętaj, foo jest symbolem zastępczym, a nie aplikacją)
Po tej popularności w społeczności związanej z używaniem apt
zamiast apt-get
, zaczynam myśleć, że apt-get jest przestarzały i nie może być dłużej używany w moich programach bash.
W moich programach bash
- czy muszę zastąpić wszystkie
apt-get
poleceniaapt
? - jest
apt-get
niebezpieczny? - czy moje programy będą nadal działać?
command-line
apt
16.04
bash
Skybbles
źródło
źródło
apt
jest to, że jest krótszy niżapt-get
. Mniej naciśnięć klawiszy, mniej czasu. Używamapt-get
do takich rzeczycheck
.Odpowiedzi:
apt-get
jest niższy poziom i kompatybilny wstecz.apt
jest lepszy dla użytkowników końcowych i nie wymaga żadnych dodatkowych funkcji, które są w nim zawarteapt-get
.Oba są w porządku.
apt-get
nie jest przestarzałe, ale instalacja 15.10 to :)Edycja: Ze strony podręcznika użytkownika apt (8)
Edycja2:
apt
została zaprojektowana, aby naprawić niektóre podstawowe wady zależnościapt-get
. Ponieważ jest to opakowanie,apt
ma wyższy poziom, a także traci pewne kompatybilności wstecz i funkcje skryptowe.źródło
apt upgrade
≠apt-get upgrade
, ponieważ pierwszy instaluje nowe pakiety, a drugi nie.apt
chodzi o opakowanie,apt-get
to zdecydowanie jest na wyższym poziomie.Nie,
apt-get
nie jest przestarzałe. Strona podręcznika manapt
ma to do powiedzenia na tematapt
vs.apt-get
(iapt-cache
):apt
daje również ostrzeżenie, które mówijeśli wykryje, że jest fajka. Na przykład:
Jeśli chodzi o twoje pytania,
Nie, nie trzeba wymieniać
apt-get
zapt
. Raczej jeśli używasz go w skryptach, powinieneś trzymać sięapt-get
go, ponieważ ma stabilny interfejs API CLI i gwarantuje zgodność wsteczną.apt
jest tak niebezpieczny jakapt-get
: powinieneś instalować oprogramowanie tylko z zaufanych źródeł.Tak, możesz. Problem polega na tym, że nadal używasz Ubuntu 15.10, który nie jest już obsługiwany! Zaktualizuj do 16.04, która jest wersją LTS.
Przez programy zakładam, że masz na myśli skrypty. Tak, nadal będą działać, ponieważ
apt-get
nie jest przestarzałe. W rzeczywistości powinieneś używaćapt-get
skryptów dla kompatybilności wstecznej, jak sugerujeapt
strona man.źródło
apt
iapt-get
są w zasadzie tym samym menedżerem pakietów, to co robią jest takie samo.Różnica polega na tym, że
apt
zawiera również funkcje np.apt-cache
I ma ładniejszy wygląd.Jednak
apt
nie powinien być jeszcze używany w skryptach, przynajmniej jeśli chcesz przeanalizować jego wynik, ponieważ jest on wciąż w fazie rozwoju, a format wyjściowy może się jeszcze zmienić. Bash-autouzupełnianie tab również nie działa jeszcze z wielomaapt
poleceniami.Możesz użyć obu, w zależności od tego, co wolisz.
źródło
apt(-cache) policy
. Zapt(-cache) search
, istnieje różnica prędkości, tak, ale wynikapt
jest sortowany i ładnie sformatowany w zamian.Jak widać z innych odpowiedzi, możesz użyć jednego
apt
lubapt-get
. Chciałbym dodać, że kiedy próbowałemapt
kilka lat temu, zauważyłem, że rozwiązywało konflikty w inny sposób niżapt-get
to. Kiedy sytuacja była trudna (coś trzeba było usunąć, pewna paczka została przypięta do konkretnej wersji, obniżyłem klasę pakietu lub użyłem mieszanki paczek z różnych wydań),apt
zwykle chciałem usunąć mnóstwo paczek lub nie mogłem rozwiązać problemu konflikt.Ponieważ
apt-get
było znacznie lepiej w takich sytuacjach i nie miało żadnych wad, poddałem sięapt
iapt-get
zamiast tego używałem. To było kilka lat temu, więc mogło się to zmienić, ale jeśli napotkasz podobną sytuację, możesz spróbować obu i sprawdzić, który z nich może lepiej rozwiązać konflikt.źródło