Dal momento che hai solo cancellato /usr/lib/*
e non /lib/*
, probabilmente puoi recuperare. Penso che tutti i programmi necessari per ripristinare il sistema in modo critico utilizzino solo le librerie /usr/lib
.
Avvia un prompt di accesso al testo. Se l'avvio normale non ti dà un login:
prompt in modalità testo, avvia solo con servizi minimi. Tenere premuto Shiftquando il computer inizia a mostrare il prompt di Grub; è necessario premere il tasto dopo che il BIOS ha inizializzato la tastiera ma prima del caricamento di Grub, che su alcune macchine lascia solo una piccola finestra temporale e potrebbe richiedere diversi tentativi. Al prompt di Grub, premere Downper evidenziare la voce di avvio in modalità utente singolo e avviarla.
Una volta che hai una riga di comando, esegui apt-get --reinstall install PACKAGE1 PACKAGE2 …
per reinstallare i pacchetti che contengono file /usr/lib
. Puoi eseguire questo frammento di shell per ottenere l'elenco dei nomi dei pacchetti da reinstallare:
egrep -l '/usr/lib/[^/]*\.so\.' /var/lib/dpkg/info/a*.list |
sed -e 's!^/var/lib/dpkg/info/!!' -e 's!\.list$!!'
Alcuni script di installazione dei pacchetti potrebbero richiedere la presenza di librerie di altri pacchetti, pertanto potrebbe essere necessario eseguire le reinstallazioni in un ordine particolare. Se scopri che gli script di installazione di un pacchetto stanno tentando di utilizzare un determinato programma, puoi scoprire con quali librerie è necessario questo programma ldd
. Ad esempio, questo indica che in Python mancano tre librerie che è necessario reinstallare:
$ ldd /usr/bin/python | grep 'not found'
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => not found
libz.so.1 => not found
dpkg -S /usr/lib/libz.so.1
rivela che questo file proviene zlib1g
e così via.
Se non riesci apt-get
a scaricare i pacchetti, scarica prima alcuni pacchetti chiave da un CD live. zlib1g
e libssl0.9.8
sono due pacchetti che molto probabilmente ti serviranno presto.