10.11 El Capitan Corbeille : fichier immédiatement supprimé

:coucou: phelibre

Si, en tant qu'utilisateur donc la session est ouverte, tu es bien l'admin 501 (tu peux le vérifier en allant à: Menu  > Préférences Système > Utilisateurs et groupe > déverrouiller le cadenas > ctrl-clic sur ton nom d'utilisateur > Options avancées > Identifiant d'utilisateur = 501) ; et si le volume monté de ta clé sur le Bureau s'intitule CLE (pure hypothèse), alors voici l'adresse absolue de ta corbeille d'utilisateur du volume de cette clé : /Volumes/CLE/.Trashes/501 (tu saurais sans aucun problème transposer les termes transposables : nom du volume CLE et/ou identifiant 501 d'utilisateur à leur place exacte dans cette adresse).

Il s'ensuit que la commande dans le «Terminal» permettant de ne vider que le contenu de ta corbeille dans le volume de la clé est (dans mon exemple) :
Bloc de code:
rm -rf /Volumes/CLE/.Trashes/501/*


Si tu utilisais répétitivement une telle clé USB et souhaitais pouvoir vider sélectivement ta seule corbeille dans le volume de cette clé en un clic, alors va à : Applications/Utilitaires et lance l'«Éditeur de script». Dans la fenêtre vierge qui s'affiche, tu fais un copier-coller de la commande (mutatis mutandis pour le nom du volume CLE et l'identifiant 501 s'il y a lieu) :
Bloc de code:
do shell script "rm -rf /Volumes/CLE/.Trashes/501/*"

et tu presses le petit bouton du marteau tire-clous au-dessus pour compiler ta ligne. Cela fait, tu vas au menu supérieur : Fichier > Exporter et tu remplis les champs ainsi (par exemple) :

Exporter comme : Vide-CLE
Emplacement : tu laisses Applications (default)
Format de fichier : tu bascules Script (default) vers Application (important !)​


et tu presses le bouton "Enregistrer". Ta petite application se trouve copiée dans le dossier d'Applications de ton compte personnel phelibre (pas le répertoire général des Applications) sous l'intitulé : Vide-CLE.app => tu peux en faire un glisser-déposer dans ton Dock où désormais tu peux activer l'application en un clic lorsque ta clé est attachée au Mac et que tu as mis des éléments dans ta corbeille de son volume.
 
Dernière édition par un modérateur:
Parfait avec le script récupéré sur le forum de macbidouille :)

Il me reste un petit soucis o_O j'ai plusieurs machines et notamment un MacMini et un MacAir avec le même compte iCloud. Le problème que je n'avais pas remarqué est le suivant: Sur une machine mon EUID=502 et sur l'autre 503 donc le ne peux pas vider complètement ma corbeille car les EUID sont différents :mad:

Cette attribution n'est déclarée dans /etc/password :D (j'ai été sous linux de 1998 à 2005) et je ne sais pas vraiment ou je peux le modifier ...

Merci,
 
Dans ce cas, il faudrait adapter le script pour passer successivement l'identifiant 501, puis 502 puis 503 et vider ainsi la corbeille pour chacun des 3 utilisateurs possibles.

Il faudrait certainement dans ce cas passer par "sudo rm..." et le mot de passe administrateur pour être autorisé à supprimer la corbeille 502 ou 503 si on est loggué comme 501....
 
Ben non, le script n'est plus universel mais réservé aux UID 501 502 503 !!!
Si tu regardes le script tu as :
set {num_Session, Liste_Disks} to {do shell script "echo $UID", {}}
...
set quoi to (do shell script "cd /Volumes/\"" & nom_Volume & "\"/.Trashes/" & num_Session & ";ls ")
 
Parfait avec le script récupéré sur le forum de macbidouille :)

Il me reste un petit soucis o_O j'ai plusieurs machines et notamment un MacMini et un MacAir avec le même compte iCloud. Le problème que je n'avais pas remarqué est le suivant: Sur une machine mon EUID=502 et sur l'autre 503 donc le ne peux pas vider complètement ma corbeille car les EUID sont différents :mad:

Cette attribution n'est déclarée dans /etc/password :D (j'ai été sous linux de 1998 à 2005) et je ne sais pas vraiment ou je peux le modifier ...

Merci,
Tu as accès à ces informations de diverses manières :
a) Préférences Système > Comptes > Ton compte : clic droit sur ton compte et "Options Avancées"
b) WorkGroup Manager : un utilitaire toujours téléchargeable, qui te permet de consulter/modifier l'annuaire local (je ne l'ai pas testé avec El Capitan mais il doit continuer de fonctionner, dans l'ensemble)
c) dscl : commande en mode texte qui permet d'accéder en lecture/écriture à l'annuaire local

Bien entendu, modifier l'identifiant d'un compte se fait avec prudence... (commencer par créer un autre compte capable d'administrer la machine, que l'on utilisera pour effectuer les opérations, la session du compte à modifier étant fermée).
 
Pour régler cette question intrinsèquement,
[...]

Bloc de code:
sudo chown -R marcmame:staff
en modifiant uniquement le nom de l'user marcmame à sa place exacte s'il y a lieu (c'est ton nom abrégé tel qu'il est affiché avant le $ dans l'invite de commande de la fenêtre du «Terminal» que tu mets) et en respectant les espaces libres. Cela fait, tu commences par sélectionner la ligne et par ⌘C tu la copies dans le presse-papier de manière à pouvoir la recoller pour les autres volumes que celui concerné en premier. Puis, tu sautes un espace (par rapport au dernier caractère saisi : le f de staff) et tu fais un glisser-déposer direct de l'icône du volume incriminé dans la fenêtre du «Terminal», ce qui va renseigner l'adresse au volume et son nom exactement. Tu exécutes alors la commande. Tu recolles la ligne, tu re-sautes un espace et hop ! glisser-déposer du nouveau volume incriminé, ce jusqu'à épuisement des ressources.

=> Il te suffira, dans une fenêtre d'info du Finder ciblée sur un volume, de décocher la case "ignorer les autorisations de ce volume", puis de faire un test de suppression de fichier, pour vérifier si l'opération a été concluante.

Hello macomaniac.
Après avoir appliqué tes instructions dans le terminal sur mes disques, j'ai en retour un "Operation not permitted"
sur environ 50 fichiers par disques traités. Normal ?
Il s'agit essentiellement de vieux fichiers archivés (Excel/Word/.txt/.rtf/...)

Autre problème sans doute lié : même en ayant ignoré les autorisations des volumes, Spotlight ne renvoi pas (ou peu) de réponses sur les recherches sur ces disques.
J'ai essayé Onyx pour reconstruire la base de données ----> No go.
Ensuite, j'ai mis tous les disques en exclusion dans les prefs de confidentialité de Spotlight et redémarré le mac ---> pas mieux.
 
Les fichiers sont peut-être verrouillés par le flag d'immutabilité uchg (un_change).

Fais le test suivant => Tu saisis dans une fenêtre du «Terminal» le départ de commande :
Bloc de code:
sudo chflags -R nouchg
(l'utilitaire change_flags = changer les attributs est appelé, avec l'option récursive -R pour opérer sur tous les éléments contenus dans le volume, et l'argument nouchg : no_un_change => résilier l'attribut de non_changement - ce qui équivaut à une double négation
361608_original.png
).

Ton départ de commande saisi, tu sautes un espace (même procédé que ci-devant) et tu fais un glisser-déposer de l'icône d'un volume pour avoir l'adresse automatique de la cible => tu actives la commande avec password à l'aveugle dans la foulée.

Une fois la commande passée, tu repasses sur le même volume le départ de commande antérieur :
Bloc de code:
sudo chown -R marcmame:staff
+ saut d'espace + glisser-déposer du même volume (pas besoin de password pour un nouveau sudo dans un délai de 5' après une première authentification). Regarde si le problème est réglé.
 
Je vais essayer ça !
Et tu as une idée sur mon problème de Spotlight ?
 
Spolight retourne des informations uniquement d'après les bases de méta-données qui ont été créées au préalable, par des agents d'indexation comme mds ou md-worker (qui sont ses auxiliaires).

Tu as un moyen spécifique de liquider la base de méta-données d'un volume précis, ce qui lance dans la foulée le travail de ré-indexation : c'est de passer une commande mdutil (metadata_utility) ciblée sur le volume en question. Voici la forme de la commande ciblée :
Bloc de code:
sudo mdutil -E /Volumes/"Nom de ton volume"

mdutil est appelé en droits root (sudo) avec l'option -E (Erase : effacer la base de métadonnées et relancer l'indexation) sur la cible constituée par le point de montage d'un volume : dans le répertoire des /Volumes/ (qui sert par défaut de zone de montage aux volumes de tous les disques attachés au Mac) le volume désigné par son nom exact.

Comme dans les commandes antérieures, tu ne t'embêtes pas => tu saisis uniquement le départ de commande :
Bloc de code:
sudo mdutil -E
tu sautes un espace avec la barre d'espacement et hop ! glisser-déposer direct de l'icône du volume monté affichée sur ton Bureau de session dans la fenêtre du «Terminal», ce qui te donne l'adresse exacte au volume.

Le disque doit évidemment être attaché au Mac et son volume monté. L'effacement de la base de méta-données ciblée est instantané - par contre le travail de ré-indexation prend du temps et consomme pas mal de CPU : donc il est normal que les ventilateurs ronflent. Si tu lances le «Moniteur d'activité» (Applications/Utilitaires) en regardant à la lettre m dans l'ordre alphabétique des processus du Système, tu vas voir affichés des mds, md-worker en plein travail => quand plus aucun % du processeur ne reste associé à aucun de ces ilotes (les ventilateurs s'étant calmé), l'indexation est terminée.

=> tu vas bien voir si une telle ré-indexation ciblée améliore les retours de Spolight sur ce volume.