mount
概要
- ファイルシステムを利用するためのコマンド
利用方法
mountコマンドを利用することでファイルシステムを一時的に利用可能にする。- システム起動時から使いたい場合は、
mountコマンドのオプションなどを/etc/fstabファイルに記述する。 - ファイルシステムファイルのデバイスファイル (
/dev/ディレクトリに入っているファイル) と、マウント先のディレクトリを指定する。マウント後は、マウント先のディレクトリにアクセスして利用する。- どのデバイスファイルがマウントしたいファイルシステム化を確認するには
fdiskやblkidコマンドを使う。fdisk(ディスクのサイズやパーティション数で判断する場合)
$ sudo fdisk -l
blkid(ディスクラベルやフォーマットで判断する場合)
$ sudo blkid
ext4
- Linux の標準のファイルシステム
$ sudo mount -t ext4 DEVICE_FILE MOUNT_POINT
DEVICE_FILE: デバイスファイルMOUNT_POINT: マウント先- マウントオプションは
-oの後に、記述する。複数のマウントオプションの場合は、スペースをあけず、,でつなげる。
/etc/fstab
DEVICE_FILE MOUNT_POINT ext4 defaults 0 2
DEVICE_FILE: デバイスファイルあるいは UUID (UUID の場合はUUID=XXXXXXXのように指定する)MOUNT_POINT: マウント先defaults: マウントオプションの標準 (複数のオプションを含んでいる)async: ファイルシステムに対するすべての入出力を非同期で行うauto:-aオプションでmountコマンドを実行した時にマウントするdev: ファイルシステム上のデバイスファイルを利用できるexec: バイナリの実行を許可するnouser: 一般ユーザーのマウントを禁止するrw: 読み書き許可でマウントsuid: SUID/SGIDビットを有効にする
0: dump フラグ (0 はしない)2:fsckフラグ (ファイルシステムチェック)0: しない1: root ファイルシステムを含むパーティションで実行2: root ファイルシステムでないパーティションで実行- 参考サイト: @IT:/etc/fstabに記述されている数字の意味
RAM disk
- メモリをディスクのように扱うためのファイルシステム。
- 高速な書き込みを要する場合に便利。
- ただし、メモリなのでデータが揮発する (シャットダウンで消える) ため、一時ファイル置き場やキャッシュなどに利用すると良い。
- メモリは使用した分だけ消費される (マウント時に確保されるわけではない)
/etc/fstab
tmpfs MOUNT_POINT tmpfs noatime,size=512m 0 0
MOUNT_POINT: マウント先noatime,size=512m: マウントオプション (今回は以下の 2 つを指定)noatime: アクセス時刻を更新しない (書き込み高速化のため)。size=512m: メモリ 512 MB をディスクとして割り当てる。
ntfs-3g
- Windows の標準ファイルシステム (NTFS) をマウントするためのファイルシステム
$ sudo mount -t ntfs-3g DEVICE_FILE MOUNT_POINT
DEVICE_FILE: デバイスファイルMOUNT_POINT: マウント先
/etc/fstab
DEVICE_FILE MOUNT_POINT ntfs-3g nosuid,nodev,nofail,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0
DEVICE_FILE: デバイスファイルあるいは UUID (UUID の場合はUUID=XXXXXXXのように指定する)MOUNT_POINT: マウント先nosuid,nodev,nofail,…: マウントオプション (今回は以下を指定)nosuid: SUID/SGIDビットを有効にしないnodev: ファイルシステム上のデバイスファイルを利用しないnofail: マウントを失敗しても、システムを起動させる (これがない場合、システムがずっと起動しない)uid=1000: UID 1000 のユーザでマウント (UID はidコマンドで確認可)gid=1000: GID 1000 のグループでマウント (GID はidコマンドで確認可)fmask=0133: マウント時にファイルのパーミッションを 644 にする (ntfs-3g ではパーミッションの変更ができないため)。dmask=0022: マウント時のファイルのパーミッションを 755 にする (ntfs-3g ではパーミッションの変更ができないため)。fmask,dmaskはマスクであるため、フルアクセスパーミッション 0777 から各桁を差し引いた値を指定する必要がある。
- ntfs-3g は標準では Ubuntu にインストールされていないので、
aptなどでインストールする必要がある。- ntfs が標準でインストールされているが、読み込み専用のファイルシステムなので、ntfs-3g と間違えないようにしたい。
cifs
- Samba (Windows) で共有されたネットワークドライブをマウントするためのファイルシステム
/etc/fstab
//ADDRESS/SHARE_DIR MOUNT_POINT cifs vers=1.0,credentials=PASSWORD_FILE,nofail,async,nodev,rw,nosuid,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 0 0
ADDRESS: 共有元のサーバの IP アドレスSHARE_DIR: 共有元のサーバの共有ディレクトリ名MOUNT_POINT: マウント先vers=1.0,cred…: マウントオプション (以下のオプションを適用)vers=1.0: Samba のバージョン (SMB1 や SMB2 と呼ばれているバージョン)- ランサムウェア WannaCry 対策として、Ver. 2.0 以降が望ましいが、今回の NAS では SMB1 が使われているため、これを指定した。
credentials=PASSWORD_FILE: アクセスするためのユーザ名、パスワードをPASSWORD_FILEから読み込む (PASSWORD_FILEのパーミッションや管理には十分注意)。PASSWORD_FILEの書式:
username=USER password=PASS
USER: ユーザ名PASS: パスワード
nofail: マウントを失敗しても、システムを起動させる (これがない場合、システムがずっと起動しない)async: ファイルシステムに対するすべての入出力を非同期で行うnodev: ファイルシステム上のデバイスファイルを利用しないrw: 読み書き許可でマウントnosuid: SUID/SGIDビットを有効にしないuid=1000: UID 1000 のユーザでマウント (UID はidコマンドで確認可)gid=1000: GID 1000 のグループでマウント (GID はidコマンドで確認可)file_mode=0644: マウント時にファイルのパーミッションを 644 にする (cifs ではパーミッションの変更ができないため)。dir_mode=0755: マウント時のファイルのパーミッションを 755 にする (cifs ではパーミッションの変更ができないため)。