ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 18.04.1を新規インストールするときはapt lineに注意しよう

Ubuntu 18.04.1が7月27日にリリースされたので、早速インストールしてみました。 変更点はこちらにまとまっています。

デスクトップ版はまだインストールしていませんが、サーバー版はインストーラーでソフトウェアRAIDを組めたり、LVMを使うか否か選択するだけで簡単にストレージをセットアップできるようになったり、NICのBondingができるようになったりと改良が施されていました。

Ubuntu Server 18.04.1のインストール後に、利用できるパッケージのバージョンをいろいろ調べようとしたのですが、あれもこれも見つからずはてなマークがたくさん浮かびましたが、原因がわかりました。

これです。 mainリポジトリーしか有効になってなかった!

~$ cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu bionic main
deb http://archive.ubuntu.com/ubuntu bionic-security main
deb http://archive.ubuntu.com/ubuntu bionic-updates main

ちなみにUbuntu 18.04.0からUbuntu 18.04.1にアップデートした場合は、Ubuntu 18.04.0のsources.listが使われるので特に問題はありません。Ubuntu 18.04.1を新規でインストールしたら、デフォルトの設定がこうなっていました。

Ubuntuにはmain、restricted、universe、multiverseというリポジトリーが用意されています。 この中でmainとuniverseにはフリーソフトウェアが、restrictedやmultiverseには制限付きのソフトウェアが主に収録されています。

mainとrestrictedはCanonicalがメンテナンスを行うパッケージが管理されています。universeはコミュニティーのメンバーが主にボランティアでメンテナンスしているもの、multiverseはボランティアもしくはソフトウェアの開発元がメンテナンスするパッケージが集められています。

UbuntuDebianベースのディストリビューションです。当然ながら多くのオープンソースのパッケージはuniverseに公開されています。パッケージ検索してみると、universeで提供されるパッケージが多いことがわかります。

リポジトリーについてはこちらをご覧ください。

ascii.jp

それに加えてUbuntuにはbackportsとpartnerというリポジトリーもあるのですが、これについては今回説明を省きます(UbuntuリポジトリーについてはWikipediaのUbuntuの記事も参考になります)。

これら、複数あるリポジトリーの中のmainしかデフォルトでは設定されていません。そのため、多くのパッケージが見つからなかったというわけです。

Ubuntu 18.04以降ではsnapdを使って欲しいというCanonicalからのメッセージなのかもしれません。 けれどももし、他のリポジトリーのパッケージも使いたいということであれば、次のようにリポジトリーを追加してください。

deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse

mainリポジトリーだけで別に困らないのであればデフォルトのまま運用でもいいですし、フリーソフトウェアだけ使いたいならmainとuniverseだけを指定することもできますが、結局は使いたいパッケージがどこで配布されているかで必要なリポジトリーを設定すればいいと思います。debパッケージにこだわらなければ、snapパッケージを使う手もあります。

snapcraft.io

リリースノートにも記載がありますが、Ubuntu 16.04.xからのアップグレードは7月中には開始される予定です。いつものことですが変更点が16.10,17.04,17.10そして18.04と4リリース分の違いがあり、かなり変更点があります。アップグレードに失敗した時のために、必要なデータはバックアップを取ってから実施することをおすすめします。同じような環境を作って試すのもいいと思います。