Ustalona struktura .deb
nazwy pliku to package_version_architecture.deb
.
Zgodnie z tym ustępem:
Niektóre pakiety nie mają struktury nazw
package_version_architecture.deb
. Pakiety o nazwach dpkg-name będą miały tę strukturę. Zasadniczo nie będzie to miało wpływu na sposób instalacji pakietów przez dselect / dpkg, ale inne narzędzia instalacyjne mogą zależeć od tej struktury nazewnictwa.
Pytanie:
Jednak, czy są jakieś realne sytuacje, gdy zmiana nazwy .deb
pliku pakietu jest bardzo un zalecane? Czy to normalna praktyka, aby podać niestandardową .deb
nazwę pliku dla mojego oprogramowania?
Przykład:
My Program for Linux v1.0.0 (Pro).deb
- niestandardowe nazewnictwomy-program_1.0.0-1_amd64.deb
- prawidłowe oficjalne nazewnictwo
Uwaga:
Ja nie planuje stworzyć repo, ja tylko hosting .deb
pakiet mojego oprogramowania na mojej stronie do bezpośredniego pobrania.
Odpowiedzi:
Z biegiem lat zgromadziłem dużą liczbę
.deb
paczek o niestandardowych nazwach i nie pamiętam, żebym miał problemy. „Znane” pakiety o niestandardowych nazwach, które ludzie mogą obecnie spotkać, obejmujągoogle-chrome-stable_current_amd64.deb
isteam.deb
. (W obu przypadkach stała nazwa bez wersji zapewnia, że do pobierania można użyć stabilnego adresu URL, a instrukcji instalacji - stabilną nazwę).Jednak nie pamiętam, żeby biegać po nich ze spacjami w nazwach; nie powinno to również powodować problemów z narzędziami, ale może powodować zamieszanie dla użytkowników (ponieważ będą musieli zacytować nazwę pliku lub uciec ze spacji, jeśli używają narzędzi opartych na powłoce).
Należy również zauważyć, że użycie niestandardowej nazwy, która nie jest taka sama jak nazwa pakietu (zapisana w
control
pliku), może również powodować zamieszanie, np. Przy próbie usunięcia pakietu (ponieważ nazwa pakietu nie będzie taka sama jak nazwa użyta do jej instalacji).W związku z tym, jeśli nie chcesz trzymać się kanonicznej nazwy, poleciłbym coś podobnego
my-program.deb
lubmy-program_amd64.deb
(w zależności od tego, czy chcesz obsługiwać wiele architektur). Możesz również uczynić z tego dowiązanie symboliczne do wersji pliku, jeśli chcesz zezwolić na pobieranie starszych wersji.źródło
Nazwy plików są standaryzowane głównie na potrzeby oprogramowania do obsługi archiwów i lokalnej pamięci podręcznej.
W dawnych czasach, zanim
m68k
architektura została dodana do Debiana, w nazwach plików używano „ pakiet _ wersja .deb”, bez żadnych problemów. Nazwę architektury dodano do nazwy pliku, gdy oprogramowanie archiwum wymagało przechowywaniai386
im68k
pakietów tego samego pakietu i wersji w tym samym katalogu. Ponieważ lista pakietów zawsze zawierała zarówno długie, jak i 8.3 nazwy plików , które można wdrożyć bez rozbijania klientów.Dpkg w ogóle nie przejmuje się nazwami pakietów. Podczas uruchomień instalacyjnych APT generuje katalog ze wszystkimi plikami pakietu dla tego uruchomienia instalacyjnego, a każdy plik będzie miał numer w bieżącym uruchomieniu dodany do nazwy pliku (tj. Jeśli zainstalujesz pakiet w
foo
wersji 1 i pakiet wbar
wersji 2, wfoo
zależności od , apt przejdzie0-bar_2_all.deb
i1-foo_1_amd64.deb
do dpkg).APT ogólnie zakłada, że nazwy są unikalne do celów buforowania. Jeśli użyjesz nazwy ponownie, użytkownicy, którzy mają już ten plik w pamięci podręcznej, podejmą próbę wznowienia pobierania, jeśli nowy plik jest większy, co spowoduje pozostawienie nieprawidłowego pliku, który zostanie następnie odrzucony, ponieważ nie przejdzie testu sumy kontrolnej. Ten błąd jest jednak pokazywany użytkownikowi, który musi ponownie uruchomić instalację.
źródło