Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/03/2011, à 07:53

Christophe C

script chroot qui s'interromp

Bonjour,

j'ai le script suivant, pour prendre la main en chroot sur une installation dual boot de natty narwal (qui a pour étiquette "unity") à partir de ma maverick. Et ensuite je lance les mises à jour (je ne fais pas un dist-upgrade, parce qu'à ce stade de l'alpha natty, les retrait de programmes que permet dist-upgrade sont aléatoires).

Mon problème, c'est que le script ouvre un terminal et tourne très bien jusqu'à la ligne sudo chroot /media/unity . Puis il s'arrête. Les 2 dernières lignes (update et upgrade) ne sont pas exécutées.

Mais comme le chroot a marché, j'ai le prompt de natty dans le terminal. Et si je copie manuellement les deux lignes dedans (update et upgrade), ça marche nickel.

En bref : le script ne marche plus après le chroot en automatique, mais c'est parfait en manuel.

Si quelqu'un peut m'expliquer comment résoudre cela...

sudo mkdir /media/unity                            #création du répertoire de montage
sudo mount /dev/sda5 /media/unity                    #monter la partition de Natty
sudo mount --bind /dev /media/unity/dev            #monter le répertoire dev
sudo mount -t proc /proc /media/unity/proc        #monter le répertoire proc
sudo mount -t sysfs /sys /media/unity/sys           #monter le répertoire sys de unity
sudo cp /etc/resolv.conf /media/unity/etc/resolv.conf #copier depuis maverick le fichier de config de la connexion internet
sudo chroot /media/unity                                    #je prend la main sur unity à partir de maverick
sudo apt-get update                                          #récupérer la liste des paquets
sudo apt-get upgrade                                        #lancer les mises à jour de natty

Dernière modification par Christophe C (Le 12/03/2011, à 07:54)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#2 Le 12/03/2011, à 21:27

pode

Re : script chroot qui s'interromp

Quand tu fais un chroot, tu quittes ton système initial.
En manuel, pas de problème : les sudo apt-get sont tapés dans le nouveau système.
Dans un script, ça ne marche pas : les sudo apt-get sont dans un script exécuté dans le système initial.

Pour résoudre le problème, la commande chroot accepte optionnellement des commandes

man chroot
[...]
chroot [OPTION] NEWROOT [COMMAND [ARG]...]

par exemple (solution non testée) :

sudo chroot /media/unity sudo apt-get update
sudo chroot /media/unity sudo apt-get upgrade    

Hors ligne

#3 Le 12/03/2011, à 21:33

Compte anonymisé

Re : script chroot qui s'interromp

Salut

Ton chroot ayant fonctionné, tu n'as plus besoins des sudo.

Modifies tes 2 dernières commandes ainsi :
apt-get update                                          #récupérer la liste des paquets
apt-get upgrade                                        #lancer les mises à jour de natty

Sans oublier un
exit pour sortir du chroot.

@+

#4 Le 13/03/2011, à 07:19

Christophe C

Re : script chroot qui s'interromp

@pode : oui, je me doutais qu'il y avait un problème d'emplacement d'exécution. J'avais essayé un cd /media/unity, mais sans succès.

Merci.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#5 Le 13/03/2011, à 07:34

Compte anonymisé

Re : script chroot qui s'interromp

Christophe C a écrit :

@pode : oui, je me doutais qu'il y avait un problème d'emplacement d'exécution. J'avais essayé un cd /media/unity, mais sans succès.

Merci.


A mon avis ce n'est pas un pb d'emplacement, mais comme dit plus haut, en root sudo ne fonctionne pas (ce qui est logique).

@+

#6 Le 13/03/2011, à 08:56

Christophe C

Re : script chroot qui s'interromp

Non, aucune des deux démarche ne fonctionne. le résultat reste le même : ça s'arrête après le chroot.

Voila les scripts testés :

