par Anders Brownworth
[anders chez thehamptons.com]
Traduction par Etienne Herlent
Version 2.1.0
26 février 2000
http://www.anders.com/projects/netatalk/
Ce document est la traduction française du "Linux Netatalk-HOWTO" d'Anders Brownworth.
Elle a été réalisée début août 2000 sur la base de la version 2.1.0 du 26 février 2000 par Etienne Herlent, avec l'aimable autorisation d'Anders Brownworth.
La version originale de ce document sur trouve à http://www.anders.com/projects/netatalk/.
Veuillez adresser toute question concernant le contenu de ce document à Anders Brownworth <anders chez thehamptons.com>. Le traducteur utilisant Netatalk, il est possible qu'il soit en mesure de répondre aux questions concernant le contenu de ce document.
Veuillez adresser toute remarque concernant la traduction à Etienne Herlent.
Merci à mon i-pote César pour sa relecture.
Netatalk est un ensemble de logiciels qui permet à une machine Unix de fournir des services d'impression et d'accès aux fichiers selon le protocole Appletalk sur un réseau local. Netatalk supporte les protocoles AppleShare IP et Appletalk "classique". Avec Netatalk, des Macintosh peuvent monter des volumes Unix (NDT : dans la terminologie Apple, un volume correspond à une partition) et imprimer sur des files d'attente comme s'ils étaient des composants standards d'un réseau Appletalk.
Ce document est réalisé comme un guide pour aider l'administrateur d'un système Linux à paramétrer et administrer Netatalk. Linux est un Unix librement distribuable et répondant à la norme Posix 1 pour 386, 486, Pentium, Power Macintosh, Sun et Alpha, ainsi qu'expérimentalement pour d'autres plate-formes (SGI, etc).
Pour ceux d'entre vous qui sont impatients, voici le HOW-TO Netatalk sur Linux : Guide pour l'impatient.
Netatalk est réalisé par nos amis du Research Systems Unix Group à l'université du Michigan. [netatalk chez umich.edu]
Le véritable site de Netatalk est à : [http://rsug.itd.umich.edu/software/netatalk.html]
Un autre endroit pour trouver des informations concernant Netatalk est le Faq-O-Matic de Bill McGonigle à : [http://threepio.hitchcock.org/cgi-bin/faq/netatalk/faq.pl]
Le support d'AppleShare IP (AFP/TCP) ainsi que les dernières corrections de bug et d'améliorations sont comprises dans la version de Netatalk d'Adrian Sun appelée netatalk+asun. Cet HOW-TO traite de la version d'Adrian Sun car elle est la plus à jour. "L'ancienne version" de cet HOW-TO peut être trouvée à : [http://www.anders.com/projects/netatalk/old/] (NDT : non traduit).
Pour fournir des services de fichier et d'impression à des machines Windows (qui utilisent SMB sur TCP), vous devriez vous tourner vers Samba. Netatalk coexiste bien heureusement avec Samba. [http://ftp.easynet.be/samba/samba/samba.html]
Netatalk+asun permet à un Macintosh de voir une machine Linux. Pour
réaliser l'inverse (une machine Linux qui voit un Macintosh) vous devez
installer le module afpfs :
[http://www.odyssey.co.il/~heksterb/Software/afpfs/] Note: Ce site semble ne
plus fonctionner, mais nous avons un miroir à :
* [http://www.anders.com/projects/netatalk/mirror/afpfs-1.0b1.tar.gz]
* [http://www.anders.com/projects/netatalk/mirror/afpfs-1.0b2q2.tar.gz]
David Foster écrit : afpfs
n'est plus maintenu
actuellement. L'interface du système de fichier dans le noyau a changé de
manière significative, et afpfs n'a pas été recompilé depuis les premiers
noyaux 2.1.x. J'ai bidouillé un peu pour qu'afpfs
se compile
avec les noyaux 2.2.x, mais ce n'est pas franchement beau à voir. Vous pouvez
obtenir une version compilable à http://www.panix.com/~dfoster/afpfs/ (NDT :
site disparu), mais je le considère au mieux comme pré-alpha (et un
module du noyau en version pré-alpha est très, très dangereux).
Personnellement, j'ai annoncé que je continuais le développement lorsque j'ai
un peu de temps libre. Et vous savez ce que cela signifie :-).
Commentaires et corrections sont les bienvenus. Quelqu'un m'a envoyé un fichier diff de mes pages qui corrige mon orthographe atroce mais je l'ai perdu à cause d'une maladresse. Quiconque désirant m'aider à ce sujet sera le bienvenu.
Si vous rencontrez des problèmes avec Netatalk, un bon endroit pour
obtenir de l'aide est linux-atalk listserv. Inscrivez-vous en envoyant un
courrier électronique à listserv chez netspace.org, sans sujet mais avec,
dans le corps du message, SUBSCRIBE LINUX-ATALK (votre nom
complet)
. Pour vous désinscrire, envoyez un courrier électronique au
même destinataire avec comme corps de message UNSUBSCRIBE
LINUX-ATALK
. Les messages adressés à listserv doivent être envoyés à
linux-atalk chez netspace.org.
Avant de commencer :
Ce dont vous allez avoir besoin :
Décompactez et désarchivez le code source avec la commande suivante :
tar -xvfz netatalk-1.4b2+asun2.0a18.2.tar.gz
si vous téléchargeâtes la version en rpm :
eyore:~/src> rpm -i netatalk-1.4b2+asun2.1.0-5.i386.rpm(NDT : il y a un RPM pour architecture PowerPC dans la distribution LinuxPPC 2000).
Editez le fichier Makefile dans le répertoire principal de l'arborescence source :
Affectez le répertoire de destination :
DESTDIR=/usr/local/atalk
, qui est le répertoire par défaut, et qui est probablement correct pour la plupart des installations.Mettez en commentaire le support PAM si vous ne l'avez pas.
Si vous n'avez pas PAM (Plugable Authentication Modules) vous devez mettre en commentaire la ligne
PAMDIR=/usr
. De manière générale, RedHat utilise PAM et Slackware non. PAM permet d'utiliser des modules d'identification des utilisateurs (méthodes de vérification des utilisateurs et des mots de passe) et de les ajouter à votre système. Des modules typiques de certification incluront le support de shadow password, de NIS, etc.
Editez le fichier etc/afpd/Makefile si vous avez besoin du support de shadow password. (PAM s'occupe de la vérification des "shadow password", si bien que si vous avez PAM et un système avec "shadow password", vous pouvez passer cette étape.)
La plupart des distributions majeures de Linux comme RedHat utilisent les "shadow password". Si vous ne savez pas si votre système utilise les "shadow passwords", regardez le fichier des mots de passe (NDT : le fichier est
/etc/password
sur LinuxPPC 2000, et sans doute sur les autres distributions basées sur RedHat). Si vous avez un "x" là où vous devriez avoir le mot de passe crypté, c'est que votre système utilise les "shadow passwords" et vous devez définir les "shadow passwords" dans le fichier Makefile. (exemple de ligne d'un fichier "shadow password":root:x:0:0::/root:/bin/tcsh
)Ajoutez
-DSHADOWPW
au fichieretc/afpd/Makefile
comme ceci :CFLAGS= ${DEFS} ${AFSDEFS} ${KRBDEFS} ${DESDEFS} ${OPTOPTS} ${INCPATH} \ ${PAMDEFS} -DAPPLCNAME -DCRLF -DSHADOWPW # -DDOWNCASESi vous utilisez la bibliothèque
libc.so.5
, mettez en commentaire-lrpcsvc
dans le fichiersys/linux/Makefile
. Si vous utilisez PAM, ajoutez-DUSE_PAM
à ce fichierMakefile
(NDT : c'est dans les options de compilations qu'il faut ajouter -DUSE_PAM, comme c'est fait ci-dessus pour -DSHADOWPAW).
Installez la bibliothèque DES si vous n'en avez pas déjà une et que
vous prévoyez d'utiliser des mots de passe cryptés. (Si ce n'est pas le cas,
mettez en commentaire la ligne concernant DES dans le fichier
Makefile
et passez cette étape.)
Obtenez un exemplaire de libdes à l'URL suivante : [ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes.tar.gz].
Décompactez-le quelque part, et faites
make
.Pour installer
libdes
sur votre système (ce qui n'est vraiment pas une mauvaise idée) tapezmake install
.Vous aurez besoin du fichier
des.h
qui doit être là si le make a marché.Copiez le fichier
des.h
dans le répertoire include du répertoire atalk :cp des.h /path/netatalk/include/
.(NDT : je n'ai pas moi même compilé libdes, mais, si la procédure d'installation est bien faite, le fichier
des.h
doit avoir été copié dans/usr/include
ou/usr/local/include
, et la bibliothèquelibdes
dans/usr/lib
ou/usr/local/lib
. Vérifiez ce point, et si ce n'est pas le cas, copiez ces fichiers aux endroits indiqués, ça pourra vous servir dans le cas où vous installeriez un autre utilitaire ayant besoin de cette bibliothèque).
Vous aurez besoin de paramétrer les fichiers "cleartext password" pour activer "2-Way Encrypted Passwords". Je parle de cela et d'autres choses dans le paragraphe traitant des mots de passe.
Installez TCP Wrappers s'il n'est pas déjà installé.
Pour être compilé, netatalk a besoin du fichier
tcpd.h
, donc si vous ne l'avez pas déjà, téléchargez le paquetage (NDT : package, en anglais) TCP Wrappers disponible à [ftp://ftp.cert.org/pub/tools/tcp_wrappers/].Passez la commande
cp tcpd.h /chemin-vers/netatalk/include/
pour copier le fichiertcpd.h
dans le répertoire include de l'arborescence-source de Netatalk.Vous avez probablement
tcpd
sur votre système. Dans le cas rare où ça ne serait pas le cas, vous devez le compiler maintenant en passant la commande
make REAL_DAEMON_DIR=/usr/sbin linux
et installez-le. Lisez les instructions d'installation du fichier README.
Compiler netatalk.
L'étape la plus importante : dans le répertoire source de l'arborescence de Netatalk, tapez
make
.Vérifiez que tout se compile sans erreur. Vous pourrez voir des warnings que vous pourrez ignorer, mais si vous voyez le compilateur se terminer en erreur, essayez de trouver pourquoi ça ne va pas. Rappelez-vous que le compilateur a besoin des fichiers
tcpd. h
etdes.h
qu'il s'attend à trouver dans le répertoireinclude
. Vérifiez donc qu'ils y sont bien.Si vous avez vraiment des problèmes de compilation, essayez la page des trucs. Si vous avez vraiment des problèmes, vous pouvez télécharger une version précompilée de Netatalk sur la page de téléchargement (NDT : non traduite) :
Installer netatalk.
Tapez
make install
dans le répertoire source et netatalk sera installé là où vous l'avez demandé dans le Makefile. (Par défaut, c'est dans/usr/local/atalk
)
Editer le fichier /etc/services
Ajoutez les lignes suivantes à votre fichier
/etc/services
:rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol afpovertcp 548/tcp # AFP over TCP afpovertcp 548/udp
Copier atalkd.conf
Tapez
cp conf/atalkd.conf /usr/local/atalk/etc/
. Le fichier de configuration le plus simple pouratalkd
(comme celui que vous venez de copier) ne contient pas de commandes.atalkd est l'interface "classique d'Appletalk" pour le noyau. Il va servir de lien entre le module Appletalk du noyau et le reste des fonctions classiques d'Appletalk de netatalk. Il va aussi s'occuper du routage Appletalk entre les multiples cartes-réseau.
Copier le fichier afpd.conf.
Tapez
cp config/afpd.conf /usr/local/atalk/etc
. Ce fichier positionne les options du serveur Appletalk classique et Appleshare IP. Le laisser tel quel est la chose la plus simple à faire, bien que par défaut AppleshareIP ne soit pas activé et comme il y a quelques options de configuration dans ce fichier, il existe une section spécifique.
Copier et éditer les fichiers AppleVolumes.*
Tapez
cp conf/AppleVolumes.default /usr/local/atalk/etc
etcp conf/AppleVolumes.system /usr/local/atalk/etc
. Les fichiersAppleVolumes.default
etAppleVolumes.system
sont des tables de correspondances de chemin et de types et créateurs.NDT : Les fichiers de Macintosh n'ont habituellement pas d'extension. On peut en mettre une mais ce n'est pas significatif, et les macounets ne le font pas car ils n'aiment pas ça. Les fichiers de Macintosh ont deux attributs de 4 octets chacun : le créateur et le type. Le créateur permet de faire le lien entre tous les fichiers créés par une application (y compris l'application elle-même), et le type, qui correspond à l'extension qu'on trouve dans d'autres systèmes, indique, bien évidemment, le type du fichier.
Par exemple, l'éditeur BBEdit a pour créateur '
R*ch
' et pour type 'APPL
'. Les fichiers créés par BBEdit ont le créateur 'R*ch
' et le type 'TEXT
'. Quand on ouvre un fichier de créateur 'R*ch
' et de type différent de 'APPL
', le finder (le gestionnaire du bureau et de fichiers de Macintosh) recherche dans la base de données du bureau quel est le premier fichier de créateur 'R*ch
' et type 'APPL
'. Il démarre alors cet exécutable en lui indiquant en paramètre le nom et le chemin du fichier que l'on vient d'ouvrir. C'est à l'application de vérifier qu'elle sait traiter ce type de fichier.De la même manière, les créateurs et types permettent d'afficher correctement les icônes des documents (les fichiers de données). Les fichiers PDF, qui ont le type '
TEXT
' n'auront pas la même icône que les fichiers de BBEdit, parce qu'ils n'ont pas le même créateur ('CARO
', pour les fichiers d'Acrobat).Le fichier
AppleVolumes.default
sera analysé quand un utilisateur réel se connecte (i.e.: pas le compte guest). Les réglages dans le fichierAppleVolumes.default
peuvent être surchargés au moyen d'un fichierAppleVolumes
ou.AppleVolumes
présent dans le répertoire 'home
' de l'utilisateur. Le fichierAppleVolumes.system
sera exploité pour tous les utilisateurs.Ajouter les lignes :
# # volumes Home /music "Some Tunes" # # type / creator mappings .txt TEXT MSWDfera que deux volumes seront montés sur le bureau de Macintosh, l'un appelé Home qui est le répertoire 'home' de l'utilisateur et un autre appelé Some Tunes qui correspond au répertoire
/music
du serveur Linux (NDT : sous MacOS, chaque volume porte un nom. Ce nom est à peu près équivalent à l'étiquette, ou label, des partitions FAT. Mais, à la différence de ce qui se passe du côté obscur, le nom d'un volume apparaît sous l'icône de celui-ci, et cela est très apprécié du macounet que je suis). Le reste du fichier est une table de correspondance entre des extensions et des couples de types et créateurs.Un fichier de Macintosh a deux parties, une partie données (appelée data fork) et une partie ressources (appelée resource fork). Les fichiers Unix n'ont qu'une partie qui est une longue liste de bits (NDT : et qui correspond à la data fork). Dès lors, si le fichier test.txt a été créé sous Unix, il apparaîtra avec une icône générique de document à moins qu'il y ait une entrée correspondante dans la table des types et créateurs.
La dernière ligne de l'exemple fera de tout fichier se terminant par ".txt" un fichier ouvrable par Microsoft Word (MSWD) en tant que fichier texte (TEXT) et Word sera lancé quand ce fichier sera double-cliqué. (Vous devez enregistrer vos types et créateurs auprès d'Apple pour avoir un créateur officiel.) La liste de correspondance des types et créateurs par défaut du fichier sera vraisemblablement adaptée à moins que vous ne prévoyiez de créer de nombreux fichiers sous Unix et de les utiliser sur Macintosh.
Une des raisons possibles justifiant une grande table de correspondance de types et créateurs est l'exportation d'un même répertoire via Netatalk et Samba pour des clients sous Windows et que vous voulez que les utilisateurs de Macintosh n'aient qu'à double-cliquer sur les fichiers produits par les pécés pour les ouvrir.
NDT : les resources forks des fichiers créés sous MacOS sont prises en charge par Netatalk. Elles se trouvent sous forme de fichier Unix dans le répertoire .AppleDouble de chaque répertoire et sous-répertoire exporté.
Compiler Appletalk dans votre noyau.
Il y a deux sortes de serveurs Appletalk que vous pouvez utiliser, les deux pouvant tourner en même temps. Appletalk Classique a besoin d'
atalkd
et d'afpd
tandis que "Appletalk over TCP/IP" ne nécessite qu'afpd
. Atalkd a besoin qu'Appletalk et le support TCP/IP soient compilés dans votre noyau alors qu'Appletalk IP ne nécessite que le support TCP/IP. La majorité des distributions de Linux contiennent un noyau avec le support Appletalk intégré et tout le monde a probablement TCP/IP. Vous pouvez vérifier la présence du support d'Appletalk dans votre noyau en passant la commande :dmesg | grep AppleSi vous voyez quelque chose comme
Appletalk 0.17 for Linux NET3.035
, vous avez Appletalk Classique dans votre noyau. Sinon, vous pouvez vérifier qu'Appletalk est présent dans votre noyau sous forme de module en tapant :lsmod
et vous devez voir apparaître Appletalk. Si aucune de ces commandes ne montre Appletalk, alors vous devez compiler Appletalk dans votre noyau et rebooter, ou compiler Appletalk sous forme de module et l'installer parinsmod appletalk.o
(NDT : avant de recompiler le noyau, vérifiez tout de même que le module ddp.o ou ipddp.o est présent dand le répertoire /lib/module/<n° de version du noyau>/net/). Si vous avez besoin d'aide pour compiler Appletalk dans le noyau, jetez un oeil au Kernel-HOWTO (habituellement présent dans le répertoire/usr/doc
des distributions majeures)
Démarrer le serveur.
Voici maintenant le moment de vérité. Essayez de tester un démarrage du serveur netatalk en lançant l'un des scripts
rc.atalk
du répertoire principal de l'arborescence source de netatalk. Tapez./rc.atalk.sysv start
et attendez quelques poignées de secondes (NDT : c'est vraiment long et ça paraît durer une éternité, voire deux. Avec LinuxPPC 2000, le lancement de netatalk se fait en tâche de fond de manière asynchrone, si bien que le démarrage de la machine Linux se poursuit pendant ce temps-là. Mais c'est tellement long que je suis prêt à travailler sous X avant que netatalk ne soit lancé complètement). Cela va démarrer un serveur Appletalk Classique et un serveur Appletalk IP si vous avez des options dans le fichierafpd.conf
. Atalkd sera le plus long à démarrer car il vérifie le réseau avant de s'enregistrer.Sinon, vous pouvez lancer un serveur "Appletalk over TCP/IP" seul si vous avez un serveur TCP configuré dans le fichier
afpd.conf
et en lançantafpd
à la main :/usr/local/atalk/etc/afpd -F /usr/local/atalk/etc/afpd.confSi tout semble avoir démarré sans râler, allez sur un Macintosh et ouvrez le Sélecteur dans le menu pomme (NDT : Le Macintosh en question doit bien évidemment se trouver sur le même réseau que la machine Linux). Cliquez sur AppleShare et vous devez voir le serveur netatalk (pour AppleshareIP, vous devez cliquer sur le bouton AppleshareIP et renseigner l'adresse IP de votre serveur ou son nom).
Avec un peu de chance, un dialogue vous demandera un mot de passe. Vous ne pouvez vous logguer qu'avec un compte non root qui a un shell valide et un mot de passe de 8 caractères ou moins. Le compte guest (NDT : invité, en français) est aussi autorisé à moins d'être interdit dans le fichier
afpd.conf
. Si vous ne pouvez vous connecter qu'en invité, c'est que vous n'avez probablement pas le support de "shadow password" dans les exécutables de netatalk. Si vous pouvez vous logguer, vous verrez une liste de volumes que vous pourrez sélectionner et monter.Utilisez l'un des scripts de démarrage inclus dans netatalk pour lancer votre serveur lorsque le système démarre. Il existe différentes manières utilisées par les machines pour démarrer. Certaines ont un fichier
rc.local
où vous pourrez indiquer le chemin vers un scriptrc.atalk
alors que d'autres utilisent des liens symboliques avec un plan de nommage destiné à déterminer l'ordre dans lequel les scripts de démarrage seront lancés. Recherchez les scripts de démarrage dans les répertoires/etc/rc.d/
ou/etc/init.d/
.Si vous voulez autoriser plus de 5 connexions, vous devez fournir le nombre maximal de connexions à
afpd
. C'est le rôle du paramètre -c.afpd -c 25Jonathan Benson fournit un script de démarrage de style SysV qui lit des informations de configuration dans un fichier et permet le démarrage en tâche de fond. Quiconque désirant l'utiliser, doit le désarchiver sous le compte root tout en étant dans le répertoire racine (i.e. : /), puis éditer le fichier
/etc/atalk/config
. Vous pouvez le télécharger ici :
[http://www.anders.com/projects/netatalk/mirror/atalk-sysv.tar.gz]D'autres options sont possibles dans
atalkd
etafpd
ainsi qu'un ensemble d'outils de diagnostic et d'administration. Essayezman atalkd
etman afpd
pour plus d'informations sur les options et allez à la page des utilitaires (NDT : non traduite) :
[http://www.anders.com/projects/netatalk/utils.html]
Appréciez !
Paul Hargrove a écrit un paquetage intéressant appelé hfs qui permet de monter, de lire et d'écrire des volumes Macintosh (disques durs, disquettes et CD-ROM (NDT : et Zip et certainement Jaz et tout autre type de volume HFS)). Si vous installez son module et montez un volume avec l'option fork=netatalk, vous pourrez y accéder par netatalk. Son module traite correctement les informations en ressource : les icônes apparaîteront comme il faut. [http://www-sccm.stanford.edu/Students/hargrove/HFS/]
Dernière mise à jour le 5/8/00.
les fichiers en téléchargement sont à ftp://ftp.linux-france.org/pub/macintosh/