Ein wenig Hintergrund

Ein wenig Hintergrund

Ich habe einen Raspberry PI, der CentOS 7 verwenden muss. Ich versuche auch, das Papirus eInk-Display zu verwenden (https://github.com/PiSupply/PaPiRus)

Die Installationsanweisungen für Treiber und Abhängigkeiten verwenden Apt-Get, aber CentOS verwendet YUM. Was ist die beste/einfachste Methode zum Installieren dieser Abhängigkeiten?

Ich habe Anweisungen zur Installation von Apt-Get unter CentOS gesehen, aber dort herrscht Konsens darüber, dass das keine gute Idee ist. YUM ist unter CentOS viel besser.

Antwort1

Dies ist ein komplexes Problem, da die beiden aus mehreren Gründen nicht kompatibel sind und daher die direkte Konvertierung von einem zum anderen im Allgemeinen sehr schwierig ist.

Ein wenig Hintergrund

apt( apt-get) ist ein Paketmanager zum Installieren von .dpkgPaketen im Debian-Stil und deren Abhängigkeiten.

yumist ein Paketmanager zum Installieren von .rpmPaketen im Red-Hat-Stil und deren Abhängigkeiten.

Bevor Sie überhaupt anfangen, die direkten Kompatibilitätsprobleme zwischen . dpkgund .rpmDateien zu diskutieren, gibt es ein allgemeineres Problem, für das .dpkg/ apt-getAbhängigkeiten geklärt werden müssenRaspbian. Diese stimmen nicht mit den Abhängigkeiten für CentOS überein. Die beiden Betriebssysteme verwenden nicht nur unterschiedliche Paketnamen, sondern haben auch unterschiedliche Versionen der jeweiligen Pakete installiert. Das bedeutet, dass Sie sogar auf einem anderen Debian-ähnlichen Betriebssystem wie Ubuntu möglicherweise Probleme haben.

Kurz gesagt werden Ihnen die .dpkg/ -Pakete unter CentOS nicht von Nutzen sein.apt-get

Zusätzliche Komplikation

Da das Paket, das Sie installieren möchten, Python-bezogen ist, gibt es einen dritten Paketmanager, den Sie kennen sollten:Pip. Dasdürfenkann zusammen mit yum installiert werden, aber denken Sie daran, dass Sie bei der Installation mit yum yum auch erlauben, diese Pakete zu aktualisieren, wenn neuere verfügbar werden. Mit pip müssten Sie pip regelmäßig bitten, zu aktualisieren, da yum das nicht für Sie erledigt.

Was kannst du tun?

Sie können versuchen, in der Befehlszeile zu suchen: zB yum search pil. Aber ehrlich gesagt bevorzuge ich für diese Aufgabe Google. Es bietet Ihnen viel mehr Kontext für Synonyme von Paketnamen. Sie haben eigentlich keine andere Wahl, als die benannten Abhängigkeiten selbst durchzugehen und ähnliche Pakete für CentOS und/oder Pip zu finden. Dies wird viel Zeit bei Google in Anspruch nehmen, um die richtige Liste zu ermitteln.

Beispielsweise (vorausgesetzt, Sie installieren mit yumund nicht pip) die Anweisung:

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

Hier würde ich nach drei Dingen googeln:

  1. CentOS-Paket Python Pil
  2. CentOS-Paket Python SMBUS
  3. Centos-Paket Python Dateutil

Dies führte mich schließlich dazu, Pakete mit yum zu installieren:

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

Beachten Sie, dass python-pilwurde python-pillow. Dies ist ein Fork desselben Pakets, wird aber hoffentlich kompatibel sein. Beachten Sie auch, dass python-smbuswurde i2c-tools-python. Dies scheint der korrekte Paketname auf Centos zu sein

Wenn Sie wirklich nicht das richtige Python-Paket als RPM finden können, müssen Sie möglicherweiseInstallieren Sie es mit pip.

Wenn das nicht funktioniert

Wie ich bereits erwähnt habe, stimmen die Paketversionen möglicherweise nicht überein, was bedeutet, dass Abhängigkeiten fehlschlagen. Wenn Sie alles installiert haben, was Sie können, und es immer noch nicht funktioniert. Ihr nächster Schritt sollte sein, zu den Software-Betreuern (auf GitHub) zurückzukehren und sie zu fragenhöflich, wenn sie Mitteum Ihnen zu helfen, die CentOS-Abhängigkeiten herauszufinden.

Antwort2

Ich nehme an, dass Ihnen folgender Teil Probleme bereitet:

# 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

Zunächst würde ich vorschlagen, sicherzustellen, dass epel-release installiert ist (ein zusätzliches Repository für Yum):

yum -y install epel-release

Jetzt können Sie für jedes dieser Pakete nach einem Äquivalent suchen und es installieren: zum Beispiel:

yum search i2c

gab mir:

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

Glücklicherweise hat das Paket den gleichen Namen. Daher kann ich Folgendes ausführen:

yum install i2c-tools

Wenn Sie Glück haben, sind alle Paketnamen gleich. Es ist jedoch möglich, dass einige davon unterschiedlich sind. Probieren Sie es einfach aus :)

verwandte Informationen