Support smbfs pour Fedora Core
Cet article explique comment compiler le module pour activer le système de fichiers smbfs et les commandes de montage (mount, smbmount, smbumount ...), à partir des sources, sur une Fedora.
Depuis la version 5 de Fedora, il n'y a plus de support pour smbfs. Ce dernier a été remplacé par cifs et aujourd'hui, beaucoup de personnes rencontrent quelques problèmes pour monter des ressources d'un réseau Microsoft ou Samba, car ce dernier ne fonctionne pas forcement à tous les coups.
Voici donc les étapes à suivre pour mettre en place le support smbfs.
1. Pré requis
Avant de commencer, il va falloir installer certaines librairies nécessaires à la compilation. Pour se faire ouvrez un terminal en root et lancez la commande suivante :
yum install rpmdevtools yum-utils pam-devel readline-devel libacl-devel openldap-devel cups-devel gnutls-devel autoconf libtool popt-devel
On va ensuite préparer les dossiers de compilation :
rpmdev-setuptree
2. Compilation des commandes samba
On télécharge les sources de samba fournies par Fedora et on les met en place :
yumdownloader --destdir=/tmp --source samba
rpm -Uvh /tmp/samba-*.src.rpm
cd ~/rpmbuild/SPECS
On applique les patchs et on compile les commandes nécessaires :
rpmbuild -bp --target $(uname -m) samba.spec
cd ~/rpmbuild/BUILD/samba-*/source
./configure --prefix='' --with-fhs --with-smbmount
make
Enfin, on installe les commandes qui nous intéressent :
cp bin/smbmount /usr/bin/
ln -s /usr/bin/smbmount /sbin/mount.smbfs
cp bin/smbumount /usr/bin/
ln -s /usr/bin/smbumount /sbin/umount.smbfs
cp bin/smbmnt /usr/bin/
3. Compilation du module smbfs pour le noyau
On télécharge les sources du noyau fournies par Fedora et on les met en place (mettre --enablerepo=core-source si vous utilisez le noyau d'origine) :
yumdownloader --destdir=/tmp --enablerepo=updates-source --source kernel
rpm -Uvh /tmp/kernel-*.src.rpm
On applique les patchs et on compile :
cd ~/rpmbuild/SPECS
rpmbuild -bp --target $(uname -m) kernel*.spec
cd ~/rpmbuild/BUILD/kernel-*/linux-*/
Editez le fichier .config, et trouvez la ligne contenant ceci :
# CONFIG_SMB_FS is not set
Pour la remplacer impérativement par (bizarrement, si on laisse le commentaire, cela ne fonctionne pas) :
CONFIG_SMB_FS=m
On lance ensuite la commande suivante, en choisissant les réponses par défaut :
make silentoldconfig
On compile et on install le module :
make
make SUBDIRS=fs/smbfs modules
make SUBDIRS=fs/smbfs modules_install
On charge le module :
depmod -a
modprobe smbfs
Attention, si vous avez un message du type :
modprobe smbfs
FATAL: Module smbfs not found.
C'est peut-être parce que le module smbfs.ko n'est pas installé au bon endroit. Il faudra alors le déplacer manuellement et relancer les commandes de chargement.
Voici un exemple, où le module a été mis dans le dossier 2.6.23.9-rc1 au lieu de 2.6.23.8-63.fc8 :
cd /lib/modules/2.6.23.9-rc1/extra/
cp smbfs.ko /lib/modules/2.6.23.8-63.fc8/extra/
depmod -a
...
4. Utilisation
Il ne vous reste plus qu'à monter les ressources que vous souhaitez, via la commande mount ou smbmount :
mount -t smbfs -o username=pti-seb,password=toto //serveur /mnt/ressource
Cet article s'inspire largement de celui-ci, en anglais : www-user.tu-chemnitz.de
11 Commentaires pour "Support smbfs pour Fedora Core"
Flux des commentaires de cet article Ajouter un commentaireSi vous avez le message d'erreur suivant, c'est que la compilation du module n'a pas réussie :
[root@localhost ~]# modprobe smbfs
FATAL: Error inserting smbfs (/lib/modules/****/smbfs.ko): Invalid module format
Or you can simple use CIFS, that comes with current kernels.
Just skip all that steps and:
mount -t cifs -o username=pti-seb,password=toto //serveur /mnt/ressource
For gnome-vfs, you just need the samba-client rpm.
@Vitor Domingos : I know that I can use CIFS filesystem, but with special server this protocol doesn't work...
"Ce dernier a ete remplace par cifs et aujourd'hui" comment ça ?
@Koh : cifs remplace smbfs dans les dernières versions de Fedora et d'autres distributions devrait suivre également. C'est tout.
Bonjour,
Ce tutoriel ne fonctionne pas tel quel sur Fedora 8 Live CD Gnome:
J'ai dû faire des modifications pour que le début fonctionne:
- dans les pré requis, le paquet fedora-rpmdevtools à changé de nom : il s'appelle maintenant rpmdevtools
- encore dans les pré requis, la commande à executer est rpmdev-setuptree et pas fedora-buildrpmtree
- en 2 et 3 il faut enlever l'option --enablerepo=core-source dans la commande yumdownloader
- en 2, il manque deux dépendances pour compiler samba mais elles sont citées, il suffit de les installer
Toutefois, malgré ces petits détails, la commande modprobe smbfs se solde par une erreur:
FATAL: Error inserting smbfs (/lib/modules/****/smbfs.ko): Invalid module format
Que faire ? aucune idée.
Si quelqu'un en avait une et qu'il voulait m'en faire part, je lui en serai reconnaissant.
Merci d'avance.
@Max-k : ce tutoriel à été rélaisé sur une fedora 6, visiblement il y a pas mal de changement depuis. Je vais avoir besoin de smfs bientôt, je tacherais donc de l me ettre correctement à jour.
sous ma FC8 j'utilise smbclient et smbget barbare mais bon !!!
@Max-k : j'ai actualisé cet article pour Fedora 8. J'arrive au final sur le même message d'erreur que toi.
La commande dmesg semble en dire un peu plus :
smbfs: version magic '2.6.23.9-rc1 SMP mod_unload 686 4KSTACKS ' should be ' 2.6.23.8-63.fc8 SMP mod_unload 686 4KSTACKS '
Mais j'ai pas encore trouver la cause du problème mais je penche sur un problème de compilation, comme je l'avais déjà evoquer lors de mon premier commentaire sur cette article.
@cyril : je comprend pas vraiment, tu fais comment pour utiliser smbclient sous FC8 ?
@Pti-Seb
/>
pour faire ls du dossier Album dans mon repertoire partagé
smbclient -N //Ordinateur/Partage -c "cd Album; dir"
smbget pour recuper le fichier que tu veux
il y a aussi la commande tar dans smbclient qui est tres pratique pour faire des suvegarde.
@cyrl : merci pour les précisions.