모든 사용자를위한 소프트웨어 및 실행 파일을 설치할 위치


15

기본적으로 일부 응용 프로그램은 / usr / local / bin에 설치되지만 사용자를 변경하면 해당 사용자가이 응용 프로그램에 액세스 할 수 있습니까? 여기서 / opt를 사용해야하는 다른 곳 (또 다른 질문)을 읽었습니까? 그러나 기본적으로 바이너리는 / usr / local / bin에 있습니까? / opt / bin이 없습니까?


답변:


19

일반적으로 손으로 아무것도 설치하지 않아도됩니다. 거의 모든 경우에 .deb 패키지가 있습니다. 제안을위한 Google이없는 경우 ( Ubuntu에 Oracle JDK를 설치하는 방법 과 같은 ). 이것이 자신의 소프트웨어 인 경우, Ubuntu 에 올바르게 넣는 방법에 대한 도움말 은 Ubuntu Packaging Guide참조하십시오 .

당신이 경우 해야한다 어쨌든 그것을 할, 바이너리 넣어 / 옵션 / MyApp를을 하고와 실행 파일을 링크 ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. man hier터미널 의 주제 유형 에 대한 자세한 내용을 보려면 / usr / bin/ usr / local / bin 의 차이점 은 여기에 설명되어 있습니다. 어쨌든 두 경로는 모두 $ PATH 환경 변수에 있습니다. 그것은 당신이 거기에 넣은 모든 바이너리가 바이너리의 이름 (전체 경로가 아님)을 누군가가 실행할 수 있음을 의미합니다. 따라서 위의 예제 myappbinary를 사용하면 전체 경로를 제공하지 않고 프로그램을 실행할 수 있습니다 /opt/myapp/myappbinary.


1
어쨌든 / usr / local에 심볼릭 링크를하려는 경우 / opt에 넣는 목적은 무엇입니까?
psusi

시스템의 모든 사용자가 앱을 사용할 수있게하려면 / usr / local / bin 대신 / usr / bin으로 심볼릭 링크해야합니까?
Jiew Meng

4
@jiewmeng 당신이 보면 man hier거기에 설명 된 모든 것을 볼 수 있습니다. / usr / bin과 / usr / local / bin의 차이점을 포함합니다. 한마디로 : / usr / bin /에 아무것도 연결하지 마십시오. @psusi 파일 시스템을 깨끗하게 유지하기 위해서입니다. 컴퓨터를 다시 설치하거나 다른 컴퓨터 / 하드 드라이브로 옮길 경우, / home, / etc 및 / opt 디렉토리 만 살펴보십시오. 한 번 더 반복하겠습니다 : 일반적으로 / etc에서 설정 파일을 편집하는 것 외에는 $ HOME 외부에서는 아무 것도하고 싶지 않습니다.
mniess

7

/ usr은 세계적으로 읽을 수 있으므로 다른 사용자가 프로그램을 실행할 수있는 데 아무런 문제가 없습니다. / usr / local은 소스 코드에서 직접 컴파일하는 응용 프로그램입니다. 패키지 관리자를 통해 설치된 프로그램은 다른 곳으로갑니다. 나는 / opt의 목적을 전혀 보지 못했고 그것이 80 년대에 이전의 AT & T Sys V 시절에 이월 된 것이라고 생각합니다.


/ usr / local / bin과 / usr / bin의 차이점은 무엇입니까? 모든 사용자가 앱에 액세스 할 수있게하려면 / usr / bin에 넣습니까?
Jiew Meng

@jiewmeng, 로컬 버전은 패키지 관리자를 통해 설치하는 대신 소스에서 직접 컴파일하는 프로그램을위한 것입니다. 사용자 및 액세스와는 아무런 관련이 없습니다.
psusi

0

linux-flavour에 따라 손으로 직접 설치하는 선호 장소는 다를 수 있습니다. 직접 작성하는 경우 README가 제안한 대로하십시오 .

새 사용자를 만들고 이전 사용자가 새 프로그램에 액세스하기 위해 아무 작업도하지 않은 경우 새 사용자도 마찬가지입니다.

그러나 자유롭게 / opt / bin 을 만들어 경로에 포함시킬 수 있습니다. 그러나 왜해야합니까? 또는 / flip / flop / funky / bin도 있습니다. 또는 어딘가에서 이미 PATH에 포함 된 디렉토리로 연결하십시오 .

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