เมานต์ไฟล์ zip เป็นระบบไฟล์แบบอ่านอย่างเดียว


24

ฉันกำลังมองหาวิธีในการติดตั้งไฟล์เก็บถาวร ZIP เป็นระบบไฟล์เพื่อให้ฉันสามารถเข้าถึงไฟล์ภายในไฟล์เก็บถาวรได้อย่างโปร่งใส ฉันต้องการสิทธิ์เข้าถึงเพื่ออ่านเท่านั้น - ZIP จะไม่ถูกแก้ไข ปริมาณการใช้ RAM มีความสำคัญเนื่องจากเป็นระบบฝังตัว (จำกัด ทรัพยากร) ตัวเลือกที่มีอยู่คืออะไร?


คุณลองmount -o loopตัวเลือกแล้วหรือยัง
Sree

ใช่คำถามคือระบบไฟล์ที่จะใช้
Grodriguez

หากคุณกำลังมองหาระบบไฟล์แบบอ่านอย่างเดียวที่บีบอัดให้พิจารณาใช้ squashfs
WGH

ฉันไม่ได้มองหา "ระบบไฟล์แบบอ่านอย่างเดียวที่ถูกบีบอัด" ในลักษณะทั่วไป ฉันกำลังมองหาวิธีการเมานท์ไฟล์ซิปเป็นระบบไฟล์แบบอ่านอย่างเดียวโดยเฉพาะ
Grodriguez

ดูSU: 367540สำหรับคำถามที่คล้ายกันใน WinNT
n611x007

คำตอบ:


26

fuse-zip เป็นตัวเลือกและอ้างว่าเร็วกว่าคู่แข่ง

# fuse-zip -r archivetest.zip /mnt

archivemount เป็นอีก:

# archivemount -o readonly archivetest.zip  /mnt

ทั้งคู่อาจต้องเปิดการเก็บถาวรทั้งหมดดังนั้นจะไม่รวดเร็วอย่างยิ่ง คุณได้พิจารณาการแตก ZIP ไปยัง HDD หรือ USB-stick ล่วงหน้าแล้วและเพียงแค่ติดตั้งแบบอ่านอย่างเดียว?


1
ความเร็วไม่ใช่ปัญหา แต่การใช้ RAM นั้น USB หรือ HDD ไม่ใช่ทางเลือก นี่เป็นระบบฝังตัวที่ไม่มีพอร์ต HDD หรือ USB
Grodriguez

ฉันคิดว่าบรรทัดล่างคือคุณจะต้องทดสอบในสถานการณ์เฉพาะของคุณและดูว่ามีวิธีไหนที่ดีที่สุดสำหรับการใช้หน่วยความจำ ฉันคิดว่ามันขึ้นอยู่กับว่าไฟล์เก็บถาวรของคุณมีขนาดใหญ่เพียงใด หากคุณมีการควบคุมวิธีการสร้างไฟล์ ZIP คุณสามารถพิจารณารูปแบบที่แตกต่างกันเช่นอิมเมจดิสก์ดิบซึ่งสามารถติดตั้งวนซ้ำ - ซึ่งอาจบันทึก RAM
garethTheRed

ใช่ฉันจะต้องทดสอบ แต่ก่อนหน้านั้นฉันอยากรู้ว่าคนอื่นมีประสบการณ์ใดบ้างที่พวกเขาสามารถแบ่งปันได้ :) (BTW ฉันไม่สามารถควบคุมไฟล์ ZIP ได้)
Grodriguez

2
@Grodriguez ด้วยไฟล์ภายใน 1GB + fuse-zipการใช้งานหน่วยความจำของคือ 1GB + ในทำนองเดียวกันarchivemountการใช้ mem ของยังอยู่ในระดับต่ำ
n611x007

7

คุณสามารถใช้ fuse-zip เพื่อเมานต์ซิปเป็นแบบอ่านอย่างเดียว

1 - ติดตั้ง fuse-zip บนระบบของคุณ

UBUNTU

sudo apt-get install fuse-zip

CentOS / RedHat / Fedora

yum install fuse-zip

2 - เรียกใช้คำสั่งด้านล่างเพื่อติดซิปเป็นแบบอ่านอย่างเดียว

fuse-zip -o ro /path/abcd.zip /path/to/mount/directory

3 - ใช้คำสั่งด้านล่างเพื่อถอนการติดตั้งไดเรกทอรี

fusermount -u /path/to/mount/directory

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


ไม่มีการกล่าวถึงการใช้หน่วยความจำที่นั่น
Grodriguez

Google Code ได้ปิดลิงก์ด้านบนถูกย้ายไปที่bitbucket.org/agalanin/fuse-zip/wiki/PerformancePage
silpol
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.