È sicuro rinominare il file .deb nominato dagli standard?


13

La struttura stabilita del .debnome file è package_version_architecture.deb.
Secondo questo paragrafo:

Alcuni pacchetti non seguono la struttura dei nomi package_version_architecture.deb. I pacchetti rinominati da dpkg-name seguiranno questa struttura. Generalmente ciò non avrà alcun impatto sul modo in cui i pacchetti sono installati da dselect / dpkg, ma altri strumenti di installazione potrebbero dipendere da questa struttura di denominazione.

Domanda:

Tuttavia, ci sono delle situazioni reali quando si rinomina il .debfile del pacchetto è altamente un raccomandato? È normale fornire un .debnome file personalizzato per il mio software?

Esempio:

  • My Program for Linux v1.0.0 (Pro).deb - la denominazione personalizzata
  • my-program_1.0.0-1_amd64.deb - la denominazione ufficiale corretta

Nota:

Non ho intenzione di creare un repository, sto solo ospitando il .debpacchetto del mio software sul mio sito Web per il download diretto.


8
Per favore, per amore di tutte le cose sante non usare spazi o parentesi nei nomi dei tuoi file. Fanno male nel culo gestirli dalla riga di comando e sono una potenziale fonte di bug nella gestione dei file.
Austin Hemmelgarn,

Risposte:


26

Nel corso degli anni, ho accumulato un gran numero di .debpacchetti con nomi non standard e non ricordo di aver riscontrato problemi. I pacchetti "famosi" con nomi non standard che le persone potrebbero incontrare oggi includono google-chrome-stable_current_amd64.debe steam.deb. (In entrambi i casi, il nome fisso e senza versione assicura che sia possibile utilizzare un URL stabile per i download e un nome stabile per le istruzioni di installazione.)

Comunque non ricordo di aver incontrato nessuno con spazi nei loro nomi; ciò non dovrebbe causare problemi con gli strumenti, ma potrebbe creare confusione per i tuoi utenti (dal momento che dovranno citare il nome del file o sfuggire agli spazi se usano strumenti basati su shell).

Un altro punto da notare è che l'uso di un nome non standard che non è lo stesso del nome del pacchetto (come memorizzato nel controlfile) potrebbe anche causare confusione, ad esempio quando si tenta di rimuovere il pacchetto (poiché il nome del pacchetto non sarà lo stesso del nome usato per installarlo).

Di conseguenza, se non si desidera attenersi al nome canonico, si consiglia di utilizzare qualcosa di simile my-program.debo my-program_amd64.deb(a seconda che si desideri supportare più architetture). Puoi creare anche un collegamento simbolico al nome file con versione se desideri consentire il download di versioni precedenti.


"un URL stabile può essere utilizzato per i download" - Sarei sorpreso se Google e Valve non avessero mai sentito parlare di reindirizzamenti.
OrangeDog,

@OrangeDog lo farebbe anch'io I. Avere un download fisso (senza reindirizzamento) semplifica ancora le cose (perché durante il reindirizzamento, il nome file finale utilizzato sul disco varia a seconda dello strumento utilizzato per scaricare sfortunatamente).
Stephen Kitt,

10

I nomi dei file sono standardizzati principalmente a beneficio del software di manutenzione dell'archivio e della cache locale.

In passato, prima che l' m68karchitettura fosse aggiunta a Debian, i nomi dei file utilizzavano " package _ version .deb", senza problemi. Il nome dell'architettura è stato aggiunto al nome del file quando il software di archiviazione doveva archiviare i386e m68kpacchetti dello stesso pacchetto e versione nella stessa directory. Poiché l'elenco dei pacchetti ha sempre contenuto sia nomi di file lunghi che 8,3 , questi potrebbero essere implementati senza interrompere i client.

Dpkg generalmente non si preoccupa affatto dei nomi dei file dei pacchetti. Durante le esecuzioni dell'installazione, APT genera una directory con tutti i file del pacchetto per questa esecuzione dell'installazione e ogni file avrà il numero nell'esecuzione corrente anteposto al nome del file (cioè se si installa la fooversione del pacchetto 1 e la barversione del pacchetto 2, che foodipende da , apt passerà 0-bar_2_all.debe 1-foo_1_amd64.deba dpkg).

APT presuppone generalmente che i nomi siano univoci ai fini della memorizzazione nella cache. Se riutilizzi un nome, gli utenti che hanno già questo file nella loro cache tenteranno di riprendere il download se il nuovo file è più grande, il che li lascerà con un file non valido che verrà successivamente scartato in quanto fallisce il test di checksum. Questo errore viene comunque mostrato all'utente e devono riavviare l'esecuzione dell'installazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.