A estrutura estabelecida do .deb
nome do arquivo é package_version_architecture.deb
.
De acordo com este parágrafo:
Alguns pacotes não seguem a estrutura de nomes
package_version_architecture.deb
. Os pacotes renomeados por dpkg-name seguirão essa estrutura. Geralmente, isso não terá impacto sobre como os pacotes são instalados pelo dselect / dpkg, mas outras ferramentas de instalação podem depender dessa estrutura de nomes.
Questão:
No entanto, existem situações reais quando mudar o nome do .deb
arquivo do pacote é altamente un recomendado? É uma prática normal fornecer um .deb
nome de arquivo personalizado para o meu software?
Exemplo:
My Program for Linux v1.0.0 (Pro).deb
- a nomeação personalizadamy-program_1.0.0-1_amd64.deb
- a nomeação oficial apropriada
Nota:
Estou não planejando criar um repo, estou apenas hospeda o .deb
pacote do meu software no meu site para download direto.
Respostas:
Ao longo dos anos, acumulei um grande número de
.deb
pacotes com nomes fora do padrão e não me lembro de ter problemas. Pacotes "famosos" com nomes não padronizados que as pessoas podem encontrar hoje em dia incluemgoogle-chrome-stable_current_amd64.deb
esteam.deb
. (Nos dois casos, o nome fixo e sem versão garante que uma URL estável possa ser usada para downloads e um nome estável para instruções de instalação.)No entanto , não me lembro de encontrar espaços com nomes nos espaços; isso também não deve causar problemas nas ferramentas, mas pode causar confusão para os usuários (pois eles precisarão citar o nome do arquivo ou escapar dos espaços se estiverem usando ferramentas baseadas em shell).
Outro ponto a ser observado é que o uso de um nome não padrão que não seja igual ao nome do seu pacote (conforme armazenado no
control
arquivo) também pode causar confusão, por exemplo ao tentar remover o pacote (já que o nome do pacote não será o mesmo que o nome usado para instalá-lo).Como resultado de tudo isso, se você não deseja manter o nome canônico, eu recomendaria algo como
my-program.deb
oumy-program_amd64.deb
(dependendo se você deseja suportar várias arquiteturas). Você também pode criar um link simbólico para o nome do arquivo com versão se quiser permitir o download de versões mais antigas.fonte
Os nomes dos arquivos são padronizados principalmente para o benefício do software de manutenção de arquivamento e do cache local.
Antigamente, antes da
m68k
arquitetura ser adicionada ao Debian, os nomes de arquivo usavam " package _ version .deb", sem problemas. O nome da arquitetura foi adicionado ao nome do arquivo quando o software de archive precisava armazenari386
em68k
pacotes do mesmo pacote e versão no mesmo diretório. Como a lista de pacotes sempre continha nomes de arquivos longos e 8.3 , isso poderia ser implementado sem interromper os clientes.O Dpkg geralmente não se importa com os nomes dos arquivos dos pacotes. Durante a execução da instalação, o APT gera um diretório com todos os arquivos do pacote para essa execução, e cada arquivo terá o número da execução atual anexado ao nome do arquivo (ou seja, se você instalar a
foo
versão 1 do pacote e abar
versão 2 do pacote , quefoo
depende de , o apt passará0-bar_2_all.deb
e1-foo_1_amd64.deb
para o dpkg).O APT geralmente assume que os nomes são exclusivos para fins de armazenamento em cache. Se você reutilizar um nome, os usuários que tiverem esse arquivo em cache já tentarão retomar o download se o novo arquivo for maior, o que deixará um arquivo inválido que será descartado posteriormente por falhar no teste de soma de verificação. No entanto, esse erro é mostrado ao usuário e eles precisam reiniciar a instalação.
fonte