10.14 Mojave Le casse tête du fichier indestructible !

castelcerf

Membre junior
1 Mars 2012
64
2
36
Bonjour, j'essaie désespérément de me débarrasser d'un dossier sans succès. Peux être allez vous avoir plus de succès que moi ?

Suite à la suppression d'un compte utilisateur admin, je ne sais pas pourquoi il est m'est resté sur les pattes un dossier user en question.
je l'ai donc passé à la corbeille mais là, impossible à effacer, la corbeille me donne le message d'erreur "l'élement est utilisé blabla.."

Au grand mots les grands moyen j'affiche les fichiers cachés pour voir ce qui bloque.

On trouve dedans Library/Voicetrigger/SAT

Je modifie les droits d'admin de library qui avait le ptit panneau rouge et de voicetrigger, histoire d'avoir le droit d'écriture partout. Et je retente en effaçant un à un les élements.

Mais au final il me reste toujours ce foutu fichier SAT dans le dossier VoiceTrigger.
Je ne peux pas sortir SAT de son dossier, lorsque je lis les informations de ce fichier il me dis dans partage et permissions: "vous ne disposez pas d'un accès connu" et dans plus d'info "récupération en cours..."

Par curiosité je suis allé voir dans mon propre dossier bibliothèque, j'ai moi aussi un voicetrigger avec le même SAT ayant les mêmes infos.

Si je tente d'effacer par la corbeille j'obtiens toujours impossible car "l'élément voicetrigger est utilisé"

....

Bon je passe à l'artillerie lourde et je me décide à utiliser Onyx.
Je tente d'effacer la corbeille, et même l'effacement du dossier en lui même. Sans succès. Pas de message d'erreur, mais il ne se passe juste rien. Le dossier reste là bravement contre vents et marée...

J'ai été voir dans le moniteur d'activité voir si je trouve une trace de ce SAT ou de voicetrigger rien...

Que puis je faire d'autre ? ...

J'en suis au point ou je me dis que je vais le mettre dans ma propre bibliothèque à côté de mon dossier voicetrigger en lui changeant le nom; histoire de simplement le cacher à l'endroit le plus logique... Car le laisser trainé dans ma corbeille m'énerve...

Une idée ?

Cordialement,
Paul.
 
  • Haha
Réactions: WheelNelly

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
76 998
23 663
Forêt de Fontainebleau
Bonsoir castelcerf

Supprimer le dossier en question depuis le Terminal de l'OS de secours --> devrait ne pas rencontrer de difficulté > dès lors que l'environnement de macOS n'étant pas démarré > aucun processus ne sera susceptible d'utiliser le dossier en question.

Toujours dans ta session d'utilisateur habituelle pour l'instant >
- va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
ls /Users
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • la commande affiche les dossiers de comptes du répertoire Utilisateurs
  • si tu as un souci de confidentialité à propos de ton dossier de compte (parce que son intitulé serait prenomnom) --> laisse prenom en clair et remplace nom par des xxx (exemple martialdurand = martialxxxxxx). Mais laisse l'intitulé en clair du dossier à supprimer.

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->
  • dans la page de ce fil de MacGé > presse le bouton http://chebmann.free.fr/jpg's chat/MacGe/InsererCodeMcGe.jpg ici :

    menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

=> ces informations montreront le nom du dossier à supprimer dans les Utilisateurs.
 
  • Wow
Réactions: WheelNelly

castelcerf

Membre junior
1 Mars 2012
64
2
36
Bonsoir,

Bloc de code:
Last login: Tue Oct 30 22:50:27 on ttys000
MacBook-Pro-de-paul:~ casp$ ls /Users
Guest    Shared    casp
MacBook-Pro-de-paul:~ casp$

Voilà ce que cela donne. Il n'y a plus de trace de l'ancien compte. Casp est mon compte administrateur actuel.
Le fichier qui m'embête se trouve actuellement dans ma poubelle.
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
76 998
23 663
Forêt de Fontainebleau
Passe encore la commande :
Bloc de code:
diskutil list

  • qui affiche le tableau des disques > partitions > volumes > conteneurs

Poste-le --> que je voie la configuration du disque (et le nom du volume de démarrage).
 

castelcerf

Membre junior
1 Mars 2012
64
2
36
Merci pour l'aide !
Voici le resultat de la commande:

Bloc de code:
MacBook-Pro-de-paul:~ casp$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            301.9 GB   disk1s1
   2:                APFS Volume Preboot                 45.3 MB    disk1s2
   3:                APFS Volume Recovery                512.4 MB   disk1s3
   4:                APFS Volume VM                      3.3 GB     disk1s4

