Le samedi 10 juin 2006 à 17:08:: Laurent - CyberSDF:: Ubuntu
EDIT : Réécriture de la procédure pour une plus propre et plus sûre et en prenant en compte les commentaires postés
Vous l'avez certainement remarqué, Ubuntu, quelle que soit sa version, ne crée pas de partition /home par défaut lors de l'installation. Et pourtant, on peut avoir envie de s'en créer une après quelque temps d'utilisation pour séparer ses données, ou tout simplement parce qu'on a ajouté un nouveau disque dur et qu'on souhaite mettre toutes ses données dedans.
Je vais vous décrire ci-dessous une méthode que j'ai utilisé et qui a parfaitement fonctionnée.
Nota :
Comme vous le savez, Ubuntu ne dispose pas de compte root, du moins lors d'un démarrage normal. Seulement, avec le mode "runlevel 1", on se retrouve avec un compte root et pratiquement rien de chargé (voir les scripts commencant par un S dans le répertoire /etc/rc1.d/ comparés à ceux de /etc/rc5.d pour s'en rendre compte) et SURTOUT, ce qui nous intéresse le plus, aucun autre utilisateur que root ne peut utiliser la machine, donc pas d'éventuel conflit de "fichiers occupés".
Lorsque vous vous retrouvez devant le menu de grub, appuyez ESC pour stopper le décompte, puis selectionnez votre noyau habituel et appuyez sur e pour passer en mode édition, puis ajoutez simplement le chiffre 1 à votre noyau :
kernel /boot/vmlinuz-2.6.XX-XX-XXX root=/dev/hda1 ro quiet splash 1
Ensuite, appuyez sur b pour booter.
Si jamais vous ne voulez pas redémarrer votre machine, fermez votre session, passez en mode console via Ctrl+Alt+F1 puis appelez le mode init 1 via :
$ sudo telinit 1
On crée le point de montage puis on monte la partition :
# mkdir /home.new
# mount /dev/hda3 -t ext3 /home.new
Maintenant que la partiton est montée, il faut y copier toutes nos données.
Seulement nous n'allons pas copier les données n'importe comment, il faut faire attention à ce que les droits, propriétaires, groupes, dates, etc. soient identiques. Pour cela, nous allons utiliser l'option -a de cp
# cp -a /home/* /home.new
Une petite vérification que tout s'est bien passé :
# diff /home/cybersdf /home.new/cybersdf
S'il nous dit que tout est identique (comprendre tous les fichiers avec les permissions propriétaires, groupes, dates, tailles, etc.), on peut continuer.
Première étape, échanger les répertoires /home et /home.new :
# mv /home /home.old
# mv /home.new /home
Puis on va donner à notre partition son nouveau petit nom :
# e2label /dev/hda3 /home
On édite donc le fichier /etc/fstab :
# vim /etc/fstab
On y ajoute notre partition nouvelle home :
/dev/hda3 /home ext3 defaults 0 2
Y'a plus qu'à la tester et vérifier :
# mount /home
# ls -lart /home/cybersdf
Si tout est ok, on passe en mode normal :
# telinit 5
ET VOILA !
Blogmark it ! :: trackback fermés :: fil rss des commentaires
1.
Le samedi 10 juin 2006 à 19:46 ::
anocka
Juste un petit truc : dans un tuto, je mettrais
# nano /etc/fstab
à la place de
# vim /etc/fstab
Imaginons qu'une personne n'ayant jamais entendu parler de vi lance l'édition et se retrouve en mode normal ! Plutôt dangereux...
Sinon ce tutorial est clair et bien fait, et je cherchais justement quelque chose sur ce sujet... Merci.
2.
Le samedi 10 juin 2006 à 20:42 ::
Thesa
Intéressant tout ça, ne serai-ce que pour changer ses fichiers de partition, comme tu le dis.
Je trouve par contre vraiment dommage qu'Ubuntu ne crée pas par défaut une partition /home (contrairement à d'autres distributions comme Mandriva). Cela a plusieurs fois sauvé mes données, et je considère ça comme un apport majeur de Linux par rapport à d'autre OS.
3.
Le samedi 10 juin 2006 à 20:49 ::
jdloic
Juste au passage le niveau par défaut sur une ubuntu (et debian aussi) c'est 2 et pas 5:
% grep default /etc/inittab
# The default runlevel.
id:2:initdefault:
De plus, pour passer en init 1, il suffit de faire:
% sudo init 1
4.
Le dimanche 11 juin 2006 à 00:52 ::
LordFarquaad
Juste une petite note ou deux:
- tout d'abord, je trouve que c'est une mauvaise idée de copier le répertoire /home alors qu'un utilisateur (ayant sont répertoire personnel dans /home) est loggé: s'il a des fichiers verrous (par exemples utilisés par firefox etc.), ceux-ci ne seront pas supprimés dans la copie, et donc à sa prochaine ouverture de session, il risque d'avoir quelques problèmes qu'il ne comprendra pas (du genre "vous ne pouvez lancer ce programme deux fois" ou encore des choses mal sauvés), donc il vaut mieux le faire juste après avoir redémarré en init 1
- pour la vérification que tout s'est bien passé, il vaudrait mieux utiliser diff non ?
- pour redémarrer en init 1, il suffit pas d'utiliser le mode "rescue" que ubuntu crée par défaut ?
PS.: de plus il me semble que tu réinventes la roue:
doc.ubuntu-fr.org/install...
Sinon moi j'ai une autre technique pour faire la même chose, mais à chaud (avec gnome démarré et tout le bazar !):
1 - créer un compte temporaire du genre tempadmin avec un répertoire personnel ailleurs que dans /home (par exemple dans /tmp) et les droits d'admin
2 - se délogger et se relogger sous tempadmin (et s'assurer qu'aucun autre utilisateur n'est loggé)
3 - vérifier qu'aucun fichier n'est utilisé dans /home (lsof /home normalement) - en principe c'est le cas si personne n'est loggé, sauf peut-être si vous avez des partages nfs/samba auquel cas il suffit d'arrêter ces services normalement
4 - faire la copie/le remplacement de /home
5 - se délogger/se relogger avec son compte normal pour s'assurer que tout marche bien
6 - supprimer tempadmin
@jdloic: sudo init 1 ok mais il vaut mieux fermer sa session d'abord quand même, c'est plutôt violant sinon il me semble, non ?
5.
Le dimanche 11 juin 2006 à 14:37 ::
giz404
Plutot sympa quand on commence a avoir un disque dur plein
Euh sinon est-ce que la même procédure marcherait avec /boot ?
6.
Le dimanche 2 juillet 2006 à 13:10 ::
lellex
merci pour ce tuto !! je débute avec linux et ca fonctionne sans problème
![]()
7.
Le jeudi 17 mai 2007 à 13:06 ::
Jucgshu
Il y a un point où je ne suis pas sûr : à l'édition de vim /etc/fstab, on ne doit pas sauvegarder? Et si oui, comment?
8.
Le mercredi 28 novembre 2007 à 19:49 ::
giz404
Après exécution de cette manipulation, je me suis rendu compte d'un problème : quand je veux faire mv /home.new /home, il me sort "ressource busy..." Du coup j'ai rebooté, j'ai renommé le dossier home.new en home et j'ai ensuite fait le montage. Et là ça fonctionne.
Toutes les fautes d'orthographes présentes sur ce site sont protégées par la licence
Creative common
|
|
|
|
Design décliné de [ON]Simple par [ NikO ]
Hébergé par Typhon.Network