Ich möchte den pivot_root
Befehl testen, der das Root-Dateisystem des aktuellen Prozesses in das Verzeichnis verschiebt put_old
und new_root
das neue Root-Dateisystem erstellt.
Aber ich bekomme immer folgenden Fehler:
pivot_root: failed to change root from .' toold-root/': Invalid argument
Ich benutze Fedora als Basis-Root, ich habe einen Archlinux in meinem Home-Ordner
[root@localhost arch-root]# ls
bin boot dev etc home lib lib64 mnt old-root
opt proc root run sbin srv sys tmp usr var
[root@localhost arch-root]# pivot_root . old-root/
pivot_root: failed to change root from .' toold-root/': Invalid argument
Ich versuche auch, die Linux-Funktion aufzurufen pivot_root("/chroot_test", "/chroot_test/old-root")
. Habe den gleichen Fehler.
Irgendwelche Ideen dazu?
Update Nr. 1
Ich versuche auch pivot_root
in Docker zu testen . Ich mounte diesen Arch-Root in den Docker-Container. Aber erhalte den folgenden Fehler:Operation not permitted
root@00d871ce892b:/# cd test_root/
root@00d871ce892b:/test_root# ls
bin boot dev etc home lib lib64 mnt old-root opt proc root run sbin srv sys test_pivot_root test_pivot_root.c tmp usr var
root@00d871ce892b:/test_root# pivot_root . tmp/
pivot_root: Operation not permitted
Lösung
Ich habe die Lösung gefunden:
Laufen Sie docker
mit--privileged=true
So können wir pivot_root im Docker-Container testen.