Wine + Microsoft Access + Windows Share

Wine + Microsoft Access + Windows Share

Ich habe eine VB6-Anwendung, die unter Wine läuft. Diese Anwendung verwendet eine MDB-Datenbank, aber die MDB-Datei befindet sich auf einer Windows-Freigabe (Iomega StorCenter). Ich mounte die Freigabe über fstab und weise ihr über Wine den Buchstaben „d:“ zu. Wenn ich die Anwendung ausführe, wird eine Ausnahme ausgelöst, weil sie die MDB-Datei nicht sperren kann (eine Sperrdatei erstellen).

Die von mir verwendete fstab-Zeile lautet:

//IomegaStorCenter/public/Server /home/jmm/Iomega cifs,uid=wine,gid=users,fmask=7777,dmask=0777,iocharset=utf8,codepage=unicode, unicode 0 0

Weiß jemand, wie ich die Freigabe mounten kann, um die Ausnahme zu vermeiden?

Antwort1

Wie bei umask, fmaskund dmasksindsubtrahiertvon 777, um die effektiven Berechtigungen zu erhalten. Sie mounten Ihren Share also tatsächlich als 000, was bedeutet: „Niemand kann lesen, schreiben oder ausführen“

Und brauchen Sie wirklich so viele benutzerdefinierte Konfigurationsoptionen? Wenn dies Ihr Heimcomputer ist, schlage ich Folgendes vor:

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

jmmist, nehme ich an, Ihr Benutzername. Wenn nicht, ändern Sie ihn entsprechend. Außerdemstarkempfehlen Sienichtum Laufwerke in Ihrem Home-Verzeichnis zu mounten. Erstellen Sie als Root /mnt/iomegadas Verzeichnis und mounten Sie es dort. Wenn Sie möchten, erstellen Sie einen symbolischen Link in Ihrem Home-Ordner, der dorthin zeigt. Der Befehl im Terminal wäre:

sudo mkdir -p /mnt/iomega

Und der fstab-Eintrag wäre dann:

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

Fehlerbehebung

Wenn das nicht funktioniert hat, versuchen wir es noch einmal von vorne, um zu prüfen, ob noch irgendwelche offenen Enden vorhanden sind:

1 - Löschen Sie alle Zeilen aus fstab, die das IomegaStorCenter betreffen. Starten Sie neu

2 - Verwenden Sie Nautilus > Netzwerk > Windows-Netzwerk > Arbeitsgruppe (oder wie auch immer Ihre Arbeitsgruppe heißt) und prüfen Sie, ob das Laufwerk angezeigt wird. Doppelklicken Sie darauf.

3 - Wird nach Benutzername und Passwort gefragt? Kennen Sie diese? Funktionieren sie und zeigt Nautilis die freigegebenen Ordner an? (Hinweis: Dies istnichtIhr Ubuntu-Benutzername/Passwort.Es ist dasAktieBenutzername/Passwort, das Sie möglicherweise zuvor in IomegaStorCenter konfiguriert haben

4 – Sie verwenden immer noch Nautilus. Können Sie dort Dateien per Drag & Drop erstellen? Sie bearbeiten, umbenennen, löschen usw.?

Wenn ja, ist fstab Ihr einziges Problem. Wenn nicht, müssen Sie IomegaStorCenter konfigurieren, bevor Sie fortfahren, bis Sie über Nautilus ordnungsgemäß darauf zugreifen können.

5 - Hängen Sie das Laufwerk in Nautilus aus (verwenden Sie die Schaltfläche „Auswerfen“)

Jetzt im Terminal (es kann über GUI/Nautilus erfolgen, aber der Kopier-und-Einfügebefehl im Terminal ist schneller und weniger fehleranfällig):

6 – Löschen Sie den alten Einhängepunkt.Stellen Sie sicher, dass es leer ist, bevor Sie das tun

rmdir /home/jmm/Iomega 

7 - Erstellen Sie den neuen Einhängepunkt und einen symbolischen Link vom alten zum neuen Speicherort.

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

8 – Fügen Sie eine (aber nicht beide) dieser Zeilen zu fstab hinzu, je nachdem, ob Ihre Freigabe ein Passwort benötigt oder nicht:

//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 - Montieren Sie es, um zu testen, ob der Eintrag in Ordnung ist:

sudo mount /mnt/iomega

10 - Öffnen Sie Nautilus, gehen Sie zu /mnt/iomega und versuchen Sie, einige Dateien zu kopieren. Bearbeiten, löschen usw.

Wenn es funktioniert, großartig. Wenn nicht, versuchen Sie, Dateien über das Terminal zu kopieren und die Fehlermeldung hier einzufügen. Geben Sie außerdem ein ls -la /mnt/iomegaund sudo mountfügen Sie die Ergebnisse ein.

11 - Gehen Sie nun zur Wine-Konfiguration und stellen Sie sicher, dass D: auf den neuen, richtigen Speicherort /mnt/iomega verweist. Verwenden Sie auch Nautilus, um zu navigieren /home/jmm/.wine/dosdevices/d:und zu prüfen, ob es der richtige Speicherort ist.

12 – Testen Sie Ihre VB-App und seien Sie glücklich :)

Antwort2

Verwenden Sie diese Zeile in Ihrer fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,mode=0777,dir_mode=07‌​77 0 0

Wo

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

Anschließend können Sie mit testen sudo mount -a. Wenn keine Fehler auftreten, können Sie sicher neu starten, um Ihre in bereitgestellten Freigaben vorzufinden /mnt/<folder_name>.


Um eine Datei mit Anmeldeinformationen anstelle der Benutzernamen- und Kennwortparameter in der fstab zu verwenden, können Sie eine Datei mit diesen beiden Zeilen erstellen, sodass Ihr Benutzername und Ihr Kennwort nicht explizit in der fstab angezeigt werden

sudo nano /etc/cifspwd

Fügen Sie diese Zeilen zur Datei hinzu

username=<username on server>
password=<password for that username>

Drücken Sie die Tasten Strg+X und wenn Sie dazu aufgefordert werden, drücken Sie Y, um die Datei zu speichern.

Sichern Sie es mit

sudo chmod 600 /etc/cifspwd

Verwenden Sie diese Zeile anstelle der vorherigen

//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,mode=0777,dir_mode=07‌​77 0 0

Danach ist ein sicherer Neustart möglich. Ihr Mount sollte gemountet und Ihre Daten gesichert sein.

verwandte Informationen