จะลบไดเรกทอรีที่มี subvolumes หลาย btrfs ได้อย่างไร


9

ระบบไฟล์รูทของฉันอยู่ในพาร์ติชัน btrfs /chrootไดเรกทอรีของฉันมีไดรฟ์ย่อย btrfs อยู่จำนวนหนึ่งซึ่งทำให้ฉันไม่สามารถลบออกrm -rf /chrootได้ ในความพยายามที่จะลบไดรฟ์ย่อยทั้งหมดฉันพยายามแสดงรายการเฉพาะไดรฟ์ย่อยด้านล่าง/chrootโดยใช้-o, ซึ่งหน้าคนบอกว่า "พิมพ์เฉพาะไดรฟ์ย่อยด้านล่างเส้นทางที่ระบุ"

# btrfs subvolume list -o /chroot
ID 593 gen 6616 top level 5 path chroot/base-devel/root
ID 594 gen 6618 top level 5 path chroot/multilib-devel/root
ID 595 gen 6620 top level 5 path chroot/base/root
ID 597 gen 6624 top level 5 path chroot/twm/root
ID 599 gen 6628 top level 5 path chroot/lxde/root
ID 601 gen 6655 top level 5 path chroot/wheezy/root
ID 602 gen 6684 top level 5 path chroot/sid/root
ID 603 gen 6862 top level 5 path var/lib/machines

ด้วยความประหลาดใจของฉันสิ่งนี้จะส่งกลับซับวูฟเฟอร์ใน / var / lib / macines (ซึ่งฉันไม่ต้องการลบ) คำถามนี้ทำให้ฉันมี 3 คำถาม:

  1. อะไร-oตัวเลือกทำอย่างไร

  2. ฉันจะแสดงรายการไดรฟ์ข้อมูลย่อยด้านล่างเท่านั้น /chroot

  3. ฉันจะลบไดเรคทอรี่ที่มีจำนวนซับโวลูมไม่ทราบได้อย่างไร

ฉันกำลังเรียกใช้ Arch Linux ด้วยเคอร์เนล 4.2.5 และ btrfs-progs v4.3.1


คุณใช้เคอร์เนลรุ่นใดและคุณติดตั้งเครื่องมือ btrfs รุ่นใด นี่อาจเป็นข้อผิดพลาดในเครื่องมือ
David King

@DavidKing ดูการแก้ไข ฉันใช้เคอร์เนลและ btrfs-progs ล่าสุด
StrongBad

ฉันจะยื่นรายงานข้อผิดพลาดด้วย btrfs ในระหว่างนี้คุณสามารถไพพ์รายการไดเรกทอรีผ่านได้grep chrootไหม?
David King

คำตอบ:


2

คำสั่งต่อไปนี้จะลบไดรฟ์ย่อยทั้งหมดใน/chrootไดเรกทอรี:

ls /chroot | xargs btrfs subvolume delete

ในกรณีที่มีไฟล์หรือไดเรกทอรีที่ไม่มี btrfs subvolumes อยู่ข้อผิดพลาดจะถูกพิมพ์ แต่จะไม่ถูกลบออก

(ทดสอบบนเดเบียนด้วยเคอร์เนล 4.6.0 และ btrfs-progs v3.17)


0

ที่จะตอบคำถามที่สามของคุณคุณสามารถใช้btrfs-RM

ฉันใช้มันในการติดตั้งนักเทียบท่าที่ทำงานบน btrfs เพื่อล้างข้อมูลนักเทียบท่าทั้งหมดเป็นประจำ ใช้ในความเสี่ยงของคุณเอง แต่ใช้ได้กับฉัน (TM)

sudo ./btrfs-rm  /var/lib/docker/*   # create clean empty dir for docker

ดาวน์โหลด: https://github.com/DirkTheDaring/btrfs-rm

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.