Support smbfs pour Fedora Core


samba
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 commentaire
  •  

    Si 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

    pti-seb , le 2 mars 2007 à 18:09
  •  

    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 , le 3 mars 2007 à 01:27
  •  

    @Vitor Domingos : I know that I can use CIFS filesystem, but with special server this protocol doesn't work...

    pti-seb , le 3 mars 2007 à 13:54
  •  

    "Ce dernier a ete remplace par cifs et aujourd'hui" comment ça ? :)

    koh , le 4 septembre 2007 à 11:04
  •  

    @Koh : cifs remplace smbfs dans les dernières versions de Fedora et d'autres distributions devrait suivre également. C'est tout.

    pti-seb , le 4 septembre 2007 à 13:38
  •  

    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 , le 2 décembre 2007 à 22:55
  •  

    @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.

    pti-seb , le 3 décembre 2007 à 09:11
  •  

    sous ma FC8 j'utilise smbclient et smbget barbare mais bon !!!

    cyril , le 4 décembre 2007 à 21:20
  •  

    @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 , le 4 décembre 2007 à 22:10
  •  

    @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.

    cyril , le 5 décembre 2007 à 16:23
  •  

    @cyrl : merci pour les précisions.

    pti-seb , le 5 décembre 2007 à 19:19

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum