"/opt"에서 응용 프로그램을 올바르게 사용하는 방법은 무엇입니까?

"/opt"에서 응용 프로그램을 올바르게 사용하는 방법은 무엇입니까?

우분투 14.04 LTS를 사용하고 있습니다. 가끔 다른 사용자 계정에서 사용할 수 있도록 일부 앱(예: xxx) 을 /opt폴더에 복사합니다. 그런 다음 시작하려면 다음을 사용합니다.

 sudo /opt/xxx_folder/xxx

(물론 링크 /usr/local/bin/usr/bin으로) 시작합니다.

문제: 내 애플리케이션의 결과/프로젝트를 내 로컬 폴더(예: /home/myuser/xxx_data)에 저장합니다. 물론 폴더와 해당 데이터는 xxx_data에 속합니다 root( 에는 속하지 않습니다 myuser). 그래서 매번 다른 애플리케이션을 사용하고 싶을 때마다( root.

질문:루트로 시작할 필요가 없도록 xxx응용 프로그램을 설치하는 방법이 있습니까 ?/opt

또는어쩌면 이 "근본 문제"를 해결하는 다른 방법을 찾을 수 있을까요?

답변1

에 복사만 하셔도 디렉토리와 실행파일 /opt만 있으면 chmod 755누구나 실행이 가능합니다. 출력의 경우, 좋은 접근 방식은 폴더를 특정 그룹이 소유하도록 만들고 xxx_data다음과 같이 해당 그룹을 수정할 수 있어야 하는 사용자를 해당 그룹에 추가하는 것입니다(루트로 실행).

groupadd xxx_data
chown root:xxx_data /path/to/folder
chmod 770 xxx_data /path/to/folder
usermod -aG xxx_data <username> #Repeat for each user

chmod 755또한 홈 디렉터리에서 실행하거나 xxx_data다른 곳으로 이동 해야 합니다 .

권한을 업데이트하려면 로그아웃했다가 다시 로그인해야 할 수도 있습니다.

답변2

apt-get(또는 aptitude)을 통해 설치된 프로그램은 거의 항상 /usr에 올바르게 위치합니다. 그러나 소스에서 컴파일되어 설치된 프로그램은 일반적으로 /usr/local/bin, /usr/local/lib 등에 나타나며 Debian/Ubuntu의 사용자 설치 경로가 /usr 대신 /usr이기 때문에 문제가 발생할 수 있습니다. /현지의.

소스에서 컴파일할 때 이 스위치를 구성에 추가합니다: ./configure --prefix=/opt. 이렇게 하면 설치를 수행할 때 파일이 올바른 디렉토리에 있게 됩니다.

관련 정보