마운트하지 않고 한 워크스테이션에서 다른 워크스테이션으로의 심볼릭 링크

마운트하지 않고 한 워크스테이션에서 다른 워크스테이션으로의 심볼릭 링크

네트워크 공유를 "마운트"하지 않고 한 Linux 워크스테이션에서 다른 Linux 워크스테이션으로 파일에 대한 심볼릭 링크를 만들려고 합니다. 다음은 내가하려는 일이지만 제대로 작동하지 않습니다.

ln -s /link/to/local/file.mov //10.0.1.103/sharedFolder/symlinkFile.mov

답변1

당신은 할 수 없습니다:

심볼릭 링크는 단지 추가 기능일 뿐입니다.인덱스 노드(파일을 가리키는 구조), inode는 deviceIda와 로 구성됩니다 inode pointer. 디렉토리의 장치 특수 파일과 해당 장치의 블록을 효과적으로 deviceId가리킵니다 ./devinode 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 – 완벽한 조합간단히 말해서:

  1. 설치 autofs하고 sshfs.
  2. 다음 행을 추가하십시오 /etc/auto.master.

    /mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
    

    두 개의 1000을 사용자 ID와 그룹 ID로 바꿉니다(이 값을 실행 id -u하고 id -g표시). 디렉토리를 생성합니다 /mnt/sshfs.

  3. /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.

답변3

가격 대비 좋은 가치...

저는 다음과 같은 작은 도구를 개발했습니다.사자이것은 Raphael S. Carvalho를 기반으로 합니다.고스트FS. 목표는 심볼릭 링크가 다음을 가리키도록 허용하는 것입니다.통일 자원 식별자. 상당히 불완전하고 문제가 많으며 현재는 HTTP만 지원합니다.퓨즈(사용자 공간의 파일 시스템)은 배경을 처리하는 데 사용됩니다.

관련 정보