비슷한 디렉토리 구조를 가진 2개의 Ubuntu Linux 시스템(LX02 및 LX04)이 있습니다. LX02의 터미널 세션에서 LX04로 ssh를 실행하고 기본 스크립트 디렉터리 /root/sbin으로 이동하면 LX04의 터미널 세션에서 동일한 디렉터리로 이동할 때와 다른 하위 디렉터리 집합이 표시됩니다. 왜?
세부 사항
두 시스템에는 아래와 같이 각 원격 호스트에 대한 마운트 지점 디렉터리를 포함하는 /0 디렉터리가 있습니다.
/0/LX02
/0/LX04
/etc/fstab에는 원격 호스트의 루트(/) 디렉터리를 이러한 디렉터리에 마운트하기 위한 항목이 포함되어 있습니다. 로컬(/) 디렉터리를 마운트하기 위한 "mount-bind" 항목이 있으므로 스크립트에서 localhost의 특수 인코딩을 방지합니다.
/root/sbin은 각 컴퓨터의 /usr/local/sbin에 대한 심볼릭 링크입니다.
LX02의 로컬 /root/sbin 디렉토리는 다음과 같습니다.
root@LX02:/ cd /root/sbin
root@LX02:~/sbin ls -l | grep '^d'
drwxr-x--- 2 root root 4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-x--- 2 root root 4096 2010-07-28 08:13 lst
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Misc
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Slates
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Tomboy
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Ubuntu_8.04
drwxr-x--- 2 root root 4096 2010-07-28 08:13 www
drwxr-xr-x 2 root root 4096 2012-09-27 12:48 zim
LX02 터미널 세션에서 /0/LX04/root/sbin으로 이동하면...
root@LX02:/0/LX04/root/sbin cd /0/LX04/root/sbin
root@LX02:/0/LX04/root/sbin ls -l | grep '^d'
drwxr-x--- 2 root root 4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-x--- 2 root root 4096 2010-07-28 08:13 lst
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Misc
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Slates
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Tomboy
drwxr-xr-x 2 root root 4096 2012-04-11 09:28 Ubuntu_8.04
drwxr-x--- 2 root root 4096 2010-07-28 08:13 www
drwxr-xr-x 2 root root 4096 2012-09-27 12:48 zim
그러나 LX04의 /root/sbin 디렉토리는 실제로 다음과 같습니다.
root@LX04:/ cd /root/sbin
root@LX04:~/sbin ls -l | grep '^d'
drwx------ 4 root root 12288 2011-12-23 03:23 Archives
drwx------ 2 root root 4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-xr-x 3 root root 4096 2012-11-14 00:22 Examples
drwxr-x--- 2 root root 4096 2011-04-29 13:50 fnc
drwxr-x--- 2 root root 4096 2011-05-19 15:00 lst
drwxr-xr-x 3 root root 4096 2012-10-28 10:01 Synergy
drwxr-x--- 2 root root 4096 2011-03-10 20:54 tmp
drwxr-x--- 2 root root 4096 2011-03-10 20:54 www
여기서 무슨 일이 일어나고 있는 걸까요?
답변1
설정을 올바르게 이해하면 /root/sbin
LX04에는 .라는 지점이 있습니다 /usr/local/sbin
. 따라서 /0/LX04/root/sbin
SSHFS 파일 시스템의 일부인 LX02에는 /usr/local/sbin
.LX02를 사용하면 해당 디렉터리가 표시 /0/LX04/root/sbin
됩니다 /usr/local/sbin
. LX02를 사용하고 있으므로 물론 LX02도 표시됩니다 /usr/local/sbin
( 를 통해서도 액세스 가능 /root/sbin
).
심볼릭 링크는 일반 텍스트이므로 대상으로 삼아야 한다고 생각하는 파일 시스템에 대한 정보를 전달하지 않습니다.
/0/LX04/root/sbin
LX04를 가리키고 싶다면 /usr/local/sbin
기호를 로 만드세요 /0/LX04/usr/local/sbin
. 동일한 머신(여기서도 동일)의 위치를 /0/LX04/root/sbin
표시 하려면 /usr/local/sbin
상대 링크로 설정하십시오: ( /root/sbin ->../usr/local/sbin
Run ln -snf ../usr/local/sbin /0/LX04/root/sbin
. 일반적으로 심볼릭 링크를 상대 링크로 설정하는 것이 좋습니다. 이는 일반적으로 복잡한 작업을 수행할 때 원하는 결과를 제공합니다. 설치.