소프트웨어 소스 파일을 저장하는 표준 위치

소프트웨어 소스 파일을 저장하는 표준 위치

예를 들어 Linux에는 소스 파일을 저장할 표준 위치가 있습니까?OpenSSL. 기본이 아닌 OpenSSL 버전을 사용하여 소스에서 Nginx를 빌드하고 있습니다. OpenSSL을 다운로드하고 압축을 풀어야 합니다. 이 작업은 홈 디렉터리에서 수행합니다. 이제 Linux에 표준 위치가 있는지 궁금합니다 /opt.

답변1

이런 질문이 있을 때마다 확인해 보세요.파일 시스템 계층 표준(FHS). 거기에서 다음 항목을 찾을 수 있습니다:

usr/src: 소스 코드(선택 사항)

목적

소스 코드는 참조용으로만 이 하위 디렉터리에 위치할 수 있습니다.

따라서 소스 파일을 에 넣을 수 있습니다 /usr/src. 즉, 이는 선택적 디렉터리이므로 원하는 곳에 저장할 수 있습니다. 소스 코드가 실행 파일로 컴파일되면 소스 코드는 더 이상 관련이 없으므로 시스템은 특정 위치에서 소스 코드에 액세스할 수 있도록 요구하지 않습니다.

요점: /usr/src이것은 매우 표준적인 위치이지만 원하는 경우 자유롭게 선택할 수 있습니다.

답변2

/usr/local/src소스 코드를 저장하고 빌드하기에 안전한 장소입니다. FBI말하세요: (테이블의 마지막 행):

/usr/local : Local hierarchy
[...]

Requirements:
The following directories, or symbolic links 
to directories, must be in /usr/local

Directory   Description  
[...]
src         Local source code

그리고

/usr/local 계층 구조는 소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용합니다. 시스템 소프트웨어가 업데이트되면 덮어쓰지 않도록 해야 합니다.

"로컬 소스 코드"가 무엇을 의미하는지는 명확하지 않지만 시스템이 /usr/local/src와 달리 에 아무것도 넣으려고 하지 않는다는 것은 분명 /usr/src하므로 거기에 코드를 넣는 데에는 약간의 단점이 있는 것 같습니다.

실제로 내 파일 시스템은 별도의 파일 시스템에 있습니다.

Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/data-local_src     79G   46G   30G  61% /usr/local/src

참고: 최소한 Debian 에서는 staff./usr/local

답변3

"표준"이 전통적인 것을 의미한다면 소스 코드의 압축을 풀고 빌드하는 장소는 홈 디렉터리입니다. 이러한 파일은 임시 파일로 저장되어 작업이 끝나면 삭제하거나 원하는 대로 구성하여 보관해야 합니다. 홈 디렉토리는 이 모든 것을 처리하는 영역입니다.

앞으로도 계속 보관하고 싶다면,참고로, 이것"파일 시스템 계층 표준” 조언 /usr/src. 그러나 이는 법률이 아니라 지침입니다. 이러한 습관에 빠지고 Linux가 아닌 시스템을 사용하면 BSD 시스템에서 기본 시스템에 문제가 발생할 수 있습니다. 소스 코드는 거기에 보관되며 실제로는 이를 엉망으로 만들고 싶지 않으며 Linux에서도 패키지 관리자가 저장한 소스 코드와 혼동될 위험이 있으므로 이는 바람직하지 않습니다.

/usr/src전체적으로 피하는 것이 좋습니다 . 거기에 아무 것도 남겨 두는 것에는 뚜렷한 이점이 없으며 의도한 의미를 혼동하면 잠재적인 위험이 있습니다.

답변4

이 장소를 사용할 수 /usr/src있고 rpm 기반 배포판에서는 이 장소를 사용하여 srpm 패키지의 내용을 저장하는 것이 합리적으로 들립니다. 하지만 /opt, /usr/local등 의 다른 곳은 ~/src괜찮을 것입니다.

관련 정보