예를 들어 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
괜찮을 것입니다.