macOS : Supprimer la notification de migration de Catalina.

Vous êtes agacé de voir la notification de migration vers Catalina ! Ce point rouge qui apparait sur l’icône de préférence de macOS vous énerve ? Voici comment supprimer cette alerte :

Alerte prefernce

  1. Ouvrez l’app. : Terminal dans le dossier Applications / Utilitaires/
  2. Entrez la commande suivante dans le terminal :
  3. $ sudo softwareupdate --ignore "macOS Catalina"

  4. Appuyez sur la touche Entrée.
    Vous devrez indiquer le mot de passe administrateur.

La notification d’installation de la mise à jour “macOS Catalina” n’ets plus là.
HD Rapin

macOS : Réinitialiser les réglages réseau avec le Terminal

Voici la troisième et dernière version. Il s’agit toujours de réinitialiser les réglages réseau de macOS. Cette fois tout se passe dans le Terminal :

Déplacez vous dans le dossier :


$ cd /Library/Preferences/SystemConfiguration/

Effectuez une sauvegarde des fichiers dans une archive ZIP :


$ sudo zip backup.zip \
com.apple.airport.preferences.plist \
com.apple.network.identification.plist \
com.apple.wifi.message-tracer.plist \
NetworkInterfaces.plist preferences.plist

Supprimez définitivement les fichiers :


$ sudo rm com.apple.airport.preferences.plist \
com.apple.network.identification.plist \
com.apple.wifi.message-tracer.plist \
NetworkInterfaces.plist preferences.plist

Vous pouvez aussi supprimer les fichiers une par une.

$ sudo rm com.apple.airport.preferences.plist

Et reproduire cette commande pour les 3 autres fichiers.

Cette opération supprime définitivement les fichiers de configuration du réseau et wifi de macOS. Vous avez le fichier Zip qui contient les fichiers sauvegardés en cas de besoin.

HD Rapin

macOS : Comment déterminer l’adresse IP de votre réseau (IP externe) ?

Comment déterminer l’adresse IP de votre réseau ?

Votre fournisseur d’adresse attribue à votre Box une adresse IP, celle-ci change régulièrement (quoi que j’ai noté que ce changement intervienne moins fréquemment).

Obtenir cette adresse IP n’est pas simple, un des moyens est de se connecter sur la borne depuis sa page d’administration et de récupérer l’information. Une autre approche consiste à consulter un site Web du type : http://www.myip.dk (il en existe de nombreux sur Internet).

Mais si vous avez besoin de cette information plus fréquemment, une solution existe en utilisant la commande Curl et le site ipecho.net

Saisissez cette commande dans le Terminal :

$ curl ipecho.net/plain

Vous obtiendrez en retour l’adresse ip qui vous a été attribuée. Pour placer la ligne de commande dans un flux Automator, voici comment faire :

Lancez Automator, ajoutez l’action Exécuter un script Shell, placez le texte de la commande. Il faut ensuite récupérer l’adresse IP pour la placer dans une notification (ou un email selon votre besoin) et pour terminer utiliser la variable dans la notification et voilà.

image-01 (écran Automator avec le flux complet)

Henri Dominique Rapin

macOS : Comment vérifier les fichiers exclus de Time Machine ?

Backup

Vous avez un doute sur la prise en charge d’un nouveau dossier ou vous souhaitez simplement vérifier les fichiers exclus de Time Machine ?

Ouvrez le Terminal et saisissez cette ligne :

 $ tmutil isexcluded (et le nom du fichier) 

Le plus simple est de glisser/déposer le fichier sur le Terminal.

Le résultat est le suivant :

tmutil_isexcluded

[included] signifiant que le fichier est bien sauvegardé.

Pour découvrir les autres options de la commande tmutil (Time Machine) :

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/tmutil.8.html

Henri Dominique Rapin


Applwe reasonably small Recevez toutes les semaines le résumé des publications : Abonnez-vous à la Newsletter !

Sécurité :: Comment fonctionne le Sandboxing sur Mac OS X ?

Finder

Le SandBoxing sur Mac OS X.

Le terme «SandBox» est particulièrement utilisé dans le monde Linux. Il se traduit par «bac à sable» et décrit un type de protection lors de l’exécution d’un logiciel.

Voir la page WIKI : http://fr.wikipedia.org/wiki/Sandbox_(sécurité_informatique) 

Imaginons un logiciel qui fonctionne sur un Mac, par défaut ce logiciel a les droits en écriture et lecture qui sont ceux de l’utilisateur qui a lancé le programme. Toujours par défaut, un utilisateur sur Mac peut écrire à volonté dans son dossier personnel (la petit maison blanche) mais dès qu’il veut modifier le contenu d’un répertoire hors de ce dossier il lui faut montrer pâte blanche et indiquer un mot de passe.

Cette approche par «compartiments» fait la force des systèmes Unix et participe à leur réputation. Dans le monde Windows les choses sont beaucoup moins claires.

Revenons sur notre exemple, notre application fonctionne sur votre Mac et un personnage mal intentionné a réussi à utiliser une faille de ce programme et le contrôle maintenant de l’extérieur. Il peut à cet instant détruire les fichiers auxquelles votre application et plus directement votre compte ont accès.

Ce genre d’attaque existe bien, certes elle ne s’applique pas en particulier aux applications lancées sur un ordinateur mais plutôt à des fonctions de» serveur» comme le serveur Internet Apache qui est livré avec Mac OS.

Une première réponse à ce type d’attaque est bien sur l’utilisation d’un «firewall», qui empêcherait l’accès de l’extérieur à ce programme. Mais quand vous mettez en place un serveur, c’est en général pour qu’il soit accessible de l’extérieur. Donc cette réponse n’est pas la plus appropriée.

