16 votes

Accidentellement supprimé le dossier "/ usr / share"

Le système ne démarre pas. Ai-je accidentellement fait ça en utilisant rm - R. Comment puis-je récupérer le système ?

49voto

N0rbert Points 86925

Vous devez réinstaller toutes les applications qui ont des fichiers dans /usr/share.

  1. Démarrer le système en mode Mode de récupération avec invite de root.

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

  3. Élever l'interface Ethernet et obtenir une adresse IP du serveur DHCP : dhclient enp0s3 (vérifier le nom d'interface correct dans ip a ou ifconfig -a).

  4. Spécifier le serveur DNS par

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

    (remplacer 192.168.1.1 par votre passerelle/routeur)

  5. Vous devez corriger le package dpkg car il manque le fichier /usr/share/dpkg/cputable (sinon vous rencontrerez l'erreur "E: erreur de lecture du tableau cpu" sur n'importe quelle commande 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 depuis le 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. et ensuite utiliser la ligne de commande ci-dessous :

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

    Au-dessus :

    • dpkg -S /usr/share/ montre 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 VM, j'ai eu un problème avec bsdmainutils, donc je les ai réinstallés avec :

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

    et ensuite j'ai relancé la ligne de commande ci-dessus.

  9. réparer les packages cassés

    dpkg --configure -a
    apt-get install -f
  10. enfin, réparez le lien /etc/resolv.conf en

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

Remarque : le système corrigé résultant ne montre aucun problème lors de l'exécution de sudo apt-get check ou sudo debsums --all --changed.

2voto

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 disque dans un autre ordinateur et testerais des utilitaires de récupération de fichiers disponibles pour ext3 / ext4. Une recherche rapide sur 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

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

etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X