É possível? Sim. Ambos os programas são de código aberto. É conveniente? Na verdade não.
Por quê?
Os gerentes de pacotes trabalham mais ou menos assim:
- Eles acompanham os pacotes instalados em seu sistema (e sua versão)
- Para fazer isso, eles especificam seu próprio formato de pacotes (por exemplo, .deb) e usam esses pacotes como instruções sobre como instalar o programa e como rastreá-lo
- Eles também rastreiam dependências (por exemplo, "este programa precisa ser aberto para funcionar!")
É por isso que ter um sistema que usaria poucos gerenciadores de pacotes não é a melhor ideia:
- Cada gerenciador de pacotes teria que ser informado sobre o pacote que está sendo instalado (por exemplo,
brew
teria que saber que você instaloufirefox
eapt
teria que saber que você instaloutldr
) - Cada gerenciador de pacotes teria que resolver dependências de outros gerenciadores de pacotes (por exemplo, "Brew: Este programa precisa de
ncurses
, masapt
já instalouncurses
, então não preciso puxá-los!").
Você vê, o problema com 2
é que os gerenciadores de pacotes são abstração para os repositórios subjacentes. Pessoas como os Debian escolhem os pacotes que eles querem que os usuários usem, e os disponibilizam para os outros. No entanto, eles também selecionam esses pacotes para que o sistema seja consistente; eles querem a menor quantidade de pacotes para oferecer a maior funcionalidade. Por que instalar ncurses versão 1,2 e 3, quando você pode fazer tudo funcionar na versão 2?
O primeiro problema também é uma má notícia. Os gerenciadores de pacotes teriam que se informar sobre o que eles fazem, ou poderiam colidir ( brew
não saberia que ncurses
já está instalado).
Então, por que é difícil?
- Os gerentes de pacotes precisariam cooperar estreitamente
- Os gerentes de pacotes precisariam ter uma política rígida sobre o que fazer quando não conseguem concordar com o pacote
- Os gerentes de pacotes teriam que trabalhar quase que interconectados, com a única diferença visível sendo os programas disponíveis
- Os gerentes de pacotes teriam que rastrear os repositórios uns dos outros em caso de atualizações.
Isso efetivamente significa que você precisaria de um gerenciador de pacotes que consistisse nos dois gerenciadores de pacotes. Você precisaria de um novo programa.
Então, o que posso fazer?
Primeiro, eu me perguntaria "Por que eu quero fazer isso?". Honestamente, sua distribuição deve fornecer muitos pacotes. Se você não está feliz com quantos pacotes você tem, você pode considerar mudar para outra distribuição que tem mais pacotes que você precisa.
Se você está realmente desesperado para fazer com que este brew
funcione, eu proporia a seguinte solução, embora eu não tenha certeza se isso é totalmente possível:
- Pegue as fontes de
brew
. - Aprenda o formato de receitas de cerveja.
- Escreva um programa que traduza automaticamente receitas para pacotes Debian.
- Modifique
brew
para que, sempre que você executá-lo, chame o programa para traduzir receitas para.deb
packages / pesquisas para os programas nos repositórios de sua distribuição e, em seguida, chameapt
para instalar este pacote.
Fazer essas modificações provavelmente levaria muito tempo e não é a coisa mais fácil. Eu sugiro mudar a distribuição ou aderir ao seu gerenciador de pacotes.