Domanda Cosa fa "sudo apt-get update"?


Mi sto chiedendo cosa sudo apt-get update lo fa?

Cosa aggiorna?


450
2017-11-27 00:07


origine




risposte:


In poche parole, apt-get update in realtà non installa nuove versioni del software. Al contrario, aggiorna gli elenchi di pacchetti per gli aggiornamenti per i pacchetti che necessitano l'aggiornamento, così come i nuovi pacchetti che sono appena arrivati ​​nei repository.

  • apt-get update scarica gli elenchi dei pacchetti dai repository e li "aggiorna" per ottenere informazioni sulle versioni più recenti dei pacchetti e sulle loro dipendenze. Lo farà per tutti i repository e i PPA. A partire dal http://linux.die.net/man/8/apt-get:

    Utilizzato per risincronizzare i file di indice del pacchetto dalle loro origini. Gli indici dei pacchetti disponibili vengono recuperati dalle posizioni specificate in /etc/apt/sources.list(5). Un aggiornamento dovrebbe sempre essere eseguito prima di un aggiornamento o dist-upgrade.

  • apt-get upgrade recupererà nuove versioni di pacchetti esistenti sulla macchina se APT conosce queste nuove versioni tramite apt-get update.

    A partire dal http://linux.die.net/man/8/apt-get:

    Utilizzato per installare le versioni più recenti di tutti i pacchetti attualmente installati sul sistema dalle sorgenti enumerate in /etc/apt/sources.list(5). I pacchetti attualmente installati con le nuove versioni disponibili sono recuperati e aggiornati; in nessun caso vengono rimossi i pacchetti attualmente installati, né i pacchetti che non sono già stati installati vengono recuperati e installati. Le nuove versioni dei pacchetti attualmente installati che non possono essere aggiornati senza modificare lo stato di installazione di un altro pacchetto rimarranno alla versione corrente. [Enfasi sul mio] Prima di tutto è necessario eseguire un aggiornamento in modo che apt-get sappia che sono disponibili nuove versioni di pacchetti.

  • apt-get dist-upgrade farà lo stesso lavoro che è fatto da apt-get upgradeinoltre, gestirà in modo intelligente le dipendenze, quindi potrebbe rimuovere pacchetti obsoleti o aggiungerne di nuovi. Vedere qui: Che cos'è "dist-upgrade" e perché aggiorna più di "upgrade"?

    A partire dal http://linux.die.net/man/8/apt-get:

    Oltre a svolgere la funzione di aggiornamento, questa opzione gestisce anche in modo intelligente le dipendenze con le nuove versioni dei pacchetti; apt-get ha un sistema di risoluzione dei conflitti "intelligente" e tenterà di aggiornare i pacchetti più importanti a scapito di quelli meno importanti, se necessario.   Il /etc/apt/sources.list(5) file contiene un elenco di posizioni da   quale recuperare i file del pacchetto desiderati. Vedi anche apt_preferences (5) per un meccanismo per superare le impostazioni generali per i singoli pacchetti.

È possibile combinare i comandi con && come segue:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

o per ottenere versioni più recenti possibili secondo i requisiti di versione delle dipendenze:

sudo apt-get update && sudo apt-get dist-upgrade

Hai bisogno sudo entrambe le volte, ma da allora sudo per impostazione predefinita non viene richiesto entro 5 minuti circa dall'ultimo sudo operazione, ti verrà richiesta la password una sola volta (o non del tutto).


483
2017-11-27 00:17



Abbiamo sempre bisogno di correre sudo apt-get update comando ogni volta che installiamo i pacchetti? Qual è lo svantaggio se non lo facciamo? - JohnnyQ
@ JohnnyQ Se non si esegue tale comando, è possibile che venga installato un pacchetto non aggiornato. - hexafraction
ah sembra che sia solo una convenzione allora. Quindi presumo che non sia davvero necessario specialmente se stai usando pacchetti base con comandi di base che non vengono aggiornati di solito. Il problema nella mia situazione è questo apt-get update ci vuole un po ', internet qui è ancora primitivo. - JohnnyQ
@ JohnnyQ Per alcuni pacchetti è abbastanza importante che gli elenchi dei pacchetti siano aggiornati. Esempi di tali pacchetti includono software di sicurezza critico. - hexafraction
@JohnnyQ, se il tuo apt-get update è lento, allora apt-get dist-upgrade sarà anche lento, quindi non è un argomento da non fare apt-get update per primo. A proposito, è possibile velocizzare l'aggiornamento apt-get esaminando la cartella /etc/apt/sources.d/ per vedere se sono stati aggiunti repository personalizzati e uno di questi potrebbe non rispondere, il che rallenterà l'intero processo di aggiornamento. - Mladen B.


