가상 파일 시스템을 올바르게 작성하는 방법은 무엇입니까?


10

숙제 할당 작업을 수행하면 가상 파일 시스템을 만들어 마운트하고 일부 작업을 수행해야합니다.

비트가 모두로 설정된 10MB의 파일을 작성하고 0ext3으로 형식을 지정하고 마운트해야합니다. 이것이 내가 한 방법입니다.

dd if=/dev/zero of=~/filesyst bs=10485760 count=1
sudo mkfs.ext3 ~/filesyst
sudo mount –o loop ~/filesyst /media/fuse

비록 내가 사용했지만 /dev/zero파일은 여전히 ​​횡설수설 문자 (주로 부호)로 가득합니다. 에 대한 권한 /media/fusedrw-rw-rw-(괜찮지 만) 파일 안에있는 파일에 대한 권한은 다음과 같습니다 :

d????????? ? ? ? ?          ? lost+found
-????????? ? ? ? ?          ? secret_bin

내가 어디 잘못 갔어?


문제가 mkfs.ext3 명령과 관련이 있다고 생각합니다. IIRC, 장치 대신 파일에서이 작업을 수행 할 때 사용해야하는 다른 인수가 있습니다.
user606723

1
어쩌면 내가 잘못 했을 수도 있습니다 , adamsinfo.com/…에 따르면 , 올바르게하고 있습니다. 이 URL에서 정확한 명령을 따르고 여전히 문제가 있는지 확인할 수 있습니까?
user606723

또한 시도하십시오mkfs.ext3 -F ~/filesyst
user606723

고맙습니다, 해결했습니다. 문제는 bscount논쟁이었다. 내가 쓴 bs=1MiB count=10링크에서와 같이 글을 쓰면 작동합니다.
Paul

1
그건 그렇고, 실제로 파일을 0으로 채울 필요는 없습니다. 로 임의 크기의 빈 파일을 만들 수 있습니다 truncate -s 400m filesyst. 차이점은 실제로 파일에 데이터를 쓸 때까지 디스크의 공간을 사용하지 않기 때문에 실제로 채우려 고하지 않는 한 전체 디스크 드라이브보다 큰 가상 파일 시스템을 만들 수 있다는 것입니다 . 파일에서 실제로 사용중인 공간이 얼마나되는지 확인할 수 있습니다 du -h filesyst.
psusi

답변:


6

흠 ... 올바른 올바른 방법은 다음과 같습니다.

dd if=/dev/zero of=./filesyst bs=10485760 count=1
sudo losetup /dev/loop0 ./filesyst
sudo mkfs.ext3 /dev/loop0
sudo mount /dev/loop0 /tmp/lalla

그리고 그것은 작동합니다 :

(0)romano-asus:~/tmp% ls -l /tmp/lalla
total 12
drwx------ 2 root root 12288 2011-12-20 22:21 lost+found
(0)romano-asus:~/tmp% df /tmp/lalla
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0                9911      1121      8278  12% /tmp/lalla

로 첫 번째 루프 장치가 비어 있는지 확인해야합니다 losetup -f.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.