J'ai un lecteur USB externe monté sur mon serveur 14.0.4 (qui n'a pas d'interface graphique que je connaisse). Le contenu de ce lecteur a été créé alors qu'il était attaché à un bureau Windows. Cet ordinateur a depuis été converti en ce serveur 14.0.4. J'essaie de faire un nettoyage de base (suppressions, réorganisation) et un dossier me donne des ajustements.
Si j'essaie de rm -rf le dossier, il me dira qu'un répertoire n'est pas vide, et l'autre a rencontré une erreur d'entrée/sortie:
root@swerver:/media/Cavalry# rm -rf .ReadyDLNA/
rm: cannot remove ‘.ReadyDLNA/art_cache/tmp/mnt/sdb1/My Music/Gogol Bordello - Gypsy Punks (Underdog World Strike)’: Input/output error
rm: cannot remove ‘.ReadyDLNA/art_cache/tmp/mnt/sdb1/My Music/Gogol Bordello - Multi Kontra Culti vs. Irony’: Directory not empty
Si je descends dans le dossier "Ma musique" qui est le parent des deux éléments incriminés afin de mieux les voir, je trouve en fait un peu plus de choses là-bas:
total 33325
drwxrwxrwx 1 root root 49152 Nov 11 18:31 .
drwxrwxrwx 1 root root 0 Nov 10 23:15 ..
-rw-rw-rw- 1 root root 5 Nov 11 18:29 Bloc Party - Silent Alarm
-rw-rw-rw- 1 root root 2270543 Jan 6 2009 Bloc Party - Silent Alarm Remixed
-rw-rw-rw- 1 root root 2189756 Jan 6 2009 Breeders - Pod
-rw-rw-rw- 1 root root 2430533 Jan 6 2009 Cake - Comfort Eagle
-rw-rw-rw- 1 root root 2230473 Jan 6 2009 Clap Your Hands Say Yeah - Clap Your Hands Say Yeah
-rw-rw-rw- 1 root root 1386336 May 25 2014 Dead Milkmen - Eat Your Paisley!
-rw-rw-rw- 1 root root 1887902 May 25 2014 Dead Milkmen - Stoney's Extra Stout (Pig)
-rw-rw-rw- 1 root root 3479647 May 25 2014 De Facto - Legende Du Scorpion A Quatre Queues
-rw-rw-rw- 1 root root 2614188 May 25 2014 De facto - Megaton Shotblast
-rw-rw-rw- 1 root root 1893161 May 25 2014 Deftones - Around The Fur
-rw-rw-rw- 1 root root 4954770 May 25 2014 Elliott Smith - Songs From a Basement on the Hill
-rw-rw-rw- 1 root root 4326380 May 25 2014 Faith No More - Angel Dust
-rw-rw-rw- 1 root root 2334275 May 25 2014 Frank Black - Teenager of the Year
-rw-rw-rw- 1 root root 2046463 Nov 11 18:29 Girl Talk - Secret Diary
d????????? ? ? ? ? ? Gogol Bordello - Gypsy Punks (Underdog World Strike)
drwxrwxrwx 1 root root 4096 Nov 11 18:37 Gogol Bordello - Multi Kontra Culti vs. Irony
Tenter de supprimer les éléments incriminés produit une sortie similaire. Tenter de supprimer ces autres éléments produit des erreurs différentes:
rm: cannot remove ‘Bloc Party - Silent Alarm’: No such file or directory
rm: cannot remove ‘Bloc Party - Silent Alarm Remixed’: No such file or directory
rm: cannot remove ‘Breeders - Pod’: No such file or directory
Ces fichiers sont évidemment là. Je fais cela en tant que root. Je ne peux pas déplacer ou renommer les fichiers: aucun fichier ou répertoire de ce type. Je peux faire écho/rediriger le contenu dans les fichiers pour les écraser sans problème. Je peux utiliser des programmes comme nano pour les ouvrir et les enregistrer sans erreur. Je ne peux tout simplement pas les supprimer.
Pensées?
La ligne "Gypsy Punks" commence "d ?????????" ce qui indique que l'entrée de répertoire est corrompue. Je recommande de sauvegarder ce que vous pouvez à partir du lecteur USB et d'exécuter fsck (contrôle de cohérence du système de fichiers) sur le lecteur. Vous pouvez utiliser "df" ou "fdisk" pour déterminer le nom de périphérique de votre lecteur USB (par exemple/dev/sdb) et la partition dans le lecteur (par exemple/dev/sdb1). Vous pouvez ensuite utiliser "fsck" pour analyser et tenter de réparer le système de fichiers. Notez que puisque la commande fsck changera le lecteur USB, vous risquez de perdre des données sur ce lecteur.
Sudo fdisk -l # to determine the partition name
umount partition_name # since fsck will not work on a mounted drive
Sudo fsck -a partition_name # using the appropriate
Notez que l'option -a appliquera automatiquement toutes les modifications. Laissez-le désactivé si vous souhaitez exécuter fsck de manière interactive.
Une fois que la table de répertoire a été réparée par fsck, vous ne devriez pas voir de points d'interrogation dans la sortie "ls -l" et vous devriez pouvoir supprimer les fichiers que vous souhaitez.
Voir https://linux.die.net/man/8/fsck pour plus de détails sur fsck.