sudo mkdir /media/unity                               #création du répertoire de montage
sudo mount /dev/sda5 /media/unity             #monter la partition
sudo mount --bind /dev /media/unity/dev     #(monter le répertoire dev de unity)
sudo mount -t proc /proc /media/unity/proc #(monter le répertoire proc de unity)
sudo mount -t sysfs /sys /media/unity/sys    #(monter le répertoire sys de unity)
sudo cp /etc/resolv.conf /media/unity/etc/resolv.conf #(copier depuis maverick le fichier de config de la connexion internet)
sudo chroot /media/unity                             #(je prend la main sur unity à partir de maverick)
sudo chroot /media/unity apt-get update     #récupérer la liste des paquets
sudo chroot /media/unity apt-get upgrade   #(lancer les mises à jour de natty)

et en changeant juste les deux dernières lignes :

sudo chroot /media/unity sudo apt-get update #récupérer la liste des paquets
sudo chroot /media/unity sudo apt-get upgrade #(lancer les mises à jour de natty)
apt-get update #récupérer la liste des paquets
sudo apt-get upgrade #(lancer les mises à jour de natty)

Il y a un petit plus avec les versions sudo chroot /media/unity sudo apt-get upgrade ou sudo chroot /media/unity apt-get upgrade : si je tape exit après le blocage, ça relance le script, ce qui est toujours cela de pris. Par contre, si je met un exit dans le script, ça ne marche pas. Ca doit être manuel.

Dernière modification par Christophe C (Le 13/03/2011, à 08:58)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#7 Le 13/03/2011, à 09:02

Christophe C

Re : script chroot qui s'interromp

Oups ! Je pense que je n'avais pas bien compris ce que proposais pode. Si j'enlève la ligne sudo chroot /media/unity, ça marche. ce qui donne alors :

sudo mkdir /media/unity                               #création du répertoire de montage
sudo mount /dev/sda5 /media/unity             #monter la partition
sudo mount --bind /dev /media/unity/dev     #(monter le répertoire dev de unity)
sudo mount -t proc /proc /media/unity/proc #(monter le répertoire proc de unity)
sudo mount -t sysfs /sys /media/unity/sys    #(monter le répertoire sys de unity)
sudo cp /etc/resolv.conf /media/unity/etc/resolv.conf #(copier depuis maverick le fichier de config de la connexion internet)
sudo chroot /media/unity apt-get update     #prend la main en chroot et récupère la liste des paquets
sudo chroot /media/unity apt-get upgrade   #(lancer les mises à jour de natty)

Merci !


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#8 Le 13/03/2011, à 09:18

Christophe C

Re : script chroot qui s'interromp

Bon, je vous met mon script complet (je n'avais pas mis la fin, pour me concentrer sur ce qui ne marchait pas).

A ma grande surprise, un exit après le chroot pose problème. je l'ai supprimé, et ça marche.

#!/bin/bash
# le script permet la prise de contrôle à distance d'un systeme linux placé sur une autre partition, et le met à jour.
#
sudo mkdir /media/unity                         #création du répertoire de montage
sudo mount /dev/sda5 /media/unity             #monter la partition
sudo mount --bind /dev /media/unity/dev         #(monter le répertoire dev de unity), puis
sudo mount -t proc /proc /media/unity/proc     #(monter le répertoire proc de unity), puis 
sudo mount -t sysfs /sys /media/unity/sys         #(monter le répertoire sys de unity), puis 
sudo cp /etc/resolv.conf /media/unity/etc/resolv.conf #(copier depuis maverick le fichier de config de la connexion internet), puis
sudo chroot /media/unity apt-get update         #Je prend la main sur unity à partir de maverick, puis je récupére la liste des paquets
sudo chroot /media/unity apt-get upgrade         #(lancer les mises à jour de unity)
#démonter la partition
sudo umount /media/unity/dev
sudo umount /media/unity/proc
sudo umount /media/unity/sys
sudo umount /media/unity
sudo rmdir /media/unity                         #supprimer répertoire de montage (par précaution, car le démontage doit normalement faire cela)

Quand on a des multiboot (je test en permanence plein d'install linux), c'est assez pratique, on peut lancer plein de mises à jour de façon centralisée.

Dernière modification par Christophe C (Le 13/03/2011, à 09:34)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne