私は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
.rpm
Red Hatスタイルのパッケージとその依存関係をインストールするためのパッケージ マネージャーです。
dpkg
.とファイル間の直接的な互換性の問題について議論を始める前に、/ の依存関係が解決される.rpm
というより一般的な問題があります。.dpkg
apt-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つのことをグーグルで検索します:
- Centos パッケージ Python pil
- Centos パッケージ Python SMBus
- 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
運が良ければ、すべてのパッケージ名が同じになりますが、一部が異なる可能性もあります。ぜひ試してみてください :)