Linux 시스템에서 "유효 홈 디렉터리" 변경

Linux 시스템에서 "유효 홈 디렉터리" 변경

종속성이 상당히 높은 원격 컴퓨터에서 일부 Python 코드를 실행해야 합니다. 내 홈 디렉토리에는 (.../home/d/my-name)디스크 공간이 거의 없기 때문에 일반적 (/local/my-name)으로 "유효한" 홈 디렉토리로 대용량 디스크가 마운트된 다른 디렉토리를 사용합니다.

종속성을 설치하려고 할 때 홈 디렉터리에 공간이 부족합니다. 따라서 나는 이러한 모든 종속성을 디렉터리에 저장하기를 원합니다 local(그리고 이것이 미래의 기본값이 될 것이라는 데 전적으로 동의합니다). 저는 Conda 환경을 사용하고 있으며 그 안에서 pip를 실행하고 있습니다. 나는 pip에게 집이 아닌 다른 곳에 물건을 저장하라고 지시할 수 있다는 것을 알고 있지만, 그러면 집을 참조하는 소프트웨어에 문제가 발생할 수 있습니다. 따라서 내 홈 디렉토리를 에 위치하도록 효과적으로 변경하고 싶습니다 local. 이것이 가능합니까? 관련이 있는 경우 sudo 권한이 없습니다.

답변1

move-and-symlink이러한 유형의 문제에 대한 전통적인 솔루션입니다.

~/lib/예를 들어 전체 디렉터리를 다음 위치로 이동 하려는 경우 /local/my-name:

mv ~/lib/ /local/my-name/
ln -sf /local/my-name/lib/ ~/

/그건 그렇고, 심볼릭 링크 소스 끝에 후행이 /local/my-name/lib/필요하지는 않지만 강력히 권장합니다. 그러면 bash에서 탭 완성이 더 잘 작동합니다.

홈 디렉터리의 상위 디렉터리에 대한 쓰기 권한이 있는 경우(예: sudo 사용) 전체 홈 디렉터리를 /local로 이동할 수도 있습니다. usermod -m -d변경 사항을 사용할 수도 있습니다 /etc/passwd.

관련 정보