부팅시 원격 폴더 자동 마운트


1

시작할 때 우분투 컴퓨터에 Windows 폴더를 마운트하려고합니다. 이 페이지 따라 / etc / fstab을 수정하고 추가 하려고 시도 sshfs#my_user@remote_host:/path/to/directory <local_mount_point> fuse user 0 0했지만 실패했습니다. 시작할 때 마운트에 실패했다는 오류가 표시되고 S 키를 눌러 건너 뛰거나 M 키를 눌러 수동으로 복구 할 수 있습니다.

또한이 페이지를 다음 시도 여기에 추가, /usr/bin/sshfs -o idmap=user my_user@remote_host:/path/to/directory <local_mount_point>을 /etc/rc.local 파일에,하지만이 도움이 중 하나를하지 않는다; 우분투는 마운트하지 않고 정상적으로 부팅합니다.

Cygwin을 Windows 컴퓨터에 설치했으며 암호없이 sshing하고 수동으로 마운트하는 등 모든 것을 원활하게 실행할 수 있습니다. 또한 수정 된 rc.local 파일을 실행하려고 시도했지만 $ /etc/rc.local완벽하게 작동하지만 폴더를 시작할 때 마운트 할 수없는 것 같습니다.

누군가 나를 도울 수 있습니까?

편집 : 원격으로, 내 공용 컴퓨터가있는 Windows 컴퓨터에서 마운트하려고하는 폴더가 동일한 네트워크에 있지 않음을 의미했습니다. nfs가 아닌 sshfs를 사용하고 있습니다.


초기 답변에 편집으로 추가 한 내 아치 시스템에서 작동하는 솔루션이 당신에게도 효과가 있는지 확인해 주시겠습니까?
MariusMatutiae

답변:


0

우분투 컴퓨터에서 다음 줄을 추가하여 / etc / fstab을 수정했습니다.

 //192.168.xx.yy/Public /mnt/PUBNAS nfs rw,_netdev,credentials=/home/myname/.smbcredentials 0 0

.smbcredentials 파일은 매우 간단합니다.

 username=myusername                                                                            
 password=mypassword

편집하다:

sshfs를 사용하고 있다는 사실을 확인한 후 Arch Linux 위키 페이지에서 제안한 / etc / fstab 항목을 테스트했습니다 . 나 에게이 항목은 효과가 있었다.

USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs  defaults,_netdev  0  0

서버에 암호없이 액세스 할 수 있어야합니다 ( 예 : 암호화 키 사용). 나는 이것이 나의 초기 실수에 대한 보상을 바랍니다.

편집 2 :

명백하게 귀찮은 루트가 아닌 원격 폴더를 마운트하려면 / etc / fstab 줄을 다음과 같이 변경해야합니다.

 USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

그는 nfs가 아닌 sshfs를 사용하고 있습니다. 관련이 있습니다 _netdev.

물론 :) "_netdev"옵션이 나중에 일부 서비스에서 사용되어 네트워크가 설정된 후 해당 경로를 실제로 마운트하는지 알고 있습니까?

nfs가 아닌 sshfs를 사용하기 때문에 이것이 여전히 나와 관련이 있습니까? 또한 내 Windows 컴퓨터는 원격입니다. 동일한 네트워크에 없습니다.
앤드류

/ etc / fstab에 다음과 같은 줄을 포함하도록 수정 sshfs#my_user@remote_host:/path/to/directory <local_mount_point> fuse user,_netdev 0 0했지만 작동하지 않습니다. 그래도 그래픽 방법을 사용하고 왼쪽 패널에서 마운트 아이콘을 클릭하면 작동한다는 점을 강조하고 싶습니다. 이제 터미널을 통해 액세스 할 수 있습니다. 그러나 그래픽 방법을 사용하기 전에 터미널을 통해 액세스 할 수 없었습니다.
Andrew

또한, SSHFS 옵션을 포함 할 수있는 방법이 -o idmap=user/etc/fstab파일은? 로컬에서 탑재 된 폴더로 파일을 이동하면 mv: failed to preserve ownership메시지가 나타납니다.
앤드류

0

실제로 여기에서 귀하의 시나리오를 자세히 살펴 보았고 원래 만든 /etc/rc.local 파일에 실행 비트를 추가했는지 궁금합니다 (howtoforge.com 기사 끝 부분에서)

chmod +x /etc/rc.local

이제 재부팅하십시오.


$ ls -l /etc/rc.local -rwxr-xr-x 1 root root 497 Oct 29 18:07 /etc/rc.local andrew@Andrew-Ubuntu:~$ sudo chmod +x /etc/rc.local andrew@Andrew-Ubuntu:~$ ls -l /etc/rc.local -rwxr-xr-x 1 root root 497 Oct 29 18:07 /etc/rc.local 명령을 사용할 때 파일이 이미 실행 가능한 것처럼 보이지만 어쨌든 지금 다시 부팅하여 도움이되는지 확인하십시오.
Andrew

도움이되지 않습니다.
Andrew

0

부팅시 rc.local이 실행되고 있는지 확인할 수 있습니까? 그것에 무언가를 넣으십시오 :

echo 'test'>> /tmp/my.log

다음으로, 오류 출력이 있는지 확인하고 mount 명령에 추가하십시오.

&> /tmp/my.log

아마도 수동으로 파일을 실행할 때 커널이 실행하는 것과 다른 사용자로 파일을 실행하고있을 것입니다. 이 경우 STDERR에 메시지가 작성되며, 위의 구문을 명령에 추가하여 다른 곳으로 경로 재지 정하지 않으면 일반적으로 / var / log / messages에 표시됩니다.


제안한 작업을 완료했으며 재부팅 후 파일 /tmp/my.log이 생성되지만 비어 있습니다. test파일 안에 없으며 ls -l /tmp/my.log나에게 준다 -rw-r--r-- 1 root root 0 Oct 31 09:31 /tmp/my.log. 또한라는 파일이 없습니다 /var/log/messages.
Andrew

사용자가 / tmp /에 액세스 할 수없는 경우, chmod 777 폴더에 폴더를 넣고 파일을 터치하고 777을 chmod하고 파일에 로깅을 시도 할 수 있습니까?
JoshRibs

예, 부팅시 rc.local이 실행됩니다. 어쨌든, 나는 문제를 해결했다. 고맙습니다!
앤드류
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.