18 août 2012

Monter un système de fichiers en mémoire sur Debian

La commande mount sur Linux et Debian permet de monter très rapidement un système de fichiers qui utilisera la mémoire du système.

Les opérations utilisant beaucoup d'entrées/sorties dans des volumes raisonnables peuvent ainsi avantageusement être effectuées sur un système de fichiers ramfs.

Pour commencer, on va noter la consommation mémoire du système Debian avec la commande free:
# free
             total       used       free     shared    buffers     cached
Mem:       3995684     551376    3444308          0      11540     283820
-/+ buffers/cache:     256016    3739668
Swap:      3891196      20060    3871136

Maintenant, en tant que root, on va créer le système de fichiers ramfs:

# mkdir /tmp/ramfs

Puis monter le filesystem:

# mount -t ramfs myramfs /tmp/ramfs
  • ramfs est le type de filesystem,
  • myramfs le nom qu'on lui donne,
  • /tmp/ramfs le point de montage.
On crée alors un fichier de 1Go:
# dd if=/dev/urandom of=/tmp/ramfs/1Go bs=1024 count=`expr 1024 '*' 1024`
1048576+0 enregistrements lus
1048576+0 enregistrements écrits
1073741824 octets (1,1 GB) copiés, 104,182 s, 10,3 MB/s

Puis on note la nouvelle consommation mémoire:
# free
             total       used       free     shared    buffers     cached
Mem:       3995684    1608792    2386892          0      11852    1332840
-/+ buffers/cache:     264100    3731584
Swap:      3891196      20052    3871144

On voit qu'on a consommé 1Go de mémoire de plus.

Si maintenant, on démonte myramfs:
# umount myramfs
# free
             total       used       free     shared    buffers     cached
Mem:       3995684     560816    3434868          0      11872     284328
-/+ buffers/cache:     264616    3731068
Swap:      3891196      20048    3871148

on revient à la consommation mémoire initiale.

Libellés : , , , , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil

15 août 2012

Un script Shell pour monter les clés USB au boot

Dans un post antérieur, j'expliquais une façon de monter les clés USB sous Linux sur le même point de montage à chaque fois.

En effet, deux problèmes sont rencontrés avec les clés USB sous Linux (Debian ici):
  • Le device utilisé au mount n'est pas prévisible,
  • Le point de montage s'appelle toujours KINGSTON, en fait le nom du filesystem
Maintenant que l'on a renommé les filesystem dos comme expliqué dans le post cité plus haut, on va monter les clés (cela s'applique évidemment aussi aux disques durs amovibles branchés en USB)  automatiquement au démarrage du système Debian, et ce sans passer par la configuration de Gnome ou de XFCE.

Pour cela, on utilise le script Shell suivant:

$ cat usb-mount.sh

#!/bin/sh
#
# usb-mount.sh
#
# Mount USB keys to /media/LABEL
# where LABEL is the output of the dosfslabel
# command on the corresponding device.
#
MOUNT_OPTS="uid=1000,gid=1000,errors=remount-ro"
for letter in a b c d e f g; do
dev="/dev/sd${letter}1"
if grep "${dev} " /etc/mtab > /dev/null 2>&1; then
echo "${dev} is already mounted"
continue
fi
if ! dosfslabel ${dev} > /dev/null 2>&1; then
echo "${dev} is probably not an USB key"
continue
fi
label=`dosfslabel ${dev}`
dir="/media/${label}"
if ! -d ${dir}; then
mkdir ${dir}
fi
mount -t vfat -o $MOUNT_OPTS ${dev} ${dir}
done
Il ne reste plus qu'à l'appeler au démarrage du système, par exemple en ajoutant la ligne suivante dans le fichier /etc/crontab:

@reboot root usb-mount.sh

On aura pris soin au préalable de placer le script usb-mount.sh dans le répertoire /usr/local/sbin ou /usr/local/bin afin qu'il soit trouvé par cron.

De cette façon, mes disques et clés USB sont montées automatiquement au démarrage, toujours sur le même point de montage, ce qui me permet d'avoir des commandes périodiques de backup ou d''archivage d'un disque/clé sur l'autre.

