Instalando o apt-get no redhat

9

É possível instalar apt-getno redhat? Tenho a impressão de que você não pode, mas só queria ter certeza. Se for possível, a vida seria MUITO mais fácil ao instalar vários programas, especialmente porque yumrealmente não tem tantos programas disponíveis quanto parece.

Aqui está o que eu tentei (apenas para constar):

Eu tenho tentado instalar o apt-get seguindo estas instruções, mas o redhat não possui o dpkg, então estou de volta ao quadrado 1.

Estou fazendo esta pergunta porque estou tendo alguma dificuldade em instalar um plug-in para o pidgin (pidgin-sipe) porque yum install libglib2.0-devestá falhando, o que é uma evidência para mim de que o apt-get pode ser um investimento valioso.

Alguma sugestão?

ajsmart
fonte
3
Para referência futura, também descobri que yum install pidgin-sipefunciona também. Afinal, eu não precisava de uma instalação manual, mas foi uma ótima experiência de aprendizado.
ajsmart

Respostas:

10

Você não precisa substituir sua ferramenta de gerenciamento de pacotes apenas porque um pacote parece estar ausente.

Cada ferramenta de gerenciamento de pacotes está totalmente integrada à sua distribuição, e isso não é diferente no CentOS. aptestá bem integrado ao Debian e seus derivados, e mesmo que eles (Debian, Ubuntu, Mint, Knoppix ...) usem a mesma ferramenta para gerenciamento de pacotes, seus pacotes estão vinculados e configurados com versões específicas de pacotes que, em alguns casos, funcionarão apenas com dependências específicas que essa distribuição possui.

O que você precisa é instalar o pacote dev de glibsistemas operacionais específicos para redhat-alike:

yum install glib2-devel.x86_64

A ressalva aqui é que você precisará encontrar um pacote equivalente, que pode ter um nome diferente em sua distribuição. Saber como procurar pacotes na distribuição que você está usando é um tempo bem gasto em conhecimento.

Como eu descobri que esse era o nome:

[root@ftp ~]# yum search glib2| grep dev
glib2-devel.i686 : A library of handy utility functions
glib2-devel.x86_64 : A library of handy utility functions
spice-glib-devel.i686 : Development files to build Glib2 applications with
spice-glib-devel.x86_64 : Development files to build Glib2 applications with

E mostrando as informações do pacote, você pode ver que parece ser o mesmo pacote dev da biblioteca:

[root@ftp ~]# yum info glib2-devel.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.brisanet.com.br
 * extras: centos.brisanet.com.br
 * rpmforge-extras: apt.sw.be
 * updates: centos.brisanet.com.br
Available Packages
Name        : glib2-devel
Arch        : x86_64
Version     : 2.28.8
Release     : 9.el6
Size        : 300 k
Repo        : base
Summary     : A library of handy utility functions
URL         : http://www.gtk.org
License     : LGPLv2+
Description : The glib2-devel package includes the header files for the GLib library.

Além disso, se você não estiver familiarizado com a pesquisa de pacotes, essa ferramenta online poderá ajudá-lo a encontrar pacotes nas Distribuições Linux mais comuns: Pesquisa de Pacotes Linux

Faheem Mitha
fonte
Eu encontro muito esse problema, mas existe um equivalente para tudo? Quero dizer, se os repositórios são diferentes, significa para mim que cada um terá programas / recursos que o outro não possui.
ajsmart
1
A maioria dos pacotes CLI comuns ( glib, linux-utils, iputils2, dos-utils, nmap, tcpdumpe muitos mais) e interfaces gráficas são embalados em distribuições, então sim, a chance é grande de que, se você tem um pacote acessível em Debianque você pode tê-lo em CentOSou por si repos comunidade;)
É o caso de diferentes distribuições Linux terem prioridades diferentes, e isso se reflete em quais pacotes estão disponíveis. Se esse é um problema que você encontra muito, pode ser o caso de outra distribuição Linux ter prioridades mais parecidas com a sua. distrowatch.com pode ser útil para comparações.
bgvaughan
Mas neste caso pergunta específica, glibdev coisas relacionadas é algo que você pode encontrar na maioria das distribuições ...
@bgvaughan Eu teria escolhido uma distribuição diferente, mas isso está relacionado ao trabalho. Infelizmente, eu realmente não tenho escolha. A única versão corporativa suportada do Linux é RHEL, mas se eu tivesse uma escolha, teria escolhido o Ubuntu ou um de seus derivados.
ajsmart
12

