差分

USBメモリをLinuxファイルシステムとして使う

2,880 バイト追加, 2015年9月8日 (火) 09:18
/* ext4 に変更 */
その時はW95 FAT32ファイルシステムですので、その形式で自動的にマウントされます。
=== ファイルシステムをext4に変更 パーティションを確認 ===
以下は、既にUSBメモリが挿入され、/dev/sdgに自動的に割り当てられ、その状態でUSBメモリを(ファイルシステムを)アンマウントしたという前提で話を進めます。
まずUSBメモリのパーティションをみてみます。まずUSBメモリのパーティションを確認してみます。 
<pre class="bash">
</pre>
 
 
このように/dev/sdg1のファイルシステムは W95 FAT32 であることが確認できました。
 
 
=== ext4 に変更 ===
 
/dev/sdg1をW95 FAT32からext4にフォーマットし直します。
 
<pre class="bash">
# mkfs -t ext4 /dev/sdg1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
245760 inodes, 982907 blocks
49145 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1006632960
30 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
 
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: (リターンまち)
done
</pre>
 
途中確認のためにリターン入力まちの状態になりますが、この時、本当にこのパーティションをフォーマットしていいか確認してください。
万が一、既に使用しているパーティションをフォーマットしてしまうと、そのパーティションにあったファイルシステムを壊してしまうことになるので、十分に注意してください。
 
=== 再度マウントした状態 ===
 
ext4のフォーマットされた後は、そのままでも自動的にマウントされてしまうはずですが、もし、そうでなければ一旦抜いて、また挿入してください。
 
さて、こちらでは次のようになりました。
 
<pre class="bash">
$ df
...
/dev/sdg1 3804348 7672 3583712 1% /media/hironobu/c3b1262f-4af9-43e1-acdc-c5c1cb68f6b7
</pre>
 
フォーマットされたパーティションに名前を付けなかったので、自動的にそのパーティションについたUUIDがマウントポイントのディレクトリ名になっています。
 
またマウントされた時点での該当のディレクトリの環境は次のようになっています。
 
<pre class="bash">
# ls -al
合計 24
drwxr-xr-x 3 root root 4096 Sep 8 18:05 .
drwxr-x---+ 3 root root 4096 Sep 8 18:08 ..
drwx------ 2 root root 16384 Sep 8 18:05 lost+found
</pre>
 
/media/hironobuの下にマウントされていてもデフォルトのファイルシステムのオーナーがrootなのでマウントしてもrootになっています。
USBメモリで、挿入時にバックグラウンドで動作しているサービスプログラムが自動マウントしてくれますが、
アプリケーション側からみた場合、USBメモリもハーディスクも区別なくext4のファイルシステムのパーティションにしか見えません。