네트워크 공유를 "마운트"하지 않고 한 Linux 워크스테이션에서 다른 Linux 워크스테이션으로 파일에 대한 심볼릭 링크를 만들려고 합니다. 다음은 내가하려는 일이지만 제대로 작동하지 않습니다.
ln -s /link/to/local/file.mov //10.0.1.103/sharedFolder/symlinkFile.mov
답변1
당신은 할 수 없습니다:
심볼릭 링크는 단지 추가 기능일 뿐입니다.인덱스 노드(파일을 가리키는 구조), inode는 deviceId
a와 로 구성됩니다 inode pointer
. 디렉토리의 장치 특수 파일과 해당 장치의 블록을 효과적으로 deviceId
가리킵니다 ./dev
inode pointer
귀하의 네트워크 위치에는 네트워크 위치 10.0.1.103
가 없고 가질 수도 없으므로 deviceId
( 에 없음 /dev
) 네트워크 위치에 대한 심볼릭 링크를 가질 수 없습니다.
반면에 마운트된 네트워크 공유에는 하나가 있으므로 deviceId
마운트된 위치에 대한 심볼릭 링크를 생성할 수 있습니다.
답변2
Windows에는 컴퓨터에 있는 파일이 전달된다는 것을 의미하는 특수 구문이 있습니다.\\MACHINE\DIRECTORY…\FILE
\DIRECTORY…\FILE
\\MACHINE
중소 기업규약. 이는 운영 체제에 내장되어 있으며 하나의 네트워크 프로토콜에만 적용됩니다.
Linux에는 다음 개념을 기반으로 하는 유연한 파일 시스템이 있습니다.설치하다. 파일 시스템은 기존 디렉터리에 연결되며 관리자는 디렉터리 계층 구조를 정렬하는 방법을 선택할 수 있습니다. 자세한 배경 정보를 보려면 다음을 읽어보세요.Linux에서 장치를 마운트한다는 것은 무엇을 의미합니까?,Linux 파일 시스템이 단일 디렉터리 트리로 설계된 이유는 무엇입니까?그리고일반적인 Linux 시스템에는 어떤 마운트 지점이 있습니까?. Linux는 다음을 포함하여 다양한 네트워크 파일 시스템(즉, 한 시스템이 다른 시스템의 파일에 액세스할 수 있도록 하는 파일 시스템)을 지원합니다.네트워크 파일 시스템, 중소 기업,SSHFS, 등.
SMB가 Windows인 것처럼 NFS는 Linux의 기본 네트워크 파일 시스템으로 간주될 수 있습니다. 그러나 Linux는 기본적으로 파일을 내보내지 않습니다. NFS 서버를 설치해야 합니다. NFS 서버는 모든 Linux 배포판에서 사용할 수 있지만 일부 설정이 필요합니다(파일로 내보낼 디렉터리를 등록해야 함)/etc/exports
). 더욱이 NFS는 로컬 네트워크의 공격자가 신경 쓰지 않는 보다 온건한 시대에 탄생했으며 이를 보호하려면 방화벽에 대한 어느 정도 지식이 필요하며 이는 이 답변의 범위를 벗어납니다. /some/where
원격 컴퓨터의 디렉터리를 foo.example.com
해당 위치에서 사용할 수 있도록 하려면 /local/dir
(기존 디렉터리여야 함) 원격 컴퓨터에서 해당 디렉터리를 내보냈다고 가정하고 루트로 다음 명령을 실행합니다.
mount foo.example.com:/some/where /local/dir
아무런 설정 없이 원격 파일에 액세스하는 쉬운 방법은 SSHFS를 이용하는 것입니다. 원격 시스템에 SSH 서버를 설치하고 sshfs
로컬 시스템에 패키지를 설치하기만 하면 됩니다. 또한 키를 생성해야 합니다(참조:비밀번호 없는 로그인을 달성하는 방법), 비록 당신은 그렇지 않지만가지다매번 비밀번호를 입력해도 괜찮다면 이렇게 하세요. SSH는 원격 컴퓨터에서 명령을 실행하는 데에도 유용합니다. 해당 위치 (기존 디렉터리여야 함)에서 SSHFS를 통해 사용할 수 있는 /some/where
원격 시스템의 디렉터리를 만들려면 다음 명령을 일반 사용자로 실행합니다.foo.example.com
/local/dir
sshfs foo.example.com:/some/where /local/dir
Linux는 SMB 프로토콜용 서버 또는 클라이언트가 될 수 있습니다(다른 프로토콜만큼 통합되지는 않지만 Windows 시스템 및 다른 Linux 시스템과도 통신).삼바소프트웨어.
당신은 설정할 수 있습니다자동 설치 프로그램(예 autofs
: ) 특정 디렉토리에 액세스하면 특정 원격 시스템의 디렉토리가 자동으로 마운트됩니다. 예를 들어, 일반적인 구성에서는 autofs 파일 시스템이 디렉토리에 마운트되고 /net
액세스하면 원격 디렉토리가 해당 위치에 NFS 마운트됩니다(그리고 일정 기간 동안 활동하지 않으면 마운트 해제됩니다). 물론 원격 컴퓨터에는 NFS 서버가 설정되어 있어야 하며 연결이 허용되어야 합니다./net/MACHINE/DIRECTORY
/DIRECTORY
/net/MACHINE
SSHFS를 사용하여 자동 설치 프로그램을 설정할 수 있습니다. 바라보다Fuse 및 Autofs를 사용하여 Linux에서 완전히 원활한 SSHFS 구현그리고autofs와 sshfs – 완벽한 조합간단히 말해서:
- 설치
autofs
하고sshfs
. 다음 행을 추가하십시오
/etc/auto.master
./mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
두 개의 1000을 사용자 ID와 그룹 ID로 바꿉니다(이 값을 실행
id -u
하고id -g
표시). 디렉토리를 생성합니다/mnt/sshfs
./etc/auto.sshfs
다음 줄을 포함하는 파일을 만듭니다 .machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
여기서
machinename.example.com
는 원격 컴퓨터의 호스트 이름(또는 IP 주소)이고machinename
로컬로 액세스하려는 경로입니다/mnt/sshfs/machinename
.
자동 SSHF더욱 편리한 autofs+sshfs 설정을 제공합니다.
마지막으로 기호 부분에 대해 설명합니다. 존재하지 않는 경로를 가리키는 기호 링크를 만들 수 있습니다. 심볼릭 링크는 두 번째 인수이므로 다음과 같은 것이 필요합니다.
ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov
/sharedFolder
에서 을( 를 10.0.1.103
) 설치 하려면 수동 또는 자동으로 준비해야 합니다 /net/10.0.1.103/sharedFolder
.