วิธีเพิ่มอุปกรณ์เพิ่มเติม / dev / loop * ใน Fedora 19


11

จะเพิ่มอุปกรณ์เพิ่มเติม / dev / loop * ใน Fedora 19 ได้อย่างไร ฉันทำ:

# uname -r
3.11.2-201.fc19.x86_64
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

ไม่มีอะไรเปลี่ยนแปลง


ห่วงไม่ได้เป็นโมดูลใน Fedora 19 รวบรวมใน.
Sirex

1
mknodคุณอาจต้องการใช้ แต่ทำไมคุณต้องการสร้างไฟล์ลูปเพิ่มเติมโดยไม่ต้องเชื่อมต่อกับอะไร
strugee

คำตอบ:


9

คุณต้องสร้างโหนดอุปกรณ์/devด้วย mknod โหนดอุปกรณ์devมีประเภท (บล็อก, ตัวอักษรและอื่น ๆ ), หมายเลขหลักและหมายเลขรอง คุณสามารถค้นหาประเภทและหมายเลขที่สำคัญได้โดยทำls -l /dev/loop0ดังนี้

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

ซึ่งหมายความว่าโหนดอุปกรณ์ลูปควรมีประเภทบล็อกและจำนวนหลัก 7 จำนวนรองเพิ่มขึ้นหนึ่งสำหรับแต่ละโหนดอุปกรณ์เริ่มต้นจาก 0 ดังนั้น loop0 เป็นเพียง 0 และ loop7 คือ 7

เพื่อสร้าง loop8 mknod -m 0660 /dev/loop8 b 7 8คุณทำงานเป็นรากคำสั่ง สิ่งนี้จะสร้างโหนดอุปกรณ์ที่/dev/loop8มีสิทธิ์ที่ระบุไว้พร้อม-mสวิตช์ (ไม่จำเป็นเนื่องจากคุณอาจใช้ระบบเดสก์ท็อป แต่เป็นความคิดที่ดีที่จะไม่ให้ทุกคนอ่านและเขียนโหนดอุปกรณ์ของคุณ)


1
mknod -m 0660 /dev/loop8 b 7 8คุณลืมประเภทโหนดหลังชื่อเพื่อให้คำสั่งที่ควรจะเป็น
Vasilis Lourdas

11

เมื่อคุณเรียกใช้เป็นรูทlosetup -fจะสร้างอุปกรณ์ลูปโดยอัตโนมัติหากจำเป็นหากไม่มีอุปกรณ์ฟรี

ดังนั้นแทนที่จะทำมันเองด้วยวิธีที่ง่ายที่สุดในการสร้างอุปกรณ์ห่วงใหม่อยู่กับmknod sudo losetup -fวิธีการดังกล่าวจะให้อุปกรณ์ลูปที่มีอยู่ฟรีหากมีอยู่หรือสร้างขึ้นใหม่โดยอัตโนมัติหากจำเป็น


ข้อความแสดงข้อผิดพลาดที่คุณได้รับเมื่อทำงานlosetup -fในฐานะผู้ใช้ที่ไม่ใช่รูทในขณะนี้ยังไม่มีประโยชน์มากนักดังนั้นฉันจึงยื่นbugzilla.redhat.com/show_bug.cgi?id=1215370เพื่อแนะนำการปรับปรุงดังกล่าว
ncoghlan

4

เฮ้ไม่สมบูรณ์ :) เพียงใช้สคริปต์นี้เพื่อเพิ่ม / dev / ลูปใหม่ จำสำหรับการเปลี่ยนตัวเลขสคริปต์ทำให้วนรอบที่ 63 เริ่มจาก 8'th เนื่องจากค่าเริ่มต้นที่ 0-7 ประกาศ, สิทธิ์ถูกคัดลอกจาก / dev / loop0 :)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.