AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 410269
Accepted
alkabary
alkabary
Asked: 2017-12-12 11:16:03 +0800 CST2017-12-12 11:16:03 +0800 CST 2017-12-12 11:16:03 +0800 CST

É possível construir uma distribuição Linux com suporte para pacotes RPM e .deb?

  • 772

Eu estou querendo saber se é teoricamente possível construir uma distro Linux que possa suportar pacotes rpm e debian.

Existem distros ao vivo por aí que suportam ambos?

E se não é possível?

linux package-management
  • 7 7 respostas
  • 6374 Views

7 respostas

  • Voted
  1. Stephen Kitt
    2017-12-12T11:37:35+08:002017-12-12T11:37:35+08:00

    Eu não acho que existam distribuições que suportem ambos nativamente, mas acontece que há uma em desenvolvimento, Bedrock Linux (obrigado a iMalinowski pela informação). Em outras distribuições, você pode usar ferramentas de conversão, como alienconverter de um formato para outro. Qualquer coisa baseada em software é factível, com tempo e energia suficientes, então seria possível construir tal distribuição (mas dadas as diferenças entre os recursos de .debe .rpmpacotes, bastante difícil).

    No entanto, tudo isso provavelmente decorre da ideia de que o suporte a ambos os formatos de pacote tornaria a vida mais simples, porque você poderia instalar pacotes de qualquer lugar (bem, de qualquer lugar fornecendo um .debou .rpm). Filosoficamente, isso é falho. Uma distribuição é um conjunto coerente de pacotes; se você deseja fornecer software para essa distribuição, realmente precisa direcioná-lo especificamente, o que inclui o uso de seu formato de pacote (e mais importante, metadados). Não faz sentido oferecer suporte nativo a vários formatos de pacote.

    (No mundo Debian, os pacotes podem funcionar em variantes que não são seu alvo principal, porque a nomenclatura do pacote é bastante homogênea e porque a maioria das distribuições se encaixa em uma árvore de herança. Isso não é verdade no mundo RPM. Em ambos os casos, misturar e combinar é uma má ideia.)

    Você deve considerar sua distribuição como uma base para construir o sistema desejado, respeitando as regras e o ecossistema de sua distribuição, sem misturar coisas de outras distribuições. Você precisa de abstrações de alto nível para dar suporte à mistura e correspondência (ou melhor, para fornecer ambientes de distribuição cruzada): o tempo de execução do Steam, Flatpak, etc.

    • 43
  2. Best Answer
    Henry Malinowski
    2017-12-12T19:41:53+08:002017-12-12T19:41:53+08:00

    O Bedrock Linux faz isso. Não estou dizendo que fiz isso, ou que é uma boa ideia, mas está sendo feito.

    • 27
  3. 200_success
    2017-12-12T16:52:18+08:002017-12-12T16:52:18+08:00

    Não, tal monstro não deveria ser construído. Ao contrário, digamos, de um pacote de aplicativos MacOS, que normalmente inclui tudo o que o aplicativo precisa para ser executado no sistema operacional, os pacotes RPM e .deb quase sempre dependem de outros pacotes, como bibliotecas compartilhadas. Os pacotes do Linux listam os outros pacotes que precisam estar presentes e o gerenciador de pacotes ajuda a impor esses requisitos. Além disso, as distribuições do Linux diferem na forma como as coisas são feitas (por exemplo , /etc/network/interfaces.dvs. /etc/sysconfig/network-scripts).

    Você não deve nem misturar pacotes de repositórios arbitrários dentro da mesma família de formato de pacote. Ou seja, instalar pacotes SuSE em uma máquina CentOS é apenas pedir problemas, mesmo que ambos usem RPM. Eu nem instalaria pacotes destinados a uma versão diferente do mesmo sistema operacional (por exemplo, pacotes Ubuntu 14.04 em um sistema 16.04), a menos que soubesse exatamente o que estava fazendo.

    Portanto, tentar oferecer suporte a RPM e .deb no mesmo sistema está fora de questão. Em certas situações desesperadoras, você pode converter pacotes específicos usando alien, mas deve se esforçar muito para solucionar problemas que inevitavelmente surgiriam de tais hacks.

    • 10
  4. ilkkachu
    2017-12-12T11:29:35+08:002017-12-12T11:29:35+08:00

    Bem, há alien( man page ), que pode converter entre etc. rpm, debmas eu diria que os problemas reais vêm do manuseio de dependências (diferentes nomes de pacotes para o software) e locais de arquivos de configuração.

    Claro, se você quer dizer que ambos os tipos de pacotes podem vir da própria distribuição, isso pode ser contornado, mas então por que alguém faria isso... (E você ainda precisaria converter tudo para um ou outro , pois acho que não dpkgsabe ler os bancos de dados de rpme vice-versa.)

    • 9
  5. Giacomo Catenazzi
    2017-12-14T00:33:13+08:002017-12-14T00:33:13+08:00

    Sim, é possível, mas estraga a distribuição.

    Os pacotes não são apenas o formato, que pode ser facilmente transferido de um formato para outro.

    Nota: as ferramentas de instalação de pacotes precisam ser portadas, porque você gostaria de ter uma lista centralizada de todos os pacotes, versões, dependências, arquivos de configuração, scripts de pré e pós-instalação (se você substituir um pacote por outro, em outro pacote formato, você espera que os scripts de desinstalação (formato antigo) sejam executados a partir do novo sistema de pacotes.

    Mas uma distribuição e pacotes são muito mais que um formato de pacotes. Por exemplo, para Debian: queremos colocar os arquivos no lugar correto, queremos fornecer a página de manual, queremos ter alguns scripts comuns de demonização, queremos que o programa seja executado em várias arquiteturas, vários ambientes gráficos, para que um usuário encontre ele se familiarizou dentro de uma distribuição também com novos packages.packages.

    No Debian, queremos que os pacotes sejam facilmente construídos pelos usuários (a partir dos fontes), para que alguém possa personalizar alguns pacotes importantes (para ele). Isso requer muita infraestrutura, que a maioria dos autores upstream não pode fornecer (compilação automática e teste em várias arquiteturas, e feito de tempos em tempos). E também específico do Debian são os requisitos de licença, para que seja mais fácil bifurcar um pacote ou distribuição, sem a necessidade de verificar todos os pacotes.

    No final, uma distribuição é feita por pacotes consistentes, não apenas por pacotes.

    • 3
  6. Clearer
    2017-12-14T00:42:20+08:002017-12-14T00:42:20+08:00

    Sim, e a maioria das distros baseadas em .deb já faz isso, mas...

    No Debian e famílias relacionadas, pelo menos, você tem o alien, que permitirá a instalação de pacotes RPM.

    Você terá os mesmos problemas ao misturar pacotes que não foram projetados para funcionar com sua distro ao instalar pacotes estrangeiros, independentemente do formato - se você instalar um RPM em um sistema baseado em DEB, esse RPM deve ser compatível com seu sistema , como se você estivesse instalando um pacote RPM em um sistema baseado em RPM, e isso é o mas. Você pode fazer isso, mas provavelmente não quer.

    • 0
  7. jdwolf
    2017-12-31T17:42:07+08:002017-12-31T17:42:07+08:00

    Sim e não. deb e rpm são apenas formatos. Você pode suportar ambos os formatos, mas é inútil. Pacotes geralmente não são comparáveis ​​entre distribuições, especialmente distribuições que não são baseadas uma na outra.

    Se todas as distribuições tivessem os mesmos requisitos de versão, então tudo o que uma distribuição seria seria uma seleção de pacote. Você pode instalar qualquer distribuição listando os pacotes.

    Mas as distribuições devem fornecer software que possam suportar. Se uma biblioteca que faz seu aplicativo funcionar não é mantida e requer uma biblioteca que foi substituída por outra, como você resolve esse conflito? O gerenciador de pacotes não pode portar código. Pode haver vários sucessores escolhidos por diferentes distribuições.

    • 0

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve