Wine + Microsoft Access + Windows Share

У меня есть приложение VB6, работающее на Wine. Это приложение использует базу данных mdb, но файл mdb находится в общей папке Windows (Iomega StorCenter). Я монтирую общий ресурс через fstab и назначаю букву "d:" через Wine. Когда я запускаю приложение запускает исключение, потому что оно не может заблокировать файл 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
задан 17 March 2012 в 01:55

2 ответа

Как и в umask, fmask и dmask вычтены из 777, чтобы получить эффективные разрешения. Таким образом, вы фактически монтируете свою долю как 000, что означает «никто не может читать, писать или выполнять»

Кроме того, вам действительно нужно так много пользовательских параметров конфигурации? Если это ваш домашний компьютер, я предлагаю следующее:

//IomegaStorCenter/public/Server /home/jmm/Iomega cifs defaults,uid=jmm,gid=plugdev,umask=022

jmm, я полагаю, это ваше имя пользователя. Если нет, измените соответственно. Кроме того, я настоятельно предлагаю вам не монтировать диски в вашем домашнем каталоге. В качестве пользователя root создайте каталог /mnt/iomega, а затем смонтируйте его там. Если вы хотите, создайте символическую ссылку в вашей домашней папке, указывая там. Команда в терминале будет выглядеть следующим образом:

sudo mkdir -p /mnt/iomega

И запись в fstab будет:

//IomegaStorCenter/public/Server /mnt/iomega cifs defaults,rw

Устранение неполадок

Если это не так Для начала попробуем с самого начала просто проверить, есть ли свободные концы:

1 - Удалить все строки из fstab, касающиеся IomegaStorCenter. Перезагрузите

2 - Используйте Nautilus> Сеть> Сеть Windows> Рабочая группа (или как там называется ваша рабочая группа) и посмотрите, показывает ли диск. Дважды щелкните по нему.

3 - Запрашивается ли имя пользователя / пароль? Ты их знаешь? Работают ли они и наутились ли показывать общие папки? (примечание: это не ваше имя пользователя / пароль в Ubuntu. Это логин / пароль share , которые вы могли предварительно настроить в IomegaStorCenter

4 - Stil, используя nautilus) , можете ли вы перетаскивать и создавать файлы там? Редактировать их, переименовывать, удалять и т. д.

Если да, то fstab - ваша единственная проблема. Если нет, то вы должны настроить IomegaStorCenter перед тем, как продолжить, до тех пор, пока может получить к нему доступ через Nautilus.

5 - Размонтировать диск в Nautilus (используйте кнопку «Извлечь»)

Теперь в терминале (это можно сделать через GUI / Nautilus, но копировать - Команда and-paste в терминале работает быстрее и менее подвержена ошибкам):

6 - удалить старую точку монтирования. УБЕДИТЕСЬ, ЧТО ЭТО ПУСТО ПЕРЕД ВАМИ

rmdir /home/jmm/Iomega 
[ 1132] 7 - создать новую точку монтирования и символическую ссылку из старого местоположения в новое

sudo mkdir -p /mnt/iomega
ln -s /mnt/iomega /home/jmm/Iomega

8 - добавить одну (но не обе) из этих строк в 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 - монтировать его, т o проверьте, в порядке ли enty:

sudo mount /mnt/iomega

10 - Откройте nautilus, перейдите в / mnt / iomega и попробуйте скопировать некоторые файлы. Редактировать, удалять и т. Д.

1136 Если это работает, отлично. Если нет, попробуйте скопировать файлы с помощью терминала и вставить сюда сообщение об ошибке. также введите ls -la /mnt/iomega, sudo mount и вставьте результаты.

11 - Теперь перейдите в конфигурацию Wine и убедитесь, что D: указывает на новое правильное местоположение / mnt / iomega. Также используйте nautilus, чтобы перейти к /home/jmm/.wine/dosdevices/d: и посмотреть, если это правильное местоположение.

12 - Протестируйте ваше приложение на VB и будьте счастливы:)

0
ответ дан 17 March 2012 в 01:55

Используйте эту строку в вашем fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,mode=0777,dir_mode=07‌​77 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

[ 117]

Добавьте эти строки в файл

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=07‌​77 0 0

После этого будет безопасно перезагрузиться, и вы должны смонтировать монтирование и закрепить ваши данные.

0
ответ дан 17 March 2012 в 01:55

Другие вопросы по тегам:

Похожие вопросы: