저는 DEB 및 RPM 형식으로 패키지된 레거시 크로스 플랫폼 프로젝트를 작업 중입니다.
Linux 패키지를 설치한 후 스크립트(예: CMake 및 Bash 스크립트) 및 프로그램 실행에는 설치 폴더 경로를 보유하는 환경 변수가 필요합니다. 이 변수는 알려진 이름을 가지며 Program Files\My Package
Windows 및 /opt/my_package
Unix 시스템을 가리킬 수 있습니다 .
현재 Linux 사용자는 소프트웨어를 사용하려면 이 변수를 수동으로 등록해야 합니다. 편리한 해결 방법은 패키지 설치의 일부로 환경 변수를 등록하는 것입니다.
/etc/profile
시스템 전반의 환경 변수는 및 와 같은 구성 파일에서 설정할 수 있다는 것을 알고 있습니다 . 이러한 파일을 스크립트의 일부로 /etc/bashrc
수정할 수 있습니다 .postinst
패키지 설치 중에 시스템 전체 환경 변수를 만드는 것이 좋은 방법입니까? 그렇다면 선호되는 접근 방식은 무엇입니까?
Linux 패키지는 Ubuntu 16.04 및 RHEL 7 사용자에게 배포됩니다.
답변1
Ubuntu와 RHEL은 모두 /etc/profile.d/ 구조를 사용한다고 생각하며, 예를 들어 CSH 제품군을 지원해야 하는 경우 /etc/profile.d/legacyapp.sh
응용 프로그램 이름을 따서 해당 디렉터리에 파일을 패키징하는 것이 좋습니다./etc/profile.d/legacyapp.csh