Une autre solution consiste à «isoler» l’application, c’est à dire qu’elle s’exécute, mais n’a pas accès à certaines ressources de la machine. Prenons de nouveau notre exemple, cette fois imaginons que nous avons un moyen technique qui nous permet d’interdire à l’application toute écriture dans le dossier personnel de l’utilisateur ou dans une autre zone du système. Dans ce cas de figure, peut importe celui qui lance l’application, celle-ci ne peut plus écrire n’importe ou.

Ainsi donc un assaillant ayant pris possession du programme ne peut écrire et donc être nuisible. Cette technique est celle du «bac à sable» parce que l’application ou le serveur ne peut pas accéder au dehors de la zone de sécurité et ceci peu importe celui qui lance le service ou l’application.

Si les SandBox sont très communs sur Linux ou BSD, ils étaient très complexes à mettre en place sur Mac… Sauf depuis Leopard, Apple propose un solution qu’elle appelle ironiquement «SeatBelt» ou «ceinture de sécurité» (ils sont toujours très poétiques à cupertino).

Le problème de cette solution est qu’elle n’est pas documentée et Apple a raison sur ce sujet. Moins ils en diront et moins de personne tenteront de la contourner.

La solution d’Apple n’est pas inconnue des Unixiens, il s’agit de l’utilisation du framework de TrustedBSD et SELinux pour les distributions linux. A une époque Apple a essayé une version dite «SEDarwin» compatible SELinux mais a renoncé à ce projet pour se consacrer à «Seatbelt».

En pratique comment ça marche sur Mac OS X  :

les applications qu’Apple a placé dans un Bac à sable sont listées dans le dossier suivant :

/usr/share/sandbox. pour en explorer le contenu dans le terminal lancez cette commande :

$ cd /usr/share/sandbox

puis

$ ls

Une partie de la liste devrait être la suivante :

bsd.sb ntpd.sb
cvmsCompAgent.sb portmap.sb
cvmsServer.sb quicklookd-job-creation.sb
fontmover.sb quicklookd.sb
kadmind.sb sshd.sb
krb5kdc.sb syslogd.sb
mDNSResponder.sb xgridagentd.sb
mds.sb xgridagentd_task_nobody.sb
mdworker.sb xgridagentd_task_somebody.sb
named.sb xgridcontrollerd.sb

Tous les fichiers portent l’extension «.sb». SURTOUT ne modifiez ni ne supprimez ces fichiers. Pour en voir le contenu tapez la commande suivante :

$ cat fontmover.sb

Ce qui affichera le contenu du fichier «fontmover.sb». Ce fichier est divisé en sections :

Capture d écran 2012 05 07 à 18 03 59

Dont une section du nom de « (allo file-read* «, celle-ci détermine l’espace ou le chemin dans lequel l’application peut lire de fichiers. Une autre section du nom de « (allow file-write*» précise les dossiers où peuvent être écrits des informations par l’application «fontmover.» et ainsi de suite, le bac à sable est ainsi défini.

Vous pouvez vous interroger sur l’intérêt de cette technologie pour un utilisateur, prenons un programme qui voudrait communiquer avec l’extérieur (comme «Adobe»), il n’est pas possible de leur interdire l’accès au réseau. ( Pour être honnête, il existe une solution avec le firewall IPFW embarqué dans Mac OS, mais là n’est pas le sujet).

Il est possible grâce à ce mécanisme «SeatBelt» et de« SandBoxing » de lui interdire par exemple le réseau . Pour cela l’opération est simple, j’ai pris comme exemple d’interdire à l’Utilitaire Réseau » d’accéder au réseau :

Premièrement nous allons créer un profil, c’est un simple fichier texte. Dans un éditeur de texte «texedit» ou «Bean» tapez ces trois lignes :

(version 1)

(debug deny)
(deny network*)
(allow default)

La ligne (deny Network*) indique qu’aucun accès au réseau n’est permis à l’application. Vous pouvez ajouter une ligne (deny file-write*) qui interdit l’écriture de fichiers. Vous l’aurez compris l’astérixe signifie «tout».

Bean

Enregistrez le tout sous le nom «noreseau.sb» dans votre dossier personnel.

Lancez cette commande :

$ sudo

Puis après avoir saisi votre mot de passe :

$ sandbox-exec -f ~/noreseau.sb /Applications/Utilities/Network\ Utility.app/Contents/MacOS/Network\ Utility

Il faut, si vous souhaiter placer dans un sandbox une application, récupérer son exécutable qui se trouve dans le paquet de l’application. Dans le cas de l’utilitaire réseau le chemin ets : « /Applications/Utilities/Network\ Utility.app/Contents/MacOS/Network\ Utility » .

Utilitaire1

L’application sera ouverte automatique et ne pourra accéder au réseau. Vous avez là un moyen simple d’empêcher une application d’écrire dans des fichiers ou d’accéder au réseau comme par exemple «Adobe»…

Utilitaire2

Le fait d’être dans un bac à sable ne dure que le temps ou l’application est ouverte, après sa fermeture elle redémarre hors du « sandbox ».

Le principe du Sandbox n’est pas courant, mais il semble que Google Chrome l’utilise, ceci afin de prévenir des composants qui pourraient être néfastes pour les utilisateurs de ce Butineur.

Henri Dominique Rapin

Mac :: Comment identification des Processus sur Mac ?

Un grand nombre de processus fonctionnent dans votre Mac. Ils ont parfois des noms bizarres… héritage du monde Unix. Un site vous propose d’identifier ces processus. Il est en Anglais mais très accessible. Voici l’opération étape par étape. 1) ouvrez Safari avec l’adresse ci dessous : http://triviaware.com/macprocess/

Image_40.png

2) lancez le Terminal (vous le trouverez dans le dossier Applications puis Utilitaires). Dans la fenêtre saisissez :

$ ps -A > process.txt
Terminal — bash — 61×17.jpg

Le A est en majuscule et le signe supérieur bien séparé du texte par des espaces. Cela aura pour effet de créer un fichier texte du nom de « process.txt », vous le trouverez dans votre dossier personnel, la petite maison blanche. 3) Cliquez sur le bouton  » Choisir le Fichier » et sélectionnez le fichier « process.txt » et enfin cliquez sur le bouton « Upload File » . Après quelques secondes une page similaire apparaît.

triviaware.jpg

Les processus jaunes sont connus, ceux en bleu ne le sont pas, en cliquant sur la ligne « google process or application » le nom du process est envoyé à Google pour recherche. En théorie vous ne devriez pas avoir un grand nombre de processus inconnus, ce site peut vous permettre d’identifier un processus installé par un cheval de troie… en autre. HDR

TimeMachine :: Comment obtenir la liste des fichier non pris en compte par TimeMachine ?

image.jpg

Voici comme obtenir la liste des fichier non pris en compte par TimeMachine :

$ sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"
Terminal — bash — 84×25.jpg

HDR

Mac :: Comment afficher des messages lors de connexion (Shell, FTP, SSH)

Terminal.png

Comment afficher des messages lors de connexion (Shell, FTP, SSH) ?

Ajouter du texte affiché à la connexion au Shell, SSH et FTP c’est souvent un bon point de départ en ce qui concerne la sécurité. Cela fait parti des bonnes pratiques, informez vos utilisateurs des conditions d’utilisations, cela évite souvent les abus.

Pour le Shell

Le fichier de configuration à éditer pour le Shell est : /etc/motd

« Motd » signifie « message of the day », et il contient généralement des messages destinés aux utilisateurs concernant l’administration du système. Ce fichier est affiché avant l’ouverture du Shell par le process login.

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/motd

Pour lire le contenu du fichier :

$ sudo cat /etc/motd

Pour le serveur FTP :

Le fichier de configuration à éditer pour ftp est : /etc/ftpwelcome

Le fichier « ftpwelcome » verra son contenu affiché lors d’une connexion avant que soit affiché le login.

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/ftpwelcome

Pour lire le contenu du fichier :

$ sudo cat /etc/ftpwelcome

Pour SSH :

Le fichier de configuration à éditer pour le SHELL est : /etc/sshd_config

SSH affiche le contenu du fichier Banner : « /etc/banner »

Pour obtenir le chemin vers le fichier

$ sudo cat /etc/sshd_config | grep Banner

Pour ajouter simplement du texte à ce fichier :

$ sudo echo "Votre texte" >> /etc/banner

Pour lire le contenu du fichier :

$ sudo cat /etc/banner

Henri Dominique Rapin

Mountain Lion :: Comment désactiver la fermeture automatique des applications ?

Saviez-vous que depuis Mac OS X Lion, le système ferme les applications non utilisées depuis un certain temps ? Et bien c’est une fonction qui permet à Mac OS X de libérer de la mémoire.

Et si vous craignez pour les documents ouverts et non enregistrés, sachez que grâce à la fonction « Auto Save »  (ou « enregistrement en continu » en français), ils sont continuellement enregistrés. Dès lors fermer autoritairement une application ne pose plus de problème.

Si toutefois vous craignez pour vos documents, il existe un moyen de désactiver cette fonctionalité, saisissez dans le Terminal la ligne de commandes suivante :

$ defaults write -g NSDisableAutomaticTermination -bool TRUE

Automator :: Comment obtenir la liste des ports ouverts ?

AutomatorVous souhaitez identifier les ports TCP/IP ouverts ainsi que les connexions actives ? Les ports ouverts indiquent les applications qui sont en écoutent, elles attendent une connexion depuis l’extérieur. Ce qui peut révéler un partage actif alors que vous ne l’avez pas lancé.

Les connexions, elles, désignent les applications qui réalisent des échanges avec l’extérieur. Il faut faire attention à cette liste car les logiciels malveillants ont pour habitude d’envoyer des informations récupérées sur votre machine vers des serveurs sur Internet. Si le nom d’une application semble étrange, il convient de l’interrompre.

Le plus simple est de passer par le terminal et d’utiliser cette ligne de commande :

 $ lsof -i

Le voici avec un affichage un peu plus « lisible « :

 $ lsof -i | awk '{printf("%-14s%-20s%s\n", $10, $1, $9)}' | sort

 Vous obtiendrez un affichage de ce type :

 

Image 01

(écran du terminal affichant la liste des ports TCP/IP ouverts)

J’utilise Automator pour m’envoyer cette liste par Email depuis des Mac distants, voici comment :

 Lancez Automator, sélectionnez « Alarme Calendrier » si votre objectif est de programmer cet envoi de façon régulière. Sinon optez pour la création d’une application que vous lancerez pour récupérer ces informations par Mail.

 Commencez par placez l’action « Exécuter un script Shell », copiez la commande Unix. Ensuite ajoutez l’action « Créer un fichier Texte » et compléter les paramètres. Terminez par l’action de Mail : « Nouveau Message Mail».

 

Image 02

Image-02.png (le flux au complet).

 Une fois exécuté, le flux crée un message avec comme pièce jointe le fichier contenant l’ensemble des ports ouverts.

