# smbmount `smbmount` est un script Bash pour monter facilement des partages SMB, avec complétion dynamique basée sur la découverte réseau via Avahi ou smbtree. --- ## Fonctionnalités * Montage de partages SMB via plusieurs méthodes : * Découverte SMBTREE (`-s`) * Découverte Avahi + `smbclient` (`-a` ou `-A `) * Montage direct via adresse IP (`-i `) * Mode démontage (`-u`) * Gestion des mots de passe via `secret-tool` (GNOME Keyring) * Complétion dynamique des serveurs SMB * Installation flexible en mode système ou utilisateur --- ## Prérequis et dépendances Pour Debian / Ubuntu, installe les paquets suivants : ```bash sudo apt-get update sudo apt-get install -y avahi-utils smbclient cifs-utils secret-tool bash-completion ``` * `avahi-utils` : outil `avahi-browse` pour découvrir les services SMB sur le réseau. * `smbclient` : client SMB/CIFS en ligne de commande, utilisé pour lister les partages. * `cifs-utils` : fournit la commande `mount.cifs` pour monter les partages SMB. * `secret-tool` : interface avec le trousseau GNOME pour stocker et récupérer les mots de passe. * `bash-completion` : améliore la complétion Bash, nécessaire pour la complétion dynamique. --- ## Installation Le `Makefile` gère à la fois l’installation système avec la personnalisation du préfixe **et** le fallback utilisateur : ```bash make install [PREFIX=/chemin/personnalisé] ``` * **Sans préciser `PREFIX`**, `/usr/local` est utilisé par défaut : * Script → `/usr/local/bin/` * Complétion → `/etc/bash_completion.d/` * **Avec `PREFIX`**, l’installation se fait sous : * Script → `${PREFIX}/bin/` * Complétion → `/etc/bash_completion.d/` * Si vous n’avez pas les droits d’écriture dans `${PREFIX}/bin` **et** `/etc/bash_completion.d`, l’installation bascule automatiquement en **mode utilisateur** : * Script → `~/.local/bin/` * Complétion → `~/.bash_completion.d/` --- En installation utilisateur, n’oubliez pas d’ajouter dans votre `~/.bashrc` : ```bash export PATH="$HOME/.local/bin:$PATH" [ -f "$HOME/.bash_completion.d/smbmount" ] && source "$HOME/.bash_completion.d/smbmount" ``` Puis rechargez votre shell : ```bash source ~/.bashrc ``` --- ## Désinstallation Pour supprimer l’installation (mode système ou utilisateur), lance : ```bash make uninstall ``` --- ## Utilisation ```bash smbmount -s # Découverte et montage avec smbtree smbmount -a # Découverte et montage avec Avahi + smbclient smbmount -A nom_serveur # Montage direct avec nom serveur Avahi smbmount -i adresse_ip # Montage direct via IP smbmount -u # Démontage interactif des partages montés ``` --- ## Aide ```bash smbmount ``` Affiche l’aide rapide avec les options disponibles.