Raspberryでは、グラフィカルインターフェイスを使用しないと、USBメモリを何度もマウントするのが面倒になります。 また、このアクションを自動化するプロセス(以下に示します)では、Linuxがデバイスを処理する方法について少し学ぶことができます。
autofsとudevをインストールします
最初に行うことはインストールです autofs y udev
sudo apt-get install autofsudev
udevは、すべてのデバイスが配置されている/ devディレクトリの管理を担当するLinuxカーネルツールです。 また、autofsを使用すると、設定が完了すると、usbが接続または切断されるとすぐに、すべてが自動的にマウントおよびアンマウントされます。
最初に行うことは、コンピューター/ Raspberry Piにusbメモリ(Kingstonブランドを使用します)を接続することです。 次に、以下を実行します。
fdisk-lコマンドはsudo
次のような出力があります。
ディスク/ dev / mmcblk0:15.7 GB ...デバイスブート開始エンドブロックIDシステム/ dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16(LBA)/ dev / mmcblk0p2 1613824 30613503 14499840 85Linux拡張/ dev / mmcblk0p3 30613504 30679039 Linux ..ディスク/ dev / sda:32768 GB ...デバイスブート開始エンドブロックIDシステム/ dev / sda83 30.9 1 2048 c W60436479 FAT30217216(LBA)
私の外部usbメモリは30.9GB(つまり、/ dev / sda1)ですが、LinuxがインストールされているSDメモリは15.7GBです。
udevのカスタムルール
sda1がデバイスであることを知っているので、udevを使用してメモリから情報を抽出するので、次のコマンドを実行します。
udevadm info -a -p $(udevadm info -q path -n / dev / sda1)
「親デバイスを見る」/デバイス/…..」というフレーズで区切られたブロックがあります。
検索を少し簡単にするために、grepを使用できるので、次のようにします。
udevadm info -a -p $(udevadm info -q path -n / dev / sda1)| grepメーカー
私の場合、私の記憶はキングストンなので、出力は次のとおりです。
ATTRS {manufacturer} == "Kingston"#1 ATTRS {manufacturer} == "Linux 3.12.28+ dwc_otg_hcd"
または、以下を検索することもできます。
udevadm info -a -p $(udevadm info -q path -n / dev / sda1)| grepモデルudevadminfo -a -p $(udevadm info -q path -n / dev / sdd1)| grepベンダー
興味ある:
ATTRS {manufacturer} == "キングストン"
最初の偶然だったように。 コマンド出力で ウデバドム 「ATTRS {manufacturer}」が最初に表示されるブロックを探します
私の場合、ブロックのデバイスから一意であると考えるデータをいくつか取得します。
ATTRS {product} == "xxx" ATTRS {serial} == "xxxx" DRIVERS == "usb"
ルールを作成するだけです。 udevで.rulesで終了したファイルを作成します。
須藤ナノ /etc/udev/rules.d/personal.rules
私たちが置いたファイルの中に
ATTRS {product} == "xxx"、ATTRS {serial} == "xxx"、DRIVERS == "usb"、SYMLINK + = "miusb"
これで、usbを接続すると、ファイル/ dev / miusbが作成されます。 これが一番大変でした。
autofsの設定
実行します:
sudo nano / etc / default / autofs
「TIMEOUT =」と表示されている場合、「TIMEOUT = 1」と入力します。
/etc/auto.masterに行きましょう
nano /etc/auto.master
そして最後の行に置いたファイルの中に:
/メディア/etc/auto.misc
/etc/auto.miscに移動します
nano /etc/auto.master
そして最後の行に私達は書く:
mymemory -fstype = vfat、users、rw、umask = 000:/ dev / miusb
最後に、最初にautofsモジュールをロードします。
sudo nano / etc / modules
そして最後の行に私達は書く:
autofs4
そして出来上がり、ラズベリーを再起動します。 フォルダは/ mediaには存在しませんが、
cd /メディア/メモリ
私たちはすでに中にいます。 また、使用をやめるとフォルダが消え、手動でアンマウントせずにデバイスを取り外すことができます。
投稿してくれてありがとう🙂
auto.miscを編集するステップで、一部の吸盤がそれを実行して認識しない場合に備えて、コードにauto.masterが記述されているというエラーがあると思います🙂
おかげで、私はRaspbianでそれを実行しようとしていました。以前は、Archを使用していたので、簡単でした。
非常に良いことです。Sambaによって共有されているディレクトリを持つトレントクライアントとしてPiを配置したときに占有するようになりました。
fstabのマニュアルによると、もう少し堅牢なのは、ユニットのラベルを#blkidで確認することです。私の場合、起動するたびに次のように自動マウントされたWindowsパーティションがあります。
の/ dev / sda2
UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto、デフォルトは0 2
ラズベリーにLVMを取り付けていますが、構成をよく覚えていません。
マニュアルによると、#fdisk -lを使用してドライブ番号と文字を取得し、#blkidを使用してどのラベルがどのドライブに対応しているかを確認できます。
ご挨拶。
[更新]
このラベルは、コンピュータの電源を切るたびにボリュームを切断するのが面倒だと感じる人(私のような)がいるという事実から生じています。問題は、複数のボリュームがある場合、数回の再起動後に常に同じ順序でマウントされるとは限らないためです。 。 ちなみに、これには欠点があります。自動マウントに割り当てられたラベルに対応するデバイスを削除すると、エラーがスローされ、パーティションがホームにマウントされている場合に/ホームをロードできません。 これは、fstabで競合を引き起こしているデバイスをコメントアウトするか、デバイスを再度接続することで解決できます。