Um pouco de fundo

Um pouco de fundo

Eu tenho um Raspberry PI, que preciso usar o CentOS 7. Também estou tentando usar o display papirus eInk (https://github.com/PiSupply/PaPiRus)

As instruções de instalação de drivers e dependências usam Apt-Get, mas CentOS usa YUM. Qual é o método melhor/mais fácil para instalar essas dependências?

Vi instruções sobre como instalar o Apt-Get no CentOS, mas o consenso é que é uma má ideia. YUM é muito melhor no CentOS.

Responder1

Este é um problema complexo porque os dois não são compatíveis por vários motivos e, portanto, a conversão direta de um para outro geralmente é muito complicada.

Um pouco de fundo

apt( apt-get) é um gerenciador de pacotes para instalação .dpkgde pacotes estilo Debian e suas dependências.

yumé um gerenciador de pacotes para instalação de pacotes estilo red-hat .rpme suas dependências.

Antes mesmo de começar a discutir os problemas de compatibilidade direta entre . dpkge .rpmarquivos, há um problema mais geral para o qual .dpkg/ apt-getdependências terão sido resolvidasframboesa. Elas não corresponderão às dependências do CentOS. Os dois sistemas operacionais não apenas usam nomes de pacotes diferentes, mas também possuem versões diferentes dos respectivos pacotes instalados. Isso significa que mesmo em outro sistema operacional semelhante ao Debian, como o Ubuntu, você ainda poderá ter problemas.

Resumindo, os pacotes .dpkg/ apt-getnão serão úteis para você no CentOS.

Complicação adicionada

Como o pacote que você está tentando instalar é relacionado ao python, há um terceiro gerenciador de pacotes que você deve conhecer:pip. Essepodeser instalado junto com o yum, mas lembre-se de que quando você instala com o yum, você também permite que o yum atualize esses pacotes à medida que novos pacotes forem disponibilizados. Com o pip você precisaria pedir ao pip para atualizar periodicamente porque o yum não fará isso por você.

O que você pode fazer?

Você pode tentar pesquisar na linha de comando: por exemplo yum search pil. Mas, honestamente, prefiro o Google para esta tarefa. Fornece muito mais contexto para sinônimos de nomes de pacotes. Você realmente não tem muita escolha a não ser trabalhar você mesmo nas dependências nomeadas e encontrar pacotes semelhantes para CentOS e/ou pip. Isso envolverá muito tempo no Google para elaborar a lista correta.

Por exemplo (supondo que você esteja instalando com yume não pip), a instrução para:

sudo apt-get install python-pil python-smbus python-dateutil -y

Aqui eu procuraria três coisas no Google:

  1. pacote centos python pil
  2. pacote centos python smbus
  3. pacote centos python dateutil

Eventualmente me levando a instalar pacotes com o yum:

yum install python-pillow i2c-tools-python python-dateutil 

Observe que isso python-pilse tornou python-pillow. Este é um fork do mesmo pacote, mas esperamos que seja compatível. Observe também que python-smbusse tornou i2c-tools-python. Este parece ser o nome correto do pacote no Centos

Se você realmente não consegue encontrar o pacote python correto como um RPM, então você pode ser forçado ainstale-o com pip.

Se isso não funcionar

Como mencionei anteriormente, as versões dos pacotes podem não corresponder, o que significa que as dependências falham. Quando você instala tudo o que pode e ainda não funciona. Seu próximo passo deve ser voltar aos mantenedores do software (no GitHub) e perguntar a eleseducadamente se eles iriam no meiopara ajudá-lo a descobrir as dependências do CentOS.

Responder2

Suponho que a parte que está causando problemas é esta:

# Install dependencies
sudo apt-get install git bc i2c-tools fonts-freefont-ttf whiptail make gcc -y
# For Python 2
sudo apt-get install python-pil python-smbus python-dateutil -y
# For Python 3
sudo apt-get install python3-pil python3-smbus python3-dateutil -y

Primeiro, sugiro garantir que o epel-release esteja instalado (um repositório adicional para o yum):

yum -y install epel-release

agora você pode procurar um equivalente para cada um desses pacotes e instalá-lo: por exemplo:

yum search i2c

deu-me:

i2c-tools.x86_64 : A heterogeneous set of I2C tools for Linux
i2c-tools-eepromer.x86_64 : Programs for reading / writing i2c / smbus eeproms
i2c-tools-python.x86_64 : Python bindings for Linux SMBus access through i2c-dev

felizmente o pacote tem o mesmo nome; Posso assim executar:

yum install i2c-tools

Se você é sortudo; todos os nomes de pacotes serão iguais; mas é possível que alguns sejam diferentes. é só experimentar :)

informação relacionada