Linuxコマンド mount(マウント)

Linux記事 Linux
この記事は約11分で読めます。

Linuxは、CD、DVD、ブルーレイ、外付けハードディスク、USBメモリ、HDDを追加した場合、マウントという作業が必要になる。

Windowsであれば自動認識であったり、ディスク管理のボリューム作成の作業にあたる。

Windowsの場合は、ドライブとして認識するがLinuxはディレクトリにマウントして使用する。Windowsユーザーすれば一見わかりずらい仕様であるが、良い面もある。どのディレクトリにもマウントすることができるので、容量が不足しているディレクトリがあれば、その配下にドライブをマウントすることで容量を増やすことができる。

スポンサーリンク

外部ストレージをマウント

USB外部ストレージをdmesgでカーネルが出力したログをあさり、外部ストレージのログをあてる。

下記のサンプルはUSB外部ストレージを差し込んだ際のログ

$dmesg
[   36.450974] virbr0: port 1(virbr0-nic) entered learning state
[   36.524953] usb 3-1: new high-speed USB device number 7 using xhci_hcd
[   36.689637] usb 3-1: New USB device found, idVendor=0411, idProduct=01c5
[   36.689646] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   36.689652] usb 3-1: Product: HD-PCTU2
[   36.689656] usb 3-1: Manufacturer: BUFFALO
[   36.689661] usb 3-1: SerialNumber: 3030304A4138533137383239
[   36.690859] usb-storage 3-1:1.0: USB Mass Storage device detected
[   36.691209] scsi host10: usb-storage 3-1:1.0
[   37.693307] scsi 10:0:0:0: Direct-Access     BUFFALO  HD-PCTU2         0108 PQ: 0 ANSI: 4
[   37.694250] sd 10:0:0:0: Attached scsi generic sg3 type 0
[   37.694606] sd 10:0:0:0: [sdc] 1250058927 512-byte logical blocks: (640 GB/596 GiB)
[   37.695418] sd 10:0:0:0: [sdc] Write Protect is off
[   37.695426] sd 10:0:0:0: [sdc] Mode Sense: 1c 00 00 00
[   37.695774] sd 10:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   37.731210] sdc: sdc1
[   37.731221] sdc: p1 size 1250236416 extends beyond EOD, enabling native capacity
[   37.733762] sdc: sdc1
[   37.733769] sdc: p1 size 1250236416 extends beyond EOD, truncated
[   37.734963] sd 10:0:0:0: [sdc] Attached SCSI disk

fdiskで領域を確保

外部記録媒体(外付けハードディスク、USBメモリ、SDメモリ)は、本作業を行う。

$fdisk /dev/sdc

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-xxxxxxxxx, default 1): 1
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-xxxxxxxxx, default xxxxxxxxx): xxxxxxxxx
Using default value xxxxxxxxx

コマンド (m でヘルプ): w

OSの非同期書き込みを考慮してもう一度、syncさせておく

$sync

カーネルは (比較的遅い) ディスクの読み書きを避けるため、 データをメモリに保持する。 これにより性能は向上するが、コンピュータがクラッシュした場合、 結果としてデータが損失したりファイルシステムが壊れたりするかもしれない。 sync はメモリにある内容すべてがディスクに書き込まれることを保証する。

フォーマット

ext4 でフォーマットする。

$mkfs.ext4 /dev/sdc1

ファイルシステム種類

解説
ext2 初期段階のlinuxシステムで使用されていた。
「second extended filesystem」の略だ限界ファイルサイズ2TiB、最大容量(ボリュームサイズ)16TiB、ジャーナルには
非対応となっているので、使うのは避けたほうがいい。
rootのために一部容量を予約しているので限界まで容量をつかいきってもrootでのメンテナンスが可能となっている。
ジャーナルに非対応なため、一度クラッシュすると復旧に時間がかかる。
このファイルシステムは旧式なので「ext4」の使用をおすすめする。
ext3 「third extended file system」の略だ、ext2との高い互換性があり、
ext2をext3に変換することも可能だ。大きな変更点としてはジャーナルが
追加されているところだろう。
ext4 「fourth extended file system」の略である。ext3の拡張であり、
現在のlinuxファイルシステムのデファクトスタンダードだ。
最大ファイルサイズは16TiBと拡張され、最大ボリューム サイズも1EiBとなっている。
また日付範囲も1901年12月14日から2514年4月25日までと拡張されている、
下位互換もたもたれており、ext3としてマウントすることも可能だ。
JFSこのファイルシステムは「Journaled File System」の略であり、IBMが自社の商用UNIXである
AIXに採用したファイルシステムだ。
ジャーナルなファイルシステムとしては最古の部類に入る。
このファイルシステムは既存ファイルシステムを拡張、機能追加するのではなく、
ジャーナルを前提として新しく設計されたファイルシステムだ。
最大ファイルサイズは4PiB、最大容量(ボリュームサイズ)は32PiBとなっている、
高負荷時にも一定のパフォーマンスを維持できる。
信頼性は高いが、ディストリビューションのデフォルト設定ではext4が選択されていることが多い。
XFSXFSはSilicon Graphics Incで設計されたファイルシステムでRHEL7では
デフォルトのファイルシステムとなっている。
こちらも最古のジャーナリングファイルシステムの一つだ。
マウントした状態でのデフラグなどの操作が可能となっている。最大ファイル サイズ8EiB、
最大ボリューム サイズ8EiBである。
XFSは当初からハイエンドシステム向に開発されたためスケーラビリティの面において
ext4を圧倒している。
RHELがデフォルトでXFSを採用したのはそういった理由もあるだろう。
Fat「File Allocation Table」の略でWindows95やWindowsNTなどで使用されている
ファイルシステムのひとつだ。
非常に古典的なファイルシステムなためジャーナルには非対応でスケーラビリティも貧弱である。
またLinuxからの属性情報をひきつげないため、パーミッション情報などが、失われる。
容量の小さなUSBメモリを扱うのが限界だ。
しかし逆に超古典的なために、大概のOSで読み書きが可能となっている。
最大ファイルサイズは4GiB最大容量(ボリュームサイズ)も 4GiBとなる。
Fat32Fat32はFatの32Bit版である。
これにより、扱えるボリュームサイズが大きくなっている。
そのためFatと比べ外付けのHDDなどをフォーマットして使うパターンが多いだろう。
しかしジャーナルなファイルシステムではないので、こちらも障害耐性が低い。
こちらも古いものなので大抵のOSで読み書きが可能となっている。

UUIDでマウント

$ls -al /dev/disk/by-uuid/
 
lrwxrwxrwx 1 root root  10  7月 31 07:01 7ba0cf96-598e-413d-8053-b4c547628424 -> ../../sdc1
lrwxrwxrwx 1 root root  10  7月 31 07:01 9aa422bc-689d-4efc-aae6-ee144c02127e -> ../../sdb1
lrwxrwxrwx 1 root root  10  7月 31 07:01 c3ff64a5-5e26-4438-855e-82183a81b1f9 -> ../../dm-0
lrwxrwxrwx 1 root root  10  7月 31 07:01 de09e6b8-3a26-4465-a971-8957fa6f5528 -> ../../dm-1

マウント用フォルダを作成。

基本的には、外部媒体をマウントするときは/mnt配下にディレクトリを作成してマウントする。

状況次第では、/mnt配下にこだわる必要はなく別のディレクトリでも問題ない。

$sudo mkdir /mnt/usbdisk1

外付けHDDのマウント

$mount /dev/sdc1 /mnt/usbdisk1

CD-ROMのマウント

mount -t cd9660 -o rdonly /dev/cd0c /cdrom

起動時に自動マウントする

恒常的なマウントを行うためには、以下の2つの作業を行う必要があります。

  1. /etc/fstabファイルの編集
  2. mountコマンドの実行、または再起動(init 6)の実行

viで/etc/fstabを編集する。

$vi /etc/fstab
/dev/hda4               /                  ext3    defaults        1 1
/dev/hda1               /boot              ext3    defaults        1 2
/dev/cdrom              /mnt/cdrom         iso9660 noauto,owner,ro 0 0
/dev/fd0                /mnt/floppy        auto    noauto,owner    0 0
/dev/hda2               /var               ext3    defaults        1 3
/dev/hda3               swap               swap    defaults        0 0
/dev/sdc1               /mnt/usbdisk1      ext4    defaults        1 2
    ①               ②      ③     ④      ⑤⑥
項番フィールド設定内容
マウントするデバイスファイル名マウントするデバイスファイル名またはボリュームラベルを指定
マウントポイントマウントポイントとなるディレクトリの絶対パスを指定
ファイルシステムの種類①のファイルシステムの指定。下表1を参照。
マウントオプション①のマウントオプションの指定。下表2を参照。
dumpdumpコマンドによるバックアップ対象となるかどうかを指定 
0 : バックアップする必要がない
 1 : バックアップする必要がある
fsckシステム起動時にfsckコマンドでチェックを行う時の順序を指定 
0 : fsckコマンドでファイルシステムをチェックしない
 1 : ルートファイルシステム ( / ) に指定する数値
 2以上 : その他のファイルシステムに指定する数値

④のオプション表

オプション説明
asyncファイルシステムの入出力を非同期で実行
automount -a コマンドの実行時にマウントする
noautomount -a コマンドの実行時にマウントしない
defaultsデフォルトのオプションを設定 ( async、auto、dev、exec、nouser、rw、suid )
execバイナリの実行を許可
noexecバイナリの実行を禁止
ro読み取り専用モードでマウント 
rw読み書き可能モードでマウント
unhide隠しファイルも表示
suidSUIDとSGIDの有効化
user一般ユーザーにマウントを許可する
users一般ユーザーにマウントを許可し、マウントを実行していないユーザにもアンマウントを許可
nouser一般ユーザーのマウントを許可しない

コメント

タイトルとURLをコピーしました