Un poco de historia

Un poco de historia

Tengo una Raspberry PI, que debo usar CentOS 7. También estoy intentando usar la pantalla Papurus eInk (https://github.com/PiSupply/PaPiRus)

Las instrucciones de instalación de controladores y dependencias usan Apt-Get, pero CentOS usa YUM. ¿Cuál es el método mejor/más fácil para instalar estas dependencias?

He visto instrucciones sobre cómo instalar Apt-Get en CentOS pero el consenso es que es una mala idea. YUM es mucho mejor en CentOS.

Respuesta1

Este es un tema complejo porque los dos no son compatibles por múltiples razones y, por lo tanto, la conversión directa de uno a otro es generalmente muy complicada.

Un poco de historia

apt( apt-get) es un administrador de paquetes para instalar .dpkgpaquetes estilo Debian y sus dependencias.

yumes un administrador de paquetes para instalar .rpmpaquetes estilo Red-Hat y sus dependencias.

Antes incluso de comenzar a discutir los problemas de compatibilidad directa entre . dpkgy .rpmarchivos, hay un problema más general para el cual se habrán resuelto las dependencias .dpkg.apt-getraspbiano. Estos no coincidirán con las dependencias de CentOS. Los dos sistemas operativos no sólo utilizan diferentes nombres de paquetes, sino que también tienen diferentes versiones de los respectivos paquetes instalados. Esto significa que incluso en otro sistema operativo similar a Debian, como Ubuntu, es posible que sigas teniendo problemas.

En resumen los paquetes .dpkg/ apt-getno te serán útiles en CentOS.

Complicación añadida

Como el paquete que estás intentando instalar está relacionado con Python, hay un tercer administrador de paquetes que debes tener en cuenta:pepita. Estepoderse instalará junto con yum, pero recuerde que cuando instala con yum, también permite que yum actualice esos paquetes a medida que haya nuevos disponibles. Con pip, necesitarías pedirle a pip que actualice periódicamente porque yum no lo hará por ti.

¿Qué puedes hacer?

Puede intentar buscar en la línea de comando: por ejemplo yum search pil. Pero sinceramente prefiero Google para esta tarea. Le brinda mucho más contexto para sinónimos de nombres de paquetes. Realmente no tiene mucha opción más que trabajar usted mismo con las dependencias nombradas y encontrar paquetes similares para CentOS y/o pip. Esto implicará mucho tiempo en Google para elaborar la lista correcta.

Por ejemplo (suponiendo que está instalando con yumy no pip), la instrucción para:

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

Aquí buscaría en Google tres cosas:

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

Finalmente me llevó a instalar paquetes con yum:

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

Observe que python-pilse convirtió en python-pillow. Esta es una bifurcación del mismo paquete pero con suerte será compatible. Observe también que python-smbusse convirtió en i2c-tools-python. Este parece ser el nombre correcto del paquete en Centos

Si realmente no puede encontrar el paquete de Python correcto como RPM, es posible que se vea obligado a hacerlo.instalarlo con pip.

Si eso no funciona

Como mencioné anteriormente, es posible que las versiones de los paquetes no coincidan, lo que significa que las dependencias fallan. Cuando has instalado todo lo que puedes y sigue sin funcionar. Su próximo paso debería ser volver a los mantenedores del software (en GitHub) y preguntarlescortésmente si quisieranpara ayudarle a descubrir las dependencias de CentOS.

Respuesta2

Supongo que la parte que te está causando problemas es 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

Primero sugeriría asegurarse de que epel-release esté instalado (un repositorio adicional para yum):

yum -y install epel-release

ahora puedes buscar un equivalente para cada uno de estos paquetes e instalarlo: por ejemplo:

yum search i2c

me dio:

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

por suerte el paquete tiene el mismo nombre; Así puedo ejecutar:

yum install i2c-tools

Si tienes suerte; todos los nombres de los paquetes serán iguales; pero es posible que algunos difieran. solo pruébalo :)

información relacionada