web-dev-qa-db-ja.com

パッケージは実際にapt-get installを介してどのようにインストールされますか?

apt-get installメソッドを使用してubuntuにパッケージをインストールする場合、そのパッケージのソースコードを取得することとゼロからビルドすることとの間に基本的な違いはありますか? apt-get install機能は、単にソースをダウンロードして、指定されたディレクトリにマシン上でビルドするだけですか、それとも舞台裏でさらに行われますか?

最後に(おそらくこれには答えがない)、1つの方法は他の方法よりも優れていますか?ここで私が言っているのは、ソースコードから自分でビルドすることには利点がありますか、apt-getにそのことをさせる方が良いですか?

29

Apt、yum、pacman、emergeなどのパッケージ管理システムの利点は次のとおりです。

  • パッケージのどのバージョンがインストールされているか、利用可能かを簡単に照会できます。
  • パッケージを完全に削除するのは簡単で、すべてのファイルがなくなっていることを確認します。
  • パッケージファイルの整合性は簡単に確認できるため、破損しているか改ざんされていないかを確認できます。
  • 新しいバージョンをインストールし、古いバージョンのファイルをすべて削除することにより、パッケージを簡単にアップグレードできます。これにより、物事を混乱させたり壊したりするために、古いパッケージの残留ファイルを残さないようになります。
  • 他のパッケージが提供または要求するものを必要とする、または提供するパッケージを簡単に確認できるため、パッケージが正しく機能するために必要なアイテムを確実に用意できます。
  • パッケージのグループのインストールまたは削除は簡単です。
  • 多くの場合、新しいバージョンにバグがある場合など、パッケージの以前のバージョンにダウングレードすることが可能です。

Fedora用ですが、以下も参照してください。

https://fedoraproject.org/wiki/Package_management_system

ソースからのインストールには利点がある場合があります

  • バイナリをカスタマイズできます(オプションの有効化/無効化)
  • リポジトリで最新のパッケージを入手できます
  • バグ修正に時々必要

しかし、欠点は、新しいバージョンが利用可能になったときにパッケージを手動で更新する必要があり、多くの場合サポートを失うことです。

IMOパッケージのすべてまたはほとんどをコンパイルする場合は、Gentooにアドバイスします。

25
Panther

Apt-getはAPTパッケージ処理ユーティリティ(CLI)、 Synaptic へのバックエンド、および- 適性

システムからトリガーするapt-getメソッドは、公式ソースまたはリポジトリをチェックしますファイルにリストされている

etc/apt/sources.list

例えば実行中Sudo apt-get update && Sudo apt-get upgrade(私が使用する)

enter image description here

ここで、リンクの前にあるIgn(無視)は、そのリポジトリに最後にアクセスしてから変更が行われていないことを示しており、Getは、そのリポジトリで新しく利用可能なパッケージの変更を示すSourcesファイルの取得を示します。

いいえ、apt-getユーティリティはSource Fileをダウンロードしません、むしろ 。deb package をダウンロードし、Official Ubuntu Packagersシステムとの安定性と統合がテストされています。

apt-getのダウンロードされたパッケージ

/var/cache/apt

ここで、すべてのUpdates。deb packagesとして見ることができます。また、これにアクセスして、バージョンのクロスチェックと比較することもできます- パッケージの正確な更新 .

ソースパッケージからのCompilingに関する限り、LTSリリースであるUbuntu 12.04にはお勧めできず、推奨されません。理由を確認できます。ここに

ソースからコンパイルするか、.debパッケージからインストールする方が良いですか?

ソースからプログラムをコンパイルすると、オペレーティングシステムが高速化されますか?

ソースコードからのインストールの利点/欠点

詳細なリファレンス: apt-getsources.list

18
atenz

ソースからビルドする場合、含まれるものにはさらにオプションがあります。 apt-getからインストールすると、ビルド済みパッケージがインストールされます。

どちらが優れているかは、必要なものによって異なります。ソースからコンパイルする必要はありませんでしたが、ubuntuラップトップで大規模なことは何もしていません。

2
Corey Whitaker

Apt-getを使用してパッケージのソースをインストールできると思います。

  1. ソースコードリポジトリをアクティブにする必要があります

    /etc/apt/sources.listファイルを開くと、「source」が含まれているコメントアウトされた行(#で始まる)が表示されます。

    それらのコメントを外します

  2. 必要なプログラムの依存関係をインストールします。

    Sudo apt-get build-dep "program"

  3. プログラムをダウンロードしてコンパイルします。

    Sudo apt-get -b source "program"

その後、ホームディレクトリに.debパッケージを取得します。

2
LnxSlck