Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Autofsのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Autofs
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ファイルシステム]] [[en:Autofs]] [[es:Autofs]] [[it:Autofs]] [[ru:Autofs]] [[uk:Autofs]] [[zh-hans:Autofs]] このドキュメントは AutoFS を設定する手順を解説しています。AutoFS はリムーバブルメディアやネットワーク共有などが接続されたりアクセスされたときに自動でマウントするパッケージです。 == インストール == {{Pkg|autofs}} パッケージを[[インストール]]してください。 {{Note|{{ic|autofs4}} モジュールをロードする必要はなくなりました。}} == 設定 == AutoFS ではテンプレートファイルを使って設定します。ファイルは {{ic|/etc/autofs}} にあります。メインのテンプレートは {{ic|auto.master}} で、メディアタイプに合わせて他のテンプレートを読み込むことができます。 * お好きなエディタで {{ic|/etc/autofs/auto.master}} ファイルを開いて下さい。以下のようになっているはずです: {{hc|/etc/autofs/auto.master|2= #/media /etc/autofs/auto.media }} 各行の最初の値はテンプレートのメディアをマウントするベースディレクトリです。2番目の値は使用するテンプレートです。デフォルトのベースパスは {{ic|/media}} となっていますが、自由に変更できます。例: {{hc|/etc/autofs/auto.master|2= /media/misc /etc/autofs/auto.misc --timeout=5 /media/net /etc/autofs/auto.net --timeout=60 }} {{Note|テンプレートファイルの末尾には改行が必要です (最後の単語の後に {{ic|ENTER}} を押してください)。EOF (end of file) 行が存在しない場合、AutoFS デーモンは正しくロードされません。}} {{ic|timeout}} パラメータではディレクトリをアンマウントする秒数を設定します。 システム上にベースディレクトリが存在しなかった場合、作成されます。動的にメディアをロードするためにベースディレクトリはマウントされるため、autofs が動作している間、ベースディレクトリにもともとあった中身を閲覧することはできなくなります。使用中のディレクトリを間違って自動マウントしてしまったとしても、{{ic|auto.master}} でディレクトリを変更して AutoFS を再起動することで元に戻せます。 動的にロードされたディレクトリがマウントされた後でも元あったファイルが使えるようにしたい場合、他のディレクトリ (例: {{ic|/var/autofs/net}}) にマウントするようにするかソフトリンクを使ってください: # ln -s /var/autofs/net/share_name /media/share_name もしくは autofs でメディアを別のフォルダにマウントする場合: {{hc|/etc/autofs/auto.master|2= /- /etc/autofs/auto.template }} {{hc|/etc/autofs/auto.template|2= /path/to/folder -options :/device/path /home/user/usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sdb1 }} {{Note|共有への接続が失われたときにリソースがロックされたままになるという問題が発生します。フォルダにアクセスしようとしたとき、プログラムは反応が返ってくるまでロックされ、接続が戻るか、プロセスを強制的に終了するまでアンマウントができません。この問題を緩和するには、共有に接続が常に可能な場合のみ使用するようにして、ホームフォルダなど頻繁に使用するフォルダでは使用しないようにしてください。}} * {{ic|/etc/nsswitch.conf}} ファイルを開いて automount エントリを追加してください: automount: files * テンプレートの設定が完了したら (下を参照)、root で {{ic|autofs.service}} を[[有効化]]・起動して AutoFS デーモンを起動してください。 これでデバイスにアクセスしたときに自動的にマウントされるようになります。アクセスしているかぎりはマウントされ続けます。 === リムーバブルメディア === リムーバブルデバイスは空いているブロックデバイスのパスが割り当てられます。例えば、{{ic|/dev/sd{a,b,c} }} が既に使われている場合、次にマウントされたリムーバブルメディアには {{ic|/dev/sdd}} ブロックが与えられます。順番が定かでないブロックデバイスのパスに合わせてマウントポイントを割り当てる代わりに、リムーバブルメディアの UUID や PARTUUID をマップファイルで使用するという方法があります。 例えば、特定の USB ドライブを {{ic|/mnt/black}} というパスにマウントするには、テンプレートファイルとマップファイルを以下のように設定: {{hc|/etc/autofs/auto.master|2= # master template file /mnt /etc/autofs/auto.mnt # [options here] }} マウントしたいパーティションの UUID を {{ic|blkid}} を使って確認してから、マップファイルを生成: <nowiki># _ID=$( blkid --output value --match-tag PARTUUID /dev/sd</nowiki>''XY'' ) # printf "%s %s\n" "black -fstype=auto :PARTUUID=" "${_ID}" >/etc/autofs/auto.mnt === NFS ネットワークマウント === AutoFS はリモートサーバー上の [[NFS]] 共有を自動で認識・マウントする新しい方法を提供しています (autofs5 で AutoFS のネットワークテンプレートは {{ic|/etc/autofs/auto.net}} から削除されました)。自動認識によるネットワーク共有のマウントを有効にするには、以下を {{ic|/etc/autofs/auto.master}} ファイルに追加してください: /net -hosts --timeout=60 {{Note|({{ic|/etc/hosts}} で IP アドレスに名前を付けるか [[DNS]] を使用して) ホストネームが解決できるようになっていること、そして {{Pkg|nfs-utils}} がインストール・動作していることを確認してください。また、共有フォルダを閲覧するには RPC を有効にする必要があります ({{ic|rpcbind.service}} を[[起動]]・[[有効化]]してください)。}} 例えば、リモートサーバーの名前が ''fileserver'' で NFS 共有の名前が ''/home/share'' の場合、以下のコマンドを実行するだけで共有にアクセスできます (サーバーのホストネームがディレクトリの名前になります): # cd /net/fileserver/home/share {{Note|Please note that ''ghosting'', i.e. automatically creating directory placeholders before mounting shares is enabled by default, although AutoFS installation notes claim to remove that option from {{ic|/etc/conf.d/autofs}} in order to start the AutoFS daemon.}} {{ic|-hosts}} オプションは {{ic|showmount}} コマンドと同じような仕組みでリモートの共有を認識します。以下のコマンドを実行することで共有ディレクトリを確認できます: # showmount <servername> -e ''<servername>'' はあなたのサーバーの名前に置き換えてください。 ==== NFS の手動設定 ==== server_name の /srv/shared_dir という名前の NFS 共有を client_pc というコンピュータの /mnt/foo にマウントする場合、auto.master を編集して共有の設定ファイルを作成します (auto.server_name): {{hc|<nowiki>/etc/autofs/auto.master</nowiki>|<nowiki>/mnt /etc/autofs/auto.server_name --timeout 60</nowiki>}} {{hc|<nowiki>/etc/autofs/auto.server_name</nowiki>|<nowiki>foo -rw,soft,intr,rsize=8192,wsize=8192 server_name:/srv/shared_dir</nowiki>}} === Samba === ==== 単一の共有フォルダ ==== 以下を {{ic|/etc/autofs/auto.master}} に追加: /media/[my_server] /etc/autofs/auto.[my_server] --timeout 60 --browse {{ic|--timeout}} はファイルシステムがアンマウントされるまでの待機時間を定義します。{{ic|--browse}} オプションはネットワーク共有が使えなくなったときにタイムアウトを防ぐために各マウントポイントに空のフォルダを作成します。 そして {{ic|/etc/autofs/auto.[my_server]}} ファイルを作成: [any_name] -fstype=cifs,[other_options] ://[remote_server]/[remote_share_name] {{ic|other_options}} セクションに、共有で使用するユーザー名とパスワードを指定してください: [any_name] -fstype=cifs,username=[username],password=[password],[other_options] ://[remote_server]/[remote_share_name] {{Note|$ などの文字はバックスラッシュでエスケープしてください。}} ==== 複数の共有フォルダ ==== {{ic|/etc/autofs/auto.[my_server]}} では複数の共有フォルダを指定することができます。例: [any_name] -fstype=cifs,[other_options] /photos ://[remote_server]/photos /music ://[remote_server]/music /video ://[remote_server]/video ==== 自動探索 ==== {{ic|/etc/autofs/auto.smb}} のコメントを見てください。 === FTP と SSH (FUSE を使用) === リモートの FTP や [[SSH]] サーバーには [[Wikipedia:Filesystem in Userspace|FUSE]] (仮想ファイルシステムレイヤー) と AutoFS でシームレスにアクセスすることができます。 ==== リモート FTP ==== まず、{{Pkg|curlftpfs}} パッケージをインストールしてください。 {{ic|fuse}} モジュールをロード: # modprobe fuse システムが起動するたびにモジュールがロードされるように {{ic|/etc/modules-load.d/fuse.conf}} ファイルを作成して {{ic|fuse}} と記述してください。 そして、{{ic|/etc/autofs/auto.master}} に FTP サーバーのエントリを追加します: /media/ftp /etc/autofs/auto.ftp --timeout=60 {{ic|/etc/autofs/auto.ftp}} ファイルを作成して {{ic|ftp://myuser:mypassword@host:port/path}} の形式でサーバーを追加してください: servername -fstype=curl,rw,allow_other,nodev,nonempty,noatime :ftp\://myuser\:mypassword\@remoteserver {{Note| Your passwords are plainly visible for anyone that can run {{ic|df}} (only for mounted servers) or view the file {{ic|/etc/autofs/auto.ftp}}.}} セキュリティを高めたい場合 {{ic|~root/.netrc}} ファイルを作成することでパスワードを追加できます。パスワードは平文のテキストですが、600 にパーティションを設定すれば {{ic|df}} コマンドで表示されなくなります。フォーマットは: machine remoteserver login myuser password mypassword ユーザー名とパスワードを指定しない場合 {{ic|/etc/autofs/auto.ftp}} に追加する行は以下のようになります: servername -fstype=curl,allow_other :ftp\://remoteserver 以下の内容で {{ic|/sbin/mount.curl}} ファイルを作成: {{hc|/sbin/mount.curl|<nowiki> #!/bin/sh curlftpfs $1 $2 -o $4,disable_eprt </nowiki>}} 以下の内容で {{ic|/sbin/umount.curl}} ファイルを作成 {{hc|/sbin/umount.curl|<nowiki> #!/bin/sh fusermount -u $1 </nowiki>}} 両方のファイルのパーティションを設定: # chmod 755 /sbin/mount.curl # chmod 755 /sbin/umount.curl 再起動後 {{ic|/media/ftp/servername}} から FTP サーバーにアクセスできるようになっているはずです。 ==== リモート SSH ==== 以下は AutoFS を使って [[SSH]] 経由でリモートサーバーのファイルシステムにアクセスする手順です。 {{Note|パスワードを使わない認証は便利なだけでなくセキュリティ的に安全でもあります。詳しくは [[SSH 鍵]]を参照。}} {{Pkg|sshfs}} パッケージをインストールしてください。 {{ic|fuse}} モジュールをロード: # modprobe fuse システムが起動するたびにモジュールがロードされるように {{ic|/etc/modules-load.d/fuse.conf}} ファイルを作成して {{ic|fuse}} と記述してください。 {{Pkg|openssh}} をインストールしてください。 [[SSH 鍵]]を生成: $ ssh-keygen パスフレーズが要求されたら、{{ic|ENTER}} を押してください。パスフレーズを設定しないで SSH 鍵を使用するのはセキュリティ的には問題がありますが、パスフレーズを設定して AutoFS を使うのは難しいためここでは避けます。 そして、リモートの SSH サーバーに公開鍵をコピー: $ ssh-copy-id username@remotehost root で、パスワードを入力しなくてもリモートサーバーにログインできることを確認: # ssh username@remotehost {{Note|上記のコマンドで root の {{ic|known_hosts}} リストにリモートサーバーが追加されます。ホストは手動で {{ic|/etc/ssh/ssh_known_hosts}} に追加することもできます。}} {{ic|/etc/autofs/auto.master}} に SSH サーバーのエントリを作成: /media/ssh /etc/autofs/auto.ssh --timeout=60 {{ic|/etc/autofs/auto.ssh}} ファイルを作成して SSH サーバーを追加: {{hc|/etc/autofs/auto.ssh|2= servername -fstype=fuse,rw,allow_other,IdentityFile=/home/username/.ssh/id_rsa :sshfs\#username@host\:/ }} 再起動後 {{ic|/media/ssh/servername}} から SSH サーバーにアクセスできるようになっているはずです。 == MTP == Android デバイスでは Media Transfer Protocol ([[MTP]]) が使われます。 {{Pkg|mtpfs}} パッケージをインストールしてください。 {{ic|/etc/autofs/auto.misc}} に MTP デバイスのエントリを追加: android -fstype=fuse,allow_other,umask=000 :mtpfs == トラブルシューティング == このセクションでは AutoFS に関するよくある問題の解決方法を載せています。 === NIS を使用 === AutoFS のバージョン 5.0.5 には [[NIS]] の高度なサポートが含まれています。AutoFS で NIS を使うには、{{ic|/etc/autofs/auto.master}} でテンプレートの名前の前に {{ic|yp:}} を追加してください: /home yp:auto_home --timeout=60 /sbtn yp:auto_sbtn --timeout=60 +auto.master バージョン 5.0.5 以前の NIS を使っている場合、{{ic|/etc/nsswitch.conf}} に {{ic|nis}} を追加してください: automount: files nis === 任意のパラメータ === {{ic|timeout}} などのパラメータは {{ic|/etc/default/autofs}} でシステム全体に適用するように設定できます: * {{ic|/etc/default/autofs}} ファイルを開いて {{ic|OPTIONS}} 行を編集: OPTIONS='--timeout=5' * ログ出力を有効にするには (デフォルトでは何もログが記録されません)、{{ic|/etc/default/autofs}} の {{ic|OPTIONS}} 行をアンコメントして {{ic|--verbose}} を追加してください: OPTIONS='--verbose --timeout=5' {{ic|autofs}} デーモンの再起動後、{{ic|systemctl status}} や {{ic|journalctl}} でログが確認できるようになります。 === 複数のデバイスを認識 === USB ドライブ/スティックを複数使用する場合、AutoFS を使ってマウントポイントを設定して [[Udev]] で USB ドライブごとに名前を付けることができます。Udev ルールの設定方法については [[udev#固定デバイス名の設定]] を見て下さい。 === AutoFS のパーミッション === AutoFS が機能しない場合、テンプレートファイルのパーミッションが正しいことを確認してください。パーミッションが間違っていると AutoFS は起動しません。設定ファイルをバックアップしたときにファイルモードを保持してなかった場合に起こりえます。設定ファイルの正しいモードは以下の通りです: *0644 - /etc/autofs/auto.master *0644 - /etc/autofs/auto.media *0644 - /etc/autofs/auto.misc *0644 - /etc/conf.d/autofs 通常、スクリプト (先の {{ic|auto.net}} など) には実行可能属性 ({{ic|chmod a+x filename}}) が必要で、マウントのリストには必要ありません。 {{ic|/var/log/daemon.log}} に以下のようなエラーが出力される場合、パーミッションに問題があります: May 7 19:44:16 peterix automount[15218]: lookup(program): lookup for petr failed May 7 19:44:16 peterix automount[15218]: failed to mount /media/cifs/petr === fusermount の問題 === util-linux の特定のバージョンでは、"user=" オプションを使用しても autofs でマウントした fuse ファイルシステムドライブをアンマウントすることができません。次の URL を参照: http://fuse.996288.n3.nabble.com/Cannot-umount-as-non-root-user-anymore-tp689p697.html === 自動マウントの問題のデバッグ === 効率的にデバッグするために、フォアグラウンドで自動マウントを実行してみてください: # systemctl stop autofs.service # automount -f -v もしくは、デバッグ情報をもっと表示させたい場合: # automount -f --debug == AutoFS の代替 == * [[Systemd]] は必要に応じてファイルシステムを自動マウントすることができます。説明は [[Fstab#systemd による自動マウント]] を、例は [[Sshfs#必要に応じてマウント]] を見て下さい。 * [[Thunar#Thunar Volume Manager|Thunar Volume Manager]] は [[Thunar]] ファイルマネージャの自動マウントシステムです。 * [[PCManFM]] はリモート共有にアクセスすることができる軽量なファイルマネージャです。 * [[Udisks]] は最小主義の自動ディスクマウントサービスです。 == 参照 == * AutoFS で FTP と SFTP を使用する方法は Gentoo Wiki の記事を元にしています: https://web.archive.org/web/20130414074212/http://en.gentoo-wiki.com/wiki/Mounting_SFTP_and_FTP_shares * SSH に関する詳細は [[SSH]] や [[SSH 鍵]]のページを見て下さい。 * Ubuntu の Autofs ヘルプ wiki: https://help.ubuntu.com/community/Autofs * ファイルシステムごとのマウントオプションについては http://manpages.ubuntu.com/manpages/natty/en/man8/mount.8.html#contenttoc5 を参照。 * fuse のマウントオプションについては http://manpages.ubuntu.com/manpages/precise/man8/mount.fuse.8.html を参照。
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Autofs
に戻る。
検索
検索
Autofsのソースを表示
話題を追加