Libellés : , , , , , , , , , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil

31 mars 2012

Debian: Montage automatique des clés USB

Lorsque les périphériques amovibles tels que les clés USB sont insérés sur un système Debian, et que le "montage automatique" est activé dans la configuration de GNOME comme montré ci-contre, le système choisit un device et monte la clé dans /media/nom du volume.

Par exemple:

mount | grep fat


/dev/sdg1 on /media/data-256m type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1000)


Si on n'a qu'un disque dur, le montage des clés USB commence à /dev/sdb1, mais on ne sait pas à l'avance quel device sera utilisé: par exemple ici la clé utilise le device /dev/sdg1 alors que /dev/sdf n'est pas utilisé pour autant.

Par conséquent, il peut être utile de correctement nommer les partitions des clés USB sur Linux, qui sinon risquent de toutes s'appeller KNGSTON par défaut !

Ainsi, si l'on ne connait pas le device à l'avance, on connait le point de montage, ce qui est l'essentiel.

Aussi, pour changer le nom d'un volume sur une clé USB, on utilisera sous root la commande dosfslabel qui permet soit d'afficher le nom d'un volume dos soit de le changer.

On pensera préalablement à démonter le volume avant de changer son nom:
umount /dev/sdg1

dosfslabel /dev/sdg1 data-256m


Attention toutefois le nom des volumes dos est limité à 11 caractères mais ça devrait suffire à identifier vos clés USB !

Libellés : , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil

25 avril 2009

Monter un disque externe USB sous Debian

Lorsqu'on veut accéder pour la première fois à un disque externe connecté en USB sur une distribution Linux Debian, on peut avoir quelques soucis si celui-ci ne se monte pas automatiquement.

C'est notamment le cas si on a trop joué avec le fichier des dépots /etc/apt/sources.list pour passer d'une version stable à unstable et que l'upgrade s'est mal passé, ce que je vous déconseille fortement, mais là n'est pas le propos !

Comment connaître le nom du device utilisé par le disque USB ?

Il suffit pour cela soit d'utiliser la commande dmesg qui affiche les messages issus du noyau Linux, soit regarder la fin du fichier /var/log/kern.log.

Après avoir branché le disque, on a alors les informations suivantes dans /var/log/kern.log issues du module usb-storage:

Apr 25 18:15:37 mymachine kernel: usb-storage: device found at 6
Apr 25 18:15:37 mymachine kernel: usb-storage: waiting for device to settle before scanning
Apr 25 18:15:42 mymachine kernel: Vendor: WD Model: 5000AAV External Rev: 1.65
Apr 25 18:15:42 mymachine kernel: Type: Direct-Access ANSI SCSI revision: 04
Apr 25 18:15:42 mymachine kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Apr 25 18:15:42 mymachine kernel: sdb: Write Protect is off
Apr 25 18:15:42 mymachine kernel: sdb: Mode Sense: 21 00 00 00
Apr 25 18:15:42 mymachine kernel: sdb: assuming drive cache: write through
Apr 25 18:15:42 mymachine kernel: SCSI device sdb: 976773168 512-byte hdwr sectors (500108 MB)
Apr 25 18:15:42 mymachine kernel: sdb: Write Protect is off
Apr 25 18:15:42 mymachine kernel: sdb: Mode Sense: 21 00 00 00
Apr 25 18:15:42 mymachine kernel: sdb: assuming drive cache: write through
Apr 25 18:15:42 mymachine kernel: sdb: sdb1 sdb2
Apr 25 18:15:42 mymachine kernel: sd 8:0:0:0: Attached scsi disk sdb
Apr 25 18:15:42 mymachine kernel: sd 8:0:0:0: Attached scsi generic sg7 type 0
Apr 25 18:15:42 mymachine kernel: usb-storage: device scan complete

On voit alors qu'un disque de 500 Go a été détecté et qu'il comporte deux partitions dont les devices sont /dev/sdb1 et /dev/sdb2.

Il suffit alors de monter les partitions sur leur point de montage, par exemple:

mount /dev/sdb1 /media/usbdisk-1

Libellés : , , , , , , , , , ,

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil