Suppression accidentelle du dossier «/ usr / share»

16

Le système ne démarre pas. Il l'a fait en utilisant rm - Raccidentellement. Comment puis-je récupérer le système?

Mouvre
la source
êtes-vous sûr d'avoir supprimé le /usr/sharedossier .. essayez .. ouvrez une session avec la session en direct .. copiez et collez le /usr/sharedossier de la session en direct sur vos partitions racine/usr/share
YuganTej
1
Ce que @PRATAP a suggéré peut vous permettre de vous reconnecter, mais de nombreux programmes utilisateur y stockent des données d'application, de sorte que cela ne corrigera au mieux que les programmes utilisés par votre système `` en direct '' (installer le support). Vous aurez alors à d' install --reinstallautres programmes; ou vous pouvez simplement réinstaller en utilisant «autre chose», pas de format et il prendra note de vos applications installées, essuyez les répertoires système puis installez, puis réinstallez vos programmes supplémentaires (si dans les dépôts Ubuntu); mais cette option peut être une solution de rechange de toute façon, car vous en apprendrez probablement plus en essayant de la résoudre vous-même en premier. Il y a toujours la restauration de vos sauvegardes.
guiverc
-> avec juste rm -R dans / usr / share RIEN n'est supprimé. Le contenu appartient à root, donc un utilisateur normal ne peut pas le supprimer
Rinzwind
@Rinzwind Et si oui, pourquoi le système ne se charge pas? Comment puis-je obtenir la racine pour le réparer?
Mouvre
avez-vous peut-être fait sudo rm -R? La réponse que n0rbert a postée me semble bonne. C'est la voie à suivre
Rinzwind

Réponses:

48

Vous devez réinstaller toutes les applications contenant des fichiers /usr/share.

  1. Système de démarrage à partir du mode de récupération avec invite racine .

  2. Remontez rootfs en mode lecture-écriture avec mount -o rw,remount /.

  3. Relevez l'interface Ethernet et obtenez l'adresse IP du serveur DHCP: dhclient enp0s3(vérifiez le nom d'interface correct dans ip aou ifconfig -a).

  4. Spécifiez le serveur DNS par

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (passez 192.168.1.1à votre passerelle / routeur)

  5. Vous devez corriger le dpkgpaquet car il manque le /usr/share/dpkg/cputablefichier (sinon vous ferez face à la commande "E: error reading the cpu table"apt / apt-get)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    ou l'installer à partir du cache:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. mettre à jour le cache du package:

    apt-get update
    
  7. réinstaller les composants essentiels

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. puis utilisez une doublure ci-dessous:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Au dessus:

    • dpkg -S /usr/share/ affiche la liste des packages séparés par des virgules
    • sed 's/,//g' - supprime les virgules
    • sed 's/: \/usr\/share//g'- supprime : /usr/shareà la fin

    Cette partie peut échouer avec des messages sur certains packages. Par exemple, sur ma machine virtuelle avec laquelle j'ai eu un problème bsdmainutils, je les ai donc réinstallés avec:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    puis refaire une doublure ci-dessus.

  9. réparer les paquets cassés

    dpkg --configure -a
    apt-get install -f
    
  10. enfin fixer le /etc/resolv.conflien par

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. redémarrer.

Remarque: le système fixe résultant ne présente aucun problème lors de l'exécution de sudo apt-get checkou sudo debsums --all --changed.

N0rbert
la source
cette commande doit être utilisée à partir d'une session en direct?
YuganTej
@PRATAP du mode de récupération suffit.
N0rbert
OK, c'est bien .. mais même après la suppression /usr/share, grub fonctionnera normalement et affichera le menu grub? je pense que je dois le supprimer et voir dans ma réponse pc..nice pratique..Merci ..
YuganTej
1
Je viens de le tester sur VM. C'est presque une solution de travail.
N0rbert
1
@ N0rbert Merci pour votre aide, ça marche vraiment!
Mouvre
2

Réponse courte: vous ne pouvez pas et vous devez réinstaller les applications, comme suggéré par une réponse précédente.

Cependant, avant cela, je monterais le lecteur sur un autre ordinateur et testerais les utilitaires de suppression qui sont disponibles pour ext3 / ext4. Une recherche rapide dans Google pointe vers ceux-ci:

extundelete: http://extundelete.sourceforge.net/

easeus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Comment guider: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

etc.

Jose Manuel Gomez Alvarez
la source
Je suggère testdeleteparce que j'ai connu une fois: p
αғsнιη