logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:captnfab:tutos:pmount-udisks [03/07/2014 12:59]
captnfab [Installation]
utilisateurs:captnfab:tutos:pmount-udisks [07/07/2014 20:57] (Version actuelle)
smolski [Problèmes rencontrés]
Ligne 16: Ligne 16:
  
 ===== Installation ===== ===== Installation =====
 +
 +<note info>​Attention,​ pensez bien à désactiver le montage automatique avant d'​utiliser ce script, sans quoi il risque de se révéler relativement inconfortable.
 +Voir [[:​doc:​environnements:​gnome:​gnome3.4|Comment désactiver l'​automount sous Gnome3.4#​modifier-montage-auto]]</​note>​
  
 Copier le fichier suivant dans votre répertoire ''​~/​bin/'',​ à créer s'il n'​existe pas. Copier le fichier suivant dans votre répertoire ''​~/​bin/'',​ à créer s'il n'​existe pas.
Ligne 24: Ligne 27:
 { {
   echo "​Utilisation :​   echo "​Utilisation :​
-  $0 [-u] [[/​dev/​]device | [/​dev/​disk/​by-uuid/​]uuid | [/​dev/​mapper/​]logical-name]+  $0 [-u] [[/​dev/​]device | [/​dev/​disk/​by-uuid/​]uuid | [/​dev/​mapper/​]uuid]
  
 Monte un système de fichier dans un sous-répertoire de /media via udisks ou Monte un système de fichier dans un sous-répertoire de /media via udisks ou
 udisks2. udisks2.
 +Si aucun périphérique n'est donné, fmount tente de deviner le dernier périphérique inséré.
  
 Option de l'​application :​ Option de l'​application :​
   -u Démonte le système de fichier   -u Démonte le système de fichier
   -h Affiche ce message d'​aide"​   -h Affiche ce message d'​aide"​
 +}
 +
 +finddev()
 +{
 +  DEV=$1
 +
 +  if (echo $DEV | grep -q '​^/​dev/'​) && [ -e $DEV ]
 +  then
 +    echo $DEV
 +  fi
 +
 +  if [ -e "/​dev/​disk/​by-uuid/​$DEV"​ ]
 +  then
 +    echo "/​dev/​disk/​by-uuid/"​$(echo $DEV | sed '​s/​.*/​\L&/'​)
 +  fi
 +
 +  if [ -e "/​dev/​$DEV"​ ]
 +  then
 +    echo "/​dev/​$DEV"​
 +  fi
 +
 +  if [ -e "/​dev/​mapper/​$DEV"​ ]
 +  then
 +    echo "/​dev/​mapper/​$DEV"​
 +  fi
 } }
  
Ligne 63: Ligne 92:
       ;;       ;;
   esac   esac
 +}
 +
 +guesslast()
 +{
 +  LOG=$(dmesg| tail -n 50 | grep '​Attached scsi generic'​ -A 11 | tail -n 12)
 +  PARTS=$(echo $LOG | grep "sd.: sd.")
 +  if [ "​$PARTS"​ = ""​ ]
 +  then
 +    DEV=$(echo $LOG | sed '/​\[sd/​s/​.*\[\(sd[^\]]*\)\].*/​\1/'​)
 +  else
 +    DEV=$(echo $PARTS | sed '/​sd.:/​s/​.*sd.:​ \(sd[^ ]*\).*/​\1/'​)
 +  fi
 +  echo $DEV
 } }
  
 ACTION="​mount"​ ACTION="​mount"​
  
-if [ $# -lt 1 ] +if [ $# -ne 0 && ​[ $1 = "​-u"​ ]
-then +
-  echo "​Nombre d'​arguments invalide"​ +
-  usage +
-  exit 1 +
-fi +
- +
-if [ $1 = "​-u"​ ]+
 then then
   ACTION="​umount"​   ACTION="​umount"​
Ligne 80: Ligne 115:
 fi fi
  
-if [ $1 = "​-h"​ ]+if [ $# -ne 0 ] && ​[ $1 = "​-h"​ ]
 then then
   usage   usage
Ligne 88: Ligne 123:
 if [ $# -ne 1 ] if [ $# -ne 1 ]
 then then
-  ​echo "​Nombre d'​arguments invalide"​ +  ​DEV=$(guesslast) 
-  usage +else 
-  ​exit 1+  ​DEV=$1
 fi fi
  
-DEV=$1+DEV=$(finddev $DEV)
  
-if (echo $DEV | grep -q '​^/​dev/'​) && ​[ -$DEV ]+if [ -z "$DEV" ​]
 then then
-  ​wrapper $ACTION ​$DEV +  ​echo "​Impossible de trouver le périphérique ​$DEV." 
-  exit $?+  exit 1
 fi fi
  
-if [ -e "/​dev/​disk/​by-uuid/​$DEV"​ ] +wrapper $ACTION $DEV 
-then +exit $?</​code>​
-  ​wrapper $ACTION ​"/​dev/​disk/​by-uuid/"​$(echo ​$DEV | sed '​s/​.*/​\L&/'​) +
-  exit $? +
-fi +
- +
-if [ -e "/​dev/​$DEV"​ ] +
-then +
-  wrapper $ACTION "/​dev/​$DEV"​ +
-  exit $? +
-fi +
- +
-if [ -e "/​dev/​mapper/​$DEV"​ ] +
-then +
-  wrapper $ACTION "/​dev/​mapper/​$DEV"​ +
-  exit $? +
-fi +
- +
-echo "​Impossible de trouver le périphérique $DEV."​ +
-exit 1</​code>​+
  
 Rendez ce fichier exécutable :​ Rendez ce fichier exécutable :​
Ligne 135: Ligne 152:
 Monte un système de fichier dans un sous-répertoire de /media via udisks ou Monte un système de fichier dans un sous-répertoire de /media via udisks ou
 udisks2. udisks2.
 +Si aucun périphérique n'est donné, fmount tente de deviner le dernier périphérique inséré.
  
 Option de l'​application :​ Option de l'​application :​
   -u Démonte le système de fichier   -u Démonte le système de fichier
   -h Affiche ce message d'​aide</​code>​   -h Affiche ce message d'​aide</​code>​
 +
 +==== Par l'​exemple ====
 +
 +Si des disques occupent sda sdb sdc sdd sde, taper pour le nouveau disque à monter :
 +<code user>​fmount sdf1</​code>​
 +
 +Pour démonter le même :
 +<code user>​fmount -u sdf1</​code>​
 +
 +Et voilà ! :-D
 +===== Problèmes rencontrés =====
 +
 +==== Montage via ssh =====
 +
 +Udisks utilise policy-kit et son système de session actives. Par défaut, seul l'​utilisateur de la session active (affichée à l'​écran) peut utiliser udisks. La conséquence directe est qu'un utilisateur se connectant par ssh ne peut pas monter les disques externes.
 +
 +Une solution est de changer la politique de montage en copiant le fichier suivant dans le dossier ''/​etc/​polkit-1/​localauthority/​50-local.d/''​ :​
 +
 +<code ini /​etc/​polkit-1/​localauthority/​50-local.d/​50-mount.pkla>​
 +[Mount a system-internal device]
 +Identity=*
 +Action=org.freedesktop.udisks.*
 +ResultAny=yes
 +ResultActive=yes
 +ResultInactive=yes</​code>​
 +
 +Au prochain chargement des règles((le reboot)), tout ira bien \o/
  
utilisateurs/captnfab/tutos/pmount-udisks.1404385175.txt.gz · Dernière modification: 03/07/2014 12:59 par captnfab

Pied de page des forums

Propulsé par FluxBB