ほとんどの複雑な部分が動作する複雑なシーンがあります。
- SDカードには、LUKS / BTRFSファイルシステムにインストールされているFedora 23 Raspberry Piが含まれています。
- Fedora 23 x86-64 VM は、RPi の Fedora SD カードの取り付けを管理するために使用されます。
- SDカードをVMにマウントし、QEMU ARMの静的ビルドを使用してchrootできますが、何らかの理由でこれを取得するのは本当に難しいです。
しかし、私のchrootはネットワークにアクセスできません。 Ubuntu / Debianで同様の操作を実行すると、常にネットワークにアクセスできました。 SELinuxを無効にし:(
て操作を実行するために多くのバインドマウントを実行しましたが、ネットワークにアクセスできませんでした。私はそれをコピーし/etc/sysconfig/network-scripts/ifcfg-enp0s3
、私が考えることができる他のすべての方法を試しました。
私のchroot設定は次のとおりです。
cryptsetup luksOpen /dev/sdXN picrypt
mount -t btrfs /dev/mapper/picrypt /mnt
mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /run /mnt/run
chroot /mnt/
ホストの観点からは、より多くのファイルシステムがマウントされていることがわかりましたが、自動的に継承され、何らかの理由でchrootに表示されないとします。私の所有者が知っている乗り物は次のとおりです。
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=2013260k,nr_inodes=503315,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/fedora-root on / type ext4 (rw,relatime,seclabel,data=ordered)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
tmpfs on /tmp type tmpfs (rw,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,data=ordered)
/dev/mapper/fedora-home on /home type ext4 (rw,relatime,seclabel,data=ordered)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/42 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=404748k,mode=700,uid=42,gid=42)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=404748k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sr0 on /run/media/naftuli/VBOXADDITIONS_5.0.20_106931 type iso9660 (ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)
/dev/sdXN on /run/media/naftuli/PI-BOOT type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
tmpfs on /home/naftuli/tmp type tmpfs (rw,relatime,seclabel,mode=700,uid=1000,gid=1000)
私のchrootは知っています。たくさんこれより少ない:
/dev/mapper/picrypt on / type btrfs (rw,relatime,seclabel,compress=lzo,space_cache,subvolid=5,subvol=/)
none on /proc type proc (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=2013260k,nr_inodes=503315,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
sysfs on /sys type sysfs (ro,relatime,seclabel)
ネットワークサポートで動作するchrootを取得するには、実際にインストールする必要があります。みんな/sys
私のchrootにどのサブファイルシステムを置くべきですか?
答え1
chrootセッションのネットワーキングを設定するには、DNS設定をchroot環境にコピーする必要があります。
cp /etc/resolv.conf /mnt/etc/resolv.conf
または
ln -s /etc/resolv.conf /mnt/etc/resolv.conf
答え2
プロキシを使用している場合は、プロキシ設定をchroot環境にコピーする必要があります。
sudo cp /etc/apt/apt.conf /path/to/chroot/etc/apt/apt.conf
/etc/apt/apt.conf は次のようになります。
Acquire::http::proxy "http://192.168.120.100:80/";
Acquire::https::proxy "https://192.168.120.100:80/";
Acquire::ftp::proxy "ftp://192.168.120.100:80/";
答え3
以下はDebian Linuxの場合です。 chroot セッションがない場合は、次のようにします。
- ls -lah /etc/resolv.conf ソフトリンクなので、実際のファイルは /tmp/resolv.conf にあります。
- その後、cp -rf /tmp/resolv.conf /mnt/etc/resolv.conf. (ディスクイメージを/ mntにマウントしたと仮定)これで、インターネットはchrootセッションで動作します。)
答え4
Ubuntu 18.04.1で今日作業するには、次のものを使用する必要がありました。
sudo rsync -avh --devices --specials /run/systemd/resolve /target/run/systemd
chrootで有効なネットワーク接続を持つため。
更新プロセスが進むにつれて、解析ディレクトリが変更される可能性があるため、解析ディレクトリがchrootソースとターゲットで同じ場所にあることを確認する必要があります。私の場合、数週間の更新がありません。
ソース: VERSION="18.04.2 LTS(バイオニックビーバー)"
対象: VERSION="18.04.1 LTS(バイオニックビーバー)"