it-swarm-ko.com

Mac OS X : 바이너리 파일이 있어야하는 일반적인 장소

명령 줄 응용 프로그램 인 응용 프로그램을 다운로드했으며 경로를 명시 적으로 입력하지 않고도 명령 줄에서 실행할 수있는 곳에 넣기를 원합니다.

  1. 이와 같은 일반적인 경로는 무엇입니까? /usr/bin? 관리자 계정과 같이 특정 사용자 만 원하는 옵션과 다른 옵션이 있습니까?

  2. 아니면 응용 프로그램 디렉토리 아래의 자체 디렉토리에 넣고 경로에 추가해야합니까? 그렇다면 어떤 파일이 경로 설정 위치를 제어합니까?

65
Jason S

핵심 답변 : 아마도 /usr/local/bin를 원할 것입니다. macOS의 최신 상태에 따라 기본 $PATH를 업데이트해야 할 수도 있습니다. 자세한 내용은 아래를 참조하십시오.

UPDATE 12-01-2018 원래 답변을 작성한 후 어느 시점에서 Apple 기본 $PATH 결과적으로 아래에서 말하는 대부분은 최신 Mac과 관련이 없습니다. 터미널에 echo $PATH를 입력하고 /usr/local/bin가 첫 번째 인 경우 아래의 모든 것을 무시할 수 있습니다 $PATH 변경에 대해.

원래 답변

이와 관련하여 Mac은 드문 경우입니다. 일반 사용자의 기본 $PATH 변수는 다음과 같습니다.

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

/usr/local/binafter/usr/bin/bin를 넣으면 Mac이 일반적인 시스템을 뒤집습니다. 일반적으로 /usr/local/bin에 무언가를 넣을 수 있습니다 (예 : 비표준 방식으로 컴파일 된 두 번째 Perl 인터프리터). 그러면 일반 사용자가 먼저 시스템 전체가 아닌 사용자 정의 사용자를 공격합니다. 이거 좋다 사용자는 변형을 얻을 수 있지만 시스템은 순수하게 유지됩니다. 그러나 Apple의 기본 값인 $PATH/usr/bin 또는 /bin의 항목보다 먼저 /usr/local/bin 항목을 찾을 수 있습니다. (이것은 기본적으로 /usr/local/bin에 커스텀 Perl을 설치하는 목적을 상실합니다.)

이 문제를 해결하기 위해 사용자의 홈 디렉토리에서 $PATH 파일을 편집하여 일반 사용자의 .profile를 변경할 수 있습니다. 새로 설치 한 경우 해당 파일이 존재하지 않을 수 있습니다.이 경우 해당 파일을 작성하십시오.

반 관련 : Homebrew Mac에 탁월한 패키지 관리 기능을 제공합니다. 기본적으로 Homebrew는 /usr/local에 소프트웨어를 설치하지만 나중에 쉽게 제거하고 바닐라 상태로 돌아가는 방식으로 소프트웨어를 설치합니다.

53
Telemachus

나는 /usr/local를 사용하는 경향이 있습니다. 다음은 좋은 이유 설명 입니다. FHS (Filesystem Hierarchy Standard) 를 나타냅니다. /usr/local에 대해 차례로 알려줍니다.

이 호스트와 관련된 로컬 데이터의 3 차 계층. 일반적으로 bin, lib, share와 같은 추가 하위 디렉토리가 있습니다.

7
John Topley