Un /home commun à MDK, DEBIAN et KUBUNTU ?

Fermé
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 - 5 mai 2005 à 21:19
 lami20j - 6 mai 2005 à 10:39
Bonjour,

je suis en train de rpartitionner mon disque dur pour y creer un volume pour mandriva, un volume pour kubuntu et un volume pour debian.

Mon objectif est d'avoir un volume "/home" commun à ces 3 distributions.

Malheureusement, la creation d'un /home commun crée bcp de problèmes.

J'ai d'abord crée ma partition mandrake et la partition /home à l'aide du partitionneur de mandriva. Ensuite, sur l'espace vide, je crée une patition kubuntu avec partman. Puis je monte la partition /home crée dans mandriva.

pas de problème jusqu'à là. Mais au demarrage de kubuntu tout se passe bien jusqu'à l'entrée de la session kde après être loggué avec kdm. En effet, des messages d'erreur apparaissent concernant "dcopserver". Puis ça bloque, impossible d'entrer sur le bureau kde de kubuntu.

J'ai essayé la même chose avec debian et le resultat est exactement le même.

Apparement, il ne semble pas possible de crée un volume /home commun ?

Par contre, si je donne un autre nom au "/home", ça marche.

Donc ma question est :

Peut-on creer une partition "/home" commune à plusieurs distributions sans changer le nom.

Merci d'avance

7 réponses

Salut,

En fait quand on veut faire une chose on a une raison.

Donc je suppose que tu veux avoir tous les utilisateurs de tes systèmes dans le même répertoire ou partition (qu'il soi /home ou pas).

Je ne connais pas mandriva et kubuntu et debian mais dans mandrake avec useradd tu peut manipulé la destination de répertoires des utilisateurs.

(Et je pense que tu as dans tes systèmes la commande useradd )

useradd -D m'affiche le contenu du fichier de configuration /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel


Ce fichier tu peut le modifier à la main ou avec la commande
useradd -D -b /ton_rep (ou tu laisse /home)

Donc quand tu installe les autres 2 systèmes (tu n'est pas obligé de choisir une partition pour /home - tu auras /home dans la racine).

Après pour diriger les utilisateurs sur la partition de 1er système /home alors tu montes la partition qui contient /home (pour le 1er système) sur /mnt/nom_rep ( pour avoir au démarrage la partition déjà monté - "c'est indiqué si tu veut te connecter"- alors tu modifies le fichier /etc/fstab de chaque des 2 systèmes installés ultérieurement).

Exemple:
------------------------------------------------------------------------------
debian

/home est monté sur /dev/hdx7 (x c'est pour le disk et 7 pour la partition)

useradd debian_user
----------------------------------------------------------------------------
kubuntu

tu ajoute dans /etc/fstab
/dev/hdx7 /mnt/home ext3 defaults 1 2
mkdir /mnt/home
mount /dev/hdx7 /mnt/home
useradd -D -b /mnt/home
useradd kubuntu_user
--------------------------------------------------------------

après pareil pour mandriva
------------------------------------------------------------------------
Après au démarrage de chaque système normalement tu seras bien.

A+
0
Encore une chose.

Après la création d'utilisateurs n'oublies pas de leur attribuer un mot de passe.

En tant que root (c'est lui qui crée les utilisateurs) tu tapes dans la console

passwd nom_utilisateur


A+
0
Il est possible de crée un /home commun à plusieurs distributions, mais il faut faire attention aux uid et gid de chaque utilisateur.

Par exemple, sous Mandriva, le premier utilisateur que je crée a l'uid 500, alors que sous Suse, il a l'uid 1000 (si je laisse les paramètres par défaut).

Il faut donc bien spécifier les mêmes uid et gid au moment de la création des utiliisateurs.


En cherchant un peu, tu verras qu'on peut même avoir un seul /home pour toutes les machine d'un réseau. Il faut passer par nfs et NIS.
Je ne suis pas très expérimenté sous Linux et j'y arrive déjà.
(Va jeter un oeil sur mon site, partie tutoriels)

http://perso.wanadoo.fr/dawidlinux/libre.html
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
5 mai 2005 à 23:14
Peut-on creer une partition "/home" commune à plusieurs distributions sans changer le nom.

Bien-sur! En principe il faut aussi que les numeros "uid" des utilisateurs "pristella" dans Mandrake et Ubunto sont les memes, sinon "pristella-Mandrake" n'a pas les droits d'ecritures sur les fichiers "pristella-Ubunto" et a l'inverse. (voir le poste de Dawid). Cependant il semble que c'est deja bon chez toi (par defaut les "uid" commencent a 500 et si a chaque fois tu ne cree qu'un seul utilisateur c'est bon, sinon faire attention avec les bonnes options dans "useradd" ou "adduser" ou DrakConf).

Je crois que dans ton cas ce ne sont pas les /home identiques en soi qui creent le probleme, mais le fait que tu veux utiliser KDE sur chaque distribution. Le KDE depose dans le home du l'utilisateur de fichiers/repertoires ".kde/..." ou similaires. Si les trois KDE sur chaque distribution ne sont pas identiques (exactement la meme version) ca peut creer de problemes. Le KDE-Mandrake cree de fichiers qui ne marchent pas forcement avec le KDE-Ubuntu etc. Je connais ce probleme dans une situation ou les memes repertoires home des utilisateurs sont montes par nfs (mount par reseau) sur differents ordinateurs Linux dans un reseau. Si ici les versions KDE sont differentes ca cree exactement ce genre de problemes si on se connecte sur differents pcs Linux.

Que sont les solutions pour eviter/contourner:

1) Mettre differents homes comme tu l'as deja fait. Dans ce cas rien n'empeche que sur Ubuntu tu as acces au home Mandrake. Par exemple tu peux faire avec de liens symboliques:
cd /home/pristella
ln -s /home2/pristalla home_mandrake

si /home2/ et le home de Mandrake. Dans ce cas ca apparait comme sous-repertoire "home_mandrake" dans ton home. Bien-sur ici il faut que le numero "uid" soit bon.

2) Utiliser differents "uid" pour les utilisateurs mais ca revient a avoir deux repertoires differents sur la meme partition /home et il faut aussi changer le noms d'un des home (par exemple: /home/pristella2). Cette solution est moins commode que 1).

3) Se debrouiller que partout il y a les memes versions KDE.

4) Voir si dans le KDE on peut forcer de deposer les fichiers config ailleurs que dans le home, par exemple dans un repertoire /var/kde/ (eventuellement a creer). Si on arrive a faire ca on pourrait avoir le meme home mais avec different fichiers .kde qui se trouveraient ailleurs quelques parts dans le systeme, donc en 3 versions! Seulement je n'ai aucune idee si c'est possible et surtout comment faire en detail. Il faut etudier la doc de KDE si l'endroit ou les noms de ces fichiers est modifiables d'une facon quelconques (par exemple par de variables d'environment).
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
5 mai 2005 à 23:58
Salut kmf,

Je crois que dans ton cas ce ne sont pas les /home identiques en soi qui creent le probleme, mais le fait que tu veux utiliser KDE sur chaque distribution

tout à fait exacte, l'utilisateur sur les 3 distributions est le même et il n'y en a pas d'autres donc les uid sont identiques.

Pour la solution 1 , si j'ai bien compris, après avoir crée ma partiton "/" pour mandriva et la partition /home(2) par exemple, j'installe normalement kubuntu
en montant la partition /home2.

Puis, dès que je suis sur le bureau de kde (kubuntu), je vais dans /home/pristella (de kubuntu) et je crée le lien symbolique : ln -s /home2/pristalla home_mandrake.

C'est une chose à laquelle j'avais pensé mais ça crée un sous répertoire dans la
partition /home. C'est justement ça que je cherche à eviter.

En clair, on a toujours 3 home différents dont 1 sur un volume bien à part et lié par un lien symbolique.

Dans le cas ou je reinstalle kubuntu ou debian, je risque de perdre mes données puisque celles-ci ne sont pas sur la partition /home2 mais sur le même volume que le système (kubuntu ou debian). Seule mandriva pourra être reinstallé sans perte de données.

En fait, mon problème est clair. Si je veux eviter ce genre de manip et n'avoir qu'un seul home pour les trois distrib, je dois avoir exactement la me version kde et le même uid.

En fait je voudrais que cette partition /home fonctionne comme pour ma partition donnéesXP (windows) en fat32. La plupart du temps, jemets mes données personnelles dans /donnéesXP pour m'eviter de perdre mes données linux lors d'une reinstallation de mandrake, debian ou kubuntu.

merci pour vos réponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
6 mai 2005 à 00:38
En fait je voudrais que cette partition /home fonctionne comme pour ma partition donnéesXP (windows) en fat32.

un /home en fat32 est une tres tres mauvaise idee. Je crois c'est exactement ca qui t'as coute des heures/jours de travail quand tu as voulu compiler le driver rt2500 (tu te souviens le "make ..." qui marchait chez moi et pas chez toi, si ton home etait en fat32, tout s'explique).
Un fat32 est tres restreint par rapport a un ext3 (pas de liens symboliques, pas de gestion proprietaire, fichiers toujours executables, ...). Bien-sur tu peux garder une partition fat32 pour l'echange de donnees, meme assez grande mais evite de lui attribuer le role du home. Ca ne cree que de problemes.

Apart ca pour l'acces de tes donnes sur le home Mandrake depuis Ubunto il n'y a aucun probleme meme sans lien symbolique et avec des homes differents. Par exemple si tu as trois partitions /home differentes tu peux monter le /home de Mandrake sur Ubunto avec un autre point de montage disant /home2 ou /home_Mandrake etc. Si les uid pour pristella sont bons, tu n'as qu'a aller dans le repertoire /home_Mandrake/pristella/... avec "cd ..." pour acceder a tes fichiers Mandrake. Je ne vois pas de problemes.
Il n'y aucune probleme d'avoir d'autres repertoires appartenant a l'utilisateur "pristella" qui ne sont pas sous-repertoires du home. Le lien symbolique n'est pas tres important ici, ca sert seulement pour faire apparaitre l'autre repertoire comme sous-repertoire, donc un petit truc de commodite. Le point important est de monter toutes tes partions home sur toutes les systemes, bien-sur avec differents points de montage!

Si tu t'organises bien comme ca tu peux acceder a toutes des donnees depuis toutes des systemes. Seulement il y a plusieures strategies que tu peux poursuivre. Je crois la plus simple serait:

Tu ne cree qu'une ou deux partitions de donnees, une en ext3 et peut-etre une autre en fat32. Les deux assez grandes. Tu les montes avec les memes noms dans tous les systemes Linux. Mais tu fais attention de ne pas utiliser le nom /home!!!! Tu prend un autre nom, comme /home_bis, /home_2, .... comme tu veux mais PAS /home.
Dans /home_bis tu crees (en root) un repertoire pour toi, disant appelle pristella:
mkdir /home_bis/pristella
chown pristella /home_bis/pristella

Plus tard ce repertoire va accueillir une grande partie de tes donnees en Linux.

Apart ca, le ``vrai repertoire /home'' ne serait qu'un sous-repertoire dans la partition racine "/". Donc 3 sous-repertoires differents pour eviter le probleme KDE. Apres dans tous les trois tu crees le meme lien symbolique vers /home_bis/pristella sur la partition a part, par exemple:
cd /home/pristella
ln -s /home_bis/pristella MON_HOME

et apres ~/MON_HOME montre vers la partition a part ou il y a beaucoup de place. Cependant ce lien en soi n'est pas important. Meme sans le lien tu peux toujours faire
cd /home_bis/pristella/

et apres travailler la dessus (deposer de fichiers, ...). Pour ca c'est surtout la commande "chown ..." ci-dessu qui est importante car elle attribue le repertoire /home_bis/pristella/ a toi.

Il y en a aussi d'autres facon de faire, par exemples avec 3 points de montage, /home, /home1, /home2 etc. mais ici il vaut mieux creer les memes chemins identiques pour tous les systemes Linux, sinon tu risques de ne plus te retrouver la dedans!
Tu peux aussi bouger le vrai home pour pristella sur un autre repertoire comme /home2/pristella, soit en modifiant /etc/passwd ou soit un creeant de lien symboliques.

En resume il y a plusieures facons de faire pour que ce soit assez commode, mais ce qui compte est que tu peux toujours acceder a toutes tes donnes partout avec les bonnes mounts dans /etc/fstab et la bonne commande "cd ...". Apres il n'y a que la question de faire le plus simple possible.
0
pristella Messages postés 859 Date d'inscription samedi 23 octobre 2004 Statut Contributeur Dernière intervention 8 mai 2007 74
6 mai 2005 à 09:43
Bonjour kmf,

Merci pour toutes tes explications. Maintenant, je commence à comprendre la raison de bcp de mes problèmes. La totalité de mes fichiers linux (tar.gz) se trouvaient sur une partition fat32. :(:(

Sinon, avant de voir ton dernier message, j'ai essayé la methode 'lami20j'. Et ça semble fonctionner, voilà comment j'ai procedé :

1-j'ai crée une partition /home (hda6) (j'ai pas modifié le nom) pendant l'installation de mandriva( hda2), puis je l'ai monté.

2-j'ai installé kubuntu(hda7) sans monté la partition /home.

3- arrivé sur le bureau de kubuntu, j'ai modifié /etc/fstab en rajoutant cette ligne :

/dev/hda6 /mnt/home ext3 defaults 1 2

mkdir /mnt/home (je crée le repertoire 'home' dans /mnt

mount /dev/hda6 /mnt/home (je monte la partition home crée dans mandriva (hda6)

useradd -D -b /mnt/home (j'ai fait cette commande sans vraiment la comprendre ???)

useradd pristella (ça je ne l'ai pas fait car il n'y a qu'un seul utilisateur (pristella)

Avec cette methode, je monte le /home dans un repertoire différent /mnt comme pour winXP et donnéesXP et ça marche :)

J'ai ensuite crée un lien sur mon bureau pour un accès rapide , je l''ai nommé 'dossiers personnels'.

J'imagine que je peux également crée un lien symbolique dans le /home de kubuntu et le nommé 'dossiers personnels'. Et faire de même lorsque je vais installer debian.

Encore merci à toi et aussi à lami20j

Vos deux solutions m'ont beaucoup aider, encore une fois :):)
0
Bonjour pristella,

Voilà une petite explication pour la commande

useradd -D -b /mnt/home

Le fichier /etc/default/useradd contiens les informations de configuration par défaut pour useradd

# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel

A la place de modifier la ligne HOME=/home dans un editeur de texte on utilise la commande

useraadd -D -b /mnt/home

Si tu ne fait que useradd -D alors il t'affichera le contenu du fichier sur la sortie standard.

A+
0