web-dev-qa-db-fra.com

Répertoire non supprimable dans lost + found

Comment puis-je supprimer ce répertoire? J'ai fait fsck et il a trouvé des ordures. J'ai parcouru ces fichiers et il n'y avait rien d'important. J'ai donc essayé de supprimer le contenu de /lost+found et tout est parti sauf ce répertoire étrange. Je pensais que le mettre dans /tmp (je peux déplacer ce répertoire sur le volume) l'effacera au prochain redémarrage, mais il est toujours là après le redémarrage et un autre fsck.

Comme il semble que le problème est de faible niveau et que jouer avec la propriété et les autorisations ne suffit pas, je vous ai permis de reproduire le problème par vous-même. Profitez-en!

  • Ceci est sûr, vous pourrez démonter une image pour vous débarrasser de ces répertoires sur votre machine;
  • Ce n'est pas une image ISO, c'est le résultat de dd if=/dev/sda1 of=/files/broken.iso;

J'ai créé une archive de 15 Mo avec une image d'environ 1,2 Go. Vous pouvez télécharger et utiliser les commandes suivantes:

cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
Sudo mount broken.iso test
cd test

Il y aurait deux répertoires (lors de la création de cette image, il apparaît qu'il existe deux répertoires de ce type sur mon disque):

/tmp/test> tree
.
├── 1
│   └── plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
└── 2
    └── #1589030 [error opening dir]

4 directories, 0 files

Bonne chance pour supprimer ces deux répertoires:

/tmp/test> Sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted

/tmp/test> Sudo chown -R root:root *
chown: changing ownership of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chown: cannot read directory '2/#1589030': Permission denied

/tmp/test> Sudo chmod -R 777 *
chmod: changing permissions of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chmod: changing permissions of '2/#1589030': Operation not permitted
chmod: cannot read directory '2/#1589030': Permission denied
8
Grief

Une possibilité est l'indicateur immuable dans le cas d'un système de fichiers ext. Voir le résultat de la commande lsattr. Si i est présent, vous pouvez le supprimer avec chattr -i filename

Un fichier avec l'attribut 'i' ne peut pas être modifié: il ne peut être ni supprimé ni renommé, aucun lien ne peut être créé avec ce fichier et aucune donnée ne peut être écrite dans ce fichier. Seul le superutilisateur ou un processus possédant la capacité CAP_LINUX_IMMUTABLE peut définir ou effacer cet attribut.

Dans ce cas, il se passe autre chose

Cela semble fonctionner,

> lsattr 1
-----a---------- 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1
rmdir: failed to remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
> chattr -a 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1

> lsattr 2
---D-ad--j--T--- 2/#1589030 
> chattr -D -a -d -j -T 2/\#1589030
> rmdir 2/\#1589030
7
J.J. Hakala

essayez de devenir l'utilisateur qui le possède pour le supprimer

Sudo -u 6666 -g 19312 rm -rf ./#1589030
1
Amias