「USB ストレージデバイス」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
1行目: 1行目:
 
[[Category:ストレージ]]
 
[[Category:ストレージ]]
 
[[en:USB storage devices]]
 
[[en:USB storage devices]]
[[es:USB Storage Devices]]
+
[[es:USB storage devices]]
[[it:USB Storage Devices]]
+
[[it:USB storage devices]]
[[ru:USB Storage Devices]]
+
[[ru:USB storage devices]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|マウント}}
 
{{Related|マウント}}
14行目: 14行目:
 
== udisks による自動マウント ==
 
== udisks による自動マウント ==
   
これは一番簡単でよく使われている方法です。多数の[[Desktop Environment|デスクトップ環境]]によって用いられいますが、単独で使用することも可能です。詳しくは [[Udisks|Udisks]] を見て下さい。
+
これは一番簡単でよく使われている方法です。多数の[[デスクトップ環境]]によって用いられいますが、単独で使用することも可能です。詳しくは [[Udisks]] を見て下さい。
   
 
== 手動マウント ==
 
== 手動マウント ==
22行目: 22行目:
 
=== usb_storage をサポートするカーネルを取得 ===
 
=== usb_storage をサポートするカーネルを取得 ===
   
カスタムカーネルを使っていない場合、問題はありません。全ての Arch Linux 標準カーネルはちゃんと設定されています。カスタムカーネルを使っている場合 SCSI-Support, SCSI-Disk-Support, usb_storage を有効にしてカーネルをコンパイルするようにしてください。最新の [[udev|udev]] を使っていれば、デバイスを接続するだけでシステムは自動的に必要なカーネルモジュールを全てロードします。古いリリースの udev では hotplug もインストールする必要があります。もしくは、手動で同じことを行うこともできます:
+
カスタムカーネルを使っていない場合、問題はありません。全ての Arch Linux 標準カーネルはちゃんと設定されています。カスタムカーネルを使っている場合 SCSI-Support, SCSI-Disk-Support, usb_storage を有効にしてカーネルをコンパイルするようにしてください。最新の [[udev]] を使っていれば、デバイスを接続するだけでシステムは自動的に必要なカーネルモジュールを全てロードします。古いリリースの udev では hotplug もインストールする必要があります。もしくは、手動で同じことを行うこともできます:
   
 
# modprobe usb_storage
 
# modprobe usb_storage
31行目: 31行目:
 
=== デバイスの確認 ===
 
=== デバイスの確認 ===
   
ストレージデバイスにアクセスするのにまず必要なのはカーネルによって割り振られたデバイスの識別子です。詳しくは [[fstab#ファイルシステムの識別|fstab#ファイルシステムの識別]] を参照。
+
ストレージデバイスにアクセスするのにまず必要なのはカーネルによって割り振られたデバイスの識別子です。詳しくは [[fstab#ファイルシステムの識別]] を参照。
   
 
{{Tip|どれが USB デバイスか確認するには、USB デバイスを接続したときに接続してないときの {{ic|lsblk -f}} の出力を比較してください。}}
 
{{Tip|どれが USB デバイスか確認するには、USB デバイスを接続したときに接続してないときの {{ic|lsblk -f}} の出力を比較してください。}}
59行目: 59行目:
 
==== 通常ユーザーで fstab を使用 ====
 
==== 通常ユーザーで fstab を使用 ====
   
root 以外のユーザーで [[fstab|fstab]] を使って USB メモリーをマウントできるようにするには、次の行を {{ic|/etc/fstab}} ファイルに追加:
+
root 以外のユーザーで [[fstab]] を使って USB メモリーをマウントできるようにするには、次の行を {{ic|/etc/fstab}} ファイルに追加:
 
/dev/sdXY /mnt/usbstick vfat '''user''',noauto,noatime,flush 0 0
 
/dev/sdXY /mnt/usbstick vfat '''user''',noauto,noatime,flush 0 0
 
または:
 
または:
 
UUID=E8F1-5438 /mnt/usbstick vfat '''user''',noauto,noatime,flush 0 0
 
UUID=E8F1-5438 /mnt/usbstick vfat '''user''',noauto,noatime,flush 0 0
[[Fstab|fstab]] の ''user'' やその他のオプションの説明を見て下さい。
+
[[fstab]] の ''user'' やその他のオプションの説明を見て下さい。
   
 
{{Note|{{ic|/dev/sdXY}} は USB メモリーのパスに置き換えてください。[[#USB メモリーのマウント|USB メモリーのマウント]]を参照。}}
 
{{Note|{{ic|/dev/sdXY}} は USB メモリーのパスに置き換えてください。[[#USB メモリーのマウント|USB メモリーのマウント]]を参照。}}

2015年11月6日 (金) 19:20時点における版

関連記事

この文章では Linux で一般的な USB メモリーを使用する方法を説明します。また、デジタルカメラなど他のデバイスも USB ストレージデバイスとして使える場合があります。

標準の Arch カーネルと最近のデスクトップ環境を使っている場合、最新の環境なら、デバイスはデスクトップに表示され、コンソールを開く必要はありません。

udisks による自動マウント

これは一番簡単でよく使われている方法です。多数のデスクトップ環境によって用いられいますが、単独で使用することも可能です。詳しくは Udisks を見て下さい。

手動マウント

ノート: Arch Linux が USB デバイスをマウントしてないと決めつける前に、全てのポートを確認しましょう。ポートによってはコントローラを共有してないことがあり、それによってデバイスがマウントできなくなっている可能性があります。

usb_storage をサポートするカーネルを取得

カスタムカーネルを使っていない場合、問題はありません。全ての Arch Linux 標準カーネルはちゃんと設定されています。カスタムカーネルを使っている場合 SCSI-Support, SCSI-Disk-Support, usb_storage を有効にしてカーネルをコンパイルするようにしてください。最新の udev を使っていれば、デバイスを接続するだけでシステムは自動的に必要なカーネルモジュールを全てロードします。古いリリースの udev では hotplug もインストールする必要があります。もしくは、手動で同じことを行うこともできます:

# modprobe usb_storage
# modprobe sd_mod      (only for non SCSI kernels)
ヒント: 手動でモジュールをロードする場合、sg モジュール (SCSI generic driver) もロードする必要があるかもしれません。

デバイスの確認

ストレージデバイスにアクセスするのにまず必要なのはカーネルによって割り振られたデバイスの識別子です。詳しくは fstab#ファイルシステムの識別 を参照。

ヒント: どれが USB デバイスか確認するには、USB デバイスを接続したときに接続してないときの lsblk -f の出力を比較してください。

USB メモリーのマウント

デバイスをマウントするディレクトリを作成する必要があります:

# mkdir /mnt/usbstick

root を使用

次のコマンドで root でデバイスをマウント (device_node は確認したパスに置き換えてください):

# mount device_node /mnt/usbstick

または:

# mount -U UUID /mnt/usbstick

mount がデバイスのフォーマットを認識できないときは -t 引数を使うことができます。詳しくは man mount を参照。

ノート: メモリーのマウントが出来ない場合、パーティションしなおすこともできます。ファイルシステム#デバイスのフォーマットを参照。

通常ユーザーで mount を使用

root 以外のユーザーで USB メモリーに書き込みを行えるようにするには、次のコマンドを実行:

# mount -o gid=users,fmask=113,dmask=002 /dev/sda1 /mnt/usbstick

通常ユーザーで fstab を使用

root 以外のユーザーで fstab を使って USB メモリーをマウントできるようにするには、次の行を /etc/fstab ファイルに追加:

/dev/sdXY /mnt/usbstick vfat user,noauto,noatime,flush 0 0

または:

UUID=E8F1-5438 /mnt/usbstick vfat user,noauto,noatime,flush 0 0

fstabuser やその他のオプションの説明を見て下さい。

ノート: /dev/sdXY は USB メモリーのパスに置き換えてください。USB メモリーのマウントを参照。

これで、どのユーザーでも次のコマンドでマウントできます:

$ mount /mnt/usbstick

アンマウントするには:

$ umount /mnt/usbstick

udev や systemd/udev によってマウントされたデバイスをアンマウント

実行可能ファイルを作成してください (例: /usr/local/bin/unmount.sh):

#!/bin/sh

# Global variables
TITLE="Unmount Utility"
COLUMNS=3 # TARGET,SOURCE,FSTYPE
#IFS=$'\n'

# Populate list of unmountable devices
deviceList=($(findmnt -Do TARGET,SOURCE,FSTYPE | grep -e "sd[b-z]"))
deviceCount=$((${#deviceList[@]} / $COLUMNS))

# Start of program output
echo $TITLE

# Display list of devices that can be unmounted
for ((device=0; device<${#deviceList[@]}; device+=COLUMNS))
do
  printf "%4s)   %-25s%-13s%-10s\n"\
    "$(($device / $COLUMNS))"\
    "${deviceList[$device]}"\
    "${deviceList[$(($device + 1))]}"\
    "${deviceList[$(($device + 2))]}"
done

printf "%4s)   Exit\n" "x"

# Get input from user
read -p "Choose a menu option: " input

# Input validation
if [ "$input" = "X" ] || [ "$input" = "x" ]
then
  echo "Exiting"
  exit 0
fi

if (( $input>=0 )) && (( $input<$deviceCount ))
then
  echo "Unmounting: ${deviceList[$(($input * $deviceCount))]}"
  sudo umount "${deviceList[$(($input * $deviceCount))]}"
  exit 0
else
  echo "Invalid menu choice"
  exit 1
fi
ノート: このスクリプトを使うには sudo をインストールする必要があり、sudo 権限が必要です。