System V가 전통적으로 /bin을 /usr/bin으로 심볼릭 링크하는 이유는 무엇입니까?

System V가 전통적으로 /bin을 /usr/bin으로 심볼릭 링크하는 이유는 무엇입니까?

이것/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은 공유 복사본이 네트워크를 통해 읽기 전용으로 마운트될 수 있도록 이를 재배치하기도 했습니다. 심볼릭 링크가 됩니다. 루트 파일 시스템에 위치하거나 다른 파티션에 위치하는 것이 좋습니다.shmountfsck/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 이상에서는..."이라고 말해야 합니다.

관련 정보