Pendant que j'installais MRTG, par erreur, j'ai supprimé /usr/lib/*.so.*
et/usr/lib/*.so
Je ne peux plus démarrer mon système maintenant, il se bloque sur l'écran de démarrage et lorsque j'appuie sur le bouton PAGEDOWN, je peux voir qu'il y a plusieurs choses qui ne parviennent pas à se charger.
Cependant, DHCP et WebMin sont en cours d'exécution et à partir de Webmin, je peux voir les journaux système qui m'indiquent que cups ne se charge pas car libpipeline.so.1
il manque et plusieurs autres.
Mon ordinateur fonctionne 11.04
/bin
et de/etc
cette façon dans le passéRéponses:
Puisque vous avez seulement supprimé
/usr/lib/*
et non/lib/*
, vous pouvez probablement récupérer. Je pense que tous les programmes dont vous avez absolument besoin pour récupérer votre système utilisent uniquement des bibliothèques/usr/lib
.Démarrez à une invite de connexion texte. Si le démarrage normal ne vous donne pas d'
login:
invite en mode texte, démarrez avec uniquement des services minimum. Appuyez et maintenez Shiftlorsque votre ordinateur démarre pour afficher l'invite Grub; vous devez appuyer sur la touche après que le BIOS a initialisé le clavier mais avant le chargement de Grub, ce qui sur certaines machines ne laisse qu'une petite fenêtre de temps et peut nécessiter plusieurs tentatives. À l'invite Grub, appuyez sur Downpour mettre en surbrillance l'entrée de démarrage en mode mono-utilisateur et démarrez-la.Une fois que vous disposez d'une ligne de commande, exécutez
apt-get --reinstall install PACKAGE1 PACKAGE2 …
pour réinstaller les packages contenant des fichiers/usr/lib
. Vous pouvez exécuter cet extrait de shell pour obtenir la liste des noms des packages à réinstaller:Certains scripts d'installation de packages peuvent nécessiter la présence de bibliothèques d'autres packages, vous devrez donc peut-être exécuter les réinstallations dans un ordre particulier. Si vous constatez que les scripts d'installation d'un package essaient d'utiliser un programme particulier, vous pouvez savoir de quelles bibliothèques ce programme a besoin
ldd
. Par exemple, cela indique qu'il manque trois bibliothèques à python que vous devez réinstaller:dpkg -S /usr/lib/libz.so.1
révèle que ce fichier provientzlib1g
, etc.Si vous ne parvenez
apt-get
pas à télécharger les packages, téléchargez d'abord quelques packages clés à partir d'un CD live.zlib1g
et celibssl0.9.8
sont deux packages dont vous aurez très probablement besoin très tôt.la source
Vous pouvez passer une semaine à trouver tout ce qui manque ou vous pouvez passer une heure à faire une réinstallation à partir du CD, puis à récupérer tous vos anciens paquets.
Je vous suggère de démarrer dans un environnement LiveCD d'abord pour obtenir des sauvegardes de choses en premier (copiez-les sur un lecteur USB externe ou une autre partition), puis redémarrez.
la source
/usr/lib
contenait les bibliothèques partagées de, franchement, tout sauf les logiciels critiques au démarrage (c'est ce qui se passe/lib/
et les choses que vous n'avez pas installées via le gestionnaire de paquets (généralement/usr/local/lib
).Version courte, vous venez d'arroser votre système.
Maintenant, si vous avez encore
/var/cache/apt/archives
plein de choses, avec un peu de magie judicieuse, vous pourrez peut-être sauver la situation.Vérifiez s'il contient toujours des archives de pour les packages suivants:
Ces packages contiennent des bibliothèques
/usr/lib
quiaptitude
nécessitent de fonctionner. Si vous pouvez trouver les packages dans,/var/cache/apt/archives
vous pouvez les réinstaller manuellement avecdpkg -i <packagename
, et une fois qu'ils sont tous installés, aptitude devrait pouvoir s'exécuter.Ensuite, en exécutant la commande,
aptitude reinstall ~i
vous forcerez la réinstallation de chaque package déjà installé, ce qui devrait, espérons-le, restaurer votre système. Je ne peux pas faire de garanties absolues car les dégâts que vous avez causés sont vraiment assez spectaculaires dans ce cas ...la source
Je serais tenté de démarrer à partir d'un CD live Ubuntu 11.04 et d'essayer de recopier les fichiers manquants.
Avant de faire quoi que ce soit, vérifiez que vous disposez de bonnes sauvegardes de tous les fichiers de données générés par l'utilisateur. Sinon, je démarrerais un CD live pour monter le disque dur en lecture seule et effectuer des sauvegardes dès que possible.
la source
Quand j'ai fait quelque chose de similaire, j'ai eu la chance de me rendre compte avant de tenter un redémarrage. À ce stade, votre système fonctionnera encore principalement. Mon approche était de créer une boîte virtuelle avec la même version du système d'exploitation et de copier les fichiers manquants à partir de cela. si vous autorisez l'accès ssh à votre invité virtualbox, vous pouvez utiliser rsync depuis un terminal de votre système principal pour aspirer uniquement les fichiers et les liens manquants. Dans mon cas, il manquait suffisamment de fichiers qu'il était plus facile / plus sûr de copier manuellement à l'aide de scp, donc ce qui suit n'est pas testé (!)
-a est en mode archive (récursif, copie les liens symboliques et les attributs, y compris les horodatages, les autorisations, etc.)
-u saute si la copie de destination est plus récente
-v est verbeux
la source