"apt-get" è deprecato? [duplicare]

47

Ultimamente, ho visto molte persone usare

sudo apt

invece di

sudo apt-get

Inoltre, Ubuntu continua a dirmi di installare le cose in base a sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(ricorda che foo è un segnaposto, non un'app)

Quindi, dopo questa popolarità nella comunità sull'uso di apt invece di apt-get , sto iniziando a pensare che apt-get sia deprecato e non possa più essere usato nei miei programmi bash.

Nei miei programmi bash,

  • Devo sostituire tutti i comandi apt-get con apt ?
  • è apt-get pericoloso?
  • i miei programmi funzioneranno ancora?
posta Skybbles 26.09.2016 - 15:15

4 risposte

33

apt-get è più basso e retrocompatibile. apt è migliore per gli utenti finali e non richiede o contiene alcune funzionalità extra che sono presenti in apt-get .

Entrambi stanno perfettamente bene. apt-get non è deprecato, ma l'installazione 15.10 è:)

Modifica: dalla pagina man di apt (8)

  

Il comando apt è pensato per essere piacevole per gli utenti finali e non ha bisogno          essere retrocompatibile come apt-get (8).

Edit2: apt è stato progettato per correggere alcuni dei difetti di dipendenza fondamentali in apt-get . Poiché è un wrapper, apt è quindi di livello superiore e perde anche alcune compatibilità con le versioni precedenti e funzionalità di scripting.

    
risposta data negusp 26.09.2016 - 15:18
45

No, apt-get non è deprecato. La pagina man di apt ha questo da dire su apt rispetto a apt-get (e apt-cache ):

  

UTILIZZO DELLO SCRIPT E DIFFERENZE DA ALTRI STRUMENTI APT

     

La linea di comando apt (8) è progettata come uno strumento per l'utente finale e può modificare il comportamento tra le versioni. Mentre cerca di non rompere          la retrocompatibilità non è garantita neanche se una modifica sembra vantaggiosa per l'uso interattivo.

     

Tutte le funzionalità di apt (8) sono disponibili anche in strumenti APT dedicati come apt-get (8) e apt-cache (8). apt (8) cambia semplicemente il   predefinito          valore di alcune opzioni (vedi apt.conf (5) e in particolare l'ambito binario). Quindi dovresti preferire usare questi comandi (potenzialmente   con          alcune opzioni aggiuntive abilitate) nei tuoi script in quanto mantengono la compatibilità con le versioni precedenti il ​​più possibile.

apt fornisce anche un avvertimento che dice

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

se rileva che c'è una pipa. Ad esempio:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Per quanto riguarda le tue domande,

  

Devo sostituire tutti i comandi apt-get con apt ?

No, non devi sostituire apt-get con apt . Piuttosto se la usavi negli script, dovresti rispettare apt-get perché ha un'API CLI stabile e garantisce la retrocompatibilità.

  

è apt-get pericoloso?

apt è pericoloso quanto apt-get : dovresti installare solo il software da fonti attendibili.

  

posso usare apt in Ubuntu 15.10?

Sì, puoi. Il problema qui è che stai ancora usando Ubuntu 15.10, che ora non è supportato! Effettua l'aggiornamento alla versione 16.04, che è una versione LTS.

  

i miei programmi funzioneranno ancora?

Secondo i programmi, suppongo che tu voglia dire script. Sì, funzioneranno ancora poiché apt-get non è deprecato. In effetti, dovresti preferire utilizzare apt-get negli script per la compatibilità con le versioni precedenti, come suggerito dalla pagina man di apt .

    
risposta data edwinksl 26.09.2016 - 15:24
7

apt e apt-get sono fondamentalmente lo stesso gestore di pacchetti, quello che fanno è lo stesso.

Una differenza è che apt contiene anche caratteristiche da es. apt-cache e ha un aspetto più gradevole.

Tuttavia, apt non dovrebbe essere ancora utilizzato negli script, almeno se si desidera analizzare il suo output, perché è ancora in sviluppo e il suo formato di output potrebbe ancora cambiare. Anche il completamento automatico della scheda di Bash non funziona ancora con molti comandi apt .

Puoi utilizzare entrambi, a seconda di ciò che preferisci.

    
risposta data Byte Commander 26.09.2016 - 15:24
0

Come puoi vedere dalle altre risposte, puoi utilizzare apt o apt-get . Quello che vorrei aggiungere è che quando ho provato apt alcuni anni fa, ho notato che risolveva i conflitti in modo diverso rispetto a apt-get . Quando la situazione era complicata (qualcosa doveva essere rimosso, alcuni pacchetti venivano aggiunti a una versione specifica, io declassavo un pacchetto o usavo una combinazione di pacchetti di versioni diverse), apt di solito voleva rimuovere tonnellate di pacchetti o couldn ' t risolvere il conflitto.

Dato che apt-get è stato molto meglio in queste situazioni e non ha avuto alcun aspetto negativo, ho rinunciato a apt e ho continuato a usare apt-get . Questo è stato diversi anni fa, quindi potrebbe essere cambiato, ma se ti trovi in ​​una situazione simile, potresti provare entrambi e vedere quale può risolvere meglio il conflitto.

    
risposta data Zoltan 26.09.2016 - 21:02

Leggi altre domande sui tag