Voila voulant faire ma petite contribution au projet Linux sous fedora, je vous propose un script pour aider a monter sa clef usb sous linux.
ce n'est pas du super code, c'est juste pour eviter d'entendre comme souvent linux c'est trop compliqué, j'arrete.

pour utiliser le script il vous suffit de creer un fichier texte, de copier-coller le code, d'enregistrer le fichier sous la forme fichier.sh, de lui donner le droit d'execution (en console chmod 755 nom_du_fichier) et de le lancer avec la commande sh fichier.sh

le code (je suis debutant ne soyez pas trop sévére, les remarques du type ça ne sert a rien, ou j'aurais fait mieu sont pas necessaires... par contre les critiques constructives pour l'amelioration du code sont les bienvenues ^^ )
#! /bin/sh
#Script réalisé par PyReX

clear
echo "avant toute chose il est recommandé pour un meilleur support matériel de posseder les dernières versions en date de :
kernel
udev
hotplug

vous pouvez verifier cela à l'aide de votre installeur préféré ( yum, apt-get, urpmi... )
"

read
clear
echo "Vous êtes actuellement connécté en tant que "$USER"
Etes vous loggez en root (oui/non)"

read arg1
if [ "$arg1" = "non" ]; then
echo "loggez vous d'abord et relancez ce programme
"
exit
fi
if [ "$arg1" = "" ]; then
echo "Je n'ai reçu aucune commande valable, recommencez
"
exit
fi
if [ "$arg1" = "oui" ]; then
echo "Très bien continuons
"
fi

read
clear
echo "Nous allons maintenant voir a quel device est associé votre clef USB
"

read
clear
echo "une nouvelle fenêtre va s'ouvrir, vous allez voir en temps réel la reconna
issance de votre clef USB par le systeme lorsque vous brancherez cette dernière

------------------------------------------------

Vous allez apercevoir des lignes de commande du type :

SCSI device sda: 126945 512-byte hdwr sectors (65 MB)
sda: Write Protect is off
sda: sda1

-----------------------------------------------

