인프라 & 클라우드 · 중급
Linux에서 하드 링크(Hard Link)와 심볼릭 링크(Symbolic Link, 소프트 링크)의 차이점을 inode 개념을 포함하여 설명하고, 각각 어떤 상황에서 사용하는 것이 적절한지 실제 시나리오를 들어 설명해 주세요.
힌트 · 하드 링크는 동일한 inode를 공유하며 원본 파일 삭제 시에도 유지됩니다. 심볼릭 링크는 별도의 inode를 가지며 원본 파일의 경로를 참조합니다.
inode데이터 블록파일 시스템심볼릭 링크원자성
모범답안
네, Linux에서 하드 링크와 심볼릭 링크의 차이점을 설명드리겠습니다.
하드 링크는 쉽게 말해 '또 다른 이름'입니다. 같은 inode를 공유하기 때문에, 원본 파일과 완전히 동일한 파일로 취급됩니다. inode는 파일 시스템에서 파일의 메타데이터(소유자, 권한, 데이터 블록 위치 등)를 담고 있는 자료 구조입니다. 따라서 하드 링크를 만들면, 원본 파일과 링크 파일은 같은 inode를 가리키고, 같은 데이터 블록을 공유합니다. 원본 파일을 삭제해도 하드 링크는 여전히 유효하며, 데이터에 접근할 수 있습니다.
반면, 심볼릭 링크(또는 소프트 링크)는 '바로 가기'와 같습니다. 별도의 inode를 가지고, 원본 파일의 경로를 저장합니다. 원본 파일이 삭제되면 심볼릭 링크는 깨지게 됩니다.
사용 시나리오를 예로 들자면, 중요한 설정 파일의 백업을 위해 하드 링크를 사용할 수 있습니다. 원본 파일이 실수로 삭제되더라도 하드 링크를 통해 데이터를 복구할 수 있습니다. 심볼릭 링크는 자주 사용하는 파일이나 디렉토리에 빠르게 접근하기 위해 사용합니다. 예를 들어, 긴 경로의 설정 파일을 홈 디렉토리에 심볼릭 링크로 만들어 편리하게 접근할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Linux 면접 질문
- Linux에서 `sudo` 명령어는 어떤 용도로 사용되며, 일반 사용자가 `sudo`를 사용할 때 어떤 이점을 얻을 수 있는지 설명해주세요.
- 백그라운드에서 실행 중인 프로세스를 관리하는 방법을 설명하고, `nohup`과 `&`의 차이점을 구체적인 사용 사례와 함께 설명해 주세요.
- Linux 파일 시스템에서 `SUID`, `SGID`, `Sticky Bit`의 역할과 각각의 보안적 의미를 설명하고, 실제 시스템에서 이들을 어떻게 활용하거나 주의해야 하는지 예를 들어 설명해 주세요.
- 시스템의 네트워크 연결 상태를 확인하기 위해 `netstat`과 `ss` 명령어를 사용할 수 있습니다. `ss` 명령어가 `netstat`에 비해 가지는 장점은 무엇이며, `ss` 명령어를 활용하여 특정 포트의 ESTABLISHED 연결만 필터링하는 방법을 보여주세요.
- LVM(Logical Volume Manager)의 개념과 일반적인 파티셔닝 방식에 비해 LVM이 가지는 장점을 설명해 주세요. 또한, LVM을 사용하여 기존 논리 볼륨의 크기를 확장하는 절차를 간략히 설명해 주세요.
- `apt`나 `yum`과 같은 패키지 관리자가 소프트웨어 패키지 설치 시 의존성 문제를 어떻게 해결하는지 그 원리를 설명해 주세요. 또한, 특정 패키지의 의존성 목록을 확인하는 방법을 제시해 주세요.