생성 된 파일 이름 구조 .deb
는 package_version_architecture.deb
.
이것절:
일부 패키지는 이름 구조를 따르지 않습니다
package_version_architecture.deb
. dpkg-name으로 이름이 변경된 패키지는 이 구조를 따릅니다. 일반적으로 이는 dselect/dpkg가 패키지를 설치하는 방법에 영향을 미치지 않지만 다른 설치 도구는 이 명명 구조에 의존할 수 있습니다.
질문:
그런데 실제 생활에서 .deb
패키지 파일 이름을 바꾸는 경우가 그리 심각한가요?연합 국가존경받는가? .deb
내 소프트웨어에 사용자 정의 파일 이름을 제공하는 것이 일반적인 관행입니까?
예:
My Program for Linux v1.0.0 (Pro).deb
— 사용자 정의 이름 지정my-program_1.0.0-1_amd64.deb
— 정확한 공식 명칭
노트:
그래요아니요.deb
계획은 저장소를 만드는 것이며 직접 다운로드할 수 있도록 웹 사이트에 패키지를 호스팅 하겠습니다 .
답변1
수년에 걸쳐 나는 .deb
표준이 아닌 이름을 가진 많은 수의 패키지를 축적해 왔지만 어떤 문제도 겪은 기억이 없습니다. 오늘날 비표준 이름으로 접할 수 있는 "주요" 패키지 google-chrome-stable_current_amd64.deb
에는 steam.deb
. (두 경우 모두 고정된 버전 없는 이름을 사용하면 안정적인 URL을 다운로드에 사용할 수 있고 안정적인 이름을 설치 지침에 사용할 수 있습니다.)
하지만 나는아니요이름에 공백이 있는 사람을 만나면 도구에 문제가 발생하지 않지만 사용자에게 혼란을 야기할 수 있습니다(쉘을 사용하는 경우 파일 이름을 인용하거나 공백을 이스케이프해야 하기 때문). 기반 도구) .
또 한 가지 주의할 점은 (파일에 저장된) 패키지 이름과 다른 비표준 이름을 사용하는 것도 control
혼란을 초래할 수 있다는 점입니다.예를 들어패키지를 제거하려고 할 때(패키지 이름이 설치된 패키지 이름과 다르기 때문에)
따라서 표준 이름을 고수하고 싶지 않다면 (여러 아키텍처를 지원할지 여부에 따라) my-program.deb
또는 같은 것을 권장합니다. my-program_amd64.deb
이전 버전의 다운로드를 허용하려는 경우 이를 버전 파일 이름에 대한 심볼릭 링크로 설정할 수도 있습니다.
답변2
파일 이름 표준화는 주로 아카이브 유지 관리 소프트웨어 및 로컬 캐싱의 이점을 위한 것입니다.
과거에는 m68k
스키마가 Debian에 추가되기 전에는 "팩_버전.deb", 문제 없습니다. 아카이브 소프트웨어가 동일한 패키지 및 버전의 패키지를 동일한 디렉터리에 저장해야 하는 경우 스키마 이름이 파일 이름에 추가됩니다 i386
. m68k
패키지 목록에는 항상 두 가지가 모두 포함되어 있기 때문입니다.긴 파일 이름 및 8.3 파일 이름, 이는 클라이언트를 중단하지 않고 달성할 수 있습니다.
Dpkg는 일반적으로 패키지의 파일 이름에 전혀 신경 쓰지 않습니다. 설치 실행 중에 APT는 이 설치 실행에 대한 모든 패키지 파일이 포함된 디렉터리를 생성하며, 각 파일에는 파일 이름에 현재 실행 번호가 추가됩니다(예: 패키지 foo
버전 1과 패키지 bar
버전 2를 설치하는 경우 foo
상황에 따라 apt가 전달되어 0-bar_2_all.deb
dpkg 1-foo_1_amd64.deb
로 전달됩니다.
APT는 일반적으로 캐싱 목적으로 이름이 고유하다고 가정합니다. 이름을 재사용하는 경우 캐시에 이미 파일이 있는 사용자는 새 파일이 더 커지면 다운로드를 재개하려고 시도하게 되며 잘못된 파일이 남게 되며 체크섬 테스트 실패로 인해 삭제됩니다. 그러나 이 오류는 사용자에게 표시되며 실행하려면 설치를 다시 시작해야 합니다.