私は実行しようとしています:
Sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgres,file_mode=0660,dir_mode=0770
ただし、次のエラーが発生し続けます。
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
何が間違っていますか?
間違ったURLを使用していました。 //user.my-backup.com/backup
になっているはずです
多分これはこれに役立ちます、mount error(22): Invalid argument
...可能性のあるエラーは、mountコマンドの引数/ s(モード)です。
発生したエラーのログを確認してください。
tail -f /var/log/kern.log
無効な引数を削除します
Arch Linuxでも同じ問題が発生しましたが、このメッセージがログに記録されています。
kernel: CIFS VFS: cifs_mount failed w/return code = -22
私にとっての解決策は、cifsの古いバージョンを指定することでした(デフォルトでは3.0):
/etc/fstab
:
//my-router/share /media/share cifs ver="2.1",rw,soft,uid=ele,gid=ele,file_mode=0770,dir_mode=0770,credentials=/etc/router-credentials.conf 0 0
私の場合、この問題はシンボリックリンクでいっぱいのディレクトリをマウントしたために発生しました。 Windowsでシンボリックリンクを調べた後、「実際の」パスを取得し、代わりにそれらをマウントしました。
SMBのバージョン情報を追加して、問題を解決できます。私がやったことは、vers = 1.0を追加したことです。これは、すべてのsmbドライバーで動作するSMBバージョン1です。あなたの場合、それは次のようになります
Sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,vers=1.0,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgre ,file_mode=0660,dir_mode=0770
別の考えられる原因は、sec=ntlm
に/etc/fstab
が存在することであり、SMB3などの新しいSMBプロトコルとの非互換性です。
OPの場合ではありませんが、これは古いサーバーをアップグレードした後のように、mount error(22): Invalid argument
エラーを引き起こす可能性もあります。
kern.log
にはspecify vers=1.0 on mount
への提案が含まれていますが、代わりにsec=ntlm
を削除または変更する方が安全です。おそらくデフォルトを使用して、SMBバージョンとセキュリティの自動ネゴシエーションを許可するか、vers=3.0,sec=ntlmssp
などの互換性のあるオプションを指定します。
これは明らかにあなたのSMBサーバーの機能に依存しますが、必要でない限りvers=1.0
を避けるようにします。
Jessie Debianにアップグレードした後、パッケージが変更されている必要があります。次のfstab
マウントからguid=0
を削除しましたが、すべて正常に機能しました。
//x.x.x.x/General/ /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0