Sto creando unimmagine per un Linux embedded basato su Debian. Ho utilizzato apt-get update
sul dispositivo che desidero utilizzare come base per quellimmagine, quindi gli elenchi in /var/lib/apt/lists
sono piuttosto grandi (quasi 100 MB di dimensione).
Voglio mantenere la funzionalità apt-get
(quindi non voglio rimuovere i repository apt) ma desidero liberare il spazio utilizzato in questi elenchi (gli elenchi sono quasi il doppio delle dimensioni dellimmagine).
Qualcuno sa come farlo? Posso semplicemente eliminare i file sotto /var/lib/apt/lists
?
Risposta
Puoi semplicemente usare:
rm /var/lib/apt/lists/*
Questo rimuoverà gli elenchi dei pacchetti. Nessun repository verrà eliminato, sono configurati nel file di configurazione in /etc/apt/sources.list
. Tutto ciò che può accadere è che strumenti come apt-cache
non può ottenere le informazioni sul pacchetto a meno che tu non abbia aggiornato gli elenchi dei pacchetti. Inoltre apt-get install
fallirà con E: Unable to locate package <package>
, perché no le informazioni sono disponibili ab il pacchetto.
Quindi esegui:
apt-get update
per riscrivere quegli elenchi e il comando funzionerà di nuovo.
Ad ogni modo, si consiglia di eseguire apt-get update
prima di installare qualsiasi cosa.
Commenti
Risposta
Gli elenchi sono la conoscenza di ciò che è disponibile, quindi se li elimini, non sarai in grado di installare nulla – è esattamente equivalente alla rimozione dei repository dai tuoi sorgenti list (cosa che dici di non voler fare).
Unopzione è che potresti comprimere le liste e ricordarti di decomprimerle prima di update
.
Quello che faccio spesso (in particolare quando voglio sperimentare fonti extra) è creare una directory /etc/apt/sources.available
e aggiungere voci per le distribuzioni. Posso quindi abilitare facilmente qualsiasi sottoinsieme creando collegamenti simbolici da /etc/apt/sources.list.d
e disabilitarlo rimuovendo tali collegamenti simbolici.
Con un elenco di sorgenti vuoto, puoi apt-get update
: dovrebbe cancellare il tuo /var/lib/apt/lists
. Quindi collega nuovamente le fonti appropriate in /etc/apt/sources.list.d
, ma non “t update
fino a quando non intendi effettivamente utilizzarle.
rm -rf /var/lib/apt/lists/*