모두 매우 혼란 스럽습니다. 예를 들어 다음과 같은 다른 예가 있습니다.
<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb
소스 : 데비안 패키지 파일 이름
가 섹션 5.6.12 버전 또는도 너무 실제 패키지 파일 이름에 관련된 데비안 정책 안내서 (Debian Policy Manual)는? 아니면 제어 파일의 필드에만?
저장소 형식 에 대한이 위키 주제 에서는 개발자 우수 사례 안내서 에서와 같이 실제로 규칙에 대해 언급하지 않습니다 .
어쩌면 나는 잘못된 것을 찾고있을 것입니다. 데비안 패키지 이름 규칙을 찾을 수있는 곳을 알려주십시오. 데비안 코드 명을 어디에 넣을지 궁금합니다. 나는 이런 식으로하고 싶다 :
<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb
여기서 <debiancodename>
그냥 squeeze
나 wheezy
.
답변
패키지를 여러 데비안 기반 배포에 배포 / 배포하려고합니다.
데비안 / 우분투 세계에서는 .deb
다운로드 및 설치를 위해 개별 파일을 제공하지 않아야합니다 . 대신 APT 저장소를 제공해야합니다. (Fedora / Red Hat / CentOS 세계에서는 YUM 저장소를 제공하기 위해 비슷한 조언을합니다). deb 파일의 이름을 지정하는 방법에 대한 문제를 해결할뿐만 아니라 저장소는 버그 수정 및 보안 업데이트를 포함한 최신 버전의 패키지를 제공하는 효과적인 방법입니다. APT 리포지토리 생성은이 페이지 / 질문의 목적을 넘어 “Apt 리포지토리 설정 방법” 만 검색하십시오.
이제 “패키지 명명 규칙”질문으로 돌아가십시오.
로 패키지를 생성하면 dpkg-buildpackage
표준 방식으로 패키지 이름이 지정됩니다. dpkg-name 맨 페이지 인용 :
전체 패키지 이름은 패키지의 제어 파일에 지정된 package_version_architecture.package-type으로 구성됩니다.
package_version_architecture.package-type
데비안 정책 은 제어 파일의 구문을 알 수있는 올바른 장소입니다 : name (소스 및 바이너리 패키지 모두), version , architecture , package-type .
배포 방식을 설명 할 준비가되어 있지 않습니다.
여러 배포판에 대해 동일한 버전의 패키지를 컴파일해야하는 경우version
필드 debian/changelog
와 debian/control
파일 에서 필드 를 변경합니다 . 일부 사람들은 버전 필드에서 배포 이름을 사용합니다. 예를 들어 openssl :
0.9.8o-4squeeze14
1.0.1e-2+deb7u14
1.0.1k-1
그것이 당신이하고 싶은 일이라면, 버전debian_revision
에서 debian-policy를 읽으십시오 .