Cette question a déjà une réponse ici:
J'ai accidentellement publié «sudo rm -rfd *» dans le répertoire / usr / local. Que devrais-je faire pour au moins retrouver le résultat d'une nouvelle installation (Linux Mint 15)?
linux
linux-mint
Lancier
la source
la source
/usr/local
contient généralement des fichiers provenant d'applications qui ne sont pas installées à l'aide du gestionnaire de paquets. Si vous ne le faisiez pas, il était probablement vide, à l'exception des répertoires de niveau supérieur.Réponses:
N'essayez jamais de récupérer des fichiers système
Oh, s'il vous plaît, ne recommandez jamais de récupération de fichier pour les fichiers système! La récupération de fichier peut être tentée sur des fichiers plus uniques , comme un texte que vous avez écrit vous-même.
Récupérer des fichiers du système, c'est quémander des ennuis.
1ère solution
Pour votre système, réinstallez-le simplement. Vous n'avez pas besoin de nettoyer / formater quoi que ce soit pendant l'installation: tout ce qui manque sera simplement remplacé. Vous aurez juste à mettre à jour comme d'habitude.
Mais cela ne devrait pas être nécessaire car il
/usr/local
est certainement vide sur votre système.2ème solution
D'habitude, il n'y a presque rien dans ce dossier. Si vous savez que vous y avez installé quelque chose, réinstallez-le.
Enfin, certains paquets peuvent avoir mis des fichiers dedans. Ouvrez simplement un terminal et vérifiez que les commandes suivantes ne génèrent rien:
Des explications
Ce qu'il fait est assez simple:
affichera la liste des paquets installés sur votre système au format suivant:
Mais nous voulons seulement
package_name
pour chaque ligne:|
indiquebash
(le programme qui s'exécute dans le terminal) que la sortie de la commande précédente ne doit pas être affichée mais "acheminée" dans le programme suivant (icicut
).cut
, comme son nom l’indique, coupera chaque ligne en mots et ne gardera que le premier champ (-f 1
) qu’elle affichera.Pour résumer,
devrait renvoyer la liste des paquets installés sur votre système.
Nous pouvons maintenant diriger cette liste vers
xargs
laquelle agit tel que "pour chaque élément de la liste do ...".Ici,
va exécuter:
pour chaque nom de paquet que vous donnez à travers le tuyau.
dpkg -L mypackage
liste les fichiers contenus dans le paquet nommé "mypackage".Et maintenant, nous devons juste prendre cette liste de fichiers et vérifier si un paquet a effectivement créé un fichier
/usr/local
. Nous le faisons avecgrep
lequel filtrera toute sortie ne contenant pas/usr/local
.Donc, si nous le mettons en ordre, nous obtenons d’abord la liste des packages installés, puis nous formatons cette liste pour ne conserver que les noms des paquets, puis nous listons les dossiers d’installation utilisés par le paquet, puis nous les filtrons pour ne conserver que ce qui est à l’intérieur. de
/usr/local
.Si la commande ne renvoie rien, vous n'avez pas à vous inquiéter.
Alternative de l'interface graphique
À ma connaissance, il n'y a pas d'alternative graphique.
la source
Il n'est pas nécessaire de réinstaller le système d'exploitation, car celui-ci ne doit rien stocker dans
/usr/local
ou dans/opt
(ces deux types sont plus ou moins identiques).Cependant, tous les programmes que vous avez compilés vous-même ou qui ont été installés via un gestionnaire de paquets ou l’arborescence des ports peuvent très bien se retrouver dans / usr / local /.
Pour cela:
(Utilisez apt-get ou dpkg -l pour lister les paquets).
la source