이것/usr 병합에 관한 시스템 위키 페이지, 신화 #6에서 이는 전통적으로 System V UNIX의 심볼릭 링크 /bin
였다고 명시되어 있습니다./usr/bin
이 일을 하게 된 동기는 무엇인가요? 이는 이전 버전과의 호환성을 위해서는 의미가 있지만 이전에는 왜 그랬는지 이해할 수 없습니다. (혹은 제가 잘못 이해하고 있는 걸까요? 이전 UNIX 버전에서는 /bin
과 를 구별했는데 /usr/bin
, System V에서는 이를 병합하여 변경했습니까?)
답변1
짧은 대답은 그렇습니다. 이것은 호환성( /bin/sh
및 참조된 많은 프로그램 /bin/ed
)과 초기에 완전히 분리된 파일 세트를 /bin
포함 하기 위해 수행되었습니다. 루트 파일 시스템에 위치한 이 디스크는 컴퓨터의 부팅 펌웨어가 액세스할 수 있어야 하고 더 중요하고 일반적으로 사용되는 파일을 보관할 수 있는 작은 디스크입니다. 에 위치하며 일반적으로 완전히 분리된 더 큰 디스크입니다. 처음에는 사용자의 홈 디렉터리도 포함됩니다. 드라이브가 성장함 에 따라 정기적으로 드라이브를 더 큰 드라이브로 교체합니다. 별로 유용하지 않더라도 시스템은 설치 없이 실행될 수 있습니다 ./usr/bin
/bin
/usr/bin
/usr
/usr
/usr
/usr
/usr
의 디스크(또는 디스크 파티션)는 Unix 커널 부팅 후에 마운트되고 시스템은 사용자 모드 부팅 프로세스( )에 있으므로 및 /etc/rc
같은 프로그램은 일반적으로 및에 있는 루트 파일 시스템에 있어야 합니다. Sun은 공유 복사본이 네트워크를 통해 읽기 전용으로 마운트될 수 있도록 이를 재배치하기도 했습니다. 심볼릭 링크가 됩니다. 루트 파일 시스템에 위치하거나 다른 파티션에 위치하는 것이 좋습니다.sh
mount
fsck
/bin
/etc
/
/usr
/usr
/usr/tmp
/var/tmp
/var
나는 Sun이 어느 시점에서 시스템이 폐기된다면 시스템에 생명을 불어넣으려는 영웅적인 시도는 가치가 없다고 결정했다고 믿습니다 /usr
. 대부분의 사용자는 동일한 물리적 디스크에 및 을 가지고 있으므로 /
디스크가 죽으면 두 파일 시스템이 모두 토스트되거나 서버에서 읽기 전용으로 마운트됩니다. 따라서 시스템 시작 및 유지 관리에 사용되는 일부 핵심 프로그램은 정적으로 컴파일되어 포함되었지만 대부분의 프로그램은 로 이동되어 ./usr
/usr
/sbin
/bin
/usr/bin
/bin
/usr/bin
R4 이전의 System V에는 심볼릭 링크조차 없었습니다. Sun과 AT&T는 SunOS와 SVR3을 결합하여 SVR4(및 Solaris 2)로 만들기 위해 노력하고 있습니다. /bin
에 대한 심볼릭 링크가 있습니다 /usr/bin
.
따라서 웹사이트에 "SysV Unix에서는 /bin
전통적으로 심볼릭 링크 /usr/bin
"라고 적혀 있으면 실제로는 "System V Release 4 이상에서는..."이라고 말해야 합니다.