web-dev-qa-db-ja.com

CIFS共有の自動マウント:システムの起動時のエラー

私のOSはLinuxMint18.1です。ホームネットにNASがあります。以前はfstabファイルを介してボリュームをマウントしていましたが、すべて問題ありませんでした。PCをアップグレードした後、マウントするパーティションをもう1つ追加しました(SSDに) 。そして、fstabに適切な自動マウント行を追加すると、問題が発生し始めました。

いろいろなオプションを試してみました。 PCが起動時にハングし、続行するにはデフォルトのfstabファイルを返さなければなりませんでした...ついにシステムが完全に起動を拒否し、LinuxMintを再インストールする必要がありました。

Fstabに関する私の問題:エラーメッセージを修正できません。そこで、/ etc /rc.localを使用してエラーを表示することにしました。私はそのようなコマンドをrc.localに追加しました:

mount -t ext4 -L Data /mnt/data
mount -t cifs -o credentials=/home/user/my-sys/.user,iocharset=utf8,file_mode=0775,dir_mode=0775 //192.168.0.100/Volume_1 /mnt/vol1 2> /home/user/mounterr.log

データパーティションは正常にマウントされています。 CIFSでエラーが発生します:マウントエラー(101):ネットワークに到達できません

このマウントコマンドを手動で起動すると、OKになります。 rc.local実行中のエラーの原因は何ですか?私は理解したいのですが、もう1つの方法(クローンなど)を使用するのではありません。

よろしく、ユーリー

1
drvlas

エラーmount error(101): Network is unreachableは、ネットワークが起動する前にマウントを試みたことを意味します。

これを修正するには、 _netdev オプションを/etc/fstabCIFSエントリに追加します。 _netdevは、ネットワークが接続されるまでマウントを遅らせることを意味します。

/etc/fstab行は次のようになります。

//192.168.0.100/Volume_1 /mnt/vol1 credentials=/home/user/my-sys/.user,iocharset=utf8,file_mode=0775,dir_mode=0775,_netdev 0 0

マウントに/etc/rc.localを引き続き使用するには、ネットワークが起動するまでループする新しいジョブを(ブロックを防ぐために)セットアップする必要があります。

From Ask Ubuntuのこの回答

(
until ping -nq -c3 W.X.Y.Z; do
   # Waiting for network
   sleep 1
done
mount -t cifs -o credentials=/home/user/my-sys/.user,iocharset=utf8,file_mode=0775,dir_mode=0775 //192.168.0.100/Volume_1 /mnt/vol1
)&

W.X.Y.Zを、ルーターゲートウェイなどのICMP要求に応答するIPアドレスに置き換えます。

1
Deltik