Linuxにおけるソフトウェアインストールとパッケージマネージャの仕組み
Linuxにソフトウェアをインストールするには、パッケージマネージャーやソフトウェアリポジトリを使用します。これは、Windowsのようにウェブサイトから.exeファイルをダウンロードして実行するのとは異なります。Linuxが初めての方にとっては、これは劇的な文化の変化のように感じられるかもしれません。
Linuxでは自分ですべてをコンパイルしてインストールすることができますが、パッケージマネージャはすべての作業を自動で行うように設計されています。パッケージマネージャを使うことで、Windowsよりもソフトウェアのインストールや更新が簡単になります。
LinuxとWindows
Linuxディストリビューションはさまざまな種類があり、パッケージマネージャーも多種多様です。Linuxはオープンソースソフトウェアから構築されているため、各Linuxディストリビューションは独自のライブラリバージョンとコンパイルオプションでソフトウェアをコンパイルします。Linuxアプリケーションをコンパイルしても、すべてのディストリビューションで動作するわけではなく、仮に動作したとしても、競合するパッケージ形式によってインストールが妨げられます。Linuxアプリケーションのウェブサイトを見つけると、異なるパッケージ形式やLinuxディストリビューションに対するさまざまなダウンロードリンクが表示されると思います。アプリケーションのウェブサイトが事前コンパイルされたバージョンを提供していればの話ですが。アプリケーションによっては、ソースコードをダウンロードして自分でコンパイルするように指示されることもあります。
ソフトウェアリポジトリ
Linuxユーザーは通常、Windowsユーザーがするようにアプリケーションのウェブサイトからアプリケーションをダウンロードしてインストールすることはありません。その代わりに、各Linuxディストリビューションは独自のソフトウェアリポジトリをホストしています。これらのリポジトリには、各Linuxディストリビューションおよびバージョン専用にコンパイルされたソフトウェアパッケージが含まれています。たとえば、Ubuntu 12.04を使用している場合、使用するリポジトリにはUbuntu 12.04のために特別にコンパイルされたパッケージが含まれています。Fedoraユーザーは、自分のFedoraバージョンのために特別にコンパイルされたパッケージが満載のリポジトリを使用します。
パッケージマネージャー
パッケージマネージャーをモバイルアプリストアのように考えてみてください。ただし、アプリストアが登場するずっと前から存在していました。パッケージマネージャーにソフトウェアをインストールするように指示すると、設定されたソフトウェアリポジトリから適切なパッケージを自動的にダウンロードし、インストールし、セットアップします。すべての作業がウィザードをクリックしたり、ウェブサイトで.exeファイルを探したりせずに行われます。更新がリリースされると、パッケージマネージャーはそれに気づき、適切な更新をダウンロードします。Windowsでは、各アプリケーションが自動更新を受け取るための独自のアップデーターを持たなければなりませんが、パッケージマネージャーは、ソフトウェアリポジトリからインストールされたすべてのソフトウェアの更新を処理します。
パッケージとは何ですか?
Windowsのように、アプリケーションがシステムに好きなことができる.exeインストーラファイルとして提供されるのではなく、Linuxは特別なパッケージ形式を使用しています。パッケージタイプはさまざまで、特にDebianやUbuntuのDEB、FedoraやRed HatなどのRPMが有名です。これらのパッケージは基本的にファイルのリストを含むアーカイブです。パッケージマネージャはアーカイブを開き、パッケージが指定する場所にファイルをインストールします。パッケージマネージャはどのファイルがどのパッケージに属しているかを把握しており、パッケージをアンインストールする際には、システム上のどのファイルがそれに属しているかを正確に知っています。Windowsはインストールされたアプリケーションに属するファイルが何であるかをまったく把握しておらず、アプリケーションインストーラにインストールとアンインストールの管理を任せています。
パッケージには、パッケージがインストールされるときや削除されるときに実行されるスクリプトが含まれることもありますが、これらは一般的にシステムのセットアップに使用され、任意の場所にファイルを移動するためには使用されません。
Linuxにソフトウェアをインストールする
Linuxにソフトウェアをインストールするには、パッケージマネージャを開き、ソフトウェアを検索して、パッケージマネージャにインストールするよう指示します。パッケージマネージャが残りの作業を行います。Linuxディストリビューションは、パッケージマネージャのさまざまなフロントエンドを提供することがよくあります。たとえば、Ubuntuでは、Ubuntuソフトウェアセンター、アップデートマネージャ、Synapticアプリケーション、およびapt-getコマンドがすべてapt-getとdpkgを使用してDEBパッケージをダウンロードしてインストールします。好きなユーティリティを使用できますが、それぞれ異なるインターフェースを提供します。通常、Linuxディストリビューションのメニューにはシンプルなグラフィカルパッケージマネージャが見つかるでしょう。
更新の遅延
新しいLinuxユーザーがパッケージマネージャやリポジトリを使う際によく気づくことの一つは、新しいソフトウェアのバージョンがシステムに到達するまでに遅れがあるということです。例えば、Mozilla Firefoxの新しいバージョンがリリースされると、WindowsやMacのユーザーはMozillaから直接それを取得します。しかしLinuxの場合、Linuxディストリビューションが新しいバージョンをパッケージし、更新として配信しなければなりません。Linux上でFirefoxの設定ウィンドウを開くと、Firefoxは自動的に自分自身を更新する機能がないことがわかります(あなたがLinuxディストリビューションのリポジトリからのFirefoxのバージョンを使用していると仮定した場合)。
自分でアプリケーションをダウンロードしてインストールすることもできます。たとえば、MozillaからFirefoxを直接ダウンロードすることですが、これはソースからソフトウェアをコンパイルしてインストールする必要があり、中央集約型のセキュリティアップデートなどのパッケージマネージャーの利点を失うことになります。
Firefoxの新しいバージョンはセキュリティ更新を含むため優先事項ですが、他のアプリケーションはそれほど早く提供されない可能性があります。たとえば、LibreOfficeオフィススイートの大規模な新バージョンは、現在のLinuxディストリビューションの更新として提供されないこともあります。潜在的な不安定性を避け、テストの時間を確保するために、このバージョンは次の主要リリースのLinuxディストリビューションがリリースされるまで利用できないかもしれません。たとえば、Ubuntu 12.10 のように、ディストリビューションのソフトウェアリポジトリでデフォルトバージョンになるときです。
この問題を解決するために、Arch LinuxのようないくつかのLinuxディストリビューションは「ローリングリリースサイクル」を提供しており、新しいソフトウェアのバージョンが主なソフトウェアリポジトリに追加されます。これにより問題が発生する可能性があります。デスクトップアプリケーションの新しいバージョンが必要でも、低レベルのシステムユーティリティの新しいバージョンにはあまり関心がないかもしれませんが、それにより不安定性が導入される可能性があります。
Ubuntuは、古いディストリビューションに新しいバージョンの重要なパッケージを提供するためにバックポートリポジトリを用意していますが、すべての新しいバージョンがバックポートリポジトリに含まれるわけではありません。
その他のリポジトリ
Linuxディストリビューションは、独自のリポジトリを事前に設定して提供していますが、他のリポジトリをシステムに追加することもできます。一度追加すれば、そのリポジトリからソフトウェアをインストールし、パッケージマネージャーを使用して更新を受け取ることができます。追加するリポジトリは、あなたのLinuxディストリビューションとパッケージマネージャーに適したものでなければなりません。
例えば、Ubuntuは個人やチームによってコンパイルされたソフトウェアを含むさまざまな個人用パッケージアーカイブ(PPA)を提供しています。Ubuntuはこれらのリポジトリにあるパッケージの安定性やセキュリティを保証していませんが、信頼できる個人からPPAを追加して、まだUbuntuのリポジトリにないパッケージをダウンロードしたり、既存のパッケージの新しいバージョンをダウンロードしたりすることができます。
一部のサードパーティ製アプリケーションは、独自のソフトウェアリポジトリを使用します。例えば、UbuntuにGoogle Chromeをインストールすると、それがシステムに独自のaptリポジトリを追加します。これにより、Ubuntuのアップデートマネージャーや標準のソフトウェアインストールツールを通じてGoogle Chromeのアップデートを受け取ることができます。







