재부팅 시 /home 하위 디렉터리에서 마운트된 드라이브로의 심볼릭 링크가 중단됨

재부팅 시 /home 하위 디렉터리에서 마운트된 드라이브로의 심볼릭 링크가 중단됨

내 Kubuntu 워크스테이션에는 SSD와 HDD가 있습니다. 쿠분투 설치에는 SSD가 포함되어 있는데, 드라이브 속도가 문제가 되지 않는 일반 저장용으로 HDD를 사용하고 싶습니다.

다음 명령을 사용하여 /etc/fstab을 통해 HDD를 마운트했습니다. UUID=... /mnt/hdd ext4 defaults 0 2

다음 명령을 사용하여 HDD의 일부 /home 하위 디렉터리에 대한 심볼릭 링크를 만들었습니다. ln -s /mnt/hdd/Downloads/ ~/Downloads

이렇게 하면 원하는 결과가 생성됩니다. 예를 들어 Firefox 다운로드는 /mnt/hdd/DownloadsSSD 대신 마운트된 HDD 파티션에 다운로드됩니다. 이것이 유일한 사용 사례는 아닙니다. 목적은 마운트된 HDD에 "다운로드" 및 "문서"와 같은 디렉토리를 저장하는 동시에 기본 /home 위치(응용 프로그램 및 본인의 경우)에 표시되는 것입니다.

그러나 재부팅하면 이 심볼릭 링크가 중단되고 다음 결과가 나타납니다.

$ ls -l ~
...
Downloads -> /mnt/hdd/Downloads/
...

$ ls -l /mnt/hdd/
...
Downloads -> /home/<username>/../../../../../mnt/hdd/Downloads
...

/mnt/hdd/Downloads재부팅 시 심볼릭 링크가 끊어지는 이유를 잘 모르겠습니다 .

이는 다른 심볼릭 링크가 설정되지 않은 새로 설치한 것입니다.

내가 여기서 뭔가 잘못하고 있는 걸까요?

편집: 몇 가지 실험 후에 이 동작이 일관성이 없다는 것을 발견했습니다. 심볼릭 링크가 끊어지는 경우도 있고 그렇지 않은 경우도 있습니다. 재부팅 시 심볼릭 링크 5개 중 1~2개만 끊어지는 상황이 있었습니다.

답변1

붙여넣은 출력이 정확하다면 /mnt/hdd/Downloads에서 매우 이상한 일이 일어나고 있는 것입니다.

특정 출력

$ ls -l /mnt/hdd/
...
Downloads -> /home/<username>/../../../../../mnt/hdd/Downloads
...

/mnt/hdd/Downloads 경로는 심볼릭 링크인 것 같습니다... 흠... /home/Zach에서 시작하여 /home으로 돌아가서 루트('/')로, 다시 위로, 다시... .다시 ... (루트 디렉토리에만 유지됨) /mnt/hdd/Downloads로 이동합니다.

따라서 우선 /mnt/hdd/Downloads가 잘못 생성된 것 같고 자신을 가리키는 순환 링크처럼 보입니다.

그것 에서 무엇 을 얻나요 mount | grep /mnt/hdd? 드라이브가 표시되면 /etc/fstab이 제대로 작동하는 것 같습니다. 비어 있으면 드라이브가 마운트되지 않은 것입니다.


드라이브가 마운트된 경우

죄송합니다. 이전 다운로드가 손실되었을 수 있습니다.

이 시점에서 제가 제안할 수 있는 최선의 방법은 unlink /mnt/hdd/Downloads순환 심볼릭 링크를 제거하고 올바른 다운로드 디렉터리를 다시 만드는 것입니다 mkdir -p /mnt/hdd/Downloads(여기서 다운로드 디렉터리에는 플래그가 -p필요하지 않을 수 있지만 다른 디렉터리에는 필요할 수 있음).


드라이버가 설치되지 않은 경우

다음 명령을 사용하여 경로에서 모든 파일을 제거합니다 /mnt/hdd/. (드라이브가 마운트되지 않은 경우 경로는 실제로 HDD가 아닌 SSD에 있습니다.) sudo mv /mnt/hdd /mnt/hdd.bkup; sudo mkdir -p /mnt/hdd

그런 다음 실행하여 sudo mount -a드라이브가 이제 마운트되었는지 확인합니다. 그렇지 않은 경우 /etc/fstab을 복구해야 합니다.

mkdir -p /mnt/hdd/Downloads모든 것이 잘 진행된다는 가정 하에 위의 방법을 따를 수 있습니다 .


진짜 문제

여기서 몇 가지 추론을 해야 하는데 양식에 대한 링크가 있다는 사실이 /mnt/hdd/Downloads -> /home/<username>/../../../../../mnt/hdd/Downloads매우 잘못된 것 같습니다.

을 실행하여 심볼릭 링크를 생성했다고 언급하셨습니다 ln -s /mnt/hdd/Downloads/ ~/Downloads.

문제가 있는 경로는 ln어떤 지점에서 잘못된 순서로 인수를 사용하여 명령을 실행했거나 어떤 지점에서 잘못된 디렉터리(예: ln -s ~/Downloads /mnt/hdd/Downloads)에서 명령을 실행했을 수 있음을 나타냅니다.

이런 일이 발생하는 시기에 따라 경로에 심볼릭 링크가 배치될 수 있습니다./mnt/hdd/Downloads SSD에이렇게 하면 하드 드라이브가 올바르게 장착되지 않습니다. 이 경우 "드라이브가 설치되지 않은 경우"의 지침을 따르십시오.

파일이 있는 드라이브에 대한 자세한 정보를 얻을 수 있지만 df /mnt/hdd/Downloads이러한 세부 정보는 이 문제에 전적으로 중요하지 않은 것 같습니다.


마지막 포인트

이 이상한 동작은 Linux를 다시 시작하는 것과는 아무 관련이 없는 것 같습니다. 명령이 스크립트에 의해 실행되는 경우 ln(재부팅 시 또는 언제든지) 해당 스크립트가 범인일 가능성이 가장 높으므로 해당 스크립트에 대한 세부 정보를 제공해야 합니다.

관련 정보