MacBook-Pro-de-paul:~ casp$
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
76 998
23 663
Forêt de Fontainebleau
Le nom du volume de démarrage est Macintosh HD. Quant à la corbeille > c'est un dossier invisible intitulé .Trash à la racine de ton dossier de compte casp.

Donc voici l'essai que tu peux faire -->

- redémarre > et tiens pressées les 2 touches ⌘R (cmd R) à partir de l'écran noir jusqu'à l'affichage d'une  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS.

  • lance d'abord l'Utilitaire de disque afin de vérifier si le volume Macintosh HD est bien libellé en noir (= monté) dans la colonne de gauche. S'il était libellé en grisé (= démonté) > ce serait parce que FileVault serait activé et verrouillerait le volume. Dans ce dernier cas > sélectionne le volume grisé > bouton : "Monter" > ton mot-de-passe de session dans le panneau qui le demande --> le volume Macintosh HD doit être libellé en noir, si remonté.

Le volume assuré monté > quitte l'Utilitaire de disque > va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal. Passe la commande exacte :
Bloc de code:
rm -rf /Volumes/"Macintosh HD"/Users/casp/.Trash/*

  • soigne la saisie ; mets "Macintosh HD" avec les "" ; pas d'espace (surtout !) entre HD" et la / qui suit ; pas d'espace entre casp/ et .Trash/* ; termine bien par un astérique *
  • la commande supprime les contenus de la corbeille du compte casp > dans le volume Macintosh HD

Cela fait > quitte le Terminal > va à : Menu  > Disque de démarrage > Macintosh HD > redémarre dessus -->

  • tu n'auras qu'à dire si la question est réglée...
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Deux manières, dans Terminal, de savoir par quel(s) processus un fichier (ou un dossier, aussi bien : un dossier est un fichier) est utilisé.

Soit on utilise la commande lsof, qui liste tous les fichiers ouverts par toutes les applications, soit on utilise la commande fuser.

Pour fuser, il faut indiquer le chemin exact du fichier. Ici, on aurait tapé :
Bloc de code:
fuser /Users/casp/.Trash/Library/Voicetrigger/SAT
En retour, on obtient la liste des processus utilisant le fichier. Quelque chose comme :
Bloc de code:
/Users/casp/.Trash/Library/Voicetrigger/SAT: 13255c 15196c
Les numéros sont les identifiants numériques respectifs des processus.
Il ne reste plus qu'à retrouver les processus en question, soit dans Terminal, soit avec le Moniteur d'Activité, pour, éventuellement les zigouiller.

Avec lsof, c'est un peu l'inverse : on récupère tout et on trie. Ici, tu aurais tapé :
Bloc de code:
lsof | grep /Users/casp/.Trash/Library/Voicetrigger/SAT
et tu aurais obtenu la liste des processus souhaités, avec leurs PID.
C'est plus immédiat. Mais cette commande prend parfois du temps à s'exécuter : si on doit répéter les opérations, fuser est plus pratique car plus rapide.

À partir de là, il est facile donc de tuer les processus.
[Mais, puisqu'on est dans Terminal, le blocage rencontré au niveau du Finder n'est pas pris en compte et aussi bien on peut supprimer le fichier. Cela dit, mieux vaut quand même savoir ce qu'on fait, pour éviter les manipulations risquées.]

NB : lorsqu'un fichier refuse obstinément d'être supprimé (il s'accroche), il y a moyen de passer outre en appliquant une tactique un peu risquée mais efficace : récupérer son numéro et le supprimer par ce numéro plutôt que par son nom.
Ici, on récupère le numéro du fichier SAT :
Bloc de code:
ls -i /Users/casp/.Trash/Library/Voicetrigger/SAT
Ça renvoie quelque chose comme :
Bloc de code:
1444885 /Users/casp/.Trash/Library/Voicetrigger/SAT
(le numéro est ici à titre d'exemple : tu aurais obtenu un autre numéro ; la longueur de ce numéro est variable).
Ensuite, on supprime en utilisant la commande de recherche :
Bloc de code:
find /Users/casp/.Trash/Library/Voicetrigger -inum 1444885 -exec rm {} +
Et hop.
Technique imparable pour tout fichier au nom impossible à taper dans une commande (avec des caractères asiatiques en UTF-8 ou des caractères spéciaux, par exemple). Dans ce cas on liste le dossier qui le contient, récupère le numéro du fichier en question et on le supprime.
 

litote-gironde

Nouveau membre
4 Décembre 2019
3
0
79
J'ai connu, sous catalina, le même problème du "fichier indestructible". Ayant retrouvé ce post, je l'ai appliqué et cela n'a pas marché... Après moult bidouilles j'ai découvert que le nom affiché de mon utilisateur ne correspondait pas à celui utilisé pour le répertoire racine de mes fichiers. Ceci rendait inopérante la commande unix rm, puisqu'elle ne portait pas sur le bon répertoire.
Editant mon compte à l'aide des fonctions avancées, j'ai retrouvé le nom réel du répertoire et la manoeuvre "rm" a bien fait disparaître l'importun... Cheers!
 

elodouwen

Membre junior
12 Avril 2010
22
0
Tarbes
www.mathoscope.xyz
bonjour je trouve ce post. j'ai un peu la flemme de faire la manip comportant le redémarrage etc alors dans un premier temps j'ai essayé celle avec le numéro

j'ai donc tapé
ls -i /Users/moi/.Trash/jean-octavepleffier
puis
find /Users/moi/.Trash/jean-octavepleffier -inum 1432874 -exec rmdir {} +
1432874 étant le numéro indiqué par la première ligne
comme ça fonctionnait pas ("not permitted") j'ai fait :
sudo find /Users/moi/.Trash/jean-octavepleffier -inum 1432874 -exec rmdir {} +
et j'ai tapé mon mot de passe mais il a renvoyé
find: /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger/SAT: Operation not permitted
rmdir: /Users/moi/.Trash/jean-octavepleffier/Library: Directory not empty
et le fichier est toujours là

du coup je suis allé chercher le fichier au bout de l'arborescence et j'ai fait
ls -i /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger
et là il ne veut pas non plus :
ls: SAT: Operation not permitted

une idée ?
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 928
3 161
Quelle version du système est installée ?

Si même le super utilisateur (root) n'a pas le droit de supprimer le fichier, cela peut être dû à une protection supérieure gérée par le SIP ou plus simplement à la présence d'ACL ou encore à un attribut du fichier.
Les ACL sont des listes de droits que l'on peut ajouter aux droits simples du système et qui sont plus contraignants. Pour ton fichier, tu peux vérifier s'il y a une ACL en tapant :
Bloc de code:
ls -el /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger

Pour voir les attributs du fichier (s'il en a) :
Bloc de code:
ls -@ /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger
 

elodouwen

Membre junior
12 Avril 2010
22
0
Tarbes
www.mathoscope.xyz
Merci de ta réponse.

* Je tourne sous mac os X 10.14.6 et mon bash est celui-ci :
Bloc de code:
(-----------) bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

* voici le résultat des commandes que tu m'as indiquées :
Bloc de code:
(-----------) ls -el /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger
ls: SAT: Operation not permitted

(-----------) sudo ls -el /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger
Password:
ls: SAT: Operation not permitted

(-----------) ls -@ /Users/moi/.Trash/jean-octavepleffier/Library/VoiceTrigger
SAT[/CODE]
 
Dernière édition par un modérateur:

Pascal-007

Membre confirmé
15 Mars 2001
102
5
Québec, QC
La solution de @macomaniac fonctionne encore sous macOS 11 Big Sur :
  1. Redémarrer et tenir pressées les 2 touches et R à partir de l’écran noir jusqu’à l’affichage de la  (c’est un démarrage sur l’OS de secours).
  2. Lancer l’Utilitaire de disque afin de monter le volume «Macintosh HD - Data». Sélectionner le volume grisé dans la barre latérale gauche et cliquer sur le bouton «Monter» qui est dans la barre d’icônes. Entrer son mot de passe de session dans le panneau qui apparait. Le volume «Macintosh HD - Data» deviendra alors coloré dans la barre latérale et une vérification de son contenu peut alors être effectuée avec «SOS disque» s’il est en effet monté.
  3. Quitter l’Utilitaire de disque.
  4. Dans la barre de menu, choisir le menu «Utilitaires» puis le sous-menu «Terminal».
  5. Dans la fenêtre du Terminal, taper la commande suivante : «rm -rf /Volumes/"Macintosh HD - Data"/Users/xxxxxxx/.Trash/*», en remplaçant xxxxxxx par le nom d’utilisateur de session.
  6. Quitter le Terminal.
  7. Choisir «Redémarrer».
  8. Tout devrait être réglé (en tout cas, ça a réglé mon problème).