/ tmp가 / private / tmp에 대한 심볼릭 링크 인 이유는 무엇입니까?


37

Mac OS X /tmp에서 symlink 가 왜 필요한 /private/tmp가요? 다시 말해, 왜 /tmp리눅스 나 BSD와 같은 일반 디렉토리가 아닌가? 나는 그것이 어떻게 작동하는지 이해하고 그것을 신경 쓰지 않는다. 나는 그 뒤에 (역사적?) 추론에 관심이있다.

답변:


33

AIUI 그것은에서 홀드 오버의 넥스트 스텝 (OS X를 기반으로)하고, 넥스트 스텝은이 네트워크 부팅을 지원했다. 네트워크 호스팅 볼륨 (아마도 읽기 전용이고 다른 컴퓨터와 공유)에서 부팅 할 수 있으며 부팅 프로세스 초기에 로컬 (쓰기 가능) 볼륨을 / private에 마운트합니다. 언급했듯이 / var 및 / tmp의 런타임 수정과 / etc의 컴퓨터 별 설정을 허용했습니다.

Apple의 현재 NetBoot 시스템은 섀도우 디스크 이미지를 사용하여 부팅 볼륨의 아무 곳이나 변경 사항을 저장하므로 더 이상 필요하지 않습니다. 그러나 일부 프로그램 / 문서 / etc는 이제 파일이 / private 아래에 있다고 가정하므로 파일을 다시 전환하는 데 너무 많은 문제가 발생합니다 ...


"그러나 일부 프로그램 / 문서 / 등"lolpun (등은 /에 / 개인 등 심볼릭 링크입니다)
케빈 휠러에게

5

나는 항상 같은 것을 궁금해했다. 지원할 문서를 찾을 수 없지만 일반적으로이 패턴은 다른 볼륨 (예 : 하드 드라이브)에 파일을 쉽게 저장하기 위해 사용됩니다. 이를 통해 드라이브를 한 곳에서 파일 시스템에 마운트 (예 : 연결) 할 수 있습니다. 예를 들어 드라이브가 장착 될 때 /private다음 폴더 /etc, /tmp그리고 /var모든 다른 드라이브에 있습니다.

내가 말할 수없는 것은 이것이 유익한 이유입니다. 이들 세 폴더는 구성, 임시 로그, 임시 및 데이터베이스 파일 실행 코드가 포함보다는 같은 "데이터"파일을 포함, 그러나, 가치 지적이다 /bin, /sbin/usr폴더를.


1

역사적인 이유는 확실하지 않지만 OS X은 항상 일반적인 Unix 구조를 "재편성"했습니다. /tmp가는 유일한 것이 아니다 /private, 그것은 또한 가지고 /etc/var.

더 많은 OS X 배경을 가진 사람이 더 합리적인 것을 생각해 낼 수 있습니다.


-1

/tmp/private/etc명확하게 분리 된 2 개의 파일 시스템을 유지 하기위한 상징적 인 의미입니다 .

  • / 읽기 전용으로 마운트하여 우발적이거나 원치 않는 수정으로부터 보호하고 항상 증가하는 파일 (로그 및 임시 파일)로 채워지지 않도록 보호 할 수 있습니다.

  • /private 이것은 읽기-쓰기로 마운트 될 수 있으며 수정 가능한 파일을 포함하는 모든 디렉토리를 보유합니다.

당신이 보면 /당신이 같은 이유로 비슷한 심볼릭 링크 3 디렉토리를 알 수 있습니다 :

cd /
ls -al | grep '> private'

읽기-쓰기와 읽기 전용 파일 시스템 간의 이러한 액세스 분리는 실제로 (MacOS X에서는) 사용되지 않지만이 보안 분리를 달성하기위한 모든 것이 갖추어져 있습니다.

일부 관리자는 /private 적절한 크기와 적절한 마운트 옵션 (주로 nosuid) 으로 특정 파일 시스템을 정의하여이 보안 분리를 시행 하고 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.