Notez bien la derniere ligne (comme ici dans l'exemple "sda1") car vous devrez m
e la redire
"

read
xterm -e tail -f /var/log/messages &

read
clear
echo "Sur quelle device est montée votre clef usb
"

read arg2

echo "votre peripherique va etre monté sur /dev/$arg2
"

read
clear
echo "Sous quel nom de repertoire voulez vous que la clef soit montée (/mnt/xxx)
"
read arg3
mkdir /mnt/$arg3
echo "repertoire /mnt/$arg3 créé
"

read
clear
echo "Nous allons maintenant editer la table des partition /etc/fstab

Vous devrez rajoutez cette ligne :
/dev/$arg2 /mnt/$arg3 vfat user,rw 0 0

Utilisez la touche <i> ou <inser> pour inserer la ligne
N'oubliez pas de sauvegarder en tapant <echap> puis la combinaison de touches <:x>
"

read
xterm -e vi /etc/fstab &

read
clear
echo "Nous allons maintenant monter votre clef USB
"

mount -t vfat /dev/$arg2 /mnt/$arg3
echo "Votre clef est montée dans /mnt/$arg3
Vous pouvez maintenant acceder a votre clef depuis le repertoire /mnt/$arg3
"
echo "
Merci d'avoir utilisé ce script
suggestions et commentaires : email caché, raison forum
"
sinon si les admins du site sont interessé pour mettre ceci en tuto ou meme qq part ou ça peut servir qu'il me contacte 😉
Désolé, j'ai pas bien compris l'utilité...

Avec un système à jour, il ne devrait rien y avoir à faire.

Lors de la connexion d'un périphérique, le système créé automatiquement le device, le point de montage et réalise le montage pour l'utilisateur connecté (en graphique) ce qui créé un icone sur le bureau.

A noter aussi le device (/dev/sda1) n'est pas constant si on utilise plusieurs périphériques USB (clé, disque, APN...).

A+
c'est bien ce que je pensais ....
:-D
comme le dis Remi, maintenant ça fait tout tout seul avec une distrib à jour. Avec gnome 2.10 et volume manager, ça marche tip top nickel ! (j'avais quelques soucis avec 2.8)
  • [supprimé]

malheuresement, certains comme moi possedent une clef qui oblige a faire la manip.. et oui pourtant c'est une clef phillips, et tout ceux qui arrivent dans le monde de linux n'ont pas forcement le dernier kernel, le dernier ceci, le dernier cela etc etc...
Comme je l'ai dit, ce n'est pas d'une grande utilité, mais pour quelqu'un qui vient de commencer et qui ne connait rien, ça peut etre utile.
Quand au sda1, dans le script c'est un exemple pour faire comprendre a l'utilisateur ce qu'il devra ensuite me donner en argument lorsqu'il aura branché son peripherique et aura vu sur quel device celui ci est montée... (pour l'instant ce n'est qu'un script pour clef usb..)
Quand aux remarques du style "ça sert a rien", ça fait toujours plaisir de la voir, surtout pour des gens qui debutent et qui essayent tant bien que mal avec leurs (maigres) connaissances d'aider d'autres personnes aussi peu compétentes qu'eux..
enfin voila.. :-?
re
je fais aussi pas mal de choses en bash ou en python qui ne servent à rien en tant que produit mais ça te permet d'apprendre et ça c'est bien cool.
Si tu ferais directement des trucs utils, tu serais une bête à la Linus.

Même que je trouve ton truc inutil, je dis chapeau d'avoir fait un truc et surtout de le mettre à disposition. Prends le pas mal et continue.
Bonjour,

C'est en faisant ce genre de petits scripts que l'on apprend 😉

Alors quelques remarques.

Il faudrait tout automatiser pour que le script soit plus utilisable. Par exemple au lieu de tout ca :
read
clear
echo "Vous êtes actuellement connécté en tant que "$USER"
Etes vous loggez en root (oui/non)"

read arg1
if [ "$arg1" = "non" ]; then
echo "loggez vous d'abord et relancez ce programme
"
exit
fi
if [ "$arg1" = "" ]; then
echo "Je n'ai reçu aucune commande valable, recommencez
"
exit
fi
if [ "$arg1" = "oui" ]; then
echo "Très bien continuons
"
fi
Tu peux mettre uniquement ceci :
if [ `whoami` != "root" ]; then
echo "Vous devez etre root pour utiliser ce programme"
exit
fi
Pour le nom du peripherique, quelque chose du genre :
echo "Inserez votre cle USB puis pressez Entree"
read
arg2=`tail -10 /var/log/messages | grep "sda: sda" | sed "s/sda: (.*)/1/"`
Bon a paufiner bien sur. Plutot que de prendre les 10 derniers lignes, il vaudrait mieux filter sur la date. Et je ne sais pas si les modeles a utiliser pour le grep et sed sont les bons (je me suis base uniquement sur ton exemple).

Pour l'edition de /etc/fstab, plutot que de demander a l'utilisateur de le faire, un petit :
echo "/dev/$arg2 /mnt/$arg3 vfat user,rw 0 0" >> /etc/fstab
Devrait le faire.

Euh, precision : je n'ai rien teste de tout ca :-D
Merci pour les remarques constructives, je savais bien qu'il devait y a avoir des commandes pour le faire en auto, mais sans les connaitres, sans doc (le man bash est une horeur et on ne voit pas tout)etc.. je ne pouvais le faire
je prends tes remarques en consideration et je m'en vais de ce pas testé ces bouts de code ! Merci
Quand a la remarque, merci d'avoir souligner le fait que je l'ai fait soit bien. C'est en effet ce que je veux faire, progresser pour aider.. je suis pas ingenieur, mais j'aimerai bien mettre mes "connaissances" a contribution.
Je tiens toujours ma remarque : si qqun veut m'aider pour scripté, qu'il me contacte 😉 Une aide n'est jamais de refu.
PyReX a écrit:
sans doc
Il est si nul que ca le lien que je t'ai donne dans ton autre sujet ? 🙁

:-D
J'ai pas dit ça, seulement tu ne me contrediera pas si je te dit que quand tu fait un prog, et que tu as besoin de savoir qqch, il n'y a aucun doc (enfin pour l'instant je n'ai pas trouvé) qui refere toutes les possibilités de bash.
Apres c'est de la connaissance personnel... Etant "novice" sous linux, puisque ça ne fait vraiment que 2 semaines que je suis a fond sur Fedora, je ne connais vraiment pas toutes les commandes du shell..
tu savais toi qu'on pouvait monter la clef avec ça :
echo "Inserez votre cle USB puis pressez Entree"
read
arg2=`tail -10 /var/log/messages | grep "sda: sda" | sed "s/sda: (.*)/1/"`
moi en tout cas non, donc je compte sur la generosité de certains pour qu'ils partagent leur savoir 😃
PyReX a écrit:
J'ai pas dit ça, seulement tu ne me contrediera pas si je te dit que quand tu fait un prog, et que tu as besoin de savoir qqch, il n'y a aucun doc (enfin pour l'instant je n'ai pas trouvé) qui refere toutes les possibilités de bash.
Si je te contredis :-D Il y a plein de documentation sur Internet et aussi integre a ta distribution (mais tu connais deja man)

Et puis quand tu trouves des sites avec de la documentation mais que tu as l'impression qu'il manque des trucs, contacte ceux qui s'en occupe pour leur signaler (non, non, je ne pense a aucun site en particulier :roll: )
Apres c'est de la connaissance personnel
Personne n'a de science infuse. Et a part les developpeurs de chaque outil, tout le monde a du lire de la documentation et/ou bidouiller pour apprendre a s'en servir.
tu savais toi qu'on pouvait monter la clef avec ça :
Ca ne sert pas a monter la cle usb 😉 Ca permet juste d'essayer de recuperer le peripherique associe a la cle usb. Consulte de la documentation a propos de grep et sed si tu as besoin de mieux savoir ce que ca fait (si je te donne un lien pour ca, on va vraiment m'accuser de matraquage publicitaire :-D )
Tian je crois qu'il y a un petit probleme au niveau du montage du device, il reconnais bien sda1, mais il met toute la ligne, vois plutôt:
Inserez votre cle USB puis pressez Entree

votre peripherique va etre monté sur /dev/Apr 29 17:02:59 localhost kernel: sda1
PyReX a écrit:
Tian je crois qu'il y a un petit probleme au niveau du montage du device, il reconnais bien sda1, mais il met toute la ligne, vois plutôt:
Ca signifie que la ligne affichee n'est pas exactement du meme genre que celle que tu avais mise dans l'exemple de ton 1er script (cf mon 1er message).

Il va donc falloir un peu changer l'utilisation de grep et sed. Mais ca je te laisse le faire 😉 Tu as compris ce a quoi ils servaient ?
Grep sert a cherché sda : sda dans les dix dernieres ligne de /var/log/messages
et sed?? ajouté une variable a sda
Bonjour,
PyReX a écrit:
et sed?? ajouté une variable a sda
Donc, tu n'as pas suivi les liens précédents 😉

Sinon, tu aurais trouvé cela :

http://www.c-sait.net/cours/gnu.php#sed

Je pense qu'il y a beaucoup de monde prêt à t'aider, mais il faut également que tu y mettes du tien, sinon tout ne pourra pas se faire à ta place. Essaye donc de ton côté de te renseigner et de te documenter.
Bonjour PyReX,

Je sais que mes propos ne seront pas complètement dans le sens de ce que tu veux faire, mais ton sujet m'intéresse car j'aimerais comprendre pourquoi ta clé ne monte pas automatiquement.
Apparemment Udev crée bien les fichiers périphériques mais l'automatisation s'arrête là.
As-tu essayé de regarder ce que voit hal-device-manager ? (pour l'obtenir, tu dois installer le paquet hal-gnome).
Avec un peu de chance, il suffirait de quelques règles HAL adaptées pour que tout devienne automatique.