내 패키지 관리 시스템에 적합한 디렉터리 이름 지정 구조를 결정해야 합니다. 원래 디렉토리 구조는 어떤 방식으로든 POSIX와 호환되지 않으며 확실히 UNIX 스타일도 아닙니다(GoboLinux와 유사하다는 것을 알 수 있습니다). 구조는 약간 다음과 같습니다.
/Applications
- 사용자의 애플리케이션(단, 사용자가 직접 설치하지는 않음)/System/AppResolve
- 애플리케이션 구문 분석(유효/bin
)/System/LibResolve
- 라이브러리 구문 분석(유효함/lib
)/System/Utilities/Applications
- 시스템을 실행하기 위한 기본 애플리케이션/System/Utilities/Libraries
- 시스템 운영에 필요한 라이브러리
이제 UNIX와 유사한 시스템에서 이 디렉터리 구조를 나타내는 방법을 찾아야 합니다. AppResolve와 LibResolve는 잘 /lib
작동 하므로 문제가 되지 않습니다 /bin
. 문제는 다른 디렉터리에 있습니다.
다른 모든 디렉터리 아래에는 응용 프로그램이 자체 폴더에 있으므로 예를 들어 다음과 같은 경로가 있을 수 있습니다.
/System/Utilities/Applications/Tar/1.22/bin/tar
물론 /bin/tar
심볼릭 링크는 바이너리로 해석됩니다.
그래서 질문은 이것이다, 이 구조를 가져와서 UNIX 스타일의 명명된 디렉터리에 맞게 재배열해야 합니다(특히 Linux의 기존 구조와 작동하도록). 다음과 같이 생각했는데, 반복적이고 별로 좋지 않은 것 같습니다.
/usr/app/user/applications/...
/usr/app/system/applications/Tar/1.22/bin/tar
/usr/app/system/libraries/...
제안?
명확히 하기 위해:이를 위해서는 기존 UNIX 디렉터리에 대한 매핑이 필요하지 않으며 기존 UNIX 디렉터리에 대한 매핑이 필요합니다. UNIX 명명 규칙(3자 디렉터리 등)에 따라 이러한 "사용자" 및 "시스템" 디렉터리에 가장 적합한 부팅 경로가 필요합니다.
답변1
man hier
계층 구조 표준에 관한 제안된 검토 또는 기타 문서 역할을 합니다 . 패키지를 에 설치했는데 /opt
, 이는 귀하의 /Applications
디렉토리에 매핑됩니다. 내가 작업한 대부분의 시스템에서 패키지 bin 디렉토리는 PATH
사용자 .profile
또는 시스템 전체에 추가됩니다 /etc/profile
.
경우에 따라 구성 및 바이너리가 루트 디렉터리나 아래의 표준 bin
, , 및 디렉터리에 연결될 수 있습니다. sbin
etc
lib
/usr/local
편집 : 질문을 다시 읽으십시오. 표준 디렉토리 bin
, sbin
, lib
, 및 를 etc
사용 하십시오 . 소스 및 빌드 디렉터리는 일반적으로 패키지당 하나의 디렉터리 아래에 있습니다. 설치는 일반적으로 파일을 표준 디렉터리 구조에 복사하여 수행됩니다. 일단 설치되면 정리하거나 삭제해도 안전합니다 . usr
var
/usr/src
/usr/src
답변2
첫째, 관련 소프트웨어를 다른 구성으로 컴파일하는 방법을 도입하여 이를 억지로 집어넣는 대신 실제 UNIX 경로를 사용함으로써 매핑 문제를 완전히 피할 수 있습니까?
원본 파일을 어떤 식으로든 수정하여 제자리에 다시 패키징할 수 있다면 /opt
전체 내용과 심볼릭 링크를 저장하는 장소로 활용하는 것이 좋습니다.