
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 - 사용자 이름/비밀번호를 묻나요? 당신은 그들을 알고 있나요? 작동하고 노틸리스가 공유 폴더를 표시합니까? (참고: 이것은~ 아니다귀하의 우분투 사용자 이름/비밀번호입니다.공유하다이전에 IomegaStorCenter에서 구성했을 수 있는 로그인/비밀번호
4 - 여전히 노틸러스를 사용하고 있는데 거기에 파일을 끌어서 놓거나 생성할 수 있습니까? 편집하고, 이름을 바꾸고, 삭제하는 등의 작업을 수행하시겠습니까?
그렇다면 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 - 공유에 비밀번호가 필요한지 여부에 따라 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 - 노틸러스를 열고 /mnt/iomega로 이동하여 일부 파일을 복사해 봅니다. 편집, 삭제 등
작동한다면 좋습니다. 그렇지 않은 경우 터미널을 사용하여 파일을 복사하고 여기에 오류 메시지를 붙여넣어 보십시오. 또한 을 입력 ls -la /mnt/iomega
하고 sudo mount
결과를 붙여넣습니다.
11 - 이제 Wine config로 이동하여 D:가 새롭고 올바른 위치인 /mnt/iomega를 가리키는지 확인하세요. 또한 노틸러스를 사용하여 /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
그런 다음 재부팅해도 안전하며 마운트를 마운트하고 세부 정보를 보호해야 합니다.