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 28/07/2011, à 22:30

jmlaguiness

[résolu]chroot et script .sh

Bonjour smile

J'essaie de faire un live cd custom, et pour celà j'ai besoin de chrooter sur un dossier pour pouvoir installer les différents paquets et configurer correctement le système.

Aucun soucis juste là, mais quand je passe au script .sh, en lui mettant exactement les mêmes commandes, tout semble se dérouler normalement, j'ai les bon retours à l'écran.

Mais au bout d'un moment j'ai l'impression que le shell "zappe" le chroot, sans être arrivé au exit.. Et il se met donc joyeusement à foutre un merdier pas possible avec les paquets de mons installation, ce qui aboutit à plantage monstre avec corruption de la partition système (pas grave j'ai une image mais bon...)

Ci dessous le bout de code en question (n'essayez pas en l'état surtout, les virus Linux n'existent pas encore mais ces quelques lignes s'en rapprochent bien...

mount --bind /dev FileSystem/dev
# CHROOT
cd Filesystem
chroot .
#MOUNT
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
export HOME=/root
export LC_ALL=C
#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678  #Substitute "12345678" with the PPA's OpenPGP ID.
apt-get update
apt-get install --yes dbus
apt-get install -y ubuntu-standard
apt-get install -y casper
apt-get install -y lupin-casper
[...]
 
#UNMOUNT
umount -lf /proc
umount -lf /proc
umount -lf /sys
umount -lf /dev/pts
#EXIT CHROOT
exit
umount FileSystem/dev

Merci d'avance pour votre aide.

PS : désolé si je ne suis pas dans la bonne section, mais c'est celle qui m'a semblé la plus proche...

Dernière modification par jmlaguiness (Le 30/07/2011, à 07:04)

Hors ligne

#2 Le 28/07/2011, à 23:14

sputnick

Re : [résolu]chroot et script .sh

Ca va pas ton code.

Voici qui devrais aller mieux (pas testé)

#MOUNT
mount --bind /dev FileSystem/dev
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts

# CHROOT
chroot FileSystem/ <<EOF
export HOME=/root
export LC_ALL=C
#sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678  #Substitute "12345678" with the PPA's OpenPGP ID.
apt-get update
apt-get install --yes dbus
apt-get install -y ubuntu-standard
apt-get install -y casper
apt-get install -y lupin-casper
[...]
EOF
 
#UNMOUNT
umount FileSystem/proc
umount FileSystem/sys
umount FileSystem/dev/pts
umount FileSystem/dev

1) on monte proc sys dev pts en dehors du chroot
2) si tu met des commandes a la suite de chroot, la nouvelle racine de systeme ne connaît ni ton script ni ton envirommenemt (erreur principale). En effet, il faut passer en argument de chroot une commande (ou un script) ou bien comem je le fait, utiliser STDIN (entrée standard)
3) mount -lf est à éviter en général. si ca demonte pas c'est pas la cata non plus, mais ya pas de raison

Dernière modification par sputnick (Le 29/07/2011, à 04:07)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 29/07/2011, à 01:36

jmlaguiness

Re : [résolu]chroot et script .sh

Merci pour ta réponse rapide et complète smile.

J'essaie ça dans un moment, là je suis sur un live avec partclone, j'ai 3 partitions à restaurer (note à bénêt : ne pas faire de partclone depuis un OS aux paquets complètement corrompus, ça ne boot plus après...)

EDIT : ça y'est je vais voir si ça marche... Par contre, les commandes que j'ai utilisées sont celles d'un tuto officiel (Anglais), linké ici : Français

Il faudrait peut-être le signaler sur ces pages si vraiment les mount ne sont pas corrects non ?

EDIT2 : ça marche nikel, à part les 3 mount qui ne se démontent pas... rien de bien méchant. Merci beaucoup.

Dernière modification par jmlaguiness (Le 29/07/2011, à 03:10)

Hors ligne

#4 Le 29/07/2011, à 04:09

sputnick

Re : [résolu]chroot et script .sh

Oui, désolé je viens de corriger les paths des umount à la fin qui étaient incorrects.

U're welKome


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne