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 .dpkg
de pacotes estilo Debian e suas dependências.
yum
é um gerenciador de pacotes para instalação de pacotes estilo red-hat .rpm
e suas dependências.
Antes mesmo de começar a discutir os problemas de compatibilidade direta entre . dpkg
e .rpm
arquivos, há um problema mais geral para o qual .dpkg
/ apt-get
dependê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-get
nã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 yum
e 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:
- pacote centos python pil
- pacote centos python smbus
- 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-pil
se tornou python-pillow
. Este é um fork do mesmo pacote, mas esperamos que seja compatível. Observe também que python-smbus
se 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 :)