Linuxにソフトウェアをインストールするには?

ソフトウェアのインストールはLinux初心者の多くが戸惑う

こんにちは。今回のテーマは「inuxにソフトウェアをインストールするには?」です。今回は基本に帰ってLinuxのソフトのインストールを取り上げます。というのも、XPサポート終了に伴ってWindwosからLinuxに移行した方も多いと思うのですが、初心者の方にとってソフトのインストール方法って結構大きな壁だと思うんです。

「どうやってソフトをインストールするの?tar.gzとかわからん。Vectorにソフトないの?」

という声をよく耳にします。Linuxには『唯一の決まったインストール方法』がないのが混乱の原因かもしれません。Linuxにおけるインストールの全体像を掴んでいただければと思います。

(本記事は2018-12-27に加筆修正されました)


Windowsと何が違うのか

Windowsユーザーならば「Vector」等のサイトからhogehoge.exeなるインストールファイルをダウンロードしてきてクリックすれば自動でインストールが始まるのを経験済みだと思います。

あるいは、Zipファイルをダウンロードして解凍すると中にhogehoge.exeアイコンが入っていて、それをクリックするとアプリケーションが立ち上がるのも珍しくありません。

だが、Linuxでは、そもそもexeファイルは使えない。
そして、例えばダウンロードしようとサイトに行くと
hogehoge.debとか
hogehoge.rpmとか
hogehoge.tar.bz2だとか
沢山あるけど何をダウンロードすれば良いのかよくわからない・・・。
ここでLinuxへのアプリインストール方法を整理しておきます。

インストール方法は主に5種類

Linuxにおけるソフトのインストールは以下5種類と考えておけばだいたいOK(だと思う)。使用頻度が高い順に並べて置きました。

※2018-12-27に修正・追記しました。最近実用化してきたSnapsやflatpak, AppImageに関する記述を5種類目に追加しています。

#1 リポジトリからインストールする

最近のLinuxはこれが基本です。つまり、必要なソフトは公式リポジトリに揃っているので「Vector」とか「窓の杜」とかからダウンロードする必要ないよ!ってことです。パッケージマネージャーがリポジトリに入っているパッケージを探して自動でインストールしてくれます。こうしてインストールされたパッケージ(ソフト)はリポジトリのパッケージが更新されると自動で更新され、削除も非常に容易です。

使いたいソフトがあるときにはまず、公式リポジトリで探すべきでしょう。公式に無いときにはサードパーティのリポジトリを追加することを検討するのも良いと思います。コマンドやGUIインターフェイスの使用方法はパッケージマネージャー毎に異なります。ディストロやデスクトップ環境でパッケージマネージャーの呼び方も異なります。(これがややこしいのですが・・・)以下の参考記事を参考にパッケージマネージャーを使ってみてください。

参考記事:Linuxのパッケージマネージャーを集めてみた

■参考コマンド
[インストール]

# apt-get install hogehog (Ubuntu,Debian)
# yum install hogehoge    (Fedora)
# pacman -S hogehoge      (Arch Linux)
# zypper install hogehoge (OpenSUSE)

[パッケージの削除]

# apt-get remove hogehog (Ubuntu,Debian)
# yum remove hogehoge    (Fedora)
# pacman -Rs hogehoge    (Arch Linux)
# zypper remove hogehoge (OpenSUSE)

#2 ネットからパッケージをダウンロードする

公式のリポジトリには入れられないパッケージなどはHP上でDebファイルやrpmファイルを配布されることもあります。(周辺機器のドライバ等)パッケージ配布されているメリットはパッケージマネージャーでインストールと削除が可能なことです。ただしリポジトリには無いのでパッケージマネージャーは自動更新はされません。

インストール方法は以下のコマンドです。
[インストール]

$ sudo dpkg -i hogehoge.deb
$ sudo gdebi hogehoge.deb
(依存関係をチェックしてインストールする場合)

$ sudo rpm -ivh hogehoge.rpm
$ sudo yum localinstall hogehoge.rpm --nogpgcheck
(依存関係をチェックしてインストール)

[削除]

# Ubuntu/Debian系
$ sudo dpkg -r hogehoge
$ sudo apt-get remove hogehoge (推奨)

# RedHat系
$ sudo rpm -e hogehoge
$ sudo yum remove hogehoge (推奨)

#3 ネットからバイナリファイルをダウンロードする

この方法はソースが公開されていなかったり、ライセンスの問題が絡んでるソフトに多いです。ここではSkypeを例に上げて見てみましょう。公式サイトからskype-4.2.0.13.tar.bz2ファイルをダウンロードします。

これはdebやrpmパッケージじゃないので上記のようなインストール方法ができません。以下コマンドで解凍して中身を見てみましょう。

$ tar -jxf skype-4.2.0.13.tar.bz2

中にはこんなバイナリファイルが入ってます。

これをREADMEファイルの中身を読んで、自分でディレクトリにコピーする作業がインストール作業です。

※注意:SkypeはDebファイルやrpmファイルも用意してますしメジャーなディストリビューションではリポジトリに入っていますので、この方法はあくまで例です。

#4 ソースからビルドする

初心者の方にはこの方法はまず必要ない方法です。しかし、一昔前はLinuxのインストールと言えば自分でソースをビルドすることでした。メジャーなディストロを使っていればメンテナがビルドししてリポジトリにUPしてくれてるので、私達はその恩恵に預かるだけで済みます。

しかし、どうしても、リポジトリにもないしネットでパッケージも配布してない場合は自分でビルドしてインストールすることになります。例えばhogehoge.tar.bz2というソースファイルをダウンロードしてきたとしましょう。多くの場合はパッケージ内のREADMEやINSTALLファイルに記述がありますが、一般的には以下コマンドでビルドしてインストールしていきます。

$ tar -jxf hogehoge.tar.bz2
$ cd hogehoge
$ ./configure
$ make
# make install

削除するには以下コマンドを実行

# make uninstall

しかし、初心者の方にはオススメしません。というのもシステムをクリーンに保ちながら削除するのは至難の技だからです。そこのところはITエンタープライズさんの記事を参考にしてください。

#5 Snapsやflatpac, AppImageを利用する

(2018-12-27追記)
近年は上記の4種に加えて新たなインストール方法が使えるようになってきました。Snapsやflatpakといった仮想化を利用したパッケージ管理やAppImageというアプリケーションをポータブル化する技術が身近に使えるようになってきたため、この項目に加えます。これらの方法は上記の方法に比べて導入が優しく、管理も簡単であることが特徴です。新たなパッケージ管理に関しては過去から振り返るLinuxの次世代パッケージ管理の話を参考にしていただければ幸いです。

ビルドしたソフトをパッケージマネージャーで扱うには・・・

では、ソースからビルドしたソフトを他のパッケージと同じようにインストールしたり削除したりするには、どうしたら良いのでしょうか?答えは簡単です。自作パッケージを作ってしまえば良いのです。
Debian/Ubuntu向けのDEBパッケージ自作に関する記事を書きましたので参考になさって下さい。

[関連記事]:

4件のコメント

  • 最近、Linux Mint cinnamonを勉強し出しました。
    編集ソフトのDavinci Resolve 16(無償品)をインストールしたいのですが、どうしても解凍、インストールできません。windowsのようなインストローラーがありません、何か分かり易い方法はありませんでしょうか?

    • maki yoshimasaさん

      お返事遅くなりすみません。
      Davinci Resolve 16については使用したことがなく、持ち合わせている知識がありません。
      お役に立てずすみません。
      もし何かわかりましたら記事書きたいと思います。

  • Windows用のソフトが入ったCDからubuntuにインストールする方法はありますか?教えてください。

    • 小林さん

      Windows用のソフトですとそもそもLinuxシステム上では動かないと考えた方が良いかと思います。
      Linux上でWineを使用してWindows用のソフトを動かす方法もありますが、今回のご質問とは少々状況がことなるように思います。

コメントは現在停止中です。