곧 출시될 소프트웨어(대학원 프로젝트)가 있는데 UNIX 컴퓨터에 소프트웨어를 설치하는 데 대한 모범 사례가 무엇인지 알고 싶습니다.
원래는 /usr/local/bin
내 프로젝트를 통해 연결했지만 최근에는 사용자별 파일에 추가하여 설치하려고 생각했습니다 .bashrc
. 특수한 경우에는 사용자가 루트인 경우 사용자별 경로 대신 전역 경로에 추가됩니다.
.bashrc
설치 사용자 폴더에 단일 변수를 추가하여 다른 리소스에 빠르게 연결할 수 있으므로 추가하기 쉬운 몇 가지 기능이 제공되었습니다 .
그러나 나는 이 결정에 의문이 들기 시작했습니다.
경로에 추가할지, 추가하지 않을지, 그것이 문제입니다. 경로의 심볼릭 링크가 더 고귀한 것이 /usr/local/bin
거나 무기를 들고 성장하는 경로 변수에 추가하는 것입니다.
추가 정보:
TCL 프런트엔드가 포함된 C++ 백엔드입니다. TCL 프론트엔드는 또한 Java 아카이브(내 경력 초기에 생성됨)를 시작했습니다. 또한 자체 TCL 인터프리터를 사용하여 다른 프로그램을 실행할 수 있는 TCL 프런트 엔드에 대한 확장이 있습니다. 인터프리터를 사용하여 프로그램에 bwidget tcl 패키지를 제공해야 합니다. 따라서 bwidget 패키지를 제공하고 jar 파일을 실행하려면 링크할 위치가 필요합니다. 또한 사용자는 주로 화학 사용자이고 UNIX에 익숙하지 않으며 아마도 Mac을 사용하므로 사용자가 쉽게 사용할 수 있도록 해야 합니다.
플랫폼은 Mac 또는 Unix에서 실행되어야 합니다.
이상적으로는 사용자가 위치를 기억하게 하는 대신 단일 명령으로 TCL 스크립트를 시작할 수 있기를 바랍니다.
이것은 이전에 폐쇄된 소스 프로젝트였지만 현재는 오픈 소스이며 사용자가 프로그램을 쉽게 컴파일하고 설치할 수 있기를 바랍니다.
설치 옵션을 생성하기 위해 make를 사용하고 있습니다.
답변1
/usr/local/bin에 심볼릭 링크하지 마세요또는경로를 엉망으로 만듭니다. 특히 후자는 아닙니다. 지정된 위치에 설치하는 설치 프로그램을 작성하세요. 유사하고 잘 알려진 프로그램을 확인하여 어떻게 작동하는지 확인하세요. 귀하의 계획에 대한 자세한 내용을 제공해 주시면 귀하의 필요에 따라 구체적인 조언을 제공해 드릴 수 있습니다.
그리고 누구도 처음부터 설치 프로그램을 작성하지 않습니다. 사람들은 주로 Make, Cmake, scons 등과 같은 프로그램을 사용합니다. 일부 언어에는 사용하려는 경우 Python의 distutils와 같은 특수 설치 소프트웨어가 있습니다.
답변2
일부 패키지(일반적으로 배포판의 패키지 저장소에서 찾을 수 없는 것)가 /opt에 설치되고 .desktop 파일을 ~/Desktop 및 ~/.local/share/applications에 추가하여 활성화하는 것을 보았습니다.
답변3
두 가지 대안 제안:
/etc/profile.d/myprogram.sh
Red Hat과 같은 시스템에서는 파일을 include 로 끌어서 놓을 수 있습니다.PATH=$PATH:/opt/myprogram
- 많은 시스템에서
PATH=...
다음 줄을 추가 할 수 있습니다./etc/environment
하지만 내 생각에는 프로그램을 설치 /opt/myprogram
하고 이를 실행하기 위한 스크립트를 작성하는 것이 /usr/local/bin
아마도 덜 해로울 것입니다.
답변4
단일 사용자를 위해 프로그램을 설치하려면 바이너리 실행 파일을 ~/bin에 배치하면 됩니다. 대부분의 UNIX 시스템에서 .bashrc는 존재하는 경우 사용자 경로에 ~/bin을 포함하도록 설정됩니다.