Image 03

 (le mail avec le fichier en pièce jointe)

 Si vous ne voulez pas laisser de trace du fichier créé, ajoutez deux actions.

 « Obtenir les éléments du Finder indiqué », indiquez le chemin jusqu’au fichier à supprimer. Puis placez l’action « Placer les éléments du Finder à la corbeille ».

 

Image 04

 (Les deux actions à ajouter pour supprimer le fichier créé.)

Et voila rien de très compliqué…

Finder :: Comment changer l’affichage du chemin afin qu’il débute à partir du dossier personnel

Finder

Le chemin (ou « path » en Anglais) affiche en bas de la Fenêtre du Finder l’arborescence qui mène vers le dossier ouvert. Il s’agit d’une option qu’il faut activer manuellement, par défaut l’affichage de chemin est désactivé.

Image01

(La fenêtre du Finder avec la barre du chemin d’accès activée)

Pour l’activer, sélectionnez « Afficher la barre du chemin d’accès » dans le menu « Présentation ». Cette option est très pratique et permet de se déplacer plus facilement dans les dossiers, vous pouvez par exemple cliquer sur l’un des dossiers présents dans cette barre pour l’ouvrir.

Image02

(Le menu « Présentation » qui donne accès à l’option d’affichage de la barre du chemin d’accès.)

Le chemin ou l’arborescence indiquée commence toujours à partir de la racine du disque dur. Hors, un utilisateur ne devrait naviguer que dans son espace, c’est à dire le dossier qui lui est attribué : la petite maison blanche qui porte le nom de l’identifiant de connexion.

Il serait donc plus simple que l’arborescence placée dans le chemin commence uniquement à partir du dossier personnel. C’est possible et pour cela, il suffit de saisir la ligne suivante dans le terminal :

$ defaults write com.apple.finder PathBarRootAtHome -bool TRUE

Une fois fait, relancez le Finder en tapant cette commande :

$ killall Finder

Chemin avant la modification :

Image03

(Base de départ la racine du disque dur)

Chemin après la modification :

Image04

(base de départ le dossier personnel, la petite maison blanche)

Vous pouvez bien sur revenir à la version d’origine en utilisant cette commande dans le Terminal :

$ defaults delete com.apple.finder PathBarRootAtHome

N’oubliez pas de relancer le Finder.

L’avantage de cette astuce est de réduire la longueur du chemin, c’est pratique pour les utilisateurs qui ont beaucoup de dossiers.

 

AppleScript :: Tuer un processus

SEScriptEditorX

 

Vous pourriez souhaiter annuler la copie du fichier, si vous tentez l’opération dans l’éditeur de Script, il ne répondra pas immédiatement… il prend son temps.

Dans cette version, nous informons l’utilisateur qu’une erreur est intervenue et nous lui demandons s’il souhaite continuer la copie : 

Nous récupérons dans la variable « mon_pid » le numéro de pid de la commande « cp » en cours d’exécution. Chaque programme ou commande

possèdes son identifiant unique le « pid ».

mon_pid to do shell script"ps aux | grep Safari | grep -v grep"
set pid to second word of mon_pid
display dialog pid
do shell script "kill " & pid

 

Le script s’explique ainsi :

 « mon_pid » contient le résultat d’une commande qui recherche l’application « Safari », la variable « pid » renferme le numéro du pid (qui est le 2nd mot contenu dans la variable « mon_pid »).

 Pour confirmation j’affiche le numéro du pid. Et enfin j’exécute la commande « Kill » qui tue le processus qui porte le numéro contenu dans la variable « pid ».

 Voici une version plus élégante du Script dans l’éditeur de Script.

 

Image 3

(Le script au complet dans l’éditeur de script avec la gestion des erreurs)

Mac :: Astuce :: Afficher le dossier « Bibliothèque »

 

Finder

Cette astuce consiste à faire apparaitre le dossier « Bibliothèque » qui sous Mac OS X 10.7 est caché.

Dans le Terminal exécutez cette commande :

$ chflags nohidden ~/Library

Comme ceci :

Capture d écran 2012 05 21 à 18 59 45

Rien de plus…

Pour cacher un dossier effectuez l’opération inverse :

$ chflags hidden [et le chemin du fichier]

Mac :: Safari :: Classer les signets par ordre alphabétique

safari.png

Classer vos signets par Ordre Alphabétique :

Safari possède son propre système de gestion de signets, il est simple et efficace. Toutefois une fonction manque à l’appel : Le classement par ordre alphabétique.

Lorsque vous ouvrez un dossier de signets, ils apparaissent suivant l’ordre dans lequel vous les avez ajouté, vous pouvez essayer de cliquer sur l’entête de la colonne « Signet » rien n’y fait, il ne seront pas classés dans l’ordre alphabétique.

Une solution existe. Afin de classer vos signets par ordre alphabétique vous devez glisser/déposer le dossier contenant ces signets sur le « Bureau » et oui vous pouvez le faire !

Image 1.jpg

Vous remarquerez la facilité de l’opération, c’est aussi un bon moyen pour sauvegarder ces signets ou les partager avec ses amis. Le dossier existe toujours dans Safari, il n’est pas supprimé.

Une fois le dossier sur le « Bureau «, appliquez une présentation en colonne. La dernière opération consiste maintenant à replacer le dossier dans Safari et comme par enchantement les signets sont classés alphabétiquement.

Pour cela glissez/déposez le dossier non pas sur la barre latérale gauche des signets mais au sein d’une liste de signets, (le panneau de droite).

Image 2.jpg

Il faut que le dossier soit placé dans un dossier où il ne sera pas accepté, c’est la seule contrainte « étrange « de cette opération.

Attention vous risquez d’avoir deux dossiers identiques et dont l’un aura ses signets non classés. Supprimé le contenu de l’ancien dossier et placez y les signets cette fois dans l’ordre alphabétique. Il faut répéter l’opération avec tous les dossiers que vous souhaitez ordonner.

Il existe un petit script exécutable à partir du terminal du nom de « Sortosaurus », il classe tous les signets et dossiers par ordre alphabétique, vous devez le télécharger sur ce site http://homepage.mac.com/jameshoward/ et cliquer sur « Sortosaurus », fermez Safari et cliquez sur l’icône de « Sortosaurus » qui se trouve dans le dossier « Téléchargement ». Et voilà. Ce script ne propose pas de « retour arrière » donc une fois lancé, le script modifie définitivement le classement de signets.

Si cette astuce vous semble compliquée, il existe un utilitaire qui vous permettra d’organiser vos signets dans Safari : Il s’agit de « Saft », mais il en fait bien plus… Vous pouvez télécharger une version d’essai : http://haoli.dnsalias.com/shared/Saft_Leopard.dmg. A utiliser avec modération à l’heure où Safari 4 est en passe de sortir, ce qui risque de rendre délicate la compatibilité avec ce produit.

HDR

Mac :: Snow Leopard :: Exécuter des programmes 32 bits sur un OS 64 bits

64bit_icon_20090824.jpg

Fondamentalement du code compilé en 32 bits ou 64 bits peut être exécutés quelque soit la plateforme 32 bits ou 64 bits. La contrainte principale concerne la taille des données et donc du type de variable utilisée par le compilateur.

Lorsque vous créez un programme en C, Objective-C ou tout autre langage vous devez définir vos variables, en général un entier est déclaré par le mot « int ». D’un façon tout aussi commune cet « entier » est codé sur 32 bits sur un système 32 et bien sur sur une longueur de 64 bits sur un OS de 64 bits.

En choisissant un modèle de données codées sur 64 bits, un système 32 bits ne peut exploiter les données ce qui à pour effet direct de ne pas autoriser l’exécution du programme. Alors comment fait Apple pour permettre l’exécution de programmes compilées en 32 bits pour être exécutés sur Snow Leopard 64 bits ?

En choisissant le mode LP64, Apple reste sur un modèle 32 Bits sauf pour l’adressage des pointeurs qui lui utilise 64 Bits. Un pointeur étant juste une adresse en mémoire, Apple se donne ainsi la possibilité d’utiliser plus d’adresses de mémoire qu’avec des pointeurs en 32 Bits.

Par contre les types de variable restent sur un mode 32 Bits afin d’assurer la compatibilité.

Microsoft à choisi un solution plus radicale : LLP64 tous est en 64 bits, dès lors aucune application 32 Bits ne peut être exécutée sur un système 64 Bits de Microsoft. L’astuce trouvée par Redmond est de placer un « émulateur » 3 bits dans ces systèmes.

les deux premières lignes sont présentes à titre indicatif, car le probleme apparu aussi lors du passage vers une architecture 32 Bits.

Tableau comparatif des différents modes :

Modèle de données Taille d’un short (bits) Taille d’un int (bits) Taille d’un long (bits) Taille d’un pointeur (bits)
LP32 16 16 32 32
ILP32 16 32 32 32
LP64 16 32 64 64
LLP64 16 32 32 64
ILP64 16 64 64 64

Mac :: OS :: Vérifier les permissions dans le Terminal

Terminal.png

Il existe plusieurs technique afin de vérifier les permissions des dossiers et fichiers. Le plus simple est d’utiliser l’utilitaire « Outil disque » mais vous pouvez aussi exploiter le terminal pour le même résultat :

Il faut pour cela utiliser la commande  » diskutil  » pour vérifier et réparer les autorisations d’un fichier sur le disque système. Vous ne pouvez spécifier le volume de démarrage OS X et ni utiliser le nom du volume qui apparait sur le bureau.

La « node » est le noeux ou point de montage du disque, il est différent du nom du volume qui apparait sur le Bureau ou dans le Finder.

Pour trouver le node du périphérique, vous avez deux possibilités :

$ df
Terminal — bash — 80×24.jpg
$ diskutil list
Terminal — bash — 80×24-1.jpg

Personnellement la seconde me parait plus « lisible ». Dans le cas présent j’ai sélectionné le volume « Macintosh HD », il S’agit du disque « /dev/disk0 » puis de la partition n°2 que l’on désigne par la combinaison « s2 ».

Je vais donc maintenant lancer la commande de vérification et de réparation des permissions.

$ diskutil verifyPermissions /dev/disk0s2
Terminal — diskutil — 80×24.jpg

L’opération prend un certain temps, cela dépend du nombre de fichiers et dossiers présents au sein de la partition vérifiée.

Si vous souhaitez effectuer cette opération de façon plus simple, placez la ligne de commande dans un script AppleScript ou un WorkFlow dans Automator. Vous pouvez ensuite facilement programmer cette tache avec
iCal.

Henri Dominique Rapin

Mac :: Spotlight :: Astuces part 2

image.jpg

Les recherches sauvegardées sont placées dans le dossier : « Bibliothèque/Recherches enregistrées/ « ce qui donne  » ~/Library/Saved Searches » dans le Terminal.

Il est tout à fait possible de les exécuter et d’en récupérer le résultat dans le Terminal, il faut pour cela utiliser l’option « -s » et indiquer le nom de la recherche :

$ mdfind -s "Mac"

Dans cet exemple ma recherche enregistrée s’appelle « Mac »

Vous pouvez effectuer une recherche en utilisant les mêmes options que dans l’interface graphique, il faut indiquer les mots clés suivi de leur valeurs.

Dans cet exemple nous obtiendrons les fichiers de type « image » contenant le mot « Mac »