Una ricerca su Google può darti la definizione di quasi tutti i comandi del terminale, così come --help nel terminale. Per esempio,

apt-get --help

sudo apt-get update essenzialmente ha tre parti:

sudo

esegue il seguente comando con capacità super-utente (root). Molte azioni che richiedono la modifica dei file di sistema o l'installazione di applicazioni richiedono autorizzazioni aggiuntive per l'esecuzione.

apt-get

è uno strumento da riga di comando che Ubuntu usa per installare, rimuovere e gestire i pacchetti software

update

è un'opzione per il programma apt-get da utilizzare che aggiorna gli elenchi di pacchetti da un server su Internet. Gli elenchi dei pacchetti forniscono l'utilità apt-get con informazioni importanti sui pacchetti software che è possibile installare utilizzando apt-get. apt-get usa questi elenchi per determinare quale software installare quando viene fornito un comando da installare. Per esempio

sudo apt-get install guake

installare il terminale Guake come è attualmente elencato negli elenchi di software locali del mio computer. Tuttavia, questa potrebbe non essere la versione appropriata o, se il programma è nuovo, potrebbe non essere affatto disponibile. Pertanto, quando si installa il software con apt-get, di solito si digita

sudo apt-get update
sudo apt-get install <package>

assicurandosi che apt-get sappia installare la versione più recente del pacchetto.

Un'altra fonte utile di informazioni è il help.ubuntu.com luogo. Ad esempio, se hai cercato quel sito per apt-get lo avresti trovato Apt-get / Howto come uno dei risultati.


42
2017-11-27 00:16



Alex, posso fondamentalmente usare il comando come lo metti tu: "apt-get update apt-get install <pacchetto>" In pratica 2 cose possono essere eseguite semplicemente digitando i 2 comandi insieme in questo modo? - Elysium
@ Elysium Sì, se lo hai && tra di loro come sudo apt-get update&&sudo apt-get install foo bar baz - hexafraction
utilizzando && significa che il secondo comando verrà eseguito solo se il primo riesce. Se non ti interessa il successo del primo comando, usa ; anziché. - Flimm
Una ricerca su Google mi ha portato a questa domanda / risposta. Solo FYI;) - teewuane


In esecuzione sudo apt-get update semplicemente si assicura che l'elenco dei pacchetti da tutti i repository e PPA sia aggiornato. Se non si esegue questo comando, si potrebbero ottenere versioni precedenti di vari pacchetti che si stanno installando o, peggio, problemi di dipendenza. Se si è appena aggiunto un PPA e non si è aggiornato, nulla dal PPA funzionerà del tutto poiché non si dispone di un elenco di pacchetti da tale PPA o repository.

In poche parole: lo è altamente raccomandato di correre sudo apt-get update prima di installare, ma è così può essere saltato se sei veramente pigiato per tempo a meno che tu non abbia cambiato repository o PPA dall'ultimo apt-get update.


18
2018-06-05 23:21





Devi correre apt-get update una volta prima di installare nuovi pacchetti in quanto questo aggiorna le informazioni del repository locale. Se si installeranno più pacchetti poco dopo l'altro, non è necessario eseguire apt-get update. Inoltre, puoi installare più pacchetti contemporaneamente se digiti sudo apt-get install package1 package2...


12
2018-06-05 23:23



Bel trucco per quello! - Emerson Hsieh


Aggiorna l'elenco dei software disponibili sul tuo computer.

Il tuo computer ha una lista (come un catalogo) che contiene tutto il software disponibile che i server Ubuntu hanno a disposizione. Ma il software e le versioni disponibili potrebbero cambiare, quindi un "aggiornamento" colpirà il server e vedrà quale software è disponibile per aggiornare i suoi elenchi locali (o cataloghi).

Nota che update è diverso da upgrade. L'aggiornamento, come sopra menzionato, recupera il software disponibile e aggiorna gli elenchi mentre upgrade installerà nuove versioni del software installato sul computer (aggiornamenti software effettivi).

Per aggiornare effettivamente il software (non "aggiornare" gli elenchi), si esegue il comando

sudo apt-get upgrade

che di solito viene eseguito dopo un "aggiornamento".


10
2017-11-27 00:21



Cosa è sudo apt-get install per allora? Installare pacchetti particolari invece di un aggiornamento generale? - Peter Mortensen


Quando si installano i pacchetti dalla riga di comando con sudo apt-get install ... (o sudo aptitude install ...), o quando li si aggiorna dalla riga di comando (con upgrade o dist-upgrade invece di install), le seguenti informazioni sono ottenute dalla configurazione del sistema locale e non da Internet:

  1. quali pacchetti sono disponibili

  2. quali versioni sono disponibili

  3. da dove devono essere recuperati i pacchetti disponibili

In esecuzione sudo apt-get update (o sudo aptitude update) aggiorna questo sul tuo sistema locale. Questo è il passo che recupera effettivamente informazioni su quali pacchetti possono essere installati, compresi gli aggiornamenti disponibili per i pacchetti di pacchetti attualmente installati, da fonti Internet.

Quando si installano pacchetti con un'interfaccia GUI (Gestore aggiornamenti, Centro software o Gestore pacchetti Synaptic), il lavoro di sudo apt-get update è fatto automaticamente. Quando si installano i pacchetti dalla riga di comando, non lo è, e si dovrebbe sempre farlo da soli a meno che tu non l'abbia fatto molto di recente.

Poiché le informazioni su quali versioni aggiornate dei pacchetti sono disponibili si ottengono eseguendo sudo apt-get update (o sudo aptitude update), è consigliabile eseguirlo prima di installare qualsiasi pacchetto e necessario eseguirlo per installare gli ultimi aggiornamenti, anche se non hai aggiunto o rimosso alcuna Sorgente software (come un PPA).

Si noti che se si eseguono più operazioni di gestione dei pacchetti nello stesso periodo, non è necessario eseguire l'esecuzione sudo apt-get update prima di ciascuno. È solo se le informazioni non sono state aggiornate per un po 'di tempo, quindi assicurati di eseguirlo.


4
2018-06-05 23:59





Come Eliah Kagan ha menzionato sopra, lo faresti aspettarsi che sarebbe stata eseguita un'applicazione GUI apt-get update prima apt-get install / apt-get upgrade, ma ho appena scoperto un errore interessante 404, su una macchina virtuale relativamente nuova per la sicurezza offensiva, che mi ha bloccato per un minuto.

Dalla riga di comando, ho corso apt-get update, quindi ha tentato di nuovo il comando Utilità di sistema / Aggiornamento software e questa volta è stato eseguito senza errori 404.

Quindi, immagino che non puoi sempre presumere questo apt-get update viene eseguito da applicazioni GUI ...


4
2018-04-02 02:58



Interessante ... Potrebbe esserci qualche situazione di rete insolita tra te e il server che viene gestito meglio quando corri apt-get che dal controllo automatico eseguito eseguendo il Software Updater / Update Manager? Usi un proxy HTTP? E sei in grado di farlo accadere di nuovo, o è successo solo una volta? Se si tratta di un'anomalia isolata, mi chiedo se il problema potrebbe essere dovuto a un'errata configurazione temporanea del server. Che specchio usi? Con più informazioni, forse potrei migliorare la mia risposta. (Btw, è inteso come una risposta separata, o dovrebbe essere convertito in un commento?) - Eliah Kagan


Come detto da molte persone prima di me questo aggiorna il tuo repository locale (lista dei pacchetti).

Potresti incontrare dei problemi se provi a installare

apt-get install foobar

e foobar o una dipendenza non hanno la loro ultima versione nel repository. Questo può essere particolarmente problematico se si installa un file .deb manualmente o un ppa da una terza parte.

Fondamentalmente è sicuro la tua lista corrisponde al maestro elenco.


2
2018-06-05 23:38