Một tác vụ trong bài tập về nhà của tôi yêu cầu tôi tạo một hệ thống tệp ảo, gắn kết nó và thực hiện một số thao tác trên nó.
Tôi phải tạo một tệp có dung lượng 10 MB, tất cả các bit được đặt thành 0
, định dạng tệp đó là ext3 và gắn kết nó. Đây là cách tôi đã làm điều đó:
dd if=/dev/zero of=~/filesyst bs=10485760 count=1
sudo mkfs.ext3 ~/filesyst
sudo mount –o loop ~/filesyst /media/fuse
Mặc dù tôi đã sử dụng /dev/zero
, tập tin tôi vẫn chứa đầy các ký tự vô nghĩa (chủ yếu là tại các dấu hiệu). Các quyền trên /media/fuse
là drw-rw-rw-
(không sao), nhưng các quyền trên các tệp bên trong nó là như thế này:
d????????? ? ? ? ? ? lost+found
-????????? ? ? ? ? ? secret_bin
Tôi đã đi sai ở đâu?
Tôi nghĩ vấn đề có liên quan đến lệnh mkfs.ext3 của bạn. IIRC, Có nhiều đối số khác nhau bạn cần sử dụng khi thực hiện việc này trên tệp thay vì thiết bị.
—
dùng606723
Có lẽ tôi đã sai, mỗi adamsinfo.com/ , bạn đang làm đúng. Bạn có thể thử làm theo các lệnh chính xác trên url này và xem nếu bạn vẫn có vấn đề?
—
dùng606723
Ngoài ra, hãy thử
—
user606723
mkfs.ext3 -F ~/filesyst
@ user606723 Cảm ơn, tôi đã giải quyết nó. Vấn đề là
—
Paul
bs
và count
lập luận. Nếu tôi viết bs=1MiB count=10
, như trong liên kết mà bạn đã đăng, nó hoạt động.
Nhân tiện, bạn thực sự không cần phải điền vào tệp bằng số không. Bạn chỉ có thể tạo một tập tin trống có kích thước tùy ý với
—
psusi
truncate -s 400m filesyst
. Sự khác biệt là cho đến khi bạn thực sự ghi dữ liệu vào tệp, nó không sử dụng dung lượng trên đĩa, do đó bạn có thể tạo một hệ thống tệp ảo lớn hơn toàn bộ ổ đĩa của mình, miễn là bạn không cố gắng lấp đầy nó . Bạn có thể thấy tập tin thực sự sử dụng bao nhiêu dung lượng du -h filesyst
.