시놀로지 파일 복사 없이 두 위치에서 사용하기

부제 : 시놀로지 SSH로 하드 링크 / 심볼릭 링크 생성하기

안녕하세요!

이번 포스팅에서는 시놀로지에서 하드 링크와 심볼릭 링크를 활용하여 파일을 복제하지 않고도 두 위치에서 동시에 사용할 수 있는 방법에 대해 다루어 보겠습니다.

하드 링크와 심볼릭 링크는 파일 시스템에서 파일이나 디렉토리를 다루는 유용한 기술로, 각각의 특징에 따라 다양한 상황에서 유용하게 사용될 수 있습니다.
예를 들어, 대용량 파일을 여러 경로에서 접근해야 할 때 하드 링크를 사용하면, 데이터 중복 없이 원본 파일을 참조할 수 있어 저장 공간을 절약할 수 있습니다.
또한, 심볼릭 링크를 사용하면 다른 폴더에 있는 파일이나 디렉토리를 참조할 수 있어 작업의 편의성을 높일 수 있습니다.

이 포스팅에서는 이러한 링크의 개념을 살펴보고, 시놀로지 SSH를 통해 실제로 하드 링크와 심볼릭 링크를 생성하는 방법을 안내할 예정입니다.

이는 파일 관리에 있어서 매우 중요한 부분이므로, 기술적인 부분도 필히 참고하시기 바랍니다.

하드 링크와 심볼릭 링크의 개념

하드 링크의 정의 및 특징

하드 링크(Hard Link)는 파일 시스템에서 파일에 대한 또 다른 이름을 생성하는 방식입니다.
기본적으로 하드 링크는 원본 파일과 동일한 inode 번호를 가지며, 이는 동일한 데이터 블록을 참조함을 의미합니다.
즉, 하드 링크는 실제 데이터를 공유하는 여러 이름을 생성하는 것입니다.

  1. 파일 데이터 공유
    하드 링크는 원본 파일의 데이터와 동일한 물리적 데이터를 공유합니다.
    따라서 하드 링크를 통해 생성된 파일은 원본 파일과 동일한 내용을 지니며, 하나의 파일을 여러 경로에서 접근할 수 있게 해줍니다.
  2. 독립적인 파일
    하드 링크는 원본 파일과 독립적으로 존재합니다.
    즉, 원본 파일을 삭제하더라도 하드 링크는 여전히 유효하며, 해당 링크를 통해 데이터에 접근할 수 있습니다.
    이는 데이터의 중복 없이도 여러 경로에서 동일한 파일을 사용할 수 있게 해줍니다.
  3. 동일한 파일 시스템 (볼륨) 내에서만 가능
    하드 링크는 동일한 파일 시스템 내에서만 생성할 수 있습니다.
    이는 하드 링크가 inode를 공유하기 때문입니다.
    서로 다른 파일 시스템 간에는 하드 링크를 생성할 수 없습니다.

심볼릭 링크의 정의 및 특징

심볼릭 링크(Symbolic Link)는 파일 시스템에서 다른 파일이나 디렉토리에 대한 참조를 생성하는 특별한 종류의 파일입니다.
이 링크는 원본 파일의 경로를 저장하고 있으며, 원본 파일에 대한 포인터 역할을 합니다.
심볼릭 링크는 하드 링크와는 달리 서로 다른 파일 시스템 간에도 생성할 수 있는 유연성을 제공합니다.

  1. 경로 기반 참조
    심볼릭 링크는 원본 파일의 경로를 저장합니다.
    즉, 링크가 생성된 후 원본 파일의 경로가 변경되면 심볼릭 링크는 더 이상 유효하지 않게 됩니다.
  2. 다른 파일 시스템 (볼륨) 간 링크 가능
    심볼릭 링크는 서로 다른 파일 시스템 간에도 생성할 수 있습니다.
    이는 하드 링크와는 다른 점으로, 심볼릭 링크는 다양한 위치와 파일 시스템에서 파일을 쉽게 참조할 수 있게 해줍니다.
  3. 원본 파일 독립성
    심볼릭 링크는 원본 파일과 독립적으로 존재합니다.
    하지만 원본 파일을 삭제하거나 이동하면 심볼릭 링크 자체는 여전히 존재하지만, 링크를 통해 원본 파일에 접근할 수 없게 됩니다.
    이로 인해 심볼릭 링크가 깨지게 되는 것입니다.

하드 링크와 심볼릭 링크의 결정적인 차이점

  • 하드 링크
    • 동일한 파일 시스템 (볼륨) 내에서만 생성 가능
    • 원본 파일을 삭제해도 하드 링크를 통해 원본 데이터에 접근 가능
  • 심볼릭 링크
    • 다른 파일 시스템 (볼륨) 간에도 생성 가능
    • 원본 파일이 삭제되면 원본 데이터에 접근 불가능

하드 링크 / 심볼릭 링크 생성 방법

모든 명령어는 권한이 부족하다면 오류가 발생합니다.
권한이 부족한 경우 sudo -i로 권한을 얻어야 합니다.

하드 링크

  • 단일 파일에 대한 하드 링크의 생성 방법입니다.
ln /원본경로/파일 /대상경로/파일

예시는 아래와 같습니다.

ln /volume1/original/file.txt /volume1/hardlink/file.txt
  • 폴더 내의 모든 파일에 대한 하드 링크 생성 방법입니다.
    (단, 대상 경로에 폴더가 존재해야 함)
cp -rl /원본경로/폴더명 /대상경로/폴더명

예시는 아래와 같습니다.

cp -rl /volume1/original/* /volume1/hardlink

심볼릭 링크

  • 단일 파일에 대한 심볼릭 링크 생성 방법입니다.
ln -s /원본경로/파일 /대상경로/파일

예시는 아래와 같습니다.

ln -s /volume1/original/file.txt /volume1/symlink/file.txt
  • 폴더에 대한 심볼릭 링크 생성 방법입니다.
    (단, 대상 경로에 폴더가 존재해야 함)
ln -s /원본경로/폴더 /대상경로/폴더

예시는 아래와 같습니다.

ln -s /volume1/original /volume1/symlink/original

주의사항

하드 링크나 심볼릭 링크를 생성할 때 대상 경로에 동일한 이름의 파일이나 디렉토리가 이미 존재하면 오류가 발생합니다.
이를 방지하기 위해 링크를 생성하기 전에 반드시 대상 경로를 확인해야 합니다.

또한, 하드 링크는 원본 파일의 메타데이터(소유자, 권한 등)를 공유하기에, 원본 파일을 삭제하더라도 하드 링크를 통해 데이터에 접근할 수 있습니다.
그러나, 하드 링크가 있는 원본 파일을 삭제하면 파일의 실제 참조가 사라질 수 있으므로 주의해야 합니다.
심볼릭 링크는 원본 파일과 별개의 메타데이터를 가지며, 원본 파일이 삭제되면 심볼릭 링크는 유효하지 않게 됩니다.


이번 내용은 데이터 관리에 있어서 양날의 검이 될 수 있습니다.
따라서 정확하게 숙지하여 어떤 상황에서 어떻게 사용할지 잘 판단하고,
현재 사용되고 있는 하드 링크 및 심볼릭 링크를 파악하는 것이 매우 중요합니다.

앞으로도 시놀로지에 관련된 유용한 정보에 대해 포스팅할 예정이니, 많은 관심 바랍니다.

감사합니다!

Leave a Comment