O TL; DR apt geralmente não funciona imediatamente com distribuições baseadas no Enterprise Linux e você não encontrará muitos repositórios que funcionem para você de qualquer maneira.

Se você está tendo problemas para encontrar o software que deseja na Red Hat, é porque seus repositórios não possuem os pacotes. O que você deseja analisar é adicionar repositórios diferentes. Para o Red Hat Enterprise Linux, o primeiro repositório a ser adicionado é o Extra Packages For Enterprise Linux (EPEL) hospedado no The Fedora Project. Você provavelmente encontrará MUITO do que está faltando nesse repositório.

Mais Informações:

Embora seja certamente possível instalar os aptutilitários de gerenciamento de pacotes em um sistema Enterprise Linux, isso não significa que você poderá fazer alguma coisa com ele assim que terminar.

A questão aqui é que o aptutilitário é um programa que funciona com diretórios publicados de pacotes de software (repositórios é o nome usual para mim, mas pode variar). Yum, rpm, dnf, emerge, Etc, são todos os utilitários no variando distribuições * nix que fazem a mesma coisa. Mas eles não oferecem o software, eles são configurados para consultar os repositórios e fornecer pacotes a partir deles. O outro problema é que os repositórios comuns que você encontra on-line geralmente são criados com configurados para funcionar com os utilitários de gerenciamento de pacotes nativos do SO para o qual estão oferecendo software. Você provavelmente poderia configuraraptno seu sistema RHEL7 para consultar os repositórios Debian, mas o software provavelmente seria incompatível com o seu sistema devido às diferenças na forma como o Debian e a Red Hat constroem, layout, estrutura e configuram seus sistemas operacionais. É como tentar instalar o software Mac OS X no seu sistema Linux. Ambos são técnicos * baseados em NIX, mas variam amplamente em como funcionam.

0xSheepdog
fonte
1
Então, para esclarecer, você está basicamente dizendo que não preciso do apt SE tenho os repositórios adicionados ao meu sistema? (Obrigado pelo link!)
ajsmart
Você só precisa encontrar o pacote "equivalente" à sua distribuição. Dê uma olhada na minha resposta @ajsmart
Corrigir! O Apt é uma ferramenta para obter pacotes, comumente usada por distribuições baseadas no Debian. Rpm, Yum e Dnf são uma família de ferramentas usadas pelo Enterprise Linux. Os repositórios que eles usam também são diferentes, mas não por causa das ferramentas, mas por causa da família de SOs em que os repositórios estão servindo software. Boa sorte e avise-nos se precisar de mais.
0xSheepdog
2

Estou fazendo esta pergunta porque estou tendo alguma dificuldade em instalar um plug-in para o pidgin (pidgin-sipe) porque o yum install libglib2.0-dev está falhando, o que é uma evidência para mim de que o apt-get pode ser um investimento valioso.

Resposta curta: na verdade não, não.

Existe uma porta aptpara rpm, nomeadamente apt-rpm . Era utilizável até há relativamente pouco tempo, mas até onde eu sei, a Red Hat e seus derivados não a suportam, por isso pode não ser assim agora. O desenvolvimento parece ter parado desde 2008, o que não é promissor. Além disso, apt-rpmnão pode ser usado com repositórios yum, portanto, não é útil a menos que alguém tenha construído rpmrepositórios com os quais possa ser usado apt.

Havia também uma variante chamada apt4rpm criada pelo Connectiva, mas que parece ter sido ainda menos usada que o apt-rpm.

Instalar o próprio Debian aptem um sistema Red Hat é uma perda de tempo, mesmo que seja instalado com sucesso. dpkgestá disponível para a Red Hat, ou pelo menos costumava ser. Mas tentar configurar um sistema paralelo semelhante ao Debian usando dpkge aptseria um completo não-inicial, eu acho.

Lembro-me de usar apt-rpmum sistema Red Hat por volta de 2006 para administração básica do sistema. Se a memória servir, foi uma instalação do CentOS. Ainda funcionou muito bem então. Mas isso é 2017, e meu palpite seria que apt-rpmagora está efetivamente morto.

De qualquer forma, duvido que o uso aptde um sistema Red Hat, mesmo que estivesse disponível e funcional, faria muita diferença na sua experiência. A razão pela qual aptfunciona bem no Debian e seus derivados não é por causa de qualquer qualidade mágica apt. É principalmente por causa do famoso controle de qualidade do Debian, embora as ferramentas de gerenciamento de pacotes Debian ( dpkg, aptetc.) possam levar parte do crédito por serem bem projetadas e implementadas.

Se você deseja a "experiência apt", use o Debian.

Faheem Mitha
fonte
Mas isso não mudará as necessidades operacionais de um libglib2.0-devpacote ... e a instalação aptnão fará com que os nomes de mudança de pacote ... Ainda será apt-get install glib2-devel.x86_64, e o esforço gasto na instalação aptpoderia ser melhor usado para pesquisar o pacote ...
Importa-se de explicar o voto negativo?
Faheem Mitha
Removido o voto negativo. Sua primeira versão da resposta foi de alguma forma líder que instalar apt-rpmpoderia ser uma solução;)
@nwildner: Não vejo onde impliquei isso.
Faheem Mitha
1

É possível fazer isso, mas muito difícil, geralmente recomendado e quase certamente desnecessário.

O que você pediu é como instalar o sistema de gerenciamento de pacotes Debian em um sistema Red Hat.

O sistema de gerenciamento de pacotes rastreia quais pacotes estão instalados em um sistema, facilitando a instalação e atualizações de pacotes, rastreando dependências e evitando conflitos entre pacotes. Particularmente pelas duas últimas razões, diferentes sistemas de gerenciamento de pacotes são fundamentalmente incompatíveis entre si; tentar usar dois sistemas diferentes simultaneamente, sem uma supervisão muito cuidadosa, rapidamente tornará seu sistema inutilizável, porque você efetivamente tentaria instalar duas distribuições Linux diferentes umas sobre as outras.

Quando se mapeia a árvore genealógica das distribuições Linux, o principal ponto de ramificação é a escolha do sistema de gerenciamento de pacotes. Os dois sistemas mais comuns são o sistema de gerenciamento de pacotes Debian, DPKG, e o sistema de gerenciamento de pacotes Red Hat, RPM. "apt-get" é um front-end para o uso do sistema DPKG e exige que o restante do conjunto de ferramentas funcione; Da mesma forma, "yum" é um front-end para o uso do sistema RPM.

Às vezes é possível converter um pacote de um sistema para outro. alienígena é um aplicativo para fazer isso. Observe que quase nunca é mencionado sem aviso de que não é confiável.

Se o problema que você deseja resolver é que deseja instalar um aplicativo específico em um sistema Red Hat, você pode achar que funciona melhor usar um pacote de outra distribuição Linux que usa RPM; O rpmfind pode ajudá-lo a pesquisar. É um pouco mais confiável encontrar um RPM de origem e reconstruí-lo no seu sistema; isso reduz a probabilidade de problemas com dependências em binários compilados específicos. Ou você pode ignorar o gerenciamento de pacotes localizando o tarball de origem do aplicativo e compilando-o.

Se o problema que você deseja resolver é ter mais pacotes disponíveis em geral, então você deve ter em mente que o Red Hat Enterprise Linux, por design, tem ênfase na estabilidade e seus repositórios oficiais são relativamente limitados. Você pode preferir usar o Fedora Linux estreitamente relacionado, que possui uma seleção muito maior de pacotes em seus repositórios oficiais, ou pode optar por mudar para o Debian ou um de seus derivados.

bgvaughan
fonte
0

Como outras pessoas disseram nas respostas acima, as distros e seu gerenciamento de pacotes são muito unidos. Se você precisar instalar coisas dos repositórios Debian ou Ubuntu em sua distribuição baseada em RPM, acredito que sua melhor aposta é configurar um chroot correspondente (via debootstrap) e instalar o que for necessário. Você basicamente terá um Debian rodando "ao lado" da sua distribuição.

Você pode configurar links simbólicos e / ou scripts que executam qualquer aplicativo que você instalou a partir do chroot - e isso também funciona para aplicativos gráficos. Venho fazendo isso por motivos de sandbox com vários aplicativos, mas o seu também é um motivo válido. Um Debian em um contêiner do Docker é uma opção semelhante que você pode tentar - basicamente, um chroot na caixa de areia muito melhor.

ttsiodras
fonte
-2

Este tutorial parece mostrá-lo: http://everyday-tech.com/apt-get-on-centos/

No entanto, o problema que você está tendo com menos pacotes é porque você não tem tantos repositórios ou o nome dos pacotes é diferente (por exemplo: apache2 no debian e httpd no red hat).

Você pode usar: yum searchpara encontrar pacotes

Aqui está um documento de como adicionar repositórios yum:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Managing_Yum_Repositories.html

Adonista
fonte