ubuntuusers.de

chroot Vorbereitung – cp /proc/mounts /mnt/etc/mtab

Status: Ungelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

Wohnort: Hunsrück (dunkle Seite)

Wir haben das Kommando sudo cp /proc/mounts /mnt/etc/mtab in verschiedenen Artikeln, u. a.:

Wenn man das ausführt, dann scheitert man daran, dass /mnt/etc/mtab bereits existiert und ein Link auf /proc/self/mounts ist.

admin@debootstraped:~$ sudo mount /dev/vda3 /mnt
admin@debootstraped:~$ sudo mount /dev/vda2 /mnt/boot/efi
admin@debootstraped:~$ for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done 
admin@debootstraped:~$ sudo cp /proc/mounts /mnt/etc/mtab
cp: '/proc/mounts' und '/mnt/etc/mtab' sind dieselbe Datei
admin@debootstraped:~$ sudo chroot /mnt /bin/bash
root@debootstraped:/# cat /etc/mtab 
/dev/vda3 / ext4 rw,relatime 0 0
/dev/vda2 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=1969432k,nr_inodes=492358,mode=755,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=401004k,mode=755,inode64 0 0
root@debootstraped:/# 

Man müsste also vor dessen Ausführung den Link löschen. Nach dem Neustart des Systems, das mittels chroot eingebunden wurde, wird der Link automatisch wieder gesetzt (zumindest unter jammy und noble).

admin@debootstraped:~$ sudo mount /dev/vda3 /mnt
admin@debootstraped:~$ sudo mount /dev/vda2 /mnt/boot/efi
admin@debootstraped:~$ for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done 
admin@debootstraped:~$ sudo rm /mnt/etc/mtab
admin@debootstraped:~$ sudo cp /proc/mounts /mnt/etc/mtab
admin@debootstraped:~$ sudo chroot /mnt /bin/bash
root@debootstraped:/# cat /etc/mtab 
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=1969440k,nr_inodes=492360,mode=755,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=401004k,mode=755,inode64 0 0
/dev/vdb2 / ext4 rw,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 0 0
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=4293 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=401000k,nr_inodes=100250,mode=700,uid=1000,gid=1000,inode64 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
portal /run/user/1000/doc fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
/dev/vda3 /mnt ext4 rw,relatime 0 0
/dev/vda2 /mnt/boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
udev /mnt/dev devtmpfs rw,nosuid,relatime,size=1969440k,nr_inodes=492360,mode=755,inode64 0 0
devpts /mnt/dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
proc /mnt/proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /mnt/sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /mnt/run tmpfs rw,nosuid,nodev,noexec,relatime,size=401004k,mode=755,inode64 0 0
root@debootstraped:/# 
  • Wäre das eine sinnvolle Vorgehensweise?

  • Oder sollte man das Kommando anpassen?

  • Oder das Kommando ganz weglassen?

Für meine Zwecke benötige ich allenfalls eine eingebundene efi-Partition und die ist selbst bei Überspringen des Kommandos korrekt angesprochen. Von daher kann ich das auch nicht einschätzen. Ich frage für die Allgemeinheit, denn irgendeinen Grund wird es ja haben, dass es so im Wiki steht.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 10210

Wohnort: Münster

Jetzt muss man mal innehalten und sich fragen, was man mit dem Skript debootstrap und dem Befehl chroot eigentlich erreichen will.

Nach meinem Verständnis geht es um die Errichtung und Einrichtung eines neuen Root-Dateisystems und die Umschaltung vom alten auf das neue Root-Dateisystem. Dabei soll natürlich im Ergebnis das neue Root-Dateisystem völlig unabhängig vom alten werden.

Ist es unter dieser Zielstellung sinnvoll, mit Symlinks und/oder mit mount --bind zu arbeiten?

Möglicherweise zeitweise schon, aber irgendwann wird man diese Nabelschnüre kappen und mit eigenen Kopien arbeiten müssen.

Antworten |