Haut de page

D’Unix à Mac OS X


Cette page est destinée aux utilisateurs plus expérimentés de MacOS X ou aux personnes venant du monde Unix.

MacOS X v10,5 (Leopard) est un produit certifié Open Brand UNIX 03, conforme aux spécifications 1003.1 SUSv3* et POSIX pour l'API C, les utilitaires Shell et les threads.


Quoi de neuf ?



Des outils ?

Liens externes


Samba : Serveur de fichiers et d'impression pour clients windows - smb - smbd

Samba est un serveur de fichier et d'impression pour les clients SMB/CIFS.


Déployer Unix


UML


TeX

Installation de LaTex 2007

Depuis le début 2007, l'installation de LaTex n'est plus maintenue dans le package tetex. Vous pouvez télécharger MacTeX-2007 puis la page chez tug.org.

Le fichier MacTeX.dmg de mai 2007 comprends à la fois tex 3.141592 le packages LaTex, ConTeXt mais aussi les applications TeXShop 2.10b8 (Editeur de texte), LaTeXiT 1.12.0 (Editeur d'équations), BibDesk 1.3.5 (Editeur de bases BibTeX), Excalibur 4.0.1 (Correcteur orthographique) dans /Applications/TeX, l'utilitaire i-Installer 2.88 qui permet d'installer les mises à jour des packages dans le dossier Utilitaires des Applications, un module de Préférences système dans Bibliothèque:PreferencePanes et des modules optionnels comme Ghostscript, des polices de caractères et ImageMagick 6.3.3 qu'il est possible de installer séparément.

LaTeX se trouve alors dans /usr/texbin/ (à rajouter dans votre $PATH) qui est un lien symbolique vers la distribution configurée par les Préférences Système, soit /usr/local/texlive/2007/powerpc-darwin/bin ou /usr/local/texlive/2007/i386-darwin/bin.

Si vous aviez une autre installation de LaTeX, au premier lancement des applications, il faut indiquer ce chemin :

L'installeur va déterminer si vous utilisez le format A4 par les Préférences Système > Imprimantes et fax. Vous pouvez le changer ultérieurement par :

sudo texconfig-sys paper a4
sudo texconfig dvips paper a4

Juillet 2007 :

Voir aussi


Réseaux Privés Virtuels


Portage d'applications Unix

Afin d'installer plusieurs bibliothèques de développement et quelques applications, je me suis interressé aux distributions UNIX proposées pour le système MacOsX. J'ai trouvé 3 distributions : Fink, Gentoo et DarwinPorts. (maintenant MacPorts) Elles se sont regroupées en une organisation commune Metapkg.

Homebrew

Et une interface graphique.

MacPorts

Portage d'applications GNU

Lorsque les applications sont un peu anciennes le fichier de configuration ne reconnait pas MacOS X. Il faut alors recopier les fichiers config.guess et config.sub qui se trouve dans /usr/share/automake-1.10/ à la place de ceux livrés avec le programme à compiler. Il faut aussi supprimer le ficher config.cache.

Il est aussi possible de récupérer la toute dernière version de ces fichiers aux adresses :

cp /usr/share/automake-1.6/config.guess /usr/share/automake-1.10/config.sub . rm -Rf config.cache ./Configure

Compilation de programme 32-bit/64-bit PPC et Intel

CFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64' CCFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64' CXXFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64' ./configure

Suppression de la partie 64-bit

sudo lipo programme -thin ppc7400 -output programme.ppc # PowerPC sudo lipo programme -thin i386 -output programme.i386 # x86 sudo lipo programme.ppc programme.i386 -create -output prog

Compilation de l'utilitaire recode

Il manque libintl.h dans MacOS X 10.3, il faut mettre ENABLE_NLS 0 dans config.h.
Utilisation recode latin1..UTF8 .

Fink

Pour MacOS X 10.2, Fink a été mis à jour (0.4.0a), attention pour une upgrade voir <http://fink.sourceforge.net/news/jaguar.php>.

Fink utilise les outils Debian (dpkgt et apt-get) pour télécharger et recompiler vers MacOS X des applications comme X11, Python ou gimp.
04/01/2002 : version Fink 0.3.1.

Fink installe tous les logiciels (sauf X11) dans le répertoire /sw. Comme MacOS X ne connait pas ce répertoire, il faut ajouter la ligne source /sw/bin/init.csh en fin de votre fichier .cshrc. Attention prévoir près de 2Go pour X11 + Gnome + Gimp (et 12 heures d'ADSL). Fink va stocker les package téléchargés dans /sw/src.

% sudo fink list % sudo fink install xfree86-rootles

DarwinPorts

Installation et utilisation :

curl -O http://www.darwinports.org/downloads/DarwinPorts-1.3.1.tar.gz tar -xzf DarwinPorts-1.3.1.tar.gz cd DarwinPorts-1.3.1 ./configure && make && make install export PATH=/opt/local/bin:/opt/local/sbin:$PATH port -d selfupdate cd .. rm -r DarwinPorts-1.3.1

Installation de coreutils et pkg-config :

port install coreutils port install pkgconfig

Semaphores

Les semaphores Posix dans MacOS X 10.4.


ImageMagick

ImageMagick est un ensemble d'outils en ligne de commande permettant de manipuler des images. Il existe des packages tout prêt pour installer ImageMagick via fink, via l'installer de LaTex II2 et dans MacTeX.

Voici comment installer la dernière version en ligne de commande.
Avant d'arriver dans les problèmes, il faut savoir que ImageMagick gère des tonnes de formats de fichier mais pas jpeg directement (ni png). Il faut d'abord installer la librairie jpeg.

Installation de la librairie JPEG

Installation des outils ImageMagick

Vérification avec /usr/local/bin/identify

Pour installer pas trop de chose


X11 XFree86 X-Window

Janvier 2004: Configuring and Running X11 Applications on MacOS X.

Novembre 2003: La version finale 1.0 est inclue dans MacOS X 10.3

Février 2003: La version française est sortie.

Janvier 2003, Apple diffuse une version beta d'Xfree86 pour MacOSX. par défaut, elle est configurée en QWERTY. Pour passer en AZERTY:

/Applications/X11.app/Contents/MacOS/X11 --xquartz-be-xinit -keymap /System/Library/Keyboards/Francais.keymapping


Navigateurs Web pour MacOS X


Developer Tools - Tcl/Tk


Drivers Ethernet pour cartes 100Mb


Drivers USB pour souris et trackballs


Scanner


Single user, mode debug, mode Safe au boot, login


Changement d'uid

Pour trouver l'uid d'une personne à partir de son login

Pour changer le propriétaire d'un ensemble de fichiers (en root)


Problèmes de résolutions d'écran lors des changements de moniteurs

Supprimer le fichier com.apple.windowserver.plist.


Copie de disque : Carbon Copy Cloner

Attention sur MacOS 10.3.9 la version 3.x part en erreur au lancement :

dyld: /Applications/Carbon Copy Cloner.app/Contents/MacOS/Carbon Copy Cloner can't open library: /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (No such file or directory, errno = 2)

il faut utiliser la version 2.3.


Fenêtre Terminal


Transformer une partition UFS en HFS

Schéma de partition

Le shema de partition a évolué avec l'introduction des Mac à processeur Intel. Il y a maintenant trois shémas de partition possible. Dans l'Utilitaire de disque, sélectionner le disque sur la gauche, dans l'onglet Partitionner, choisir le nombre de partitions du disque (ne pas laisser actuel), et cliquer sur le bouton Options...

Convertir un CD/DVD en image iso

sudo umount /dev/disk4 # point de montage dd if=/dev/disk4 of=image.iso # /dev/disk1 pour un DVD, /dev/disk1s0 pour un CD

Serveur NFS

Optimiser les performances du système

Packages

sftp

Sendmail

Q: Message MacOS X 10.2:
/etc/mail/sendmail.cf: line 93: fileclass: cannot open '/etc/mail/local-host-names': Group writable directory

R: sudo chmod g-w / (voir http://docs.info.apple.com/article.html?artnum=107578)

MacPerl

MacPerl 5.6.1a1, basé sur Perl 5.6.1

MacPython

gNAT

FireWall

Compte utilisateur

Comment exécuter des scripts au démarrage

Comment voir tous les fichier (commençant pas ".") sur le Finder

Raccoursir le délai de drag and drop (100ms au lieu de 1000ms)

Ne pas écrire les fichiers DS_Store files sur le disques externes

Déverroullier les fichiers (the user immutable flag) via le Terminal

Création d'un login ne permettant que le scp


Rétablir les droits d'accès

MacOS 10.1.5 : Pour rétablir les droits d'accès l'application Repair Privileges permet de tout remettre en place. Elle utlise aussi les fichiers téléchargés par les mises à jour automatiques (fichiers situés dans /Library/Receipts/ ).

MacOS 10.2: La réparation des droits d'accès est intégrée dans Applications:Utilitaires:Utilitaire de disque. Après authentification, choisir le disque contenant MacOS X, cliquer sur l'onglet S.O.S, puis sur le bouton "Réparer les autorisations du disque".

Pour les problèmes d'impression, si la réparation des droits d'accès ne suffit pas,

Source Apple

Trou de sécurité permettant d'obtenir un shell root [fév 2005]

Je ne vais pas vous donner le programme mais sachez qu'il est très marche très bien et profite d'une erreur dans le fichier mRouter. Grâce à son bit 's', il permet d'avoir un shell root. Si vous ne synchronisez pas avec un téléphone portable à système Symbian, il suffit de supprimer le bit 's' grâce à la commande :

Attention, si vous réparez les permissions avec l'Utilitaire de disque, il va remettre le bit 's'.

sudo chmod 755 /System/Library/SyncServices/SymbianConduit.bundle/Contents/Resources/mRouter

Les droits d'origine sont -rwsr-xr-x root wheel

Vous pouvez aussi répérer tous les bit s de votre système avec :

sudo find / -perm +4000 -print

Synthèse des tentatives d'accès non autorisées

sudo grep "failed to auth" /var/log/secure.log | sed 's/^.*user \(.*\) for.*$/\1/' | sort | uniq -c

Source macintouch.


Sudo

Effectivement personne n'a le mot de passe de root car il n'y en a pas (une * à sa place), que qui évite de pouvoir tout faire en root.
Ceci dit, il y a une commande sudo qui fait la même chose que root (en mieux).
Il faut être administrateur pour lancer sudo et sudo permet de lancer des commandes au nom d'une autre personne avec un mot de passe valable un temps limité (5 minutes).

Bref, en terminal 'admin' tu tapes par exemple
sudo cp xxx /bin/.
on te demande le mot de passe admin et la commande passe en root.

Ensuite, pendant un certain temps, lors des commandes sudo, il ne te demande plus le mot de passe. Si tu attends trop longtemps entre deux commandes, il va te le demander à nouveau.

Tu peux aussi configurer sudo pour autoriser un autre utilisateur à utiliser sudo grace à visudo.


Création d'un groupe ID identique à un login (ici login web) et le mettre comme groupe principal (au lieu de staff)

Trouver les UID des utilisateurs

ls -al /Users ls -aln /Users

Créer le groupe web (ici 502)

sudo dscl . -create /Groups/web PrimaryGroupID 502

Remplacer le groupe principal staff (20) par web (ici 502)

sudo dscl . -change /Users/web PrimaryGroupID 20 502

Changer le groupe des fichiers déjà créés

sudo chgrp -R web /Users/web


Rajouter un utilisateur dans le groupe Developer Tools pour utiliser le debugger de XCode (Mac OS X v10.6)

sudo dscl . append /Groups/_developer GroupMembership


Scripts de démarrage, cron

Script permettant de changer les droits en lecture/écriture pour tous, dans le dossier partagé si ils ne le sont pas déjà (source macosxhints)

Créer un fichier nommé fr.quelquechose.plist contenant:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>fr.quelquechose.plist</string> <key>ProgramArguments</key> <array> <string>find</string> <string>/Users/Shared</string> <string>!</string> <string>-perm</string> <string>777</string> <string>-exec</string> <string>chmod</string> <string>777</string> <string>{}</string> <string>;</string> </array> <key>RunAtLoad</key> <true/> <key>StartInterval</key> <integer>3600</integer> <key>WatchPaths</key> <array> <string>/Users/Shared</string> </array> </dict> </plist>

Mettre ce fichier dans /Library/LaunchAgents, redémarrer la machine ou bien launchctl load /Library/LaunchAgents/fr.quelquechose.plist

À partir de MacOS X v10.4, le démon launchd offre une interface unifiée à cron, xinetd, mach_init, RC, SystemStarter, watchdog voir

Pour les exemples, le mieux est de regarder ce qu'il y a dans /System/Library/LaunchDaemons sur une machine pour s'en inspirer.

Cron

Pour gérer les fichier crontab, le logiciel CronniX est parfait.

Cron recherche des fichiers de crontab ayant des noms de compte existant dans /etc/passwd. Où se trouvent les fichiers de crontab ?

Sur tous les Unix, des fichiers de crontab ayant un format différent (avec nom de login sur chaque ligne de cron) se trouvent dans etc/crontab.

Pour migrer de 10.4 à 10.5, vous devez déplacer les cron des utilisateurs un par un. En effet, sur MacOS X Server, il y avait une cron cyrusimap qui doit être intégrée sous forme de launchd. Voici un exemple de où je déplace le fichier de crontab du compte admin :

sudo -s mv /var/cron/tabs/admin /usr/lib/cron/tabs/.


Commande tr et wc

Depuis MacOS X 10.5, les commande tr et wc n'acceptent plus n'importe quoi dans leur flux d'entrée. Les caractères accentués (iso) ne passent plus ! Pour une péridode de transition, j'ai repris les versions 10.4 en Universal Binary de tr et wc.
J'ai tout d'abord pensé que c'était limité aux caractères Ascii et bien non, si les caractères sont en UTF8, les commandes passent.

Commande ls

Depuis MacOS X 10.5 il y a un espace supplémentaire. Voici ci-dessous la commande en 10.4 et 10.5 :

-rw-rw-r-- 1 web web 2677 Oct 28 17:43 xxx -rw-rw-r-- 1 web web 2677 Oct 28 17:43 xxx


Références:

Voir aussi

Explication graphique des commandes shell
http://developer.apple.com/unix/
http://developer.apple.com/internet/
http://www.darwinfo.org/faq.shtml

http://www.appleinsider.com/macosx.shtml
Darwing http://www.publicsource.apple.com/
Tutorial http://kapu.net/macosx/
Open Source Development Network http://osdn.com/
CVS http://www.maccvs.org/
OS X FAQ http://zieg.mco.enteract.com/
OS X FAQ http://web.ukonline.co.uk/sixkiller/macosx/
PPPoE daemon http://home.t-online.de/home/bernhard.baehr/
FAQ http://www.macintouch.com/macosxbeta.html
Sécurité http://www.macsecurity.org/
News softrak.stepwise.com
Les pages de man http://www.osxfaq.com/MAN/Index/A.ws
Samba: http://home.student.utwente.nl/d.hartman/watdoeik/samba.html
Documentation Netinfo : http://www.xecu.net/istone/NetInfo/netinfo.tar
WebDAV http://www.simonganiere.ch/mac/webdave.html
Interface WebDAV http://www.webdav.org/goliath/
OpenSSH: http://www.macintum.de/osx/
Gnat http://osgood.seas.gwu.edu/cgi-bin/lyris.pl?enter=gnat-osx&text_mode=0&lang=english
THE GNU MAC OS X Public Archive http://www.osxgnu.org/
AbiWord, GIMP, sous forme de CD ... http://www.openosx.com/products.html

Des Shareware et Freeware http://mymac.online.fr/logiciel/macosx.htm

Serveurs X Window pour MacOS X

XFree86 for MAC OSX Rootless (FreeWare): http://www.osxgnu.org/software/Xwin/xfree86/
MaX (shareware $30): http://www.materialarts.com/maX/index.html
XFree86 (XDarwin) (FreeWare): http://mrcla.com/XonX/
Xtool (Commercial $250 ou $199) http://www.tenon.com/products/xtools/
eXodus (MacOS 9 ?)
compilation de la librairie jpeg : http://www.paginar.net/matias/articles/gd_x_howto.html#sct07

2001-2016



FutureShare

 | 

Glossaire

 |