ちょっとした背景

ちょっとした背景

私はRaspberry PIを持っていて、CentOS 7を使う必要があります。また、papirus eInkディスプレイ(https://github.com/PiSupply/PaPiRus

ドライバーと依存関係のインストール手順では Apt-Get を使用しますが、CentOS では YUM を使用します。これらの依存関係をインストールする最良/最も簡単な方法は何ですか?

CentOS に Apt-Get をインストールする方法についての説明を見たことがありますが、それは良くないアイデアだという意見が一致しています。CentOS では YUM の方がはるかに優れています。

答え1

これは複雑な問題です。なぜなら、さまざまな理由から 2 つに互換性がなく、一方から他方への直接変換は一般に非常に難しいからです。

ちょっとした背景

apt( ) は、Debian スタイルのパッケージとその依存関係apt-getをインストールするためのパッケージ マネージャーです。.dpkg

yum.rpmRed Hatスタイルのパッケージとその依存関係をインストールするためのパッケージ マネージャーです。

dpkg.とファイル間の直接的な互換性の問題について議論を始める前に、/ の依存関係が解決される.rpmというより一般的な問題があります。.dpkgapt-getラズパイこれらは CentOS の依存関係と一致しません。 2 つのオペレーティング システムでは、異なるパッケージ名が使用されているだけでなく、それぞれのパッケージの異なるバージョンもインストールされています。つまり、Ubuntu などの別の Debian 系オペレーティング システムでも、問題が発生する可能性があります。

つまり、.dpkg/apt-getパッケージは CentOS では役に立ちません。

複雑さが増す

インストールしようとしているパッケージは Python 関連なので、注意すべき 3 番目のパッケージ マネージャーがあります。ピップ。 これできるyum と一緒にインストールできますが、yum でインストールすると、新しいパッケージが利用可能になったときに yum がそれらのパッケージをアップグレードすることも許可することに注意してください。pip を使用する場合は、yum が自動的にアップグレードを行わないため、定期的に pip にアップグレードするように依頼する必要があります。

何ができるでしょうか?

コマンドラインで検索してみることもできます: 例: yum search pil。しかし、正直なところ、私はこのタスクには Google の方が好みです。パッケージ名の同義語について、より多くのコンテキストが得られます。名前付き依存関係を自分で調べて、CentOS や pip の類似パッケージを見つける以外に選択肢はあまりありません。正しいリストを見つけるには、Google でかなりの時間がかかります。

たとえば ( ではyumなくでインストールしていると仮定pip)、次の命令:

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

ここで私は3つのことをグーグルで検索します:

  1. Centos パッケージ Python pil
  2. Centos パッケージ Python SMBus
  3. Centos パッケージ Python dateutil

最終的には、yum を使用してパッケージをインストールすることになります。

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

python-pilが になったことに注意してくださいpython-pillow。これは同じパッケージのフォークですが、互換性があるはずです。 がpython-smbusになったことにも注意してくださいi2c-tools-pythonこれはCentosの正しいパッケージ名のようです

もし本当に適切なPythonパッケージをRPMとして見つけられない場合は、pipでインストールする

それでもダメなら

先ほど述べたように、パッケージのバージョンが一致しない可能性があり、依存関係が失敗する可能性があります。すべてをインストールしてもまだ動作しない場合は、次のステップはソフトウェアのメンテナー(GitHub上)に戻って尋ねることです。丁寧に言えばCentOS の依存関係を理解するのに役立ちます。

答え2

問題となっているのは次の部分だと思います:

# 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

まず、epel-release (yum の追加リポジトリ) がインストールされていることを確認することをお勧めします。

yum -y install epel-release

これで、これらの各パッケージに相当するものを検索してインストールできます。例:

yum search i2c

私にくれた:

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

幸運なことに、パッケージの名前は同じなので、次のように実行できます。

yum install i2c-tools

運が良ければ、すべてのパッケージ名が同じになりますが、一部が異なる可能性もあります。ぜひ試してみてください :)

関連情報