13 votes

Comment configurer l'enregistrement instantané des données sur le disque dur ?

Si je modifie les fichiers sur mon pendrive, puis que je le retire physiquement, les données ne seront pas enregistrées. Je dois cliquer sur "eject", et alors la led commence à clignoter, et les données commencent à être enregistrées.

Comment puis-je changer cela, afin que les données soient enregistrées instantanément lorsqu'elles sont modifiées ?

mise à jour : Ubuntu 11.10

Dans Ubuntu 11.10, j'ai écrit le fichier de règles (à partir de @enzotib réponse), et fonctionne, mais donne le message suivant lorsque j'essaie d'éjecter/démonter :

enter image description here

(devrais-je commencer une autre question pour Ubuntu 11.10 ?)

2 votes

Les performances seront moindres car le cache d'écriture n'est plus utilisé. Démontez correctement les partitions en utilisant les options éjecter / démonter ou vous perdrez des données.

4 votes

Vous pouvez utiliser le sync lors du montage de la partition. Cette option n'est cependant pas recommandée car elle augmente considérablement le nombre d'écritures sur la clé USB.

2 votes

@arrange comme ubuntu fait l'automount, y a-t-il un moyen de mettre cette sync par défaut, pour que je n'aie pas à le faire dans un terminal à chaque fois ? Et je suis conscient que cela augmentera considérablement le nombre d'écritures, mais c'est quand même ce que je veux. Merci !

9voto

enzotib Points 86709

Suite à la question (et réponse) que @arrange montre dans son commentaire, créons un nouveau fichier

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

et y inscrire le contenu suivant (voir udev::Monter sous /media ; utiliser le label de partition s'il est présent )

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,sync"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,uid=1000,gid=1000,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

J'ai fait quelques petites modifications par rapport à ce qui a été rapporté sur le site web.

  • a ajouté le sync option pour ENV{mount_options}
  • modifié le gid=100 option pour uid=1000,gid=1000 où les nombres sont relatifs à l'identifiant utilisé et à l'identifiant du groupe, tels qu'ils sont renvoyés par la fonction id -u y id -g

Le second fait de vous le propriétaire de tous les fichiers sur la partition montée, donc aucun problème de permission ne peut survenir. Évidemment, ce n'est pas le cas si plus d'un seul utilisateur doit accéder aux fichiers, mais cela peut être géré d'une autre manière.

Pour les systèmes de fichiers non-Windows, le propriétaire et le groupe sont des métadonnées sur le système de fichiers, et ne peuvent pas être modifiés par une option de montage.

La nouvelle règle est immédiatement active ( udev utilise inotify pour détecter les fichiers de règles nouveaux et modifiés).

Le lecteur monté n'est pas automatiquement ouvert dans une fenêtre de gestionnaire de fichiers, comme vous pouvez le voir, et cela est difficile à réaliser, étant donné que le processus de montage appartient à root, et n'a pas accès à votre session de connexion graphique. Mais le lecteur est sur votre bureau, donc un simple double-clic l'ouvrira.

Malheureusement, je ne parviens pas à faire fonctionner le démontage par clic droit sur le bureau, mais ce n'est pas un gros problème : le fait d'avoir l'option de démontage par clic droit n'est pas un problème. sync en place, vous pouvez simplement débrancher le périphérique, et la règle udev se chargera de supprimer l'entrée de l'option /proc/mounts et de supprimer le point de montage.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X