#1 Le 23/04/2005, à 23:47
- Ephack
Créer un répertoire chroot pour utiliser une autre version de Ubuntu
MAJ le 10/12/05 pour script do_dchroot plus performant
MAJ le 05/11/05 pour version Breezy
Voilà : à ma connaissance, il n'existe pas de tutoriel en français pour expliquer comment créer un répertoire chroot et y installer des programmes 32bits pour pallier aux manques parfois cruels des versions 64bits. Ou pour installer rapidement un ou deux programmes d'une version instable sans avoir à repartitionner et relancer toute une installation, ni non plus mettre en danger sa version stable. Le chroot pèse chez moi environ 500Mo. Pour ceux qui préfèrent la VO, je me suis largement inspiré de ce sujet du forum Ubuntu en anglais : http://ubuntuforums.org/showthread.php?t=24575
Je demanderai aussi aux vrais connaisseurs de me pardonner si je dis des bêtises dans les commentaires, je ne suis qu'un novice qui essaie de comprendre ce qu'il fait, sans toujours bien y arriver. Si cela arrive, merci de me corriger!
Dernière remarque avant de commencer : je 'joue' avec une Breezy 64bits, et mon but et d'installer une Breezy 32bits stable. Si votre cas est différent, il y aura deux ou trois paramètres à modifier au début, quand il s'agit de choisir quelle version vous voulez installer... Je sais que ça marche en 32bits, mais je n'ai pas testé moi-même.
OK, allons-y!
Étape 1 : Installation des premiers éléments
- Installer les paquets dchroot et debootstrap à l'aide de synaptic.
- En console :
sudo mkdir /chroot/
sudo gedit /etc/dchroot.conf
Ajouter la ligne suivante à la fin :
breezy32 /chroot
Remarque : Je suppose que 'breezy32' n'est qu'un nom que vous pourriez changer, selon vos besoins et vos envies, en 'Breezy', 'Instable', 'test'... Je pense que c'est surtout utile si vous manipulez plusieurs répertoire chroot (oui, oui, c'est possible! Mais est-ce vraiment nécessaire? )
sudo debootstrap --arch i386 breezy /chroot/ http://archive.ubuntu.com/ubuntu
Remarque : C'est ici qu'il faudra indiquer la version que vous voulez installer. Cette commande va aller chercher tous les paquets nécessaires sur le net et les installer. Vous avez largement le temps d'aller prendre un café
sudo chroot /chroot/
dpkg-reconfigure locales
Remarque : J'ai eu pour ma part quelques problèmes ici. J'ai trouvé plus tard la solution : remplacer la ligne ci-dessus par les deux lignes suivantes dans une nouvelle console :
cp /etc/locale.gen /chroot/etc/locale.gen
locale-genÉtape 2 : Configuration d'apt
- Dans une nouvelle console :
sudo gedit /chroot/etc/apt/sources.list
Ajouter les lignes suivantes :
deb http://archive.ubuntu.com/ubuntu breezy main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu breezy-security main restricted universe multiverse
Remarque 1 : Là encore, attention à la version que vous voulez installer...
Remarque : Personnellement j'ai du mal à faire fonctionner correctement synaptic qui plante au moment d'installer un nouveau paquet. mais apt-get install en console fonctionne très bien.Étape 3 : Premières actions dans votre environnement 'chrooté'
- Passez dans votre environnement 'chrooté' :
sudo chroot /chroot
- Aucune différence de visible, mais maintenant, la commande 'cd /' vous emmènera en fait dans '/chroot'. Tout se passe comme si '/chroot' était votre répertoire racine. Mais uniquement dans la console, hein! Pas en dehors!... Les programmes lancés, comme par exemple apt, sont également ceux de l'environnement 'chrooté'.
apt-get update
Remarque : Des Warnings (W) peuvent apparaître ici. Ignorez-les impitoyablement.
apt-get upgradeÉtape 4 : On l'on découvre qu'on aimerait bien que tous les paramétrages soient aussi simples que celui d'un chroot...
- Dans une autre console :
sudo cp /etc/passwd /chroot/etc/
sudo cp /etc/shadow /chroot/etc/
sudo cp /etc/group /chroot/etc/
sudo cp /etc/sudoers /chroot/etc/
sudo cp /etc/hosts /chroot/etc/
sudo gedit /etc/fstab
Ajouter à la fin du fichier :
/home /chroot/home none bind 0 0
/tmp /chroot/tmp none bind 0 0
/proc /chroot/proc proc defaults 0 0
/media/cdrom0 /chroot/media/cdrom0 none bind 0 0
Remarque : Vous pouvez aussi monter de la même manière d'autres partitions dont vous aurez besoin (une partition fat32 par exemple), à l'aide de l'option bind.
mkdir /chroot/media/cdrom0
Remarque : Pensez à créer tous les répertoires que vous voulez monter...
sudo mount -a
sudo gedit /usr/local/bin/do_dchroot
Recopier les lignes suivantes :#!/bin/sh
xhost + local:
temp=`echo $0 | sed 's|^.*/||'`
command=`echo $temp | sed 's/32/ /'`for arg; do
arg=`echo $arg | sed -e 's/ /\\\ /g'`
args=`echo $args $arg`
done/usr/bin/dchroot -d "$command $args"
Remarques : Selon la configuration de votre clavier, les ` ne seront peut-être pas évidents à trouver. Mais le copier-coller marche très bien Tout ce que je peux vous donner comme explication sur ces belles lignes, c'est qu'elles permettent de faire le lien (à l'aide d'un autre fichier, cf plus loin) entre une commande passée dans votre environnement habituel et le programme situé dans le chroot.
sudo chmod 755 /usr/local/bin/do_dchrootÉtape 5 : Où vous installez votre premier programme 'chrooté'
- Dans une nouvelle console :
dchroot -d
sudo apt-get install synaptic
exit
Remarque : J'obtiens parfois des warnings après cette commande, parfois pas. Mais dans tous les cas, ça semble fonctionner...
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/synaptic32
Remarque : C'est ce lien qui va permettre, avec l'aide du fichier do_dchroot, de lancer les programmes du chroot depuis votre console habituelle.
sudo synaptic32
Voilà! Si tout va bien, synaptic 'chrooté' vient de se lancer. Félicitations! Tout est maintenant plus facile puisque vous pouvez passer par synaptic pour installer vos logiciels. N'oubliez pas de créer les deux liens comme ci-dessus si vous voulez pouvoir les lancer depuis votre environnement normal (sans passer par dchroot -d).
Postez ici vos commentaires et remarques, je mettrai à jour ce post si nécessaire, éventuellement avec des aides pour installer une autre version que la Breezy 32bits.
Quelques remarques sur l'installation de logiciels dans votre breezy32 :
Pour firefox : sélectionner le paquet firefox, puis le paquet libflash-mozplugin pour flash et ça fonctionne.
Pour Skype : J'ai dû utiliser le dernier lien de la page téléchargement et surtout installer le paquet libqt3-mt-dev.
Dernière modification par Ephack (Le 10/12/2005, à 13:13)
Hors ligne
#2 Le 05/08/2005, à 10:18
- Vicks
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
nickel, merci bien
An noter un détail au lieu de taper " chroot /chroot" au début de l'étape 3, il faut faire un petit "sudo chroot /chroot" mais cela reste un détail...
Sinon lorsque tu "dpkg-reconfigure locales" as-tu aussi des messages d'erreurs comme quoi ~la gestion des langues que tu as choisi n'est pas supportée? Moi ça me donne un truc du style:
perl: warning: Please check that your locale settings:
LANGUAGE = "fr_CH.UTF-8",
LC_ALL = (unset),
LANG = "fr_CH.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Cleaning up font configuration of pango...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "fr_CH.UTF-8",
A noter que cette erreur ne pas empêché de finir le tuto...
Je suis en train de télécharger enemy territory, juste pour essayer mon tout nouveau système chroot:P
Hors ligne
#3 Le 05/08/2005, à 17:56
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Merci du détail, c'est corrigé!
Hum... Pour ta question, à vrai dire... Ça fait un moment maintenant que je l'ai fait et honnêtement, je ne me souviens plus Mais je me souviens avoir eu régulièrement des messages du genre, donc c'est fort possible!
Dernière modification par Ephack (Le 05/08/2005, à 18:55)
Hors ligne
#4 Le 06/08/2005, à 11:41
- Vicks
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Si qqn est interessé d'installer Enemy Territory après cette formidable explication d'Ephack...
http://forum.ubuntu-fr.org/viewtopic.ph … 949#p62949
Hors ligne
#5 Le 21/09/2005, à 18:41
- ObSVuugj
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
C super mais tu as pas dit comment on va en chroot! C dchroot -d ou sudo chroot /chroot ?
Bonjour je suis un portail et je suis ici pour vendre des fenetres!
(Hello! I am Gates and I am here to sell Windows)
Hors ligne
#6 Le 23/09/2005, à 23:00
- Jai_le_leu
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
j'ai ce message d'erreur quand je veux installer synaptic (ou quoique ce soit avec apt-get....)
dpkg: syntax error: unknown group `postdrop' in statusoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)
Hors ligne
#7 Le 24/09/2005, à 11:03
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
-> ObSVuugj : dchroot -d fonctionne très bien. Je pense qu'il s'agit de deux variantes d'une instruction à peu prs équivalente. Avec dchroot, tu peux aussi indiquer ensuite un nom d'application à exécuter dans l'environnement chroot. Est-ceque quelqu'un en sait plus?
-> Jai_le_leu : Je ne sais pas trop... Est-ce que tu es bien passé en mode chroot (cf. ci-dessus)? Est-ce que tu as bien mis apt-get à jour (deux commandes à exécuter, étape 3)?
Hors ligne
#8 Le 26/09/2005, à 18:43
- Jai_le_leu
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
ben il me semble
je refait un test, en live
....
même problème
je vais essayer avec un autre dépot....
putain, j'ai réussi à faire l'erreur, j'ai pas mis "fr." devant "archive" dans ma liste de dépot >_<
j'ai pas de bande passante là, j'essaye ce soir (je suis au brésil, donc pour les gens normaux c'est "cette nuit"), et je vous tiens au courant, mais je pense que ça venait de là
Hors ligne
#9 Le 26/09/2005, à 19:05
- Jai_le_leu
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
.....
en fait non, toujours pas
je me demande si ça ne vient pas du fait que je suis déjà sous breezy, et que je lui demande de me faire un hoary...
je vais refaire la procédure avec breezy pour voir
pour défaire le chroot de hoary, un petit rm -R /chroot/* suffit ?
Hors ligne
#10 Le 26/09/2005, à 19:57
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Oui peut-être mais c'est bizarre : le chroot existe justement pour pouvoir installer une version de test (ex breezy) sans perturber une version stable (ex hoary) ni partitionner le disque. Évidemment, peut-être que l'opération inverse (installer hoary sous breezy) n'est pas possible, mais ça me semble bizarre...
Pour la désinstallation, pense à désinstaller les logiciels que tu aurais pu installer et à mettre à jour ton fstab...
Hors ligne
#11 Le 26/09/2005, à 20:12
- tylhdar
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
c'est quois l'avantage par rapport a bosch ?
un matériel non compatible linux est un matériel défectueux
ubuntu 10.4 sur pc1 ; debian squeeze sur pc2
Hors ligne
#12 Le 26/09/2005, à 20:21
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Aucune idée : je neconnais pas bosch
Hors ligne
#13 Le 26/09/2005, à 20:41
- Jai_le_leu
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Pour la désinstallation, pense à désinstaller les logiciels que tu aurais pu installer et à mettre à jour ton fstab...
ah ah, j'ai rien pu installer >_<
Hors ligne
#14 Le 28/09/2005, à 19:49
- LR
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Salut, je n'arrive pas à lire certains dvd avec vlc, totem, gmplayer... Alors j'ai essayé avec le chroot mais je n'arrive pas à ouvrir le dvd :
Playing dvd://1.
libdvdread: Using libdvdcss version 1.2.8 for DVD access
libdvdread: Could not open /dev/hdb with libdvdcss.
libdvdread: Can't open /dev/hdb for reading
Couldn't open DVD device: /dev/hdb
Ce n'est pas la même erreur que lorsque je ne suis pas en chroot...
Quelqu'un aurait une idée ?
Merci d'avance
Lilian
Hors ligne
#15 Le 28/09/2005, à 20:28
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Oui je sais, c'est une proposition stupide mais bon... Est-ce que tu as bien pensé à rajouter une ligne pour ton dvd dans ton fstab? Un truc du genre :
/dev/hdb /chroot/dev/hdb none bind 0 0
D'ailleurs, pourquoi /dev/ et pas /media/? C'est ce que tu utilises dans ton environnement non chrooté?
Hors ligne
#16 Le 28/09/2005, à 20:43
- andeim_
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Merci pour la traduction du tutoriel jusque là j'ai bien reussi me logger en tant que chrootmais maintenant comment fait ton pour jouer à E T??
Déjà il ne reconnait pas la commande #et ce qui est a priori normal. Mais quand j'essaie de l'installer il me met
/home/damien/.setup13229: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
/home/damien/.setup13229: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
./setup.sh: line 138: 13260 Segmentation fault
Donc j'ai pensé a telecharger les libgtk avec synaptic32 mais ca ne change rien à ce problème...
Comment faire:/
E8400
P5Q-Pro
GForce 275 GTX
4 Go RAM 800 Mhz
Hors ligne
#17 Le 28/09/2005, à 21:02
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Tu es allé voir sur le sujet proposé par Vicks un peu plus haut? Perso, je n'ai pas installé ET, mais peut-être qu'en postant dans cet autre sujet, tu pourras obtenir de l'aide?...
Hors ligne
#18 Le 28/09/2005, à 22:43
- LR
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Oui je sais, c'est une proposition stupide mais bon... Est-ce que tu as bien pensé à rajouter une ligne pour ton dvd dans ton fstab? Un truc du genre :
/dev/hdb /chroot/dev/hdb none bind 0 0D'ailleurs, pourquoi /dev/ et pas /media/? C'est ce que tu utilises dans ton environnement non chrooté?
Non, par contre, lorsque je met le cd, il est monté automatiquement, alors j'ai fait :
sudo umount /dev/hdb
dchroot -d
sudo mount /dev/hdb
Et ça a eu l'air de marcher...
Je crois que le cd est bien monté sur /media/cdrom0, mais je crois que les programmes qui lisent les dvd lisent directement le dvd et pas le point de montage : /dev/hdb et pas /media/cdrom0.
Hors ligne
#19 Le 29/09/2005, à 18:21
- Jai_le_leu
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Oui peut-être mais c'est bizarre : le chroot existe justement pour pouvoir installer une version de test (ex breezy) sans perturber une version stable (ex hoary) ni partitionner le disque. Évidemment, peut-être que l'opération inverse (installer hoary sous breezy) n'est pas possible, mais ça me semble bizarre...
ça a marché (enfin synaptic32 a bien voulu se lancer )
pour créer d'autres raccourcis comme synaptic32 faut faire ça ?
sudo ln -s /usr/local/bin/do_dchroot /usr/local/bin/nom_du_soft_32_qui_existe_pas_sous_amd64
Edit :
dernier post sur ce sujet pour moi je pense :
le nouveau synaptic marche pas (il télécharge les paquets mais n'arrivent pas à les installer), mais avec apt j'ai pu dld wine, que j'ai testé et qui marche
je considère donc la manip comme un succès
Dernière modification par Jai_le_leu (Le 29/09/2005, à 19:46)
Hors ligne
#20 Le 02/10/2005, à 14:04
- ObSVuugj
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
au fait qqun sait comment on fait marcher les drivers fglrx sur chroot ?
Bonjour je suis un portail et je suis ici pour vendre des fenetres!
(Hello! I am Gates and I am here to sell Windows)
Hors ligne
#21 Le 22/10/2005, à 05:10
- ioan123
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Concernant la question
dpkg: syntax error: unknown group `postdrop' in statusoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)
il s'agit d'un probleme d'autorisations. Il suffit de faire un petit
mv /var/lib/dpkg/statoverride /var/lib/dpkg/statoverride.old
et le tour est joue
Ioan
Hors ligne
#22 Le 27/10/2005, à 20:43
- LR
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Salut,
J'utilise cette astuce et c'est vraiment excellent. Grâce à ça je peux avoir skype qui marche nickel.
Par contre, j'essaie d'avoir flash sur firefox et je ne peux pas. Le comportement est exactement le même que dans mon environnement normal : "clickez ici pour télécharger le plugin" puis rien...
Pourtant, quand je fais
dchroot -d
sudo synaptic
flashplayer-mozilla est bien installé.
Lorsque je lance firefox (mozilla-firefox ou firefox), il se lance très bien mais pas de flash.
Ce qui m'étonne beaucoup, c'est que quand je vais dans Aide/A propos de Mozilla Firefox :
Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.7.12) Gecko/20050922 Firefox/1.0.4 (Ubuntu package 1.0.7)
Comment se fait-il que je sois en 64 ?????
Merci d'avance
Lilian
Hors ligne
#23 Le 03/11/2005, à 10:10
- quechua
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Bonjour à tous
J'ai bien suivi le tuto. Tout semble s'être bien passé et pourtant.... Lorsque je fais dchroot -d j'obtiens bien "Executing chell in 'breezy" chroot. OK ça va !
Mais lorsque je fais sudo apt-get install synaptic, j'obtiens sudo: unable to lookup ubuntu via gethostbyname()
Il y a comme un problème là. Alors si quelqu'un a une idée de la cause du problème ce serai sympa de m'aider à comprendre ou se situe l'erreur.
Merci
Hors ligne
#24 Le 04/11/2005, à 19:00
- Ephack
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Lorsque je lance firefox (mozilla-firefox ou firefox), il se lance très bien mais pas de flash.
Ce qui m'étonne beaucoup, c'est que quand je vais dans Aide/A propos de Mozilla Firefox :
Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.7.12) Gecko/20050922 Firefox/1.0.4 (Ubuntu package 1.0.7)
Comment se fait-il que je sois en 64 ?????
Euh... Tu es sûr que tu lances bien le version 32bits et pas la version 64bits? Si tu as suivi la même méthode que dans le tutoriel, tu devrais plutôt lancer quelques chose comme 'firefox32' pour lancer le navigateur en 32bits...
Par contre quechua, je suis désolé mais je ne vois pas trop le problème. Peut-être au niveau du réseau? Est ce que tu peux pinger un site internet en mode chroot? J'ai moi aussi des problème à réinstaller mon chroot sous breezy, donc...
Hors ligne
#25 Le 05/11/2005, à 18:07
- LR
Re : Créer un répertoire chroot pour utiliser une autre version de Ubuntu
Euh... Tu es sûr que tu lances bien le version 32bits et pas la version 64bits? Si tu as suivi la même méthode que dans le tutoriel, tu devrais plutôt lancer quelques chose comme 'firefox32' pour lancer le navigateur en 32bits...
J'ai bien suivi le tutoriel mais je ne suis pas sur de quelle version je lance...
Lorsque je fais "firefox32", "(hoary32) firefox32" apparaît dans la console et firefox s'ouvre. Quand je fais Aide/A propos, je vois
Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.7.12) Gecko/20050922 Firefox/1.0.4 (Ubuntu package 1.0.7)
Quand je fais "dchroot -d", je vois "Executing shell in 'hoary32' chroot.". Si je fais "firefox", c'est la même chose.
Quand je suis dans mon environnement normal et que je fais "ls -l /usr/local/bin/firefox32", je vois "/usr/local/bin/firefox32 -> /usr/local/bin/do_dchroot".
Tout semble OK non ? Quand j'exécute "synaptic32" et que je recherche "firefox", j'ai "mozilla-firefox" et "firefox" qui sont installés (versions 1.0.7-0ubuntu15). "mozilla-firefox" est décrit comme "dummy transitional package".
Merci pour ton aide
Lilian
Hors ligne