설치된 응용 프로그램 중 / usr / bin 또는 사용자의 홈 디렉토리 중 어떤 것이 더 낫습니까?


9

GUI 응용 프로그램을 /usr/bin홈 디렉토리 에 설치하는 것이 더 나을 것인지는 명확하지 않습니다 . 나는 통해 읽은 이 문서이 하나 ,하지만 정말 서로 다른 디렉토리를 사용하는 방법의 철학에 대해 얘기하지 않습니다. 명령이 GUI 응용 프로그램과 다르게 취급되어야합니까?

답변:


11

/usr/bin시스템에서 실행 명령의 기본 디렉토리입니다.

/usr/local:

  • 소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용합니다.
  • 시스템
    소프트웨어가 업데이트 될 때 덮어 쓰기되지 않도록 안전해야합니다 .
  • 호스트 그룹간에 공유 할 수 있지만에서 찾을 수없는 프로그램 및 데이터에 사용될 수 있습니다 /usr.

로컬로 설치된 소프트웨어 내에 배치해야 /usr/local보다는 /usr이 교체하거나으로는 / usr 소프트웨어를 업그레이드하기 위해 설치되는 경우를 제외.

여기 더 .


7

GUI와 CLI 명령을 차별화 할 특별한 이유는 없습니다.

/usr/bin는 운영 체제에 속하므로 루트로 아무것도 막을 수는 없지만 여기에 아무것도 넣지 마십시오. 이 디렉토리는 OS와 통합 된 소프트웨어를 배포하고 이름 충돌을 올바르게 처리 / 피하는 사람들을위한 디렉토리입니다.

/usr/local/bin로컬로 구축 된 소프트웨어의 공통 디렉토리입니다. 여기서 쓸 수 있다면이 디렉토리를 사용하면됩니다.

/opt/<name>/binOS에 속하지 않은 소프트웨어를위한 것입니다. 공유 소프트웨어를위한 좋은 위치입니다.

홈 디렉토리는 귀하에게 속해 있으므로 원하는 곳 어디든지 자유롭게 놓을 수 있지만 다른 사람들이 프로그램을 실행 해야하는 경우 가장 좋은 위치는 아닙니다.


1
그렇다면 소프트웨어가 설치된 / usr / local / bin과 / opt / foo / bin의 유일한 차이점은 무엇입니까? 일반적으로 수동으로 설치하는 소프트웨어는 전자 소프트웨어에 들어가고 패키지 관리자에서 설치된 소프트웨어는 나중에 설치됩니까? 편집 : 그렇게 나타납니다. 링크
TheAmpersand

예. 로컬로 구축 된 소프트웨어는 / opt / local / bin으로 이동할 수도 있습니다. 이것은 / usr이 읽기 전용으로 마운트 될 수 있지만 쓰기 가능한 많은 / usr / local 문제를 피합니다.
jlliagre

3

에 수동으로 아무것도 설치하지 마십시오 /usr/bin. 의 전체 /usr뿐만 아니라 /bin, /lib하고는 /sbin, 배포판에서 제공하는 소프트웨어에 예약되어 있습니다. 예외 /usr/local는 시스템 관리자가 설치 한 프로그램을위한 것이며 패키지 관리자가 다루지 않습니다 (몇 개의 디렉토리 작성 제외). (리눅스에서 다른 유닉스 변종에는 패키지 관리자가 설치되어있을 수 있습니다 /usr/local.)

/usr/local홈 디렉토리 사이 와 장소 사이 에서 선택은 귀하의 것입니다. 모든 사용자가 프로그램을 사용할 수있게하려면에 넣으십시오 /usr/local. 자신 만 사용할 수있게하려면 홈 디렉토리에 설치하십시오.

프로그램에 GUI가 있는지 여부는 관련이 없습니다.


1
/opt또한 때때로 사이의 구분하지만, 로컬 설치를 위해 사용 /usr/local하고하는 것은 /opt명확하지 않다.
Faheem Mitha

2

사용자가 응용 프로그램의 이진 파일을 바꾸는 것이 의미가 있거나 필요한 경우 사용자의 홈 디렉토리에 설치해야합니다. 그렇지 않으면와 같은 공용 읽기 전용 디렉토리에 설치할 수 있습니다 /usr/bin.


0

전역 사용의 경우 / usr / bin에 설치할 수 있지만 아무도 권장하지 않습니다.

특정 응용 프로그램을 특정 사용자로 사용하려면 (1 명의 사용자로 실행할 때 더 안전해야 함) 특정 사용자의 홈 디렉토리에 설치하십시오.

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