$ mdfind voiture kind:image
Terminal — bash — 74×14.jpg

Vous pouvez obtenir en lieu et place de la liste de documents le décompte comme ceci :

$ mdfind -count Mac kind:text

J’ai 2410 fichiers de type texte qui contiennent le mot « Mac ».

Terminal — bash — 80×7.jpg

Henri Dominique Rapin

Mac :: Spotlight :: Les fichiers et dossiers importants

image.jpg

Emplacement des « Importers »

/Library/Spotlight
/System/Library/Spotlight

Le panneau de préférences de spotlight:

/System/Library/PreferencePanes/Spotlight.prefPane

Le Service :

/System/Library/Services/Spotlight.service
/System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight

Les commandes :

/usr/bin/mdimport
/usr/bin/mdcheckschema
/usr/bin/mdfind
/usr/bin/mdls
/usr/bin/mdutil
/usr/bin/md

Mac :: Spotlight :: les commandes de base

image.jpg

Ajouter un fichier à Spotlight :

Normalement tout fichier ajouté au sein d’un volume est indexé automatiquement. Il n’y a donc pas de commande particulière à cet effet.

Vous pouvez bien sur forcer l’ajout, pour cela la commande mdimport doit être saisie dans le Terminal et suivi d’un espace, vous devez donner le chemin du fichier. Le plus simple est de copier/déplacer sur le Terminal le fichier que vous souhaitez indexer.

$ mdimport chemin_du_fichier
Terminal — bash — 80×24-1.jpg

Ajouter un dossier à Spotlight : Uniquement sous Tiger

Vous pouvez forcer Sptolight afin que soit ajouté le contenu d’un dossier, cela peut être utilisé pour des dossiers qui ne sont pas par défaut indexés tel les dossiers cachés par le Finder comme :

/System

Il faut pour cela utiliser l’option « -f » le f de « folder » ou dossier en Anglais.

$ mdimport -f /System
Terminal — bash — 80×24-2.jpg

Attention cela ne fonctionne plus sous Leopard !

Mac :: Préférences :: désactiver le contrôle des mises a jour

iTunes.png

Il existe plusieurs préférences qui permettent de limiter le fonctionnement d’iTunes, en voici quelques un :

disableCheckForUpdates
disableAutomaticDeviceSync
disableGetAlbumArtwork
disablePlugins

L’exemple le plus intéressant est d’empêcher la vérification par iTunes de l’existence d’une mise à jour:

$ defaults write com.apple.iTunes disableCheckForUpdates -bool YES

Mac :: utilitaire :: GeekTool 3

GeekTool se bonifie et passe en version 3. Le site est lui aussi refait et propose des sections pour utilisateurs.

Cet utilitaire permet d’afficher le résultat de commandes Unix (shell), images ou éléments de pages Web sur le fond de votre bureau.

La nouvelle interface :

Voila_Capture32.png

http://projects.tynsoe.org/fr/geektool/

Les Processus en tête de liste :

top -ocpu -FR -l2 -n20 | grep '^....[1234567890] ' | grep -v ' 0.0% ..:' | cut -c 1-24,33-42,64-77

Informations sur vos connexions Wifi :

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I

CPU Idle %

top -l 2 | awk '/CPU usage/ && NR > 5 {print $12, $13}'

IP Address (from nicinabox.com)

ifconfig en1 | grep "inet " | awk '{print $2}'

Calendrier (nicinabox.com)

cal | awk -v cday=`date "+%d"` '{ fill=(int(cday)>9?"":" ");
a=$0; sub(" "fill int(cday)" ","["fill int(cday)"]",a); print a }'

Upload

if=`ifconfig | awk '($1 ~ /^inet$/ && $2 !~ /^127.0.0.1$/) || /BROADCAST/ {if ($1 == "inet") {sub(/:/,"",i); print i; exit;} else i = $1;}'`; o=`netstat -I $if -bn | awk 'NR == 2 {print $10}'`; sleep 4; if [ -n "$if" ]; then echo `expr \( \`netstat -I $if -bn | awk 'NR == 2 {print $10}'\` - $o \) | awk '{printf("%.1f KB/s",$1 / (1024 * 4))}'` up; fi

Download

if=`ifconfig | awk '($1 ~ /^inet$/ && $2 !~ /^127.0.0.1$/) || /BROADCAST/ {if ($1 == "inet") {sub(/:/,"",i); print i; exit;} else i = $1;}'`; i=`netstat -I $if -bn | awk 'NR == 2 {print $7}'`; sleep 4; if [ -n "$if" ]; then echo `expr \( \`netstat -I $if -bn | awk 'NR == 2 {print $7}'\` - $i \) | awk '{printf("%.1f KB/s",$1 / (1024 * 4))}'` dn; fi

Mac :: Capture d’ecran :: Changer les parametres

Vous pouvez changer l’emplacement par défaut d’enregistrement des copies d’écrans faites à partir de Mac OS X en exécutant ces deux lignes dans le Terminal ;

A saisir l’une après l’autre :

$ defaults write com.apple.screencapture location

Taper sur la touche « Entrer » puis procédez de même pour la ligne suivante ;

$ killall SystemUIServer

Et voilà !

Henri Dominique Rapin

Mac :: Shell :: Posix

Apple se targue avec Mac OS X Leopard d’être compatible avec les spécifications de la norme POSIX 1003.1.

Cela concerne essentiellement l’implémentation du Shell et des commandes Unix.

Toutefois pour utiliser cette norme POSIX 1003.1 vous devez ajouter les options suivantes à la ligne de commande d’exécution du Shell.

Par exemple avec Bash ;

$ bash --posix

L’implémentation actuelle est la version 3.2.

Notez que certaines commandes dans les Man Pages font référence a la norme 1003.2, qui comme on peut l’imaginer fait référence a une conventio plus récente :

c’est le cas par exemple pour la commande :

$ re_format

ou

$ man re_format

Qui est liée aux expressions régulières.

Henri Dominique Rapin

Mac :: Unix :: Shell

Savez vous quels sont les « Shell » livrés avec Mac OS X Leopard ?

Nous avons en premier le « Bourne Again SHell » ou Bash, c’est l’interpréteur de commande par défaut.

Puis nous avons le « TENEX C shell » plus connu sous le nom de tcsh. Nous trouvons aussi le « Korn Shell » ou ksh et enfin le Z Shell appellé comunement le zshell.

Les 3 Shell : bash, ksh, zsh sont compatibles avec le « pere » des Shell qui est sh ou « Bourne Shell ».

La liste des Shells est disponible dans le fichier « Shells » placé dans /etc/.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

Vous pouvez en obtenir le contenu par la commande :

$ cat /etc/shells

Petite anecdote, le Shell « sh » que vous trouverez dans « /bin/sh » n’est en fait qu’un lien vers « bash »… Tout comme « tsch » qui est utilisé lorsque vous lancez « csh ».

Henri Dominique Rapin

Mac :: Spotlight :: mdutil

image.jpg

La commande « mdutil » permet de désactiver l’indexation d’un volume. La commande est simple (sudo est nécessaire) :

$ sudo mdutil -i off "/Volumes/Macintosh HD/" 

Dorénavant Spotlight n’indexera plus le volume « Macintosh HD ». Ce réglage ne sera pas modifiée même après un redémarrage.

Pour revenir au réglage précèdent, la commande est toute aussi simple :

$ sudo mdutil -i on "/Volumes/Macintosh HD/" 

Afin de connaître l’état de ce réglage pour un volume donné, utilisez la commande suivante :

$ sudo mdutil -s "/Volumes/Macintosh HD/" 

* Remplacez « Macintosh HD » par le nom du volume.

Supprimer l’indexation d’un volume peut être nécessaire, notamment lorsque vous utilisez un volume de sauvegarde ou sont répliqués les fichiers. Une indexation de ce volume fera apparaître dans le résultat de la recherche de Spotlight les document originaux et dupliqués.

Henri Dominique Rapin

Mac :: Shell :: Liste des partitions

Obtenir la liste des partitions :

$ diskutil list

équivalent sous Linux de :

$ sfdisk -l
Terminal — bash — bash — ttys000 — 80×25.jpg

HDR

Mac :: VMware Fusion 2 :: Le guide gratuit

J’ai écrit à la demande de VMware un guide sur le logiciel « Fusion 2 ». Pour rappel Fusion est un programme de virtualisation qui permet entre autre d’exécuter Microsoft Windows sur Mac.

Ce guide est terminé et sera mis à disposition gratuitement par VMware dans les semaines à venir.

Ceux qui le souhaitent peuvent en avoir une pré-version en cliquant sur le lien ce dessous :

http://files.me.com/hdrapin/h4tusq

Les six premiers chapitres sur la découverte de VMware Fusion 2 ont été réalisé par François Tonic le rédacteur en chef et fondateur du magazine « Programmez », vous y découvrirez les bases de Fusion. J’ai réalisé les sections dites « avancées » à partir du chapitre 7. Vous y trouverez des astuces ainsi que des explications sur différents aspects de Fusion. pour les connaisseurs, certaines astuces sont aussi valables pour les autres produits de VMware.

En espérant qu’il vous aidera dans l’utilisation de VMware Fusion 2… et bien sur si vous avez des remarques… sur des sujets non abordés ou des incompréhensions, je suis preneur.

Bon Mac et Bonne lecture

Image 5.jpg

Windows :: Utilitaire :: Expression Régulières

GRATUIT

Qui n’a pas cherché un bon outil afin de créer des RegEx (Expression régulières) pertinentes ? Voici un utilitaire bien fait et pertinent. Indispensable dans la trousse à outil de bon développeur…

[EN] http://www.radsoftware.com.au/regexdesigner/

Traduction de la page avec Google :

http://74.125.39.132/translate_c?hl=fr&ie=UTF-8&sl=en&tl=fr&u=http://www.radsoftware.com.au/regexdesigner/&prev=_t&usg=ALkJrhhqDw4QrhFOw4VuuwwVnERROh2bIA

Mac :: Renice

Cette astuce est utilisable uniquement lorsque vous avez une application qui sollicite beaucoup le processeur, les derniers « quad core » d’Intel ont de la puissance à revendre, sur ce type de machine cette méthode à un intérêt moindre.

Lorsque vous utilisez un Mac, vous avez la sensation que plusieurs taches s’exécutent en même temps, pourtant à la base un Mac n’a qu’un seul processeur, dès lors il doit gérer une file d’attente pour que tous les logiciels ou fonctions du système puissent avoir un peu de temps consacré par le processeur.

La bonne solution pour qu’un logiciel soit plus réactif est de limiter le nombre d’applications qui fonctionnent en même temps, ainsi votre application aura plus de « temps de calculs » . Malheureusement, ce n’est pas toujours possible, Mac Os X est aussi constitué d’un ensemble de « services » qui fonctionnent en tache de fond (appelés démons ou processus), vouloir les supprimer c’est se défaire de fonctions souvent indispensables, alors que faire ? la dernière solution : gérer les priorités entre tous les « processus » qui tournent sur votre Mac.

Gérer la file d’attente des processus ne vous apportera pas de puissance de calculs supplémentaires, simplement donnera un peu de priorité à certain logiciel au dépend d’autres, si vous effectuez de l’encodage vidéo, de la retouche de photo par lot etc.… Cette approche peu avoir un intérêt si vous n’avez pas dédié une machine puissante.

Lorsque vous lancez une application par défaut son niveau de priorité est : « zéro », ainsi, dans la file d’attente « nulle ne passe en priorité », pour modifier le niveau de priorité d’une application il faut utiliser son « PID », le Process ID (Process Identity) est un numéro attribué à un processus (programme) exécuté sur l’ordinateur, il est unique. Si vous fermiez votre application et que vous la relanciez, il y a peu de chance que le PID soit le même.

Comment récupérer le PID, le plus simple est d’utiliser l’utilitaire « Moniteur d’activité » que vous trouverez dans le dossier utilitaire, le PID correspond à la colonne de droite « N° de l’Opération », par exemple dans mon cas Word porte le numéro 7712.

Image 1.jpg

Une autre solution consiste à utiliser le terminal et de taper la ligne suivante :

$ ps ax | grep word 

(remplacer word par l’application que vous souhaitez identifier).

Vous obtiendrez quelque chose d’apparent :
$ ps ax | grep word
7761 p1 S+ 0:00.01 grep word

La commande magique est : « renice » (voir dans le terminal: man renice) , au départ certains processus système voient leur priorité établit par « nice » (voir dans le terminal : man nice). Lorsqu’il s’agit de priorité, il ne s’agit pas de dire premier ou dernier, il faut établir une échelle, elle commence à « -20 » et monte jusqu’à « +20 », pour « ralentir » une application utilisez des valeurs positive (étrange) et la valeur +20 indiquera au système que la priorité à donner est la moins élevée.

Si maintenant vous voulez augmenter la priorité, utilisez une valeur « négative » ainsi « -20 » donnera à votre application la plus haute priorité, les concepteurs d’unix n’étant pas des « écervelés » (quoi que) , ils prirent quelques protections, ainsi vous pouvez « ralentir » les processus avec votre compte utilisateur, mais vous ne pouvez pas « accélérer » une tache sans être administrateur :

La commande suivante (baisse de priorité) ne pose pas de problème :

$ renice +15 5671

Par opposition celle-ci (hausse de la priorité) ne fonctionnera pas avec votre compte utilisateur:

$ renice -10 5671
renice: 5671: setpriority: Permission denied

Pour que cela fonctionne, vous devez utiliser « sudo » :

$ sudo renice -10 5671

Après la saisie de votre mot de passe, la commande sera prise en compte.

Le gros problème de « renicer » c’est qu’il faille à chaque redémarrage d’application retrouver le PID, il existe bien un script Applescript, mais cela ne reste pas très simple, Pour maintenir un niveau priorité sur une application utilisez : « Renicer » de NorthenSoftworks ( )

Image 2.jpg

Vous aussi trouverez un utilitaire qui lui donne un maximum de priorité aux applications de premier plan: « Speed Freak » ( http://home.comcast.net/~jeff.ulicny/software/)

Utiliser « Renice » peut vous procurer plus de « temps de calculs » pour votre programme, mais cela ne sera perceptible que sur des applications nécessitant de la puissance processeur, n’oubliez pas qu’il s’agit d’un ratio, vous avez une puissance de calculs, cette puissance n’est extensible, mais en son sein vous pouvez gérer les priorités.

HDR

Mac :: Applescript :: Récupérer la version de Mac OS X

Comment récupérer la version de Mac OS X ?

Le plus direct est d’utiliser la commande « sw_vers » exécutée dans le Terminal.

Cette commande retourne des informations en fonction de l’argument :

- "sw_vers -productName" 		: Retourne le nom de l'OS
- "sw_vers -productVersion" 	: Retourne la version de Mac OS X
- "sw_vers -buildVersion"		: Retourne le Build

La page man de cette commande : http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man1/sw_vers.1.html

set os_version to do shell script "sw_vers -productVersion"
Image 2.png

Mac :: Terminal :: Caractères spéciaux

Il y a quelques caractères utilisés dans le « Terminal » qui n’apparaissent pas sur les touches d’un clavier standard « Apple ».

Pour obtenir la barre verticale « | » = Pressez Majuscule+Option+l

Pour obtenir la barre oblique inversée « \ » = Pressez Majuscule+Option+/

Pour obtenir les Crochets « [ » ou « ] » = Pressez Majuscule+Option+( ou Pressez Majuscule+Option+)

Pour obtenir le symbole « ` » = Pressez cette touche `
puis la barre d’espace.

Mac :: Terminal :: Comparer deux fichiers (diff)

La commande « diff » est très puissante. Sa vocation est de comparer deux fichiers et d’en afficher les résultats :

$ diff fichier1.txt fichier2.txt

L’option « -b » permet d’ignorer les espaces en se concentrant sur les caractères.

Cette commande vous permet par exemple de vérifier quel fichiers est le plus recent ou ayant un contenu particulier.

Reamarque : « diff » ne renvoi rien si les fichiers sont identiques.

Mac :: Shell :: Comment récuperer le numéro de série du Mac ?

Vous pouvez simplement le numéro de série de votre Mac en ouvrant choisissant « A propos » dans le menu « Pomme » puis en cliquant deux fois sur le numéro de version.

À propos de ce Mac.jpg

Au deuxième clic le numéro apparaît.

À propos de ce Mac-1.jpg

Mais comment faire pour un Mac distant ?

$ ioreg -l | grep IOPlatformSerialNumber 

le tout au travers de SSH..et vous récupérerez le numéro de série du Mac.

Henri Dominique Rapin