PIVOT_ROOT(8)

الاسم
pivot_root - غيّر نظام ملفات الجذر

موجز

pivot_root new_root put_old

الوصف

ينقل pivot_root نظام ملفات الجذر للعملية الحالية إلى الدليل put_old ويجعل new_root نظام ملفات الجذر الجديد. ولأن pivot_root(8) يستدعي ببساطة pivot_root(2)، يُرجى الرجوع لصفحة الدليل الخاصة بالأخير لمزيد من التفاصيل.

لاحظ أنه، اعتمادًا على تنفيذ pivot_root، قد يتغير جذر ودليل العمل الحالي لـ المستدعِي أو قد لا يتغيران. فيما يلي تسلسل لاستدعاء pivot_root يعمل في كلتا الحالتين، بافتراض أن pivot_root و chroot موجودان في مسار الـ PATH الحالي:

    cd new_root
    pivot_root . put_old
    exec chroot . command

لاحظ أن chroot يجب أن يكون متاحًا تحت الجذر القديم والجذر الجديد، لأن pivot_root قد يغير أو لا يغير دليل الجذر الخاص بـ الصدفة بشكل ضمني.

لاحظ أن exec chroot يغير الملف التنفيذي الجاري تشغيله، وهو أمر ضروري إذا كان من المفترض فصل دليل الجذر القديم لاحقًا. لاحظ أيضًا أن المدخلات والمخرجات والأخطاء القياسية قد تظل تشير إلى جهاز في نظام ملفات الجذر القديم، مما يجعله مشغولاً. يمكن تغييرها بسهولة عند استدعاء chroot (انظر أدناه؛ لاحظ عدم وجود شرطات مائلة بادئة ليعمل الأمر سواء غيّر pivot_root جذر الصدفة أم لا).

الخيارات

-h، --help
    اعرض نص المساعدة ثم اخرج.

-V، --version
    اعرض الإصدار واخرج.

مثال

غيّر نظام ملفات الجذر إلى /dev/hda1 من صدفة تفاعلية:

    mount /dev/hda1 /new-root
    cd /new-root
    pivot_root . old-root
    exec chroot . sh <dev/console >dev/console 2>&1
    umount /old-root

صِل نظام ملفات الجذر الجديد عبر NFS من 10.0.0.1:/my_root وشغّل init:

    ifconfig lo 127.0.0.1 up   # for portmap
    # اضبط Ethernet أو ما شابه
    portmap   # لـ lockd (يُبدأ ضمناً بواسطة الوصل)
    mount -o ro 10.0.0.1:/my_root /mnt
    killall portmap   # portmap يبقي الجذر القديم مشغولاً
    cd /mnt
    pivot_root . old_root
    exec chroot . sh -c 'umount /old_root; exec /sbin/init' \
      <dev/console >dev/console 2>&1

انظر أيضاً

chroot(1)، pivot_root(2)، mount(8)، switch_root(8)، umount(8)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر pivot_root جزء من حزمة util-linux التي يمكن تنزيلها من