Mi chiedo che cosa sudo apt-get update
fa?
Cosa aggiorna?
Mi chiedo che cosa sudo apt-get update
fa?
Cosa aggiorna?
Risposte:
In poche parole, in apt-get update
realtà non installa nuove versioni del software. Al contrario, aggiorna gli elenchi dei pacchetti per gli aggiornamenti per i pacchetti che devono essere aggiornati, nonché i nuovi pacchetti che sono appena arrivati ai 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 relative dipendenze. Lo farà per tutti i repository e PPA. Da 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 deve essere sempre eseguito prima di un aggiornamento o dist-upgrade.
apt-get upgrade
recupererà le nuove versioni dei pacchetti esistenti sul computer se APT conosce queste nuove versioni tramite apt-get update
.
Da http://linux.die.net/man/8/apt-get :
Utilizzato per installare le versioni più recenti di tutti i pacchetti attualmente installati sul sistema dalle fonti elencate in
/etc/apt/sources.list
(5). I pacchetti attualmente installati con le nuove versioni disponibili vengono recuperati e aggiornati; in nessun caso i pacchetti attualmente installati vengono rimossi, né i pacchetti che non sono già 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 verranno lasciate alla loro versione corrente. [Il mio enfasi] È necessario prima eseguire un aggiornamento in modo tale che apt-get sappia che sono disponibili nuove versioni dei pacchetti.
apt-get dist-upgrade
farà lo stesso lavoro svolto da apt-get upgrade
, inoltre gestirà in modo intelligente le dipendenze, quindi potrebbe rimuovere pacchetti obsoleti o aggiungerne di nuovi. Vedi qui: Che cos'è "dist-upgrade" e perché aggiorna più di "upgrade"?
Da http://linux.die.net/man/8/apt-get :
Oltre a svolgere la funzione di aggiornamento, questa opzione gestisce anche in modo intelligente il cambiamento delle dipendenze con le nuove versioni dei pacchetti; apt-get ha un sistema "intelligente" di risoluzione dei conflitti e tenterà di aggiornare i pacchetti più importanti a spese di quelli meno importanti, se necessario. Il
/etc/apt/sources.list
file (5) contiene un elenco di posizioni da cui recuperare i file del pacchetto desiderati. Vedi anche apt_preferences (5) per un meccanismo per scavalcare le impostazioni generali per i singoli pacchetti.
È possibile combinare i comandi &&
come segue:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
o per ottenere le versioni più recenti possibili secondo i requisiti di versione delle dipendenze:
sudo apt-get update && sudo apt-get dist-upgrade
Sono necessarie sudo
entrambe le volte, ma poiché sudo
per impostazione predefinita non viene richiesto entro 5 minuti circa dall'ultima sudo
operazione, verrà richiesta la password una sola volta (o per niente).
apt-get update
richiede un po 'di tempo, Internet qui è ancora primitivo.
Una ricerca su Google può darti la definizione di quasi tutti i comandi del terminale, come può - aiutare nel terminale. Per esempio,
apt-get --help
sudo apt-get update
essenzialmente ha tre parti:
sudo
esegue il comando seguente con funzionalità di superutente (root). Molte azioni che richiedono la modifica dei file di sistema o l'installazione di applicazioni richiedono autorizzazioni aggiuntive per essere eseguite.
apt-get
è uno strumento da riga di comando che Ubuntu utilizza per installare, rimuovere e gestire i pacchetti software
update
è un'opzione da utilizzare per il programma apt-get che aggiorna gli elenchi dei pacchetti da un server su Internet. Gli elenchi dei pacchetti forniscono all'utilità apt-get informazioni importanti sui pacchetti software che è possibile installare usando apt-get. apt-get usa questi elenchi per determinare quale software installare quando viene dato un comando da installare. Per esempio
sudo apt-get install guake
installerebbe 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, durante l'installazione del software con apt-get, in genere si digita
sudo apt-get update
sudo apt-get install <package>
assicurarsi che apt-get sappia installare la versione più recente del pacchetto.
Un'altra fonte utile per informazioni è il help.ubuntu.com
sito. Ad esempio, se hai cercato quel sito per apt-get
trovare AptGet / Howto come uno dei risultati.
&&
tra loro comesudo apt-get update&&sudo apt-get install foo bar baz
&&
indica che il secondo comando verrà eseguito solo se il primo ha esito positivo. Se non ti interessa il successo del primo comando, usa ;
invece.
L'esecuzione sudo apt-get update
semplicemente assicura che l'elenco dei pacchetti da tutti i repository e PPA sia aggiornato. Se non si esegue questo comando, è possibile ottenere versioni precedenti di vari pacchetti che si stanno installando o, peggio ancora, problemi di dipendenza. Se hai appena aggiunto un PPA e non hai aggiornato, nulla dal PPA funzionerà affatto poiché non hai un elenco di pacchetti da quel PPA o repository.
In poche parole: si consiglia vivamente di eseguirlo sudo apt-get update
prima dell'installazione, ma potrebbe essere saltato se si è davvero a corto di tempo a meno che non si siano modificati repository o PPA dall'ultimo apt-get update
.
Aggiorna l'elenco dei software disponibili sul tuo computer.
Il tuo computer ha un elenco (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 (o cataloghi) locali.
Si noti che update
è diverso da upgrade
. L'aggiornamento, come menzionato sopra, recupererà il software disponibile e aggiornerà gli elenchi mentre upgrade
installerà le nuove versioni del software installato sul tuo 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".
sudo apt-get install
allora? Installazione di pacchetti particolari anziché un aggiornamento generale?
È necessario eseguire apt-get update
una volta prima di installare nuovi pacchetti in quanto ciò aggiorna le informazioni sul repository locale. Se si installano più pacchetti poco dopo l'altro, non è necessario eseguirli apt-get update
. Inoltre, è possibile installare più pacchetti contemporaneamente se si digita
sudo apt-get install package1 package2...
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
anziché install
), le seguenti informazioni vengono ottenute dalla configurazione del sistema locale e non da Internet:
quali pacchetti sono disponibili
quali versioni sono disponibili
da cui recuperare i pacchetti disponibili
L'esecuzione sudo apt-get update
(o sudo aptitude update
) lo aggiorna sul sistema locale. Questo è il passaggio che recupera effettivamente le informazioni su quali pacchetti possono essere installati, inclusi gli aggiornamenti ai pacchetti di pacchetti attualmente installati , da fonti Internet.
Quando si installano pacchetti con un'interfaccia GUI (Update Manager, Software Center o Synaptic Package Manager), il lavoro di sudo apt-get update
viene eseguito automaticamente. Quando installi pacchetti dalla riga di comando, non lo è, e dovresti sempre farlo da solo a meno che tu non l'abbia fatto di recente .
Poiché le informazioni su quali versioni aggiornate dei pacchetti sono disponibili sono ottenute 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 è stato aggiunto o rimosso alcun software Fonti (come un PPA) .
Si noti che se si eseguiranno più operazioni di gestione dei pacchetti contemporaneamente, non è necessario eseguirle sudo apt-get update
prima di ognuna. È solo se le informazioni non sono state aggiornate per un po ', è necessario assicurarsi di eseguirle.
Come Eliah Kagan ha menzionato sopra, ti aspetteresti che un'applicazione GUI venga eseguita apt-get update
prima apt-get install
/ apt-get upgrade
, ma ho appena scoperto un interessante errore 404, su una macchina VM di sicurezza offensiva relativamente nuova, che mi ha fatto inciampare per un minuto.
Dalla riga di comando, ho eseguito apt-get update
, quindi ho riprovato il comando Utilità di sistema / Aggiornamento software e questa volta è stato eseguito senza errori 404.
Quindi, suppongo che non puoi sempre presumere che apt-get update
sia eseguito dalle applicazioni della GUI ...
apt-get
rispetto al controllo automatico eseguito eseguendo 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 forse il problema è dovuto a un'errata configurazione temporanea del server. Che specchio usi? Con più informazioni, forse potrei migliorare la mia risposta. (A proposito, è inteso come una risposta separata o dovrebbe essere convertito in un commento?)
Come detto da molte persone prima di me, questo aggiorna il tuo repository locale (elenco dei pacchetti).
È possibile che si verifichino problemi se si tenta di installare
apt-get install foobar
e foobar o una dipendenza non hanno la loro ultima versione nel repository. Ciò può essere particolarmente problematico se si installa manualmente un file .deb o un ppa di terze parti.
Fondamentalmente si assicura che l'elenco corrisponda all'elenco principale .
Consideriamo l'esempio dell'installazione di VLC media player su Ubuntu:
sudo apt-get update
Controllerà i repository per gli aggiornamenti disponibili.
Mentre
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
installerà VLC media player dai repository che abbiamo cercato.
Se si era effettuato l'accesso come utente root (amministratore), non è necessario utilizzarlo sudo
, poiché si dispone già dei privilegi di superutente.
sudo apt-get update
comando ogni volta che installiamo i pacchetti? Qual è lo svantaggio se non lo facciamo?