Tôi muốn kiểm tra pivot_root
lệnh di chuyển hệ thống tệp gốc của quy trình hiện tại vào thư mục put_old
và tạo new_root
hệ thống tệp gốc mới.
Nhưng tôi luôn nhận được lỗi sau:
pivot_root: failed to change root from .' toold-root/': Invalid argument
Tôi sử dụng fedora làm gốc, tôi có Archlinux trong thư mục nhà của tôi
[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
Tôi cũng cố gắng gọi chức năng linux pivot_root("/chroot_test", "/chroot_test/old-root")
; Có lỗi tương tự.
Bất cứ ý tưởng về điều này?
Cập nhật số 1
Tôi cũng thử kiểm tra pivot_root
trong Docker. Tôi gắn arch-root này vào Docker container. Nhưng nhận được lỗi sau: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
Giải pháp
Tôi đã tìm thấy giải pháp:
Chạy docker
với--privileged=true
Vì vậy, chúng ta có thể kiểm tra p Pivot_root trong thùng chứa docker.