Linuxにソフトウェアをインストールするには?
2014-03-18
2024-10-24
(本記事は2024-10-24に加筆修正されました)
ソフトウェアのインストールはLinux初心者の多くが戸惑う
こんにちは。今回のテーマは「inuxにソフトウェアをインストールするには?」です。今回は基本に帰ってLinuxのソフトのインストールを取り上げます。というのも、XPサポート終了に伴ってWindwosからLinuxに移行した方も多いと思うのですが、初心者の方にとってソフトのインストール方法って結構大きな壁だと思うんです。**「どうやってソフトをインストールするの?tar.gzとかわからん。Vectorにソフトないの?」**という声をよく耳にします。Linuxには『唯一の決まったインストール方法』がないのが混乱の原因かもしれません。Linuxにおけるインストールの全体像を掴んでいただければと思います。
Windowsと何が違うのか
Windowsユーザーならば「Vector」等のサイトからhogehoge.exeなるインストールファイルをダウンロードしてきてクリックすれば自動でインストールが始まるのを経験済みだと思います。あるいは、Zipファイルをダウンロードして解凍すると中にhogehoge.exeアイコンが入っていて、それをクリックするとアプリケーションが立ち上がるのも珍しくありません。
だが、Linuxでは、そもそもexeファイルは使えません。 そして、例えばダウンロードしようとサイトに行くと
- hogehoge.deb
- hogehoge.rpm
- hogehoge.tar.bz2
のような拡張子のファイルが沢山あるけど何をダウンロードすれば良いのかよくわからないという現象に遭遇してしまいます。ここでLinuxへのアプリインストール方法を整理しておきましょう。
インストール方法は主に5種類
Linuxにおけるソフトのインストールは以下5種類を覚えておけば大抵の場合、困らないと思います。
- 公式およびサードパーティリポジトリからパッケージを導入する
- DEB, RPMなどの形式で配布されているパッケージを導入する
- 配布されているバイナリファイルを導入する
- ソースコードからビルドし配置する
- FlatpakやAppImage等のディストリビューションに依存しないパッケージを導入する
※2018-12-27に修正・追記しました。最近実用化してきたSnapsやflatpak, AppImageに関する記述を5種類目に追加しています。
リポジトリからインストールする
最近のLinuxはこれが基本です。_つまり、必要なソフトは公式リポジトリに揃っているので「Vector」とか「窓の杜」とかからダウンロードする必要ないよ!ってことです。_パッケージマネージャーがリポジトリに入っているパッケージを探して自動でインストールしてくれます。こうしてインストールされたパッケージ(ソフト)はリポジトリのパッケージが更新されると自動で更新され、削除も非常に容易です。
使いたいソフトがあるときにはまず、公式リポジトリで探すべきでしょう。公式に無いときにはサードパーティのリポジトリを追加することを検討するのも良いと思います。コマンドやGUIインターフェイスの使用方法はパッケージマネージャー毎に異なります。ディストロやデスクトップ環境でパッケージマネージャーの呼び方も異なります。(これがややこしいのですが・・・)以下の参考記事を参考にパッケージマネージャーを使ってみてください。
■各ディストリビューションごとのコマンド例
[インストール]
# apt install hogehog (Ubuntu,Debian)
# yum install hogehoge (Fedora)
# pacman -S hogehoge (Arch Linux)
# zypper install hogehoge (OpenSUSE)
[パッケージの削除]
# apt remove hogehog (Ubuntu,Debian)
# yum remove hogehoge (Fedora)
# pacman -Rs hogehoge (Arch Linux)
# zypper remove hogehoge (OpenSUSE)
ネットからパッケージをダウンロードする
公式のリポジトリには入れられないパッケージなどはHP上でDebファイルやrpmファイルを配布されることもあります。(周辺機器のドライバ等)パッケージ配布されているメリットはパッケージマネージャーでインストールと削除が可能なことです。ただしリポジトリには無いのでパッケージマネージャーは自動更新はされません。
以下にコマンドの例を示します。
DEBパッケージをインストールする場合
$ sudo dpkg -i hogehoge.deb
$ sudo gdebi hogehoge.deb
(依存関係をチェックしてインストールする場合)
rpmパッケージをインストールする場合
$ sudo rpm -ivh hogehoge.rpm
$ sudo yum localinstall hogehoge.rpm --nogpgcheck
(依存関係をチェックしてインストール)
DEBパッケージを削除する場合
$ sudo dpkg -r hogehoge
$ sudo apt-get remove hogehoge (推奨)
rpmパッケージを削除する場合
$ sudo rpm -e hogehoge
$ sudo yum remove hogehoge (推奨)
ネットからバイナリファイルをダウンロードする
この方法はソースが公開されていなかったり、ライセンスの問題が絡んでるソフトに多いです。ここではSkypeを例に上げて見てみましょう。公式サイトからskype-4.2.0.13.tar.bz2ファイルをダウンロードします。
これはdebやrpmパッケージじゃないのでパッケージマネージャを使用したインストール方法が使用できません。以下コマンドで解凍して中身を見てみましょう。
$ tar -jxf skype-4.2.0.13.tar.bz2
中にはこんなバイナリファイルが入ってます。
これをREADMEファイルの中身を読んで、自分でディレクトリにコピーする作業がインストール作業です。
※注意:SkypeはDebファイルやrpmファイルも用意してますしメジャーなディストリビューションではリポジトリに入っていますので、この方法はあくまで例です。
ソースからビルドする
初心者の方にはこの方法はまず必要ない方法です。しかし、一昔前はLinuxのインストールと言えば自分でソースをビルドすることでした。メジャーなディストロを使っていればメンテナがビルドししてリポジトリにUPしてくれてるので、私達はその恩恵に預かるだけで済みます。
しかし、どうしても、リポジトリにもないしネットでパッケージも配布してない場合は自分でビルドしてインストールすることになります。例えばhogehoge.tar.bz2というソースファイルをダウンロードしてきたとしましょう。多くの場合はパッケージ内のREADMEやINSTALLファイルに記述がありますが、一般的には以下コマンドでビルドしてインストールしていきます。
一般的なソースコードのビルド例
$ tar -jxf hogehoge.tar.bz2
$ cd hogehoge
$ ./configure
$ make
# make install
削除するには以下コマンドを実行できるものもあります。
# make uninstall
しかし、初心者の方にはオススメしません。というのもシステムをクリーンに保ちながら削除するのは至難の技だからです。そこのところはITエンタープライズさんの記事を参考にしてください。
Snapsやflatpac, AppImageなどのを利用する
(2018-12-27追記)
近年は上記の4種に加えて新たなインストール方法が使えるようになってきました。Snapsやflatpakといった仮想化を利用したパッケージ管理やAppImageというアプリケーションをポータブル化する技術が身近に使えるようになってきたため、この項目に加えます。これらの方法は上記の方法に比べて導入が優しく、管理も簡単であることが特徴です。新たなパッケージ管理に関しては過去から振り返るLinuxの次世代パッケージ管理の話を参考にしていただければ幸いです。
ビルドしたソフトをパッケージマネージャーで扱う方法
では、ソースからビルドしたソフトを他のパッケージと同じようにインストールしたり削除したりするには、どうしたら良いのでしょうか?答えは簡単です。自作パッケージを作ってしまえば良いのです。Debian/Ubuntu向けのDEBパッケージ自作に関する記事を書きましたので参考になさって下さい。
まとめ
Linuxディストリビューションを使う上で必ず必要なるパッケージのインストールと削除について見てきました。ディストリビューションごとにパッケージ管理方法が異なり、このややこしさがLinuxを使う上でユーザーに混乱をもたらしている部分もあるかと思います。本記事の内容を理解していただいて、基本的にはお使いのディストリビューションのパッケージマネージャを用いてパッケージのインストールや削除を行うことが望ましいと思います。本記事があなたのLinuxライフのお役に立てれば幸いです。