บทช่วยสอน: ระบบไฟล์วนซ้ำ

ระบบไฟล์แบบวนซ้ำคืออะไร?

Gnu / Linux (และระบบยูนิกซ์ส่วนใหญ่) มีกลไกที่อนุญาตให้ติดตั้งไฟล์ (ฟอร์แมตก่อนหน้านี้) ราวกับว่าเป็นฮาร์ดดิสก์โดยปกติจะไม่มีตารางพาร์ติชัน แผนภาพเส็งเคร็ง (สร้างโดยฉัน) อธิบายวิธีการทำงานของกลไกนี้

ผังงานที่อธิบาย (คร่าวๆ) ว่าไฟล์ลูปทำงานอย่างไรใน GNU / linux

** ไม่ได้แสดงถึงการทำงานจริงทั้งหมด

การใช้ไฟล์วนซ้ำ

1- ไฟล์ Mount.iso

ไฟล์. iso ซึ่งเป็นมาตรฐานที่ยอดเยี่ยมสำหรับซีดีและดีวีดีไม่มีอะไรมากไปกว่าไฟล์ลูปที่มีระบบไฟล์ได้ ISO.9960 (พบมากในซีดี) หรือ UDF (พบมากที่สุดในดีวีดี) ในการติดตั้งเราจะใช้คำสั่ง mount

mkdir iso # สร้างไดเร็กทอรี chmod -R 666 iso # ให้สิทธิ์ผู้ใช้ทุกคนในการอ่านสิทธิ์การเมานต์ image.iso iso / # เมานต์อิมเมจ iso (ต้องใช้ root)

ข้อ จำกัด ที่คุณมีคือด้วยเหตุผลที่ชัดเจนระบบไฟล์ทั้งสองเป็นแบบอ่านอย่างเดียว

2- สควอชแบบอ่านอย่างเดียว

สมมติว่าเรามีโฟลเดอร์ของรูปภาพและ / หรือวิดีโอที่จัดระเบียบตามปีที่ถ่าย เห็นได้ชัดว่าไม่น่าเป็นไปได้มากที่เราต้องการแก้ไขข้อมูลที่อยู่ในโฟลเดอร์จากปีก่อน ๆ นั่นคือสิ่งที่ Squashfs เข้ามา Squashfs เป็นระบบไฟล์บีบอัดแบบอ่านอย่างเดียวดังนั้นเมื่อสร้างภาพแล้ว เราจะไม่สามารถแก้ไขข้อมูลภายใน

ดังนั้นไม่เพียง เราจะประหยัดพื้นที่จำนวนมหาศาลแต่ยังให้ผลที่น่าสงสัยอีกด้วย การอ่านไฟล์จะเร็วขึ้นโดยต้องอ่านไฟล์ที่มีขนาดเล็กลงเนื่องจากในปัจจุบันการขยายขนาดไฟล์เป็นความพยายามขั้นต่ำสำหรับ CPU ส่วนใหญ่

ออกจากคำนำในการสร้างอิมเมจ squashfs เราต้องใช้คำสั่ง mksquashfs ซึ่งไวยากรณ์นั้นง่าย:

mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]

และนี่คือตัวอย่างที่ใช้ได้จริง:

mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M

อัลกอริทึมที่เลือกคือ xz เนื่องจากเป็นอัลกอริทึมที่ อัตราส่วนการบีบอัดที่สูงขึ้น ข้อเสนอ (ของที่มี) ในขณะที่ขนาดบล็อกที่เลือกคือสูงสุด อะไร ช่วยให้ได้ผลการบีบอัดที่ดีขึ้น (โดยค่าเริ่มต้นคือ 64KiB)

ตอนนี้เราควรจะสามารถติดตั้งได้ด้วยวิธีง่ายๆ

mount fotos_2009-2013.sqsfs fotos_2009-2013/

หลังจากตรวจสอบว่าทุกอย่างถูกต้องแล้วเราสามารถลบไฟล์ต้นฉบับหรือทิ้งไฟล์ไว้เป็นข้อมูลสำรอง

ในกรณีที่เราต้องการติดตั้งเมื่อ OS เริ่มทำงานเราต้องเพิ่มบรรทัดของลักษณะนี้ใน / etc / fstab

/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0

การป้อนข้อมูลที่ไม่ถูกต้องในไฟล์ / etc / fstab จะทำให้ระบบหยุดการบูต เพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้องเราสามารถใช้คำสั่ง เมานต์ -a

จะเกิดอะไรขึ้นเมื่อเราต้องการเพิ่มหรือลบไฟล์หรือเพียงแค่แยกภาพรวมเหล่านี้ เรามีคำสั่งคำสั่ง Unsquashfs.

unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]

โดยค่าเริ่มต้นจะใช้ "squashfs-root" เป็นไดเร็กทอรีการแยก สามารถเปลี่ยนแปลงได้ด้วยตัวเลือก -d

นอกเหนือจากตัวอย่างนี้ยังใช้ squashfs ใน:

  • livecd's
  • ระบบฝังตัว
  • เซิร์ฟเวอร์
  • โดยทั่วไประบบอ่านอย่างเดียว

3- «การแลกเปลี่ยนฉุกเฉิน»

ลองนึกดูว่าไม่ว่าด้วยเหตุผลใด (การจำศีลการรวบรวมจำนวนมาก ... ) คุณต้องมีการแลกเปลี่ยนเพิ่มเติม นี่คือที่ที่ไฟล์ลูปเข้ามาเล่นขั้นตอนแรกคือการสร้างไฟล์ว่างที่มีขนาดที่แน่นอนโดยมีขนาดบล็อกที่แน่นอนเราทำสิ่งนี้ด้วยคำสั่ง dd:

dd if=/dev/zero of=loop bs=1M count=512

dd ในมือที่ไม่ถูกต้องแย่กว่าลิงที่ถือปืนลูกซอง คิดก่อนกด Enter

ในกรณีนี้บล็อกคือหนึ่ง MiB และขนาดไฟล์คือ 512MiB ไม่จำเป็นต้องเป็นแบบนี้

เราสร้างและเปิดใช้งานการแลกเปลี่ยนด้วยคำสั่งนี้

mkswap loop && swapon loop

โปรดทราบว่าประสิทธิภาพของไฟล์ลูปนั้นค่อนข้างต่ำกว่าไฟล์จริงเสมอ

4- ทำในสิ่งที่คุณต้องการ

นี่เป็นเพียงตัวอย่างที่มีลักษณะเฉพาะส่วนใหญ่อย่าลังเลที่จะทดลองกับ chroots ระบบเข้ารหัสลูปซ้อน ... ความเป็นไปได้ของคุณนั้นไร้ขีด จำกัด แต่ระวังคำสั่งที่คุณเรียกใช้ คิดให้ดีก่อนกด Enter.

ลิงค์ที่น่าสนใจ


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Illukki dijo

    เจ๊โพสต์ดี !! ฉันมีข้อมูลสำรองขนาดมหึมาอยู่ที่นั่นและไม่เคยเกิดขึ้นกับฉันเพื่อบีบอัดข้อมูลเหล่านี้ ฉันจะใช้สิ่งนี้และโดยวิธีการเข้ารหัสภายนอกของฉันเพื่อกรอกข้อมูลจากนั้นฉันก็จำได้ว่าฉันกำลังจะเข้ารหัส🙁

  2.   ซีก84 dijo

    น่าสนใจที่จะลองสิ่งที่ squashfs

  3.   มานูเอลอาร์ dijo

    บทช่วยสอนที่ดีฉันได้อ่านวิธีสร้างไฟล์ img ด้วย dd และเมานต์แล้ว แต่ไม่ทราบการใช้ Squashfs และการบีบอัด แม้ว่าจะไม่อนุญาตให้แก้ไขเนื้อหา แต่การใช้งานจะมีประโยชน์ในสถานการณ์เช่นผู้ที่คุณแสดงความคิดเห็น ขอบคุณสำหรับการแบ่งปันทักทาย

  4.   สาธิต dijo

    ดีมากที่รู้ขอบคุณสำหรับเคล็ดลับ

  5.   Joaquin dijo

    คุณเรียนรู้สิ่งใหม่ ๆ อยู่เสมอ ยอดเยี่ยม!

  6.   ไม่ใช่จากบรู๊คลิน dijo

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

  7.   โฮทูกิ dijo

    น่าประทับใจเพื่อลองดูว่ามีอะไรเกิดขึ้นเคล็ดลับที่ดีมาก

  8.   โรเบิร์ต dijo

    ตูยอดเยี่ยม !!! =) …เคล็ดลับดีมาก !!!

  9.   ฉาวโฉ่ dijo

    สวัสดีโรเดอร์ บทความที่น่าสนใจมากขอบคุณสำหรับการแบ่งปัน

  10.   เอสเซา dijo

    ใน Gentoo คุณต้องเปิดใช้งานการสนับสนุน SquashFS ในเคอร์เนลก่อนที่จะรวบรวมฉันจะทดสอบเพื่อดูว่ามันทำงานอย่างไร ขอบคุณ.

    1.    เอสเซา dijo

      ทดสอบกับ Gentoo รวบรวมเคอร์เนลสำหรับมันและยอดเยี่ยม
      เพียงแก้ไขการพิมพ์ผิดเล็ก ๆ น้อย ๆ โรเดอร์

      ในตัวอย่าง:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -bs 1M

      สำรอง s ใน "-bs" (ซึ่งกำหนดขนาดบล็อก) ควรมีลักษณะดังนี้:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -b 1M