애플리케이션 패키지를 저장하는 데 적합한 명명 구조는 무엇입니까?

애플리케이션 패키지를 저장하는 데 적합한 명명 구조는 무엇입니까?

내 패키지 관리 시스템에 적합한 디렉터리 이름 지정 구조를 결정해야 합니다. 원래 디렉토리 구조는 어떤 방식으로든 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, , 및 디렉터리에 연결될 수 있습니다. sbinetclib/usr/local

편집 : 질문을 다시 읽으십시오. 표준 디렉토리 bin, sbin, lib, 및 를 etc사용 하십시오 . 소스 및 빌드 디렉터리는 일반적으로 패키지당 하나의 디렉터리 아래에 있습니다. 설치는 일반적으로 파일을 표준 디렉터리 구조에 복사하여 수행됩니다. 일단 설치되면 정리하거나 삭제해도 안전합니다 . usrvar/usr/src/usr/src

답변2

첫째, 관련 소프트웨어를 다른 구성으로 컴파일하는 방법을 도입하여 이를 억지로 집어넣는 대신 실제 UNIX 경로를 사용함으로써 매핑 문제를 완전히 피할 수 있습니까?

원본 파일을 어떤 식으로든 수정하여 제자리에 다시 패키징할 수 있다면 /opt전체 내용과 심볼릭 링크를 저장하는 장소로 활용하는 것이 좋습니다.

관련 정보