ソースtarball( `.tar.gz`)、Ubuntu Software Centre、または他の場所からプログラムをインストールする必要がありますか?


29

Ubuntuにアプリケーションをインストールする方法はいくつかあります。

  • ソースtarball(通常.tar.gz.tar.bz2ファイルまたはファイル)をダウンロードして、手動でインストールできます。(.tar.gz(または.tar.bz2)ファイルのインストール方法を参照してください

  • またはソフトウェアセンター.debを使用して、ファイルをダウンロードして手動でインストールできますdpkg

  • Ubuntu Software Centerでアプリケーションを検索してそこにインストールするかapt、公式のUbuntuリポジトリで使用できます。

  • PPAまたはサードパーティのリポジトリを見つけて、そこからインストールできます。

各方法の長所と短所は何ですか?回答では、各方法のセキュリティへの影響、更新の頻度、およびプログラムの信頼性について説明してください。


1
それは一つの質問です。より焦点を絞った質問をする方が少し良いかもしれません。デフォルトでは、Ubuntu Software Centerを使用します。良い比較/コントラストは、tarボール(.tar.gz)とapt-get + .debエコシステム(コマンドラインとUbuntu Software Centerを含む)の間です。
ウォーレンP

4つの個別の質問として尋ねられた場合、答えは4つすべてで同じになるはずです。リポジトリ(メインまたはサードパーティ)のpkgマネージャーを使用してインストール/更新することをお勧めします。それが選択肢ではない場合、一般的な賛否両論に入ることができますが、その時点で、どのアプリが使用されているのか、具体的に何をしたいのかが決まります。(たとえば、私は公開リポジトリから「java」を提供する標準をインストールしますが、開発者としてtar.gzを介して/ opt / javaに5つの異なるバージョンもインストールします)。
マイケル

回答:


33
  • 信頼性:
    • tarballからインストールする場合、ソフトウェアは他のソフトウェアを上書きしようとする場合があります。ビルドの依存関係が必要であり、プロセスの失敗率は高くなります。リポジトリのパッケージが依存するソフトウェアをインストールする場合、一時的にdebianパッケージに変換するためにdpkg使用checkinstallしない限り、に登録されていないため、これはその依存関係を満たしません。これにより、リスクdpkg回避できますコードがオープンソースであっても、変更されていないことを確認しない限り、信頼できるサイトからダウンロードする必要があります。異なるディレクトリを使用する限り、ソフトウェアの複数のバージョンをインストールできます。makefileでこれをオーバーライドできます。
    • debianパッケージを使用すると、ファイルが他のプログラムのファイルを上書きしないことが保証されますが、を使用する場合は、sudo dpkg -i file.deb最初に依存関係をインストールする必要があります。この方法でインストールした場合、パッケージもリポジトリ内にない限りアップデートは取得されませんが、このパッケージはこのソフトウェアを必要とする依存関係を満たします。また、このパッケージにメニューエントリを与えるか、少なくともマンページを登録します。Debianパッケージは通常Lintianでテストされ、特定のファイルに実行可能コードが含まれているかどうかに関して、パッケージが非常に厳しい一連の標準を満たすか、それを超えることが確認されます。同じパッケージの複数のバージョンをインストールすることはできません。正しく作成されていないパッケージは、インストールに失敗したり、削除に失敗したり、DPKGを破損したりする可能性があります。、困難な修理、バックアップの必死の検索、または問題が深刻な場合は再インストールにつながります。
    • apt可能な場合は、使用が最適なオプションです。依存関係は自動的にフェッチおよびインストールされ、ランチパッドで信頼できるビルドサーバー構成を使用してパッケージがビルドされ、障害が最小限に抑えられます。パッケージはaptitude他のツールを介して検索することができ、更新は更新マネージャーを介して簡単に促進されます。依存関係もに由来するaptため、パッケージは依存関係と適切に対話する可能性が高くなります。パッケージはdebsと同様にLintianを介してテストされますが、非常に安定したビルドサーバーと組み合わせたテストにより、さらに安定したパッケージが作成されます。パッケージはUbuntuのビルドサーバーを通過するため、ほとんどの場合、OSの他の部分と統合するように調整されます。同じパッケージの複数のバージョンはできませんインストールされます。UbuntuのビルドサーバーはPPAに使用されるので、apt自動linitianingにより破損する変更が少なくなります。
  • 更新中:
    • tarballを使用すると、プログラムが独自のチェックを行わない限り、更新プログラムは取得されません。その場合、そのような更新プログラムを手動でインストールする必要があり、それらは単一の場所に統合されません。たぶん、tarballで毎晩または現在のソースコードを入手して、コンパイルしてインストールすることができます。最先端のコードが必要な場合、それは役に立つかもしれません。
    • debianでは、パッケージがリポジトリを持っている場合にのみパッケージが更新されます。開発者は、最新のソースよりも少し遅れてdebianパッケージを作成する可能性が高くなりますが、ベータ版は多くの場合、debsオンラインで見つかります。
    • ではapt、パッケージは非常に簡単に更新されます。更新は1つの場所である更新マネージャーに統合され、自動または半自動で行われます。Ubuntuのアルファ版またはベータ版を使用している場合を除き、現在のアップストリームソースの1つまたは2つ後ろのバージョンであっても、十分にテストされたバージョンを使用します。セキュリティ更新プログラムは、状況がさらに悪化しないことを確認するために軽くテストされるとすぐにプッシュされます。つまり、セキュリティはタイムリーな更新で保護されますが、これらの更新はデータの損失を防ぐためにチェックされます。
  • セキュリティ:
    • Tarballはデジタル署名されていません。それらは悪意のある第三者によって破壊または変更される可能性があります。ハッシュサム(MD5を回避)を実行しても、SHAまたはMD5サムを提供するため、サイトの所有者とパッケージの作成者を信頼する必要があります。
    • Debianパッケージは署名dpkgされていませんが、debianパッケージが別のパッケージのファイルを上書きすることを許可しないため、悪意のあるdebはそれを上書きすることinitで破壊したり混乱したりすることはできませんbash。ウェブサイトとパッケージの作成者を常に信頼する必要があります。
    • aptリポジトリに署名されたキーを使用するため、赤い旗が出ることなくそれらを壊すことはできません。PPAアップロードはデジタル署名されているため、PPAの非所有者は壊れたパッケージや安全でないパッケージを作成できません。別のパッケージのファイルの上書きも強制されます。もちろん、実行時に悪意のあるコードを含む未チェックのパッケージが実行されるため、PPAまたはリポジトリ所有者を信頼する必要があります。

1
統合を追加することをお勧めします。UbuntuおよびアップストリームのDebianパッケージマネージャーは、代替システム(Webページを開くことができるXプログラムがあり、これをデフォルトにしたい)など、システム全体の機能にパッケージが参加するようにします。手動でのtarballインストールは通常、そのようには機能しません。
ウォーレンP

@WarrenP確かにそれを追加しましたが、はっきりしないかもしれません。ありがとう!
–ζ

「リポジトリ内のパッケージが依存するソフトウェアをインストールする場合、dpkgに登録されていないため、これは依存関係を満たしません。」最初の箇条書きでは、統合を対象としていますか?

1
@ vasa1これはtarballに関するものです。Aptとdpkgはパッケージがインストールされているかどうかを判断する際に、ファイルシステムではなくデータベースをチェックするからです。checkinstallそれを回避するためにいつでも使用できます。
–ζ

19

簡単な答えは、Ubuntu Software Centerからのインストールが他のすべての方法よりも一般的に望ましいということです。ただし、他の場所からプログラムをインストールする場合があります。


ソースからのインストール:

  • セキュリティへの影響:ソフトウェアの作成者およびダウンロードをホストするWebサイトを信頼する必要があります。また、ダウンロードがHTTPSを介して実行されることを確認する必要があります。そうでない場合、サードパーティがダウンロードを変更する可能性があります。

  • 更新の頻度:常に最新かつ最高のものを入手できます!更新は、元の作成者が選択した頻度で行われます。ただし、手動で更新を確認する必要があります。

  • 信頼性:他の方法ほど信頼性が低い場合があります。ソフトウェアのテストが少なくなり、Ubuntu、他のLinuxディストリビューションだけでテストされていない可能性があるためです。

  • インストールとアンインストールの容易さ:すべてのオプションの中で最も難しい。経験豊富なユーザーでも、管理がはるかに簡単なネイティブDebianパッケージを使用することを好むため、このオプションを避けることができます。

.debパッケージからのインストール:

  • セキュリティへの影響:ソースからのインストールと同じです。

  • 更新の頻度:ソースからのインストールと同じ。

  • 信頼性:ソースからインストールするよりもわずかに優れています。著者が.debパッケージを提供した場合、おそらくDebianまたはUbuntuで最小限のテストを行ったことを意味します。

  • インストールとアンインストールの容易さ:非常に簡単。ダブルクリックして「インストール」をクリックするだけです!アンインストールも同様に簡単です。

Ubuntu Software Centreからのインストール:

  • セキュリティへの影響:ソフトウェアの作成者とUbuntuリポジトリメンテナーを信頼する必要があります。全体として、これはソースから直接インストールするよりも優れたセキュリティです。プログラムはDebianやUbuntuのメンテナーによってある程度レビューされているためです。DebianやUbuntuのメンテナーは、プログラムがオープンソースの場合、セキュリティの欠陥を修正するためにプログラムにパッチを適用することもできます。

  • 更新の頻度:DebianやUbuntuのメンテナーは、ソフトウェアの一部のリリースのみを選択します。(たとえば、安定した更新のみを選択できます)。プログラムのリリースと、Debianおよび/またはUbuntuレポジトリへの組み込みとの間に遅延があります。最新かつ最高のものが必要な場合、これは最適なオプションではありません。レビュー済みの安定した更新が必要な場合、これは良いオプションです。更新は、更新マネージャーおよびを介して自動的に提案されますapt-get

  • 信頼性:プログラムはUbuntu向けにレビューおよび調整されているため、ソースからインストールするよりもはるかに優れています。

  • インストールとアンインストールの容易さ:非常に簡単です。

PPAまたはサードパーティリポジトリからのインストール:

  • セキュリティへの影響:ソフトウェアの作成者とPPAを管理する人を信頼する必要があります。誰でもPPAをホストできるので、LaunchpadにあるからといってPPAを信頼しないでください。ユーザーは怠zyで、ソフトウェアをまったくレビューしていなかった可能性があります。

  • 更新の頻度:PPAに依存します。更新の確認は簡単です。

  • 信頼性:Ubuntu Software Centreからインストールするよりも信頼性が低いことがよくあります。PPAは、Ubuntu Software Centreの基準をまだ満たしていないプログラムのために存在するため、実際には信頼性の低下が保証されています。

  • インストールとアンインストールの容易さ:習得するのは難しくなく、Ubuntuのパッケージ管理とうまく適合します。


1
apt-getとにかく、USCは単なるフロントエンドです。これをGUI対コマンドラインの議論に変えないようにしましょう。その選択が議論する価値があると思うなら、別の質問を始めてください。
Flimm

2
@Flimm:完全ではありません。USCは.debパッケージもインストールできるため、USCをapt-getおよびdpkgのフロントエンドと呼ぶ方が適切です。
ライライアン

1
私は「討論」と言っているのではなく、「ユーザーは明確にするためにここに来ています。この質問とこの答えは問題をあまり明確にしていないようです」。
ウォーレンP

1
@LieRyan:同意しました。
Flimm

1
@WarrenP:ユーザーが何のためにここに来るかについて私は同意しません。ユーザーは、アプリケーションをダウンロードしてインストールする場所を決定するためにここに来ます。質問からそれが明らかでない場合は、編集できます。ユーザーにとってより便利な別の質問がある場合は、新しい質問投稿を作成してください。
Flimm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.