Ubuntu 14.04 で /etc/fstab を使用して外付けハードドライブをマウントする際の問題

Ubuntu 14.04 で /etc/fstab を使用して外付けハードドライブをマウントする際の問題

これを正常に動作させるのに約 2 日間かかりました。以下のことをすべて試しましたが、まだうまくいきません。

Ubuntu 14.04 LTS デスクトップを使用して、ネットワーク上にある 2 TB の Seagate Central に自動的に永続的にマウントしようとしており、cifs開始する前にすべてをアップデートしました。

/etc/fstabルートとして次の行を追加しました:

#Mapping network drive
//Ip-address/media/videos  /media/storage cifs username=username,password=password,iocharset=utf8,sec=ntl

また、IP アドレスを名前に置き換えました。これは最も安全な方法ではないことはわかっていますが、この Ubuntu デスクトップを使用しているのは私だけなので、資格情報ドキュメントの方法も試しましたが、うまくいきませんでした。

ターミナルで:

sudo mount -a

mount error(22): Invaild argument
refer to mount.cifs(8) manual page (e.g. man mount.cifs)

それを見た後、私は次のことを試しました:

sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage 

次に、ネットワーク ストレージへのパスワードの入力を求められ、正しく入力します。

Error:
mount error(115): operation now in progress  
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)

一度は動作するようになりましたが、その後 Ubuntu を再インストールする必要があり、動作を回復できないようです。

私はさまざまなビデオやフォーラムを調べ、外付けハードドライブ上のメディア フォルダーを表示できるように Plex サーバーを設定できるようにこれを行っています。

以下のリンク/ビデオを読んで視聴しましたが、効果はありませんでした[助けてください!]:

答え1

最初に発生したエラーは、 というものが存在しないために発生しますsec=ntl。使用可能なオプションは次のとおりです ( からman mount.cifs):

秒=

セキュリティ モード。許可される値は次のとおりです。

  • なし - ヌルユーザー(名前なし)として接続を試みる

  • krb5 - Kerberos バージョン 5 認証を使用する

  • krb5i - Kerberos 認証を使用し、パケット署名を強制的に有効にする

  • ntlm - NTLM パスワードハッシュを使用する

  • ntlmi - NTLM パスワードハッシュを使用し、パケット署名を強制する

  • ntlmv2 - NTLMv2 パスワードハッシュを使用する

  • ntlmv2i - NTLMv2 パスワードハッシュを使用し、パケット署名を強制する

  • ntlmssp - Raw NTLMSSP メッセージにカプセル化された NTLMv2 パスワード ハッシュを使用します

  • ntlmsspi - Raw NTLMSSP メッセージにカプセル化された NTLMv2 パスワード ハッシュを使用し、パケット署名を強制します。

fstabしたがって、上記のいずれかを使用する場合、最初のアプローチ ( を使用) が機能する可能性があります。おそらく、 が必要だったのでしょうsec=ntlm


エラーについては115このとても素晴らしいガイドGentoo フォーラムで、ぜひ読んでいただきたい内容があります。基本的には、次のような行を/etc/hostsファイルに追加することを提案しています (192.168.1.12ドライブの IP に変更します)。

192.168.1.12    Seagate-XXXXX

Seagate-XXXXXそれが完了したら、 IP の代わりに を使って接続できるようになります。このページには、その他のトラブルシューティングのヒントもいくつか記載されています (smbtree共有が実際に利用可能かどうかを確認するため を使用するなど)。ぜひ読んでみてください。

答え2

/etc/rc.local にマウント コマンドを追加してみましたか? /etc/rc.local は、起動時に root によって実行されるファイルで、通常は何も行いません。ただし、これを編集して独自のものを追加できます。すでに存在する「exit 0」コマンドを、実行したいコマンドの下に移動するようにしてください。

これが、起動時に USB 接続された外部デバイスを自動マウントする方法です。次のコマンドでマウント ポイントを作成します。

sudo mkdir /mnt/foo

ここで、foo は任意の名前です。次に、/etc/rc.local を編集し、exit コマンドの上の任意の行にマウント コマンドを追加します。この方法でマウントすると、私の経験ではほとんどのデスクトップ環境では外部デバイスとして検出されなくなるため、小さなアイコンは表示されず、ドライブを参照するには、実際に /mnt/foo に移動してブックマークする必要があります。

fstab の編集でさまざまな問題が発生した後、rc.local で自動マウントを開始しました。お役に立てれば幸いです。:-)

編集:

rc.local ファイルの全内容を以下に示します。私が行ったことを皆さんに知っていただくために、共有しようと思いました。ただし、rc.local を保存して再起動する前に、マウント コマンドで指定したマウント ポイントが実際に作成されていることを確認してください。また、ここでのコマンドに「sudo」を追加する必要はありません。これらは root ユーザーによって実行されます。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#Mounts Storage
mount /dev/sdb1 /mnt/Storage

exit 0

答え3

すぐに回答していただきありがとうございます。

最初のエラーではmが抜けていたのでコードは次のようになります

#Mapping network drive
//Ip-address/media/videos/media/storage cifs username=username,password=password,iocharset=utf8,sec=ntlm 0 0

だから今走ると

sudo mount -a
mount error(115): operation now in progress  
Refer to mount.cifs(8) manual page (e.g. man mount.cifs)

そして私が試してみると

sudo mount.cifs //Seagate-XXXXX/Media/videos /media/storage --verbose 
Password for root@//Segate-XXXX/Media/videos:
mount.cifs kernel mount options: ip=198.105.251.210,unc=\\SEAGATE-XXXXX\Media,user=root,prefixpath=videos,pass=*******
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

ドライブが見えるということは分かっています

user@myserver: ~$ smbtree -b -N
WORKGROUP
        \\SEAGATE-XXXXX                      Seagate Centeral Shared Storage
        \\XXXXXXX-TIME-CA                    XXXXXX's Time Capsule
        \\MYSERVER                           myserver server (Samba, Ubuntu)
                 \\MYSERVER\IPC$             IPC service (myserver server (Samba, Ubuntu))
                 \\MYSERVER\print$           Printer Drivers

ネットワークドライブは表示されますが、これもパスワードで保護されたドライブなので、USERとPUBLICのフォルダーが表示されるとは思っていませんでした。

それで、私はさらに迷ってしまいました。何か提案はありますか?

答え4

sudo mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777

私の場合はGoFlex Seagateと2つのセントラルで動作しますが、IPSのホストファイルに追加しました

簡単なこと:

ユーザー名とパスワードを使用してNASのWebインターフェースにログインできますか?

//Seagate-XXXXX/Media/videos

これは正しいパス名ですか?私の場合、プライベートディレクトリにあるものはすべて

//Seagate-XXXXX/username/Media/videos

あなたの Ubuntu ユーザーは//media/storageディレクトリへのフルアクセス権を持っていますか?

最後に、ファイルとディレクトリモードを覚えておいてください。Ubuntuはこれらにこだわりがあるようですが、Crunchbangはそうではありませんでした。

私は、基本的にマウント コマンドを含む実行可能なテキスト ファイルである/etc/rc.localスクリプトと呼ばれるものだけを実行しました。nas.sh

#!/bin/bash
mount -t cifs '//Seagate-XXXXX/Media/videos' //media/storage -o username=username,password=password,uid=1000,gid=1000,iocharset=utf8,sec=ntlm,file_mode=0777,dir_mode=0777

関連情報