peut-on trouver quelque part une sorte de liste de commandes utiles "prêtes à l'emploi" ?
Je ne saurais te dire.
Mais je trouve que, de tous les utilitaires disponibles dans le dossiers d'exécutables invisibles de l'OS, l'utilitaire
diskutil (
disk_utility : utilitaire de disque) est de loin le plus important pour un utilisateur d'
OS X.
Tu pourrais essayer de le commander à destination d'une clé USB : c'est ainsi qu'on apprend, en vérifiant ce qui fonctionne > ce qui ne marche pas > et ce qui aurait des effets désastreux. Je te fais une courte démonstration sur une clé USB de 4 Go.
Je passe la commande de base - celle par laquelle on commence toujours avec
diskutil -->
et voici ce que j'obtiens concernant ma clé :
Bloc de code:
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS BROL 3.8 GB disk5s2
D'un coup d'œil, il est facile de voir que la table de partition est
GUID et le volume principal (
J)
HFS+ > que cette clé est donc spécialisée Mac > et qu'il n'y a pas d'espace inemployé sur le disque.
Une commande d'information -->
retourne le tableau des informations de la partition ciblée -->
Bloc de code:
Device Identifier: disk5s2
Device Node: /dev/disk5s2
Whole: No
Part of Whole: disk5
Volume Name: BROL
Mounted: Yes
Mount Point: /Volumes/BROL
Partition Type: Apple_HFS
File System Personality: Journaled HFS+
Type (Bundle): hfs
Name (User Visible): Mac OS Extended (Journaled)
Journal: Journal size 8192 KB at offset 0x1e000
Owners: Disabled
OS Can Be Installed: Yes
Media Type: Generic
Protocol: USB
SMART Status: Not Supported
Volume UUID: B766D8C2-37D3-3B47-B32A-A494A303115F
Disk / Partition UUID: 4DCADAE9-A652-4145-AE09-B2BC3B09E6BE
Disk Size: 3.8 GB (3799998464 Bytes) (exactly 7421872 512-Byte-Units)
Device Block Size: 512 Bytes
Volume Total Space: 3.8 GB (3799998464 Bytes) (exactly 7421872 512-Byte-Units)
Volume Used Space: 171.4 MB (171429888 Bytes) (exactly 334824 512-Byte-Units) (4.5%)
Volume Available Space: 3.6 GB (3628568576 Bytes) (exactly 7087048 512-Byte-Units) (95.5%)
Allocation Block Size: 4096 Bytes
Read-Only Media: No
Read-Only Volume: No
Device Location: External
Removable Media: Removable
Media Removal: Software-Activated
ce qui permet de savoir que le système de fichiers est plus spécifiquement un
JHFS+ (journalisation activée) --> le volume est donc repartitionnable si l'on veut.
Suppose que j'ai un doute sur la validité de la table de partition
GUID : je passe une commande -->
Bloc de code:
diskutil repairDisk disk5
et j'obtiens en retour :
Bloc de code:
Repairing the partition map might erase disk5s1, proceed? (y/N) y
Started partition map repair on disk5
Checking prerequisites
Checking the partition list
Adjusting partition map to fit whole disk as required
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Reviewing boot support loaders
Checking Core Storage Physical Volume partitions
The partition map appears to be OK
Finished partition map repair on disk5
(j'ai pressé la touche
y(
es) et validé > car un reformatage éventuel de la partition
EFI disk5s1 de 209 Mo m'est totalement indifférent). J'apprends à la fin que tout est correct. J'aurais pu me contenter d'une commande de vérification qui aurait été :
Bloc de code:
diskutil verifyDisk disk5
(la seule différence étant que si des erreurs sont trouvées > elles ne sont pas réparées).
Je peux pareillement m'intéresser au sort de la partition
disk5s2 et de son volume
BROL : une commande -->
Bloc de code:
diskutil repairVolume disk5s2
vérifie / répare le système de fichiers
JHFS+ > ce qui donne ici -->
Bloc de code:
Started file system repair on disk5s2 BROL
Repairing file system
Volume was successfully unmounted
Performing fsck_hfs -fy -x /dev/rdisk5s2
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume BROL appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Finished file system repair on disk5s2 BROL
J'apprends que le code de sortie de la vérification est
0 (= zéro erreurs). Si je scrute l'affichage > j'apprends qu'un système de fichiers
JHFS+ se compose d'une distribution de fichiers spécialisés :
extents overflow file (fichier des segments en excès) >
catalog file (fichier du catalogue
B-tree) >
extended attributes file (fichier des attrinbuts étendus) >
volume bitmap (fichier de l'allocation des blocs) etc.
J'aurais pu aussi me contenter d'un commande de simple vérification qui aurait été alors -->
Bloc de code:
diskutil verifyVolume disk5s2
(sans pouvoir de réparation en cas d'erreurs trouvées).
Bon : tout va bien --> ce qui me chagrine, car il n'y a rien de plus ennuyeux qu'une situation où tout va bien. Pour quitter cet état (psychologique) de morne ennui > je vais donc essayer de mettre le bazar > car rien n'est plus excitant que de se fabriquer articificiellement des problèmes pour devoir ensuite les résoudre.
Et si je partitionnais la partition
disk5s2 ? - mais attention : j'ai des fichiers vitaux dans le volume
BROL et ne ne veux pas que mon re-partitionnement les efface > je vais donc re-partitionner en mode "
live" conservateur du volume - ce sans faire aucune sauvegarde > parce que j'ai l'esprit joueur : je passe la commande -->
Bloc de code:
diskutil resizeVolume disk5s2 3g jhfs+ TOTO 0b
où j'utilise le verbe
resizeVolume (re-dimensionner le volume) > avec le
device-cible (
disk5s2) > la taille réduite (
3g = 3 Go) > et une triplette
[format][nom][taille] qui va décrire la nouvelle partition créée avec l'espace libéré : format =
jhfs+ > nom =
TOTO > taille =
0b (
0_byte qui signifie : "utiliser tout l'espace libre pour créer la partition sans en excepter aucun byte". J'obtiens :
Bloc de code:
Resizing to 3000000000 bytes and adding 1 partition
Started partitioning on disk5s2 BROL
Verifying the disk
Verifying file system
Volume was successfully unmounted
Performing fsck_hfs -fn -x /dev/rdisk5s2
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume BROL appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Resizing
Shrinking file system
Modifying partition map
Initialized /dev/rdisk5s3 as a 763 MB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Finished partitioning on disk5s2 BROL
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS BROL 3.0 GB disk5s2
3: Apple_HFS TOTO 800.0 MB disk5s3
Ça marche, donc. En fait, ça marche trop bien et je sens de nouveau poindre l'ennui. Bon allez ! cette partition avec un ridicule volume
TOTO m'agace : je vais donc la supprimer par la commande -->
Bloc de code:
diskutil eraseVolume free null disk5s3
où j'emploie le verbe
eraseVolume (effacer volume) > avec une triplette
[format][nom][appareil] décrivant mon effacement : format =
free (c'est un non-format : ne pas ré-injecter de système de fichiers mais laisser les blocs à l'état libre) > nom =
null (c'est un nom bidon > dès lors qu'il y aura de l'espace libre et pas de volume recréé) > appareil =
disk5s3 (l'identifiant de device de la partition). J'obtiens :
Bloc de code:
Started erase on disk5s3 TOTO
Unmounting disk
Finished erase on disk5
Plus concis tu meurs. Voyons ce que ça donne d'après :
-->
Bloc de code:
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS BROL 3.0 GB disk5s2
Hé ! hé ! il y a 2 Go d'espace libre recensé nulle part dans la table de partition. Je suis dans le cas de figure de ceux qui ont supprimé une partition
BOOTCAMP et qui voudraient bien récupérer son espace qu'ils ne voient plus nulle part. Au lieu de créer un sujet sur les forums (ce ne serait que le 800è exactement sur le même point) > je passe une commande -->
Bloc de code:
diskutil resizeVolume disk5s2 0b
où je reprends le verbe
resizeVolume (redimensionner le volume) > ciblé sur la partition
disk5s2 du volume
BROL comme bénéficiaire et hop ! rien qu'un
0b (
0_bytes) comme valeur de taille de disque à récupérer. Ce qui veut dire comme tout à l'heure : récupérer tout l'espace libre disponible jusqu'au dernier byte.
J'obtiens -->
Bloc de code:
Resizing to full size (fit to fill)
Started partitioning on disk5s2 BROL
Verifying the disk
Verifying file system
Volume was successfully unmounted
Performing fsck_hfs -fn -x /dev/rdisk5s2
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume BROL appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Resizing
Modifying partition map
Growing file system
Finished partitioning on disk5s2 BROL
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS BROL 3.8 GB disk5s2
Que c'est ennuyeux ! - ça a encore marché et je suis de retour à la case départ. Bon : supposons que je me sois fourré dans un guêpier sans savoir comment m'en sortir : je dégaine une commande de ré-initialisation de la clé :
Bloc de code:
diskutil partitionDisk disk5 gpt jhfs+ MIMI 100%
où j'emploie le verbe
partitionDisk (effacer / recréer la table de partition du disque) > le
disk5 (cible) >
gpt (
guid_partition_table) comme table > et une triplette toujours
[format][nom][taille] pour la partition à créer --> format =
jhfs+ > nom =
MIMI (pour changer) > taille =
100% (de l'espace disque disponible). J'obtiens -->
Bloc de code:
Started partitioning on disk5
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk5s2 as Mac OS Extended (Journaled) with name MIMI
Initialized /dev/rdisk5s2 as a 4 GB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Finished partitioning on disk5
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS MIMI 3.8 GB disk5s2
Tout a été effacé (y compris les données de l'ancien
BROL) et recréé. Mais que vois-je ? - un volume intitulé
MIMI ? - ça ne fait pas sérieux --> revenons à un intitulé plus conventionnel : je passe la commande :
Bloc de code:
diskutil rename disk5s2 Données
et j'obtiens -->
Bloc de code:
Volume on disk5s2 renamed to Données
ce que va confirmer un nouveau :
qui renvoie -->
Bloc de code:
/dev/disk5 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *4.1 GB disk5
1: EFI EFI 209.7 MB disk5s1
2: Apple_HFS Données 3.8 GB disk5s2
Bon : je sens que je ne suis pas parvenu à vaincre l'ennui (c'est aussi désopilant que de tourner la manivelle d'un moulin à café Peugeot ancien pour moudre du café). Je vais donc jeter l'éponge. Car il ne faut pas avoir d'illusion : tout se passe toujours à l'identique partout > seulement sous des formes différentes - de part la monotonie fondamentale de la manifestation. Par suite, le «
Terminal» n'a aucun privilège sur aucun autre domaine de l'expérience : il n'y a des les spécificités du domaines d'application qui varient, mais tout se passe pareil que partout ailleurs.
Il est certes possible, avec
diskutil, d'effectuer des opérations plus sophistiquées > mais une fois ce genre de manipulations devenues familières > pof ! c'est à peu près aussi désopilant que de se raser chaque matin avec un rasoir à main (la barbe ! - c'est rasoir...).
Il suffit de taper :
dans une fenêtre du «
Terminal» > de sélectionner ce mot d'un double-clic et de faire un ctrl_clic --> un menu contextuel propose en première ligne :
Ouvrir la page de man (le manuel de
diskutil ici). Il est possible de parcourir ce manuel (un des plus copieux dans l'absolu des manuels d'exécutables) et on s'aperçoit qu'il y a des rubriques spécialisées :
Apple_RAID >
APFS (si l'on est dans l'environnement des derniers OS) >
Core_Storage avec des finesses de toute espèce - mais finalement rien qui sorte au bout d'un moment de la logique foncière de
diskutil.