Enregistrement des fichiers par défauts
Raphaël Pinson
raphink at gmail.com
Lun 24 Avr 01:43:48 UTC 2006
Le Dimanche 23 Avril 2006 21:46, Christophe Gallaire a écrit :
> Bonsoir,
>
> Ma machine fonctionne avec deux disques durs. Le premier (hda) contient
> le système et le second (hdb) je le réserve qu'au stockage de mes
> fichiers personnels. Seulement, par défaut, l'enregistrement des
> documents se fait sur hda à l'emplacement /home/nom d'utilisateur.
> Comment peut-on changer cet enregistrement par défaut ?
Bonjour Christophe,
Il y a plusieurs solutions à ton problème. Il faut pour cela bien comprendre
le mode de fonctionnement des partitions sous Unix/Linux, qui est différent
du fonctionnement de Windows. Sous Linux, les partitions sont montées dans le
système de fichier, et donc associées à un répertoire en particulier. Les
fichiers contenus dans ce répertoire se retrouvent donc physiquement
localisés sur la partition associée au répertoire. Un exemple, avec un
fichier /etc/fstab typique :
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
/dev/hda1 /boot ext3 defaults 0 2
/dev/hda3 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 ro,user,noauto 0 0
Trois partitions du disque dur IDE primaire (hda) sont utilisées ici, et une
partitions du périphérique IDE secondaire, ici mon lecteur CD/DVD.
La première partition logique du disque hda (hda1) est montée sur /boot. Cela
signifie que tous les fichiers contenus dans le répertoire /boot seront
physiquement localisés sur la partition hda1 du disque hda.
Le disque hdc (lecteur DVD) est monté sur /media/cdrom0.
La seconde partition logique de hda (hda2) est montée sur /. Il faut donc
comprendre que _tous les fichiers_ en dehors de ceux compris dans /boot et
dans /media/cdrom0 seront physiquement localisés sur hda2.
A partir de là, tu as plusieurs options pour résoudre ton problème,
concrètement. Résumons ta situation :
Tu veux pouvoir enregistrer tes documents personnels sur hdb _physiquement_.
Il faut donc que tu associes la partition hdb1 (dans l'hypothèse où tu as une
seule partition sur hdb) à un répertoire du système de fichier local.
Si tu souhaites que les documents de tous les utilisateurs soient localisés
sur ce disque, il faudra associer /dev/hdb1 à /home. Si tu veux que seuls tes
documents le soient, tu pourras utiliser /home/tonlogin. Enfin, les
possibilités sont infinies, et tu peux choisir de localiser physiquement les
fichiers contenus dans un répertoire /home/toto/documents_debiles/photos/ en
l'associant à une partition donnée.
/!\ Note bien qu'il faut être prudent en associant des partitions à des
systèmes de fichiers existants et comprenant déjà des données. En effet, le
fait d'associer une partition à un répertoire dans /etc/fstab va forcer le
système à monter cette partition sur ce répertoire au prochain boot. Cela
signifie qu'il prendra les données contenus dans ce répertoire dans le
contenu de cette partition et _uniquement_ dans cette partition. Le scénario
à _ÉVITER_ est celui-ci :
Paul (pour changer de Sandy et John) veut avoir ses documents persos
(actuellement sur hda3 avec /, par exemple) sur hdb1 en ext2 (ça me rappelle
quelque chose). Il fait les manips suivantes :
* Il édite /etc/fstab et rajoute la ligne :
/dev/hdb1 /home ext2 nouser,defaults,atime,auto,rw,dev,exec,suid 0 2
* Il ferme ensuite /etc/fstab (en sauvegardant les modifs) et fait un `sudo
mount -a` pour prendre en compte les changements, pensant avoir réussi son
coup.
Résultat : plus rien dans /home (enfin juste un dossier lost+found) ! Les
données ne sont pas perdues cependant. Elles sont toujours sur hda3, mais
masquées par le contenu (presque) vide de hdb1.
Le problème c'est que si tu es dans son cas et que ton /home fait partie du /,
tu ne peux pas démonter le /home avant de le remonter... D'où ce que je te
conseille de faire :
* Monter hdb1 (supposons qu'il s'agit d'ext3) sur /mnt (/mnt est fait pour
servir de point de montage provisoire) : `sudo mount -t ext3 /dev/hdb1 /mnt`
* Copier le contenu de /home sur /mnt : `sudo cp -a /home/* /mnt`. L'option -a
permet de conserver les dates et utilisateurs et est essentielle pour cette
opération.
* Effacer le contenu de /home (oui c'est bourin là, et il vaut mieux être
logué en console en root plutôt qu'en user sous KDE/GNOME) : `sudo
rm -rf /home/*`
Note : si cette étape est sautée, les documents de /home seront toujours sur
hda3 mais ne seront pas utilisés : c'est du gâchis de place ...
* Ajouter (ou modifier) la ligne de montage dans /etc/fstab :
/dev/hdb1 /home ext3 nouser,defaults,atime,auto,rw,dev,exec,suid 0 2
* Sauvegarder /etc/fstab et tout remonter : `sudo mount -a`
Et si tout va bien tes docs doivent être sur hdb1 :)
Remarque : pour éviter le rm de barbare à chaud sur le /home, tu peux utiliser
un live CD et travailler pour effacer les données du /home sans être logué
dans le système.
Voili...
Raphaël aka "faut s'occuper pendant les heures de compil de kdelibs"
--
Raphaël Pinson
<raphink at ubuntu.com>
Ubuntu - Linux for Human Beings
http://www.ubuntulinux.org
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: non disponible
Type: application/pgp-signature
Taille: 191 octets
Desc: non disponible
URL: <https://lists.ubuntu.com/archives/ubuntu-fr/attachments/20060424/32b52eb1/attachment.pgp>
Plus d'informations sur la liste de diffusion ubuntu-fr