GNU/Linux >> Linux Esercitazione >  >> Linux

Quando e perché dovrei usare Apt-get Update?

Domanda generale:

Qualcuno potrebbe spiegare cos'è il comando apt-get update fa e quando dovrei davvero usarlo?

Osservazioni

Si prega di fornire una risposta dettagliata . Non solo una copia della pagina man, a meno che la tua versione non sia davvero dettagliata (inserisco una definizione dalla pagina man qui sotto).

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

Sub-domande:

  • Dove è archiviato l'indice del pacchetto? Su un database? In un file?
  • Cosa succede se eseguo apt-get install senza aggiornare la cache? C'è la possibilità che il pacchetto remoto non esista più e che il collegamento venga interrotto?
  • C'è una politica concordata sui repository di deb? Ad esempio, un repository dovrebbe contenere solo l'ultima versione di un pacchetto o, al contrario, dovrebbe contenere tutte le versioni disponibili per uno specifico rilascio di distribuzione?

Contesto

Faccio la mia domanda perché sto studiando il framework Docker. Una delle sue funzionalità è il Dockerfile , che ti consente di creare una sorta di immagine del sistema operativo eseguendo alcune istruzioni da questo file.
Una proprietà di questa immagine è che dovrebbe essere sempre la stessa, qualunque sia il contesto (tempo di compilazione, ecc.).

Temo che se lancio apt-get update comando in momenti diversi, il risultato sarebbe diverso e quindi le mie immagini sarebbero diverse.

Risposta accettata:

apt-get update scarica l'elenco dei pacchetti disponibili.

L'elenco dei pacchetti può cambiare nel tempo. Vengono aggiunti nuovi pacchetti e rimossi i vecchi pacchetti. Quindi, se hai una cache molto vecchia e provi a fare un apt-get install , potrebbe tentare di scaricare un pacchetto che non esiste più.
Per quanto tempo un vecchio pacchetto viene conservato in un repository dipende dal manutentore del repository (la tua distribuzione). Pertanto, se stai utilizzando qualcosa come la finestra mobile, in cui la cache potrebbe essere molto obsoleta, dovresti sempre eseguire apt-get update prima di installare qualsiasi pacchetto.

Il motivo per la rimozione e l'aggiunta di pacchetti è principalmente correzioni di bug e aggiornamenti di sicurezza. Tuttavia, se utilizzi repository di terze parti come PPA, tutto è possibile.

Correlati:quando viene visualizzato il messaggio di errore "lavori:non trovati"?

Quando si utilizza qualcosa come la finestra mobile per la containerizzazione in un ambiente aziendale, è necessario creare il container una volta, quindi spostarlo attraverso i vari ambienti di rilascio (sviluppo, staging, produzione) e non ricostruire il container ogni volta. In questo modo non avrai un contenitore diverso che non sia stato testato.

Per rispondere alla tua domanda su dove risiedono i file della cache, /var/lib/apt/lists .


Linux
  1. Redis come cache:come funziona e perché usarlo

  2. Linux – Perché usiamo Su – e non solo Su?

  3. Quando dovrei usare una barra finale su una directory??

  4. Fai l'aggiornamento e l'aggiornamento di Apt-get automatizzati e non presidiati?

  5. Dovrei usare Apt o Apt-get negli script della shell?

7 motivi per cui uso Manjaro Linux e dovresti farlo anche tu

Ubuntu o Fedora:quale dovresti usare e perché

Che cos'è una macchina virtuale e perché usarla?

Cos'è la funzionalità della community di ONLYOFFICE e perché dovresti usarla?

Quando usare Bash e quando usare Perl/Python/Ruby?

Perché si dovrebbe usare sudo?