たとえば、私が書くとき
sudo apt-get install libjpeg-dev
libjpeg.so
私のシステムにライブラリがインストールされます。
オンラインパッケージストアには、.so
さまざまなシステムアーキテクチャ用のさまざまなファイルが含まれており、パッケージマネージャは正しいファイルのみをダウンロードしますか?または、パッケージマネージャはシステムからライブラリをコンパイルし、コンパイルされた.so
ファイルをインストールしますか?それとも私が考慮していない他のシナリオはありますか?
ベストアンサー1
ほとんどの場合、パッケージリポジトリにはさまざまなアーキテクチャ用のさまざまなパッケージが含まれており、パッケージマネージャは適切なパッケージをダウンロードします。一部のパッケージはすべてのアーキテクチャで同じで、パッケージマネージャはローカルシステムのアーキテクチャに関係なく同じパッケージをダウンロードします。
したがって、パッケージがダウンロードされますamd64
。apt install libjpeg-dev
all
建築のため、それ自体はパッケージによって異なります。amd64
建築のため。
dpkg
/ベースのシステムでは、デフォルトのapt
アーキテクチャはパッケージアーキテクチャですdpkg
。これらのシステムが別のアーキテクチャを使用するように構成してからそのパッケージをインストールする場合は、デフォルト以外の適切なアーキテクチャ(マルチアーキテクチャに準拠している場合)を指定する必要があります。
sudo apt install libjpeg62-turbo:armhf
Gentooなどのバイナリベースのディストリビューションではなく、ソースベースのディストリビューションはソースコードをダウンロードし、システム用のライブラリを構築します。