cancellato accidentalmente / var / lib / apt /


10

Ho accidentalmente cancellato il contenuto di / var / lib / apt con il comando seguente:

sudo rm -rf /var/lib/apt/*

cosa dovrei fare ora? posso ripristinarlo? è necessario?


il motivo dietro questo incidente è che stavo cercando di rimuovere / var / lib / apt / lists / * a causa delle sue enormi dimensioni per creare spazio vuoto sul mio disco.
Hossein Hosseinvand,

Risposte:


24

La cartella contiene alcune cose interessanti, in particolare c'è una /var/lib/apt/keyrings/directory per tutti i repository che hai aggiunto al sistema tramite apt-add-repository(e poi c'è anche /etc/apt/trusted.gpge /etc/apt/trusted.gpg.d/) e cdroms.list che dovrebbe fare riferimento al supporto di installazione come fonte di pacchetti. Rimosso /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgpuò essere reinstallato con sudo apt-get install --reinstall ubuntu-keyring.

C'è anche /var/lib/apt/lists, che contiene i file di blocco per quando aptè in esecuzione l'aggiornamento o l'aggiornamento, e gli elenchi di pacchetti nei repository remoti. Gli elementi in quella directory a volte vengono cancellati o eliminati come in questo post, ad esempio. Dovrebbe rigenerarsi una volta che corri apt-get update.

In breve, non mi preoccuperei così tanto. Basta eseguire sudo apt-get updatee dovrebbe essere tornato, tuttavia se sono stati aggiunti repository tramite i apt-add-repositoryquali potrebbe aver richiesto una chiave GPG, è possibile che si desideri aggiungere nuovamente quella chiave o rimuovere temporaneamente tale repository /etc/apt/sources.list.d.

Anche se non è un grosso problema in questo caso, come ha detto Lightness nei commenti , il nocciolo del problema è l'uso accidentalerm -rf. Un utente dovrebbe assumersi la piena responsabilità quando esercita comandi che possono danneggiare il proprio sistema. Ci sono innumerevoli esempi su AskUbuntu e altri siti StackExchange in cui gli utenti eliminano o cambiano la proprietà dei componenti di sistema principali. Dal punto di vista dei nuovi utenti, può essere comprensibile che i nuovi utenti non abbiano familiarità con la quantità di danno che può essere fatto, sebbene ciò non libera il nuovo utente dalla responsabilità. Non ha senso condannare il comando o l'utente, ma il modo giusto dovrebbe essere sviluppare abitudini di verifica dei propri passi nella riga di comando o altrove. Questo non si applica solo a Ubuntu, ma all'informatica in generale, e viene fornito con esperienza e spesso attraverso effettivamente fare errori e rompere il sistema solo per ripararlo e romperlo di nuovo.


9
Si vuole anche rivedere come l'errore è stato fatto, in primo luogo, perché la scrittura di sudoseguito da rm -rfseguito da un nome di directory non intenzionale seguita da *non dovrebbe essere qualcosa che il tuo cervello permette che accada. Potrebbero essere necessarie azioni correttive / modifiche ai comportamenti per evitare problemi molto peggiori in futuro.
Razze di leggerezza in orbita

1
@LightnessRacesinOrbit Penso che questo commento dovrebbe essere posto sotto la domanda di OP, ma sono d'accordo - l'utente deve sapere cosa digita ed evitare di fare rm -rfsenza controllare e assicurarsi di rimuovere prima la cosa giusta.
Sergiy Kolodyazhnyy il

1
Beh, penso che dovrebbe essere aggiunto alla risposta è il motivo per cui l'ho messo qui :) I commenti sotto la domanda dovrebbero essere per suggerire chiarimenti alla domanda
Lightness Races in Orbit

1
@KasperThystrupKarstensen Concordato. Spesso puoi anche vedere echoprima di essere anteposto a un comando che intendi eseguire con caratteri jolly o altri comandi distruttivi. Ad esempio, il echo rm /tmp/*tipo di cosa
Sergiy Kolodyazhnyy il

1
È perfetto, grazie. Ovviamente non è come se non avessi mai fatto un simile errore, ma ho immediatamente rivisto l'errore e modificato le mie pratiche, in modo tale da non averlo mai più fatto :) È un'esperienza formativa fintanto che tu impari da esso.
Razze di leggerezza in orbita
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.