Rachengold
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
Ich habe hier ein kleines chroot script:
sudo mount /dev/sda7 /mnt
sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo chroot /mnt /bin/bash
sudo pacman -Syu
Wenn ich die chroot-Umgebung mit exit verlasse und dann das Terminal mit exit beende, crashed Firefox und das terminal lässt sich nicht neustarten.
Was kann ich machen damit Firefox nicht crashed und das mate-terminal startet?
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Wofür konkret soll das Einhängen von /run gut sein? Das wird von Ubuntu anders verwendet als von Arch. Für ein einfaches aktualisieren braucht es bis auf das eingehangene Root Verzeichnis gar nichts von deinen Befehlen, dafür fehlt die Internet-Durchreichung. Und wofür soll sudo im chroot gut sein (außer vielleicht den Fehlermeldung zum host zu werfen)? Und warum hängst du die Verzeichnisse nicht wieder aus, wenn du die chroot-Umgebung verlässt?
|
Rachengold
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
Erstmal danke
tomtomtom
sudo chroot /mnt /bin/bash im Wiki von ubuntuusers gefunden Ich habe das chroot-script so angepasst:
sudo mount /dev/sda7 /mnt
#sudo mount -o bind /dev /mnt/dev
#sudo mount -o bind /sys /mnt/sys
#sudo mount -t proc /proc /mnt/proc
#sudo mount --bind /run /mnt/run
sudo chroot /mnt /bin/bash
sudo pacman -Syu
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Das im Ubuntuusers-Wiki erklärt wird, wie man in ein Ubuntu chrootet, dürfte klar sein (das würde btw. von einen Arch-System aus auch nicht so wie im Wiki erklärt funktionieren, da müsstest du erstmal die Umgebungsvariable neu setzen). Erklärt aber immer noch nicht die restlichen Fragen. 😛
|
fleet_street
Top-Wikiautor
Anmeldungsdatum: 30. August 2016
Beiträge: 1901
|
Wenn du das als Skript ausführst, kannst du es nur bis zum chroot in ein Skript packen. Das, was du in der chroot-Umgebung machen möchtest, gehört da nicht hinein. Warum? Die bash wartet, bis sudo chroot /mnt /bin/bash beendet ist und danach – also nach manuellem Verlassen der chroot-Umgebung – wird sudo pacman -Syu ausgeführt. Das dürfte dein Terminal beschäftigt halten, aber warum firefox involviert ist, kann ich nicht sagen.
|
Rachengold
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
tomtomtom Wofür konkret soll das Einhängen von /run gut sein?
https://wiki.ubuntuusers.de/chroot/Live-CD/ Zusätzliche Schritte
Weiterhin muss /run eingebunden werden: sudo mount --bind /run /mnt/run
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8780
|
Hi, ich würde mich bei dem chroot eher an diese Anleitung aus der Grub-Reparatur halten und zusätzlich noch mittels
sudo mount -o bind /etc/resolv.conf /mnt/etc/resolv.conf
die Internetverbindung durchschleifen. Des weiteren benötigt pacman -Syu kein sudo → du bist doch zu diesem Zeitpunkt bereits als Admin in deinem Arch unterwegs. Was deinen Firefox anbelangt - kann es sein, dass du in beiden Systemen den selben Profilordner, bspw. über eine Datenpartition, benutzt?
|
Rachengold
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
Frieder108
Nein Firefox hat unterschiedliche Profile. Zur Zeit hat sich das mit den Abstürzen/Crash erledigt.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
fleet_street schrieb: Wenn du das als Skript ausführst, kannst du es nur bis zum chroot in ein Skript packen. Das, was du in der chroot-Umgebung machen möchtest, gehört da nicht hinein.
Das ist richtig, aber da gehört so einiges nicht rein, z.B. kein sudo. 😉
Warum? Die bash wartet, bis sudo chroot /mnt /bin/bash beendet ist und danach – also nach manuellem Verlassen der chroot-Umgebung – wird sudo pacman -Syu ausgeführt.
Alternative wäre chroot /mnt pacman -Syu - aber wie geschrieben, da stimmen so einige Sachen nicht.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Rachengold schrieb: tomtomtom Wofür konkret soll das Einhängen von /run gut sein?
https://wiki.ubuntuusers.de/chroot/Live-CD/
Nochmal: Im ubuntuusers-Wiki ist erklärt, wie du von einem Ubuntu per chroot in ein anderes Ubuntu gehst. Auch nochmal: /run wird unter Arch anders verwendet als unter Ubuntu, so ist unter debianoiden Systemen z.B. udisk2 gepatched und greift auf andere Pfade beim Einbinden zu als unter Arch.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Frieder108 schrieb: Des weiteren benötigt pacman -Syu kein sudo → du bist doch zu diesem Zeitpunkt bereits als Admin in deinem Arch unterwegs.
Hatten wir oben schon - keine Antwort des TEs, was das da soll.
Was deinen Firefox anbelangt - kann es sein, dass du in beiden Systemen den selben Profilordner, bspw. über eine Datenpartition, benutzt?
Selbst das wäre egal, denn hier wird ja gar nicht auf den Firefox des anderes Systems zugegriffen.
|
Rachengold
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
tomtomtom
da ich das chrootscript eventuell auf einem anderen PC mit user der in sudoers eingetragen ist nutzen will nutze ich sudo ... zum chrooten
Das alles erklärt aber nicht den Bug in chroot. Ich hoffe es passt noch hier und wandert nicht ab: Gibt es also einen chrootbug der passt?
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Rachengold schrieb: da ich das chrootscript eventuell auf einem anderen PC mit user der in sudoers eingetragen ist nutzen will nutze ich sudo ... zum chrooten
In das Skript gehört da trotzdem kein sudo, das ist völlig irrelevant da DRIN.
Das alles erklärt aber nicht den Bug in chroot.
Wo auch immer da einer sein soll, den du nicht mal benennen kannst. Wäre ja schon schön, wenn du das, was du da tust, erklären könntest...
|
Rachengold
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2019
Beiträge: 292
|
tomtomtom
das sudo ... habe ich mittlerweile weggelassen:
sudo mount /dev/sda7 /mnt
#sudo mount -o bind /dev /mnt/dev
#sudo mount -o bind /sys /mnt/sys
#sudo mount -t proc /proc /mnt/proc
#sudo mount --bind /run /mnt/run
sudo chroot /mnt /bin/bash
pacman -Syu
Ich will Archlinux aktualisieren ohne neu booten zu müssen.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Rachengold schrieb: tomtomtom
das sudo ... habe ich mittlerweile weggelassen:
Nochmal: Du willst ein Skript schreiben. IN ein Skript gehört kein sudo, erst recht nicht, wenn es sowieso komplett als root ausgeführt werden muss. Eine Shebang wäre auch noch eine Idee, vor allem wenn du das, wie angegeben, auch auf anderen PCs verwenden willst. Das die letzten zwei Zweilen so nicht funktionieren können wurde dir auch bereits erklärt... Ich will Archlinux aktualisieren ohne neu booten zu müssen.
Jaaa…. bash -c 'echo -e "#!/bin/bash\nmount /dev/sda7 /mnt\nmount -o bind /dev /mnt/dev\nmount -o bind /sys /mnt/sys\nmount -t proc /proc /mnt/proc\ncp /etc/resolv.conf /mnt/etc/\nchroot /mnt pacman -Syu\numount /mnt/{dev,proc,sys} /mnt" > arch-update.sh' && chmod +x arch-update.sh sudo ./arch-update.sh
|