Debian Squeeze: clé usb/DDE immontable

Fermé
llewelyn Messages postés 74 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 16 avril 2015 - 5 août 2011 à 12:47
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 - 14 août 2011 à 18:44
Bonjour,

utilisant debian squeeze je ne peux pas monter des clé usb ni de DDE sur mon ordi: quand je branche le périphérique cela me repond qu'il est impossible de le monter car il y a un probleme avec un logiciel dans /dev

donc si quelqu'un savait quel paquet je dois installer ca m'aiderais

je vous remercie

Llewelyn


8 réponses

mamiemando Messages postés 33207 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 juillet 2024 7 765
5 août 2011 à 13:02
Normalement tu n'as pas spécialement de paquets à installer. Le montage d'un périphérique fait partie des opérations de bases sous linux.

Tu peux dans l'immédiat t'en sortir "à la main" avec des mount et en corrigeant /etc/fstab. Je t'invite pour cela à lire ce tutoriel :
http://www.mistra.fr/tutoriel-linux-monter-peripherique.html

Si tu utilises l'environnement graphique KDE ou gnome, ceux-ci devraient en théorie te permettre de monter un périphérique sans avoir à modifier /etc/fstab (le périphérique sera monté dans /media sous KDE et sous ~/.gvfs pour gnome).

Est-ce que tu peux reporter le message d'erreur complet et nous dire quel environnement graphique tu utilises.

Dans un premier jet, commence par tout mettre à jour :

aptitude update
aptitude safe-upgrade


Bonne chance
llewelyn Messages postés 74 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 16 avril 2015
5 août 2011 à 23:48
bonsoir,

voila j'ai tout mis a jour, voici le message d'erreur qui apparait quand je branche un DDE:

Error mounting: mount exited with exit code 1: helper failed with:
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so


je comprend pas grand chose :) je vais lire de suite la page recommandée
mamiemando Messages postés 33207 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 juillet 2024 7 765
6 août 2011 à 14:26
Première question : est -ce que ça le fait pour n'importe quel périphérique ou juste un en particulier ? Si ça le fait pour un périphérique en particulier, il faudrait déjà voir si tu arrives à le monter à la main. Sinon lis-ce qui suit.

Avant de démarrer, quelques rappels !

Ok alors si tu as lu le fameux lien, tu as vu que fs = filesystem = système de fichiers. Ce peut être par exemple de la fat32, de la ntfs, de l'ext4 etc...

J'ai oublié de te donner également ce lien à lire :
http://www.mistra.fr/tutoriel-debian-partitionnement-introduction.html

Ensuite tu as vu que si sous windows, une partition ou un périphérique de stockage (clé usb, cdrom) était représenté par un lecteur (a:, c:, d: ...) sous linux on les modélise à l'aide de block devices, qui sont des fichiers un peu spéciaux stockés dans /dev.

Le problème, c'est qu'un device ne permet pas de naviguer dans l'arborescence de fichiers stockée sur le média. Il va donc falloir passer du monde des devices au monde des fichiers. Cette étape consiste à "monter un périphérique" (mount).

L'étape qui consiste à synchroniser ce que tu as fait sur ce périphérique avec le contenu réel du device s'appelle "démonter un périphérique" (umount), ce qu'on fait souvent par le biais de "retirer le périphérique en toute sécurité" ou tournure dans le genre...

Enfin tu as dû voir également qu'un disque usb ou un disque dur avait une en tête qu'on appelait MBR (ou superblock), dans laquelle est stockée la table des partitions.

Revenons au message d'erreur !

Bien !

Donc là on te dit que /dev/sdb1 (première partition du disque que tu branches, /dev/sda étant a priori utilisé par ton disque dur) ne se monte pas car le système de fichiers est incorrect. Cela signifie que linux essaye de monter ce périphérique en utilisant un système de fichiers qui n'est pas celui réellement utilisé pour stocker les données. Par exemple, linux a tenté de lancer :

mount -t vfat /dev/sdb1/media/usb


... alors que la partition /dev/sdb1 utilise par exemple de l'ext3.

Autre possibilité, linux a passé des options à la commande mount qui sont incohérente. Par exemple la commande :

mount -t vfat -o uid=mando /dev/sdb1/media/usb


... fait apparaître dans /media/usb le contenu de la clé dans /media/usb et tous ces fichiers appartiendront à mando... Sauf que si mando n'existe pas, ça va planter.

Autre possibilité d'erreur, /media/usb n'existe pas... Bref comme tu le vois les raisons du plantage à ce stade peuvent être multiples !

Qu'a fait linux pour en arriver là ?

Pour déterminer ce système de fichiers, linux se base sur le fichier /etc/fstab, et s'il ne trouve pas l'information, il regarde dans le MBR en espérant trouver la réponse.

Supposons que par exemple tu branches ta clé USB.

1) HAL (Hardware Abstraction Layer) voit que tu as branché quelque chose et prévient le reste du système.

2) Il va donc falloir créer des devices. udev regarde si une règle a été défini pour lui donner un nom particulier (par exemple /dev/cle_usb). Ce n'est pas le cas, donc il va lui donner un nom par défaut (/dev/sd...).

3) /dev/sda* est déjà utilisé. udev regarde la première liste disponible, il trouve la lettre b. Parfait ! Il crée /dev/sdb. Ensuite il examine la table des partitions de ce média (si elle existe). Il trouve une partition. Il crée donc juste /dev/sdb1 (sinon il aurait créé /dev/sdb2 sdb3 etc...).

4) Maintenant que le device est créé, il est temps de le monter. La suite du comportement dépend beaucoup de ce qui est sur /etc/fstab en particulier pour déterminer
- quel fs utiliser (en priorité celui indiqué dans /etc/fstab s'il est mentionné) ?
- où le média doit être monté (si le device est indiqué dans /etc/fstab) ?
- comment il doit être monté (droits d'accès etc...) ?

Il faut donc regarder si /etc/fstab parle de /dev/sdb1. Pour cela, reporte-moi le contenu de :

cat /etc/fstab


De nos jours il n'a plus de raison d'y être, mais rien n'empêche de le faire (cf lien sur les périphérique).

Toutes les commandes qui suivent nécessitent des droits root (administrateur). Je te rappelle que pour passer en root il faut taper la commande :

su -


Tu peux voir la table des partitions avec la commande parted ou fdisk (parted étant plus claire, on va l'installer et l'utiliser) :

aptitude update
aptitude safe-upgrade
aptitude install parted
parted -l


(reporte-moi le contenu de la dernière commande).

Et comment on répare tout ça ?

1) Maintenant que tu connais le fs, le rôle de la commande mount et du fichier /etc/fstab, la première étape consiste à vérifier qu'il n'y a pas une règle dans /etc/fstab qui fait tout planter. Par exemple si /etc/fstab dit que /dev/sdb1 est de la fat32 (vfat) alors que ce que tu branches est écrit en ntfs, ça va planter.

2) Si aucune règle n'apparaît au sujet de /dev/sdb1, il faut trouver la commande mount qui permet de monter ton périphérique avec succès et avec les bons droits. Attention à créer ton point de montage (= répertoire vide) au préalable. Le nom de ce répertoire est arbitraire mais traditionnellement on le place dans /media ou /mnt.

mkdir -p /media/usb


L'article suivant propose les commandes mount classiques :
http://www.mistra.fr/tutoriel-linux-monter-peripherique.html

Quand tu l'auras trouvé, mount ne renverra plus de message d'erreur et tu pourras voir le contenu de ta clé usb :

ls /media/usb


Pour l'étape 3, on va supposer que la commande magique était :

mount -t vfat -o uid=llewelyn,rw,user,noauto,quiet /dev/sdb1 /media/usb


3) Une fois la commande mount déterminée, il ne reste plus qu'à la retranscrire dans /etc/fstab pour automatiser le tout. Pour cela on ajoutera dans /etc/fstab la ligne :

/dev/sdb1 /media/usb vfat uid=llewelyn,rw,user,noauto,quiet  0 0


Puis on teste. Comme le périphérique est déjà monté suite à l'étape (2), il faut le démonter :

umount /media/usb


Maintenant, vu que toutes les informations sont référencées dans /etc/fstab, on peut sous-entendre quasiment tous les paramètres de la commande mount (il faut juste qu'il n'y ait pas d'ambiguïté). Ainsi, seuls le nom du device (/dev/sdb1) ou du point de montage (/media/usb) sont requis. De plus grâce à l'option "user", tu n'as plus besoin d'être root pour lancer cette commande mount.

Tu peux donc juste taper au choix dans un terminal utilisateur :

mount /media/usb


... ou :

mount /dev/sdb1


Et tu devrais encore une fois retrouver le contenu de ta clé dans /media/usb. Parfait ! Maintenant que cette règle est définie, KDE ou gnome devraient à leur tour l'exploiter pour monter tes périphériques.

Bonne chance
llewelyn Messages postés 74 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 16 avril 2015
Modifié par llewelyn le 11/08/2011 à 12:39
bonjour,

desolée pour ces quelques jours de mise en suspend, j'etait tres occupée. bon, un ami a réussi a monter a la main une clé usb mais ca ne fonctionne que pour celle la.
voila le resultat pour cat /etc/fstab :

root@latitude:/home/llewelyn# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=19b129aa-b4e2-49e9-9311-318bd0a25cc9 / ext3 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=8561033c-a032-4111-9d08-e7e997883d26 none swap sw 0 0
/dev/sdb1 /mnt/usb auto user,umask=0022,noauto,quiet 0 0

pour la commande parted -l :

root@latitude:/home/llewelyn# parted -l
Model: ATA TOSHIBA MK6026GA (scsi)
Disk /dev/sda: 60,0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 59,0GB 59,0GB primary ext3 boot
2 59,0GB 60,0GB 1013MB extended
5 59,0GB 60,0GB 1013MB logical linux-swap(v1)

ensuite pour l'étape 1 du reparer tout ca je comprend pas trop ce que tu veux dire j'ai donc fait gedit /etc/fstab et voila ce que me repond le terminal:

root@latitude:/home/llewelyn# gedit /etc/fstab

(gedit:2164): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported

la fenetre gedit ouvre la meme chose que cat/etc/fstab

est ce que cela t'aide? j'avoue que meme avec les liens donnés je me suis perdue dans tes explications...

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33207 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 juillet 2024 7 765
11 août 2011 à 20:48
Alors plusieurs remarques :
- le fichier /etc/fstab semble correct (le umask est à mon avis inutile mais bon)
- la commande parted liste les partitions présentes. Il y aura donc au moins ton disque dur (/dev/sda) et si une clé est branchée, normalement il y aura aussi /dev/sdb. Est -ce qu'un clé était branchée au moment où tu as tapé cette commande ?

Pour modifier le fichier /etc/fstab
- soit tu lances un éditeur texte en mode texte (nano, vim...) depuis un terminal root
http://www.mistra.fr/tutoriel-linux-nano.html

nano /etc/fstab


- soit depuis un terminal utilisateur (llewellyn), tu lances l'une de ces deux commandes (selon que tu es sous gnome ou KDE) :

gksudo gedit /etc/fstab &
kdesudo kwrite /etc/fstab &


Car la commande que tu as tapé signifie "root doit faire apparaître une application graphique (gedit) dans la session graphique de llewellyn, sachant que celle-ci n'autorise personne d'autre qu'elle à dessiner dedans". On peut lever cette permission avec xhost, mais tu n'es pas sensée le faire.

gedit t'affichera le même contenu que cat, c'est normal. La commande cat permet (entre autres) d'afficher le contenu d'un fichier. gedit est un éditeur texte (parmi tant d'autres) pour le modifier.

Personnellement je mettrais plutôt comme règle :

/dev/sdb1 /media/usb vfat user,uid=llewellyn,noauto,quiet 0 0 


Et je vérifierais que le répertoire /media/usb existe :

mkdir -p /media/usb


Avant de brancher la clé lance :

ls /dev/sd*


Tu devrais voir juste des sda1, sda2, ... pas de sdb.
Branche la clé. Dès lors cette commande devrait faire apparaître sdb et sdb1. Si seul sdb apparaît il faudra ajouter une règle dans /etc/fstab pour /dev/sdb, typiquement :

/dev/sdb /media/usb vfat user,uid=llewellyn,noauto,quiet 0 0 


En fait quand /dev/sdb1 n'existe pas c'est que le média n'a pas de table des partitions, ça peut arriver sur certains périphériques usb mais c'est rare.

Ensuite tape :

mount /media/usb


... et tout devrait apparaître dans /media/usb.

Je t'invite à lire le tutoriel sur les périphérique usb que je t'ai déjà donné si ce n'est pas clair et à revenir demander des précisions si ce n'est toujours pas clair.

Bonne chance
llewelyn Messages postés 74 Date d'inscription samedi 8 mai 2010 Statut Membre Dernière intervention 16 avril 2015
14 août 2011 à 15:32
bonjour,

je ne me souviens plus si la clé était branchée ou non mais j'ai fais les test aujourd'hui cela me donne ceci:


root@latitude:/home/llewelyn# gedit /etc/fstab

(gedit:5288): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported

[la j'ai remplacé ma commande par celle que tu as écrite]

root@latitude:/home/llewelyn# mkdir -p /media/usb

[sans clé usb]

root@latitude:/home/llewelyn# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5

[avec clé usb]

root@latitude:/home/llewelyn# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdb1
root@latitude:/home/llewelyn# mount /media/usb
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

sachant qu'en connectant la clé usb il m'a mis le meme message d'erreur dans une tite fenetre d'alerte.

et la j'ai parfaitement compris ton poste, juste le dernier devait contenir un peu trop d'informations d'un coup.

si /dev/sdb1 existe j'en déduis qu'il a son arbre de partition mais un soucis avec /media/usb quand meme
mamiemando Messages postés 33207 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 24 juillet 2024 7 765
14 août 2011 à 18:32
root@latitude:/home/llewelyn# gedit /etc/fstab

(gedit:5288): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported


[la j'ai remplacé ma commande par celle que tu as écrite]

Naaan :-) je t'ai dit, en llewellyn (et pas en root) :

gksudo gedit /etc/fstab &


root@latitude:/home/llewelyn# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdb1


Voilà donc c'est bien /dev/sdb1 qu'il faudra monter.

root@latitude:/home/llewelyn# mount /media/usb
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,


Peux-tu me donner le contenu du fichier /etc/fstab et le résultat (clé branchée) de :

sudo parted -l


Je pense que soit la ligne de /etc/fstab n'indique pas le bon filesystem par rapport à ce qui est utilisé sur ta clé USB

et la j'ai parfaitement compris ton poste, juste le dernier devait contenir un peu trop d'informations d'un coup.

Pas de soucis ;-) Prends le temps de relire, au besoin si des passages ne sont pas clairs, n'hésite pas à demander des précisions !

si /dev/sdb1 existe j'en déduis qu'il a son arbre de partition mais un soucis avec /media/usb quand meme

En gros la clé est reconnue et lisible, mais à ce stade, tu essaies probablement de la monter dans un système de fichier donné (par exemple fat32 = vfat) alors qu'elle est par exemple écrite en ntfs...

Le contenu de /etc/fstab et le résultat de la commande parted va permettre de le vérifier.

Bonne chance
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 181
14 août 2011 à 18:44
bonjour,
mount /dev/sdb1 /media/usb
c'est mieux et ceci bien sur il faut que /media/usb existe .
de plus sous debian 6.0 ce genre de probleme n'existe en principe plus
il suffit de cliquer sur le periph dans nautilus et il sera demander le mot de passe root pour monter cle ou dde..
a+