.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
— 적절한 공식 명명
노트 :
난 아니 난 그냥 호스팅있어하는 REPO를 만들 계획을 .deb
직접 다운로드 내 웹 사이트에 내 소프트웨어 패키지를.
답변
몇 년 동안, 나는 많은 수의 축적 .deb
비표준 이름을 가진 패키지를 , 어떤 문제가 발생했는지 기억하지 못합니다. 요즘 사람들이 접할 수있는 비표준 이름의 “유명한”패키지에는 google-chrome-stable_current_amd64.deb
and가 포함됩니다 steam.deb
. 두 경우 모두 고정 된 버전이없는 이름은 안정적인 URL을 다운로드에 사용할 수 있고 안정적인 이름을 설치 지침에 사용할 수있게합니다.
그러나 나는 이름에 공백이있는 것을 기억 하지 않습니다 . 도구에 문제를 일으키지 않아야하지만 사용자가 혼동을 일으킬 수 있습니다 (쉘 기반 도구를 사용하는 경우 파일 이름을 인용하거나 공백을 피해야하기 때문에).
주목해야 할 또 다른 사항은 패키지 이름과 동일하지 않은 비표준 이름을 사용한다는 것입니다. control
파일을) 할 수도 혼란의 원인, 예를 들어 패키지 이름이되지 않기 때문에 (패키지를 제거하려고 할 때 설치에 사용 된 이름과 동일).
당신은 내가 같은 것을 추천 할 것입니다 정식 이름에 충실하지 않으려면 모든이의 결과로, my-program.deb
또는 my-program_amd64.deb
(여러 아키텍처를 지원할지 여부에 따라). 이전 버전을 다운로드하려면 버전이 지정된 파일 이름으로 심볼릭 링크를 만들 수도 있습니다.
답변
파일 이름은 주로 아카이브 유지 관리 소프트웨어 및 로컬 캐시의 이점을 위해 표준화되었습니다.
예전에는 m68k
데비안에 아키텍처를 추가 하기 전에 파일 이름이 ” package _ version .deb”로 문제없이 사용되었습니다. 아카이브 소프트웨어 가 동일한 디렉토리에 동일한 패키지 및 버전의 패키지 를 저장 i386
하고 m68k
패키지 해야 할 때 파일 이름에 아키텍처 이름이 추가되었습니다 . 패키지 목록에는 항상 긴 파일 이름과 8.3 파일 이름이 모두 포함되어 있으므로 클라이언트를 중단하지 않고 구현할 수 있습니다.
Dpkg는 일반적으로 패키지의 파일 이름을 전혀 신경 쓰지 않습니다. 설치를 실행하는 동안, APT이 설치 실행에 대한 모든 패키지 파일과 디렉토리를 생성하고, 각 파일 (파일 이름 앞에 추가 현재 실행에서 수있을 것이다 즉 당신은 패키지 설치하는 경우 foo
버전 1 및 패키지 bar
버전 2 foo
에 따라 달라집니다 , APT가 통과 할 0-bar_2_all.deb
과 1-foo_1_amd64.deb
) dpkg를 할 수 있습니다.
APT는 일반적으로 이름이 캐싱 목적으로 고유하다고 가정합니다. 이름을 다시 사용하는 경우 캐시에이 파일이있는 사용자는 새 파일이 더 큰 경우 이미 다운로드를 재개하려고 시도하므로 체크섬 테스트에 실패하면 잘못된 파일이 남게됩니다. 그러나이 오류는 사용자에게 표시되며 설치 실행을 다시 시작해야합니다.