Domestiquer le Terminal (part1)…

Nous vous avons, à plusieurs reprises déjà, présenté des astuces nécessitant (ou pouvant nécessiter) de taper des commandes dans le terminal. Malheureusement le Terminal rebute souvent, sans doute à cause des commandes à retenir « par coeur ». Pourtant bon nombre d’entre elles, pour peu qu’on connaisse un minimum d’anglais, peuvent facilement être comprises, et donc retenues…

Dans cet article, premier d’une série d’une dizaine sans doute, nous allons vous présenter quatre commandes (c’est pas la mort quoi…), sans doute les plus utilisées, qui vous permettrons de vous familiariser avec le Terminal…

 

Le Terminal :
Commençons par ouvrir le terminal. Si vous ne le trouvez pas, cliquez sur la loupe en haut à droite de votre écran, Spotlight, et taper « terminal ». Une fois que Spotlight l’a trouvé, appuyez sur Enter pour le lancer. Un fenêtre apparaît alors avec, chez moi :

Minidingue:~ Sulley$

Comme nous pouvons le voir, la ligne commence par le nom de votre mac suivit de deux points. Ensuite vient un tilde (« ~ ») : ce tilde est en fait le symbole d’un répertoire, il signifie que vous êtes dans ce qu’on appelle votre Home Directory (c’est en fait le dossier qui porte votre nom/pseudo que l’on peut voir dans le menu de gauche du Finder). Pour finir, vient votre pseudo et le symbole « $« .

 

Les commandes :
Et voila, j’en sens déjà qui ont peur… Respirez profondément, tout va bien se passer ! Nous allons vous présenter 3 commandes simples mais efficaces et indispensables, pour commencer, qui vous aideront a appréhender le Terminal.

 

1) Le listing d’un dossier :
Vous êtes dans un dossier et vous aimeriez savoir ce qu’il y a dedans. Pour cela, rien de plus simple, il vous suffit de taper la commande ls. ls permet de LiSter le contenu du dossier dans lequel vous êtes, mais attention : le nom des dossiers que vous voyez dans le Finder (l’interface graphique de Mac OS) sont traduit dans la langue de votre système, avec la commande LS, vous pourrez voir les mêmes dossiers mais dont les nom ne sont pas traduits (e.g. « Téléchergements » -> « Downloads », « Séquence » -> « Movies », etc.).

Exemple :
Minidingue:~ Sulley$ ls
Desktop Incomplete Pando Packages Public
Documents Library Movies Pictures Sites
Downloads LimeWire Music Programming

Vous pouvez également ajouter des paramètres à cette commande. Ces paramètres forcent, ou permettent, de faire encore plus ou de faire la même chose mais avec plus de précision. Les deux paramètres j’utilise le plus sont « -a » et « -l ».

« -a » ( a pour « all »), fera que la commande <em>ls</em> listera en plus des dossiers dit visibles, tous les autres dossiers (invisibles et les dossiers systèmes).

« -l » (l pour « long ») vous affichera un liste détaillée : nom des fichier/dossier avec permission (qui peut lire, écrire, modifier, … le fichier), le propriétaire, le groupe auquel appartient le propriétaire, … etc.

Chez moi, par exemple, cela donne :
Minidingue:~ Sulley$ ls -a
. .bash_profile .lesshst Downloads Programming
.. .csh_history .swp Incomplete Public
.CFUserTextEncoding .cups .viminfo Library Sites
.DS_Store .dvdcss .wormux LimeWire
.Rhistory .emacs.d .xchat2 Movies
.Trash .gdb_history .xxtjfmerc Music
.Xcode .jIRC Desktop Pando Packages
.bash_history .jmol Documents Pictures


et

Minidingue:~ Sulley$ ls -l
total 0
drwx------+ 25 Sulley Sulley 850 25 oct 17:30 Desktop
drwx------@ 53 Sulley Sulley 1802 23 oct 20:35 Documents
drwx------+ 22 Sulley Sulley 748 25 oct 17:33 Downloads
drwxr-xr-x 4 Sulley Sulley 136 13 sep 17:36 Incomplete
drwx------+ 52 Sulley Sulley 1768 8 oct 11:14 Library
drwxr-xr-x 3 Sulley Sulley 102 3 mai 20:39 LimeWire
drwx------@ 14 Sulley Sulley 476 5 oct 21:55 Movies
drwx------@ 491 Sulley Sulley 16694 13 sep 17:36 Music
drwxr-xr-x 3 Sulley Sulley 102 8 oct 10:39 Pando Packages
drwx------+ 318 Sulley Sulley 10812 19 oct 12:59 Pictures
drwxr-xr-x 26 Sulley Sulley 884 29 jui 23:15 Programming
drwxrwxrwx+ 5 Sulley Sulley 170 18 aoû 20:01 Public
drwxr-xr-x+ 5 Sulley Sulley 170 18 nov 2007 Sites

 

2) Voyager sur votre Disque Dur
Maintenant que nous savons lister le contenu d’un dossier, il serait intéressant de pouvoir aller dans le dossier de son choix pour le lister, justement. Voyons donc comment changer de dossier. En anglais, on dit « Change Directory », la commande est donc : cd.

Après « cd », il faut préciser où vous souhaitez allez <u>à partir du dossier ou vous êtes</u>. En reprenant l’exemple ci-dessus, supposons que nous voulions aller dans le répertoire Dowloads.

Minidingue:~ Sulley$ cd Downloads/
ou
Minidingue:~ Sulley$ cd ./Downloads/ (le « . » indiquant le répertoire courant)

Petite astuce 1 : Une fois tapé une ou deux lettres du nom du dossier dans lequel vous souhaitez aller, appuyez sur la touche TAB (touche à la gauche de la touche A) et le Terminal complétera lui même le nom (à condition qu’il n’ait pas le choix entre plusieurs noms).

Petite astuce 2 : Vous n’êtes pas obligé de faire cela pas à pas, si vous connaissez un chemin complet, vous pouvez également le taper, par exemple : cd /Downloads/Films/Recents/incomplets/

Comme vu ci-dessus, le « . » représente le répertoire courant. Les « .. » eux, représente le répertoire parent. Pour remonter d’un niveau, il vous faut donc tapez la commande :

cd ..

Et voila, c’est aussi simple que cela.

 

3) Ou je suis ?
Voila, on s’amuse, on s’enflamme, on sait changer de dossier a foison et on finit par se perdre… On ne sait plus ou on est et ce, malgré l’aide (infime, certe, mais quand même) du terminal. Pas de panic… Si cela vous arrive, il vous suffit de taper la commande pwd pour Print Working Directory. Le terminal vous affichera alors le chemin complet de votre emplacement.

 

4) J’ai oublier comment s’utilise une commande…
Aaaah, en voila une commande qu’elle est pratique : man.
Man (pour « manuel ») est la commande qui permet d’avoir le manuel, le mode d’emploi, d’un commande. Si vous connaissez une commande, mais que vous ne savez plus comment vous en servir, il vous suffit de taper : man nom_de_la_commande. Une fois les informations recherchées trouvées, appuyer que la touche Q de votre clavier pour quitter le manuel.

 

Et voila. Avec ces 4 commandes vous savez déjà voyager au travers des répertoires, lister le contenu de ceux-ci et vous renseigner sur des commandes. On est évidement en droit de s’interroger sur l’utilité d’un Terminal quand on peut faire quasiment tout ce que l’on souhaite avec l’interface graphique de Mac OS X (j’ai nommé Finder), et l’on aurait raison. Sachez cependant que, comme nous l’avons vu dans cet article, le Finder ne montre pas tout : il cache les dossiers systèmes par exemple. Or nous aurions parfois besoin d’aller des ces répertoires et/ou ces fichiers pour supprimer ou modifier certaines choses. Finder nous donne l’impression de savoir tout faire, mais une fois que nous apprenons a connaitre notre mac, que nous savons ou vont se loger certains dossiers/fichiers de programmes que nous installons, … le terminal pour s’avérer non seulement un outil indispensable mais carrément une arme redoutable… Parce que, comme disait Judge Dredd : » Ici la loi, c’est lui ! » ;-)

Entretenir son Mac : Les permissions

Mac OS X est un système très robuste. C’est même certainement -au sens véritable du terme- le système le plus robuste et le plus sécurisé accessible au grand public. Néanmoins puisqu’il est possible, comme sous tout système d’exploitation qui se respecte, d’installer de nombreuses applications qui modifient plus ou moins la configuration logicielle système, Mac OS X n’est pas totalement à l’abris des dysfonctionnements. Pour corriger ces dysfonctionnements et restaurer l’état du système, il existe de nombreux moyens qui tendent tous plus ou moins à la même chose: revenir à l’état d’avant la modification entraînant le dysfonctionnement. 

Toute personne s’intéressant à l’entretient de son Mac et faisant quelques recherches trouvera très vite ce conseil : » Réparez les autorisations » ! On le voit partout : forum, site, blog, presse, … Une sorte de leitmotiv de maccien… Vous le trouverez même sur le site d’Apple.

Dans cette article, basé sur les liens donnés à la fin et de nombreuses recherches, nous allons aborder les raisons pour lesquelles la réparation des autorisations n’est pas un remède miracle.

Qu’est ce que sont les autorisations ?

C’est un synonyme de droit d’accès à un fichier. Une permission donne le droit d’écrire, de lire ou d’exectuer un programme.

Introduction :

Il existe deux moyens d’installer une application sur Mac OS X. La première, préférée par Apple, consiste à utiliser un logiciel qui crée un paquet d’installation, celui-ci contient les fichiers plus quelques scripts permettant de créer ou modifier fichiers ou dossiers. Vous avez rencontré ces paquets notamment lorsque vous avez installé des logiciels d’Apple (iTunes, QuickTime, etc.).

Une fois l’installation réalisée par le programme d’installation, un fichier du nom de BOM (Bill of Matériels en Anglais; ce terme est difficilement traduisible) est placé dans le dossier Bibliothèque/Receipts permettant ainsi au système de garder une trace des paramètres utilisés par ce programme. Les BOM permettent de tracer quels sont les fichiers installés par un programme, ceux qui pourront être mis à jour et pour ce qui est pour nous le plus important les permissions sur ces fichiers ou dossiers, mais encore ceux qui ont été modifiés lors de l’installation.

Le second moyen d’installation, et sans doute le plus courant, est celui préférée des utilisateurs. Il consiste en l’utilisation d’une image disque contenant ledit programme, dont il suffit de le glisser/déposer dans le dossier de son choix (e.g. dossier Applications). Dans ce cas ce n’est que lors de la première exécution que le logiciel inspectera le système et placera des fichiers là où il en a besoin notamment dans le dossier Bibliothèque où sont stockées les préférences. À l’inverse de la technique précédente un programme installé par glisser/déposer dans le dossiers Application ne laisse aucune trace des paramètres utilisés dans le dossier Bibliothèque/Receipts.

Quelles sont les réparations effectuées ?

Contrairement à ce qu’affirme Apple, la réparation des autorisations ne s’applique pas aux logiciels tierce-partie (c’est-à-dire n’étant pas originaires d’Apple). Elle ne s’applique pas non plus aux logiciels installés par glisser/déposer à partir d’une image disque, ni aux logiciels installés à partir d’un assistant d’installation non-Apple (e.g. d’Allume et de MindVision). La réparation des autorisations ne fonctionne donc que pour les logiciels Apple ou des logiciels installés grâce au logiciel d’installation Apple.

L’action Réparez les permissions va lire chaque BOM et vérifie que les permissions sont bien placées sur les fichiers ou dossiers nécessaires à la bonne exécution de programmes, et si il y a lieu, les corrigera.

Cette commande n’est pas magique, puisqu’elle ne prend en compte qu’une partie des programmes installés, mais elle corrigera les problèmes relatifs aux permissions, par contre, si un fichier était corrompu, il vous faudra le réinstaller en utilisant le paquet d’origine car le fichier « BOM » ne que des informations sur les fichiers et non les fichiers eux-même. La réparation des autorisations ne règlera donc pas un problème particulier la majorité des cas. Elle n’empêchera pas non plus des problèmes de survenir dans le futur. Elle ne sert à rien en tant qu’opération planifiée de maintenance. Vous pouvez quand même écouter les conseils prodigués sur les forums par des gens qui s’y connaissent plus ou moins, mais qui n’ont rien compris aux autorisations, et les réparer: cela ne nuira pas à votre système, et pour cause puisque cela ne produira sans doute aucun effet.

Réparer les autorisations :

Pour réparer vos autorisations, ouvrez Spotlight (clic en haut a droite sur la loupe ou POMME+Espace) et taper Utilitaire de disque.

Un fois trouvé, cliquer sur l’application. Dans le menu de gauche de la fenêtre qui s’ouvre, il faut sélectionner le disque contenant le système d’exploitation. En effet, du à la manière dont la réparation des autorisations fonctionne, SEULES les autorisations du disque contenant Léopard (ou un système précédent) ne peuvent être réparées. Une fois le disque sélectionné, cliquer à droit sur le bouton Réparer les autorisations du disque.

On peut, comme souvent sous MacOS, utiliser une ligne que commande atteindre le but voulu. Ouvrez le terminal et taper :

sudo diskutil repairPermissions /[taper votre mot de passe]

Conseils :

Alors là… Je dirais que c’est assez difficile… Tous s’accordent à dire, comme nous l’avons vu plus haut, que la réparation des autorisations en tant qu’opération planifiée de maintenance est inutile. Cependant les autorisations ne changement pas toutes seules. Pour qu’elles changent, il faut que quelque chose ou quelqu’un les change. Pour cette raison, réparer les autorisations de temps en temps, en guise d’opération de maintenance, est totalement inutile, à moins, peut-être, de ne le faire une fois que tout les 6 mois après avoir installer et désinstaller moultes applications (Apple).

Certains conseillent de réparer les autorisations avant et après une mise-à-jour Apple. Avant une mise-à-jour j’estime, et cet avis n’engage que moi, que c’est inutile dans la mesure où quand bien même certains fichiers aient des autorisations corrumpues, soit ils seront mis-à-jour (et donc réécrit avec les bonnes autorisations) soit ils ne le seront pas et donc, si elle était mauvaises avant, elle le seront encore après. Concernant la réparation après une mise-à-jour, certains pensent que c’est inutile car les fichiers sont nouveaux (et ont les bonnes autorisations), d’autres pensent qu’il est possible que les mise-à-jour ne changent pas les fichiers sur le disque dur, mais seulement les informations sur leurs autorisations. Dans tous le cas, il se peut qu’il y aient des fichiers dont les autorisations était corrompues et qui n’ont pas été modifiés.

D’autres encore, conseillent d’exécuter cette commande après chaque installation que cela soit par paquets ou par glisser/déposer. L’avantage serait d’être certain qu’un nouveau programme n’entrave pas l’exécution d’un autre.

Il semblerait donc que cela soit un peu comme les préférences politiques ou la religion, chacun a son idée propre sur la façon et le moment pour utiliser la réparation des autorisations sous MacOSX.

Il y a cependant un cas dans lequel la réparation des autorisations est absolument nécessaire -et résoud les problèmes. Quand vous sauvegardez votre système vers un disque externe via ditto ou Carbon Copy Cloner, en ignorant les autorisations du volume source. En réparant les autorisations dans cette situation, on permet au disque de redevenir bootable, mais on ne touche toujours pas aux fichiers indépendants du systèmes ou appartenant à l’utilisateur, ce qui peut laisser ouverts d’énormes trous de sécurité.

Une dernière choses et, sans doute, la plus importante : Nous avons fait cet article en nous renseignant au mieux, même s’il apparaît que très peu de gens connaissent exactement tous les tenant et aboutissant de ces fameuses autorisations et surtout de quand les réparer. Mais l’essentiel est avant tout d’avoir une idée des limitations de ce que peut faire (ou pas) la réparations des autorisations. Rapellez vous cependant que vous pouvez le faire autant de fois que vous voulez, car au pire des cas, cette réparation n’aura aucun effet (et certainement pas un effet négatif). Si vous avez donc un doute, une envie de le faire pour vous sentir tranquille, ne vous retenez pas…

Pour ceux qui voudrait savoir ce que je fais personnellement : je répare les autorisations après toutes mise-à-jour Apple (Sécurity Update, iTunes, etc.) et de temps à autre entre ces mise-à-jour afin de m’assurer qu’un programme tierce n’interfère pas avec une application d’Apple.

Informations supplémentaires :ICI, ICIet LA

Changer le fond de l’écran de connexion

Ceux d’entre vous qui possède un mac qui n’ouvre pas de session automatiquement -quelqu’en soit la raison- doivent donc, en toute logique, se logger eux-même. Lors de cette ouverture de session, nous avons tous la même image par défaut (que l’on peut voir ICI).

Nous allons vous proposer ici une petite astuce permettant de changer cette image pour mettre celle de son choix…

Première méthode :

Méthode criminellement simple. Elle consiste à utiliser un programme. Pour ce faire, plusieurs sont disponibles :

Desktop 2 Login : Fait correspondre votre fond d’écran de connexion à votre foncd d’écran actuel à éliminant ainsi la transition visuel entre les deux.

iLogin : Permet de changer rapidement ce fond d’écran, il se compose de deux boutons : un pour changer d’image, l’autre pour restaurer l’image d’origine…

Deuxième méthode :

Un peu moins simple que la première, elle vous oblige à jouer avec le Finder pour :1°) Sauvegarder le fichier/System/Library/CoreServices/DefaultDesktop.jpg.Pour ce faire, une fois dans le répertoire, sélectionnez le fichier en question et faites POMME+D. Cela créera automatiquement un fichier DefaultDesktop – copie.jpg.2°) Mettez dans le même répertoire (/System/Library/CoreServices/) le fichier fond de votre choix, et renommer le en : » DefaultDesktop.jpg »3°) Lancer l’ Utilitaire de Disque et réparez les permissions.(Pour restaurer l’ancien, supprimer le DefaultDesktop.jpg, et renommer DefaultDesktop – copie.jpg en DefaultDesktop.jpg.)

 

Troisième méthode :

Comme toujours, il existe une méthode utilisant le terminal, qui consiste à taper des lignes de commandes. Lancer le Terminal, ensuite suivons les même étapes que la méthode précédente :

1°) Sauvegardez le fichier de fond actuel. Pour cela tapez :

sudo mv /System/Library/CoreServices/DefaultDesktop.jpg /System/Library/CoreServices/DefaultDesktop_backup.jpg[taper votre mot de passe]

2°) Mettez dans le même répertoire (/System/Library/CoreServices/) le fichier fond de votre choix, et renommer le en : » DefaultDesktop.jpg » :

sudo cp /chemin/du/wallpaper/image.jpg /System/Library/CoreServices/DefaultDesktop.jpg[taper votre mot de passe]

3°) Lancez l’ Utilitaire de Disque et Réparez les permissions.

(Pour restaurer l’ancien, rien de plus simple, ouvrer le Terminal et tapez :

sudo mv /System/Library/CoreServices/DefaultDesktop_backup.jpg /System/Library/CoreServices/DefaultDesktop.jpg[taper votre mot de passe])

Changer l’emplacement de sa Home Directory

Dans cet article nous allons aborder ici une façon de déplacer sa home directory. Cet article est basé (et pas qu’un peu) sur une traduction (exacte mais pas intégrale) du site MacOSX Hints.

La procédure de déplacement du dossier utilisateur sur une autre partition que celle du système sous Tiger (et ses prédécesseurs) ne fonctionne plus sous Léopard, dû au fait que cette procédure utilisait NetInfo qui à été remplacé sous Léopard par Directory Services. Heureusement, Apple a rendu le processus de déplacement plus facile sous Léopard.

Tout d’abord, copiez votre home directory à la destination désirée. Pour ce fait, nous vous conseillons l’utilisation de la commande ditto -rsrc qui est sans doute la manière la plus rapide et la plus sûre afin de ne rien manquer ni modifier les permission :

sudo ditto -rsrc /Users/username /Volumes/path-to-new-folder

Ensuite allez dans les Préférences Système, dans le menu Comptes. Cliquez-droit sur votre compte et choisissez Options avancées... Dans la fenêtre qui apparaît, vous trouverez un champs Répertoire de départ; là entrez le répertoire du nouveau répertoire soit à la main (e.g. /Volumes/path-to-new-folder) soit en cliquant sur le bouton Choisir… et en naviguant jusqu’au nouveau dossier.

Une fois cela fait, redémarrer et re-logger vous. Vérifiez ensuite la localisation et les fonctionnalités de la nouvelle home directory. Vous pouvez ensuite effacer la home directory originelle.

Remarques/Conseils :- Si vous mettez votre home directory sur un disque externe (e.g. USB, Firewire, …) – dans le cas ou vous voudriez n’avoir qu’un seul home directpory et que vous utiliser plusieurs Mac – assurez-vous que le disque est connecté avant de vous logger.- Si vous voulez changer l’emplacement de plusieurs home directory, vous devez faire cette démarche pour chaque comptes séparément. Changer la localisation du dossier /Users pour tous les comptes présent et à venir nécessite l’utilisation d’une autre méthode grâce au nouveaux outils de Léopard (e.g. : ligne de comande dscl).