Cách thêm nhiều thiết bị / dev / loop * trên Fedora 19


11

Làm cách nào để thêm nhiều thiết bị / dev / loop * trên Fedora 19? Tôi làm:

# 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

Vì vậy, không có gì thay đổi.


loop không phải là một mô-đun trong fedora 19, nó được biên dịch.
Sirex

1
bạn có thể sử dụng mknod. nhưng tại sao bạn muốn tạo thêm các tệp vòng lặp mà không kết nối chúng với bất cứ thứ gì?
strugee

Câu trả lời:


9

Bạn phải tạo các nút thiết bị /devvới mknod. Các nút thiết bị devcó một loại (khối, ký tự, v.v.), một số chính và một số phụ. Bạn có thể tìm ra loại và số chính bằng cách thực hiện ls -l /dev/loop0:

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

Điều này có nghĩa là các nút thiết bị vòng lặp phải có loại khối và số chính là 7. Số lượng nhỏ tăng thêm một cho mỗi nút thiết bị, bắt đầu từ 0, vì vậy loop0 chỉ đơn giản là 0 và loop7 là 7.

Để tạo loop8 bạn chạy, như root, lệnh mknod -m 0660 /dev/loop8 b 7 8. Điều này sẽ tạo nút thiết bị /dev/loop8với các quyền được chỉ định dọc theo công -mtắc (điều đó không cần thiết vì có lẽ bạn đang chạy hệ thống máy tính để bàn, nhưng tốt nhất là không để mọi người đọc và viết các nút thiết bị của bạn).


1
Bạn đã quên loại nút sau tên, vì vậy lệnh sẽ là mknod -m 0660 /dev/loop8 b 7 8.
Vasilis Lourdas

11

Khi bạn chạy nó dưới quyền root, losetup -fsẽ tự động tạo các thiết bị lặp khi cần nếu không có bất kỳ thiết bị miễn phí nào khả dụng.

Vì vậy, thay vì tự làm mknod, cách dễ nhất để tạo một thiết bị lặp mới là với sudo losetup -f. Cách tiếp cận đó sẽ cung cấp cho bạn một thiết bị vòng lặp hiện có miễn phí nếu có, hoặc tự động tạo một thiết bị mới nếu cần.


Thông báo lỗi bạn nhận được khi chạy losetup -fvới tư cách là người dùng không phải root hiện tại không hữu ích lắm, vì vậy tôi đã gửi bugzilla.redhat.com/show_orms.cgi?id=1215370 để đề xuất cải thiện điều đó.
ncoghlan

4

Heh, không đầy đủ :) Đơn giản chỉ cần sử dụng tập lệnh này để thêm các vòng lặp / dev / mới. Hãy nhớ để thay đổi số, tập lệnh tạo thành vòng lặp thứ 63, bắt đầu từ ngày 8 vì 0-7 được tạo theo mặc định. Lưu ý, quyền được sao chép từ / 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.