
Wine で実行している VB6 アプリケーションがあります。そのアプリケーションは mdb データベースを使用しますが、mdb ファイルは Windows 共有 (Iomega StorCenter) にあります。fstab 経由で共有をマウントし、Wine 経由で文字 "d:" を割り当てます。アプリケーションを実行すると、mdb ファイルをロックできない (ロック ファイルを作成できない) ため、例外が発生します。
私が使用する fstab 行は次のとおりです。
//IomegaStorCenter/public/Server /home/jmm/Iomega cifs,uid=wine,gid=users,fmask=7777,dmask=0777,iocharset=utf8,codepage=unicode, unicode 0 0
例外を回避するために共有をマウントする方法を知っている人はいますか?
答え1
と同様にumask
、fmask
およびdmask
は減算された777 から有効な許可を取得します。つまり、実際には共有を 000 としてマウントし、「誰も読み取り、書き込み、実行できない」ことを意味します。
また、本当にそれほど多くのカスタム構成オプションが必要ですか? これが自宅のコンピューターである場合、次のことをお勧めします:
//IomegaStorCenter/public/Server /home/jmm/Iomega cifs defaults,uid=jmm,gid=plugdev,umask=022
jmm
はあなたのユーザー名だと思います。そうでない場合は、それに応じて変更してください。また、強くあなたに提案するないホーム ディレクトリにドライブをマウントします。ルートとして/mnt/iomega
ディレクトリを作成し、そこにマウントします。必要に応じて、ホーム フォルダにそこを指すシンボリック リンクを作成します。ターミナルでのコマンドは次のようになります。
sudo mkdir -p /mnt/iomega
そして、fstab エントリは次のようになります。
//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw
トラブルシューティング
これがうまくいかなかった場合は、最初からやり直して、抜け穴がないか確認してみましょう。
1 - IomegaStorCenterに関するすべての行をfstabから削除します。再起動します。
2 - Nautilus > ネットワーク > Windows ネットワーク > ワークグループ (またはワークグループの名前) を使用して、ドライブが表示されるかどうかを確認します。ダブルクリックします。
3 - ユーザー名/パスワードを要求されますか?それらを知っていますか?それらは機能し、nautilisは共有フォルダを表示しますか?(注:これはないUbuntuのユーザー名/パスワード。共有ログイン/パスワード(IomegaStorCenterで以前に設定した可能性がある)
4 - Nautilus を引き続き使用する場合、ドラッグ アンド ドロップしてファイルを作成できますか? ファイルを編集したり、名前を変更したり、削除したりできますか?
はいの場合、問題は fstab だけです。そうでない場合は、Nautilus 経由で適切にアクセスできるようになるまで、IomegaStorCenter を構成する必要があります。
5 - Nautilus でドライブをアンマウントします (「取り出し」ボタンを使用します)
次にターミナルで実行します (GUI/Nautilus 経由でも実行できますが、ターミナルでコピー アンド ペースト コマンドを使用する方が高速で、エラーも少なくなります)。
6 - 古いマウントポイントを削除します。それをする前に空であることを確認してください
rmdir /home/jmm/Iomega
7 - 新しいマウントポイントと、古い場所から新しい場所へのシンボリックリンクを作成します。
sudo mkdir -p /mnt/iomega
ln -s /mnt/iomega /home/jmm/Iomega
8 - 共有にパスワードが必要かどうかに応じて、次の行の 1 つ (両方ではありません) を fstab に追加します。
//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw,username=YOURSHAREUSER,password=YOURPASSWORD 0 0
//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw 0 0
9 - マウントして、エントリが正常かどうかをテストします。
sudo mount /mnt/iomega
10 - nautilus を開き、/mnt/iomega に移動していくつかのファイルをコピーしてみます。編集、削除などを行います。
動作する場合は、問題ありません。動作しない場合は、ターミナルを使用してファイルをコピーし、エラー メッセージをここに貼り付けてください。またls -la /mnt/iomega
、sudo mount
と入力して結果を貼り付けてください。
11 - 次に、Wine 設定に移動し、D: が新しい正しい場所 /mnt/iomega を指していることを確認します。また、nautilus を使用して参照し/home/jmm/.wine/dosdevices/d:
、正しい場所であるかどうかを確認します。
12 - VB アプリをテストして満足しましょう :)
答え2
fstabでこの行を使用します
//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,mode=0777,dir_mode=0777 0 0
どこ
server = your server that you are trying to access
share = mapped share on that server
/mnt/mountname = any folder that you created with sudo /mnt/<folder_name> (or any folder in your home that you can access
username = the name of the user on that server that can access the mount
password = the password for that user
その後、 でテストしsudo mount -a
、エラーが発生しない場合は、 を安全に再起動して、 にマウントされた共有を確認できます/mnt/<folder_name>
。
fstabのユーザー名とパスワードパラメータの代わりに資格情報ファイルを使用するには、ユーザー名とパスワードがfstabに明示的に表示されないように、これらの2行を含むファイルを作成します。
sudo nano /etc/cifspwd
これらの行をファイルに追加します
username=<username on server>
password=<password for that username>
Ctrl + x キーを押し、求められたら y を押してファイルを保存します。
それを固定する
sudo chmod 600 /etc/cifspwd
前の行の代わりにこの行を使用してください
//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,mode=0777,dir_mode=0777 0 0
この後、再起動しても安全になり、マウントがマウントされ、詳細が保護されるはずです。