Windowsでのアプリケーションアップデート

Windowsには、システム全体でアプリケーションを管理する仕組みが存在していないため、インストールしたアプリケーションごとにアップデートを実施する必要があった。古いバージョンのアプリケーションをそのまま使い続けることもできるわけだが、これはセキュリティの観点から言うとあまり好ましくない。

現状として、Windowsは月に1回提供されるWindows Updateを実施すれば、最新の状態が維持される。サードパーティ製のアプリケーションもWindowsと同じくらい簡単かつ常に最新バージョンへのアップデートが行われてほしいものだ。なお、限定的ではあるが、Microsoft Store経由でインストールしたアプリケーションに関しては、以下のように、一括でアップデートを実施できる。

  • Microsoft Storeでインストール済みアプリケーションのアップデート

    Microsoft Storeでインストール済みアプリケーションのアップデート

Microsoft Storeを起動してメニューから「ダウンロードと更新」を選択すると、上記のスクリーンショットのように、アップデートが存在するものに関しては自動的にアップデートが実施される。楽チンである。このやり方ですべてのWindowsのアプリケーションを管理できるわけではないのだが、とても楽なので、「Microsoft Storeで提供されているアプリケーションだけ使うようにしようかな」という気にもなってくる。

Google ChromeやFirefoxのように自動でアップデートを行うアプリもあるので、サードパーティ製アプリケーションのアップデートも以前よりは簡単になっている。

Ubuntuでのパッケージアップデート

アプリケーションのアップデートに関しては、LinuxディストリビューションのほうがWindowsよりも扱いやすい。Linuxディストリビューションは、登場当初からアプリケーションをパッケージと呼ばれるまとまりで管理しており、一括アップデートの仕組みを提供してきた。まとめてアップデートするのがもともと得意なのである。

Linuxディストリビューションにおけるパッケージ管理システムは、複数の仕組みが存在している。パッケージ形式またはそれを扱うツールのどちらで呼ぶか悩ましいところだが、利用するコマンド名のほうがわかりやすいと思うので、そちらで例を挙げておこう。

シェアで考えると、DebianやUbuntuのapt、Red Hat Enterprise Linuxのdnfまたはyum、SUSEのzypper辺りを押さえておけばよいだろう。最近は、さらにディストリビューションに依存しないSnapという方式も食い込んできている。

今回は、Windows 10のWSLで利用でき、日本でのシェアも高いと見られるUbuntuのアップデート方法を紹介しよう。

  • Ubuntu 18.04 LTS

    Ubuntu 18.04 LTS

例えば、Windows 10にUbuntu 18.04 LTSをインストールして使っていくとしよう。最初にインストールした時点のパッケージ群と、利用している時点の最新のパッケージ郡には差が出ているはずだ。いくつかのパッケージはより新しいバージョンがリリースされていることが多い。「sudo apt update」のようにコマンドを実行すると、次のようにパッケージ管理用メタデータの更新が行われ、アップデート可能なパッケージが存在していることが表示されると思う。

  • sudo apt updateでパッケージ管理用メタデータを更新

    sudo apt updateでパッケージ管理用メタデータを更新

「sudo apt list --upgradable」のように実行すると、アップデート可能なパッケージの一覧が表示される。

  • sudo apt list --upgradableでアップデート可能なパッケージを一覧表示

    sudo apt list --upgradableでアップデート可能なパッケージを一覧表示

基本的にaptでは、アップデート可能なパッケージは一気に全部アップデートする。Snapであれば個別にアップデートやロールバックすることも可能なのだが、Snap以前のパッケージ管理システムはMicrosoft Storeのように基本的にアップデート可能なものはすべてのまとめてアップデートする仕組みになっている。

パッケージのアップデートは「sudo apt upgrade」で実行する。次のように、順次パッケージのアップデートが進められる。

  • sudo apt upgradeでパッケージをまとめてアップデートできる

    sudo apt upgradeでパッケージをまとめてアップデートできる

  • sudo apt updateでパッケージアップデート完了

    sudo apt updateでパッケージアップデート完了

アップデートが終わると、場合によっては不要になったパッケージというものが出てくる。依存関係でインストールされたものの、それが不要になったといった場合だ。そのまま残しておいてもよいが、「sudo apt autoremove」と実行すると、こうした不要なパッケージをアンインストールできる。

  • sudo apt autoremoveで不要になったパッケージをアンインストール

    sudo apt autoremoveで不要になったパッケージをアンインストール

dnfまたはyum、またはzypperでもやることは似たようなものだ。パッケージ管理用メタデータを更新して、アップグレードを実施する。Ubuntuなら「sudo apt update」を実行してから「sudo apt upgrade」だ。Linuxでも、アップグレードを実施せずに使い続けることはできる。しかし、それはセキュリティ上よくないので、時々このようにパッケージを最新の状態へアップグレードしたほうがよいだろう。

パッケージ管理の違いが気になるならSnap

Linuxの最大の特徴であるパッケージ管理システムだが、Linuxディストリビューションごとに使っているパッケージ形式やパッケージ管理ツールが異なるのが悩みのタネだったりもする。Linuxディストリビューションが変わると管理ツールを変えなければならず、しばらく使っていないと操作方法を忘れるからだ。

そうした場合は、Canonicalが開発を支援している「Snap」を使うという方法がある。SnapはLinuxディストリビューションに寄らないパッケージ管理システムで、どのLinuxディストリビューションでも同じ操作で利用できる。自動的にアップデートも実施されるので、基本的には1回インストールすればおしまいだ。

今のところ、すべてをSnapに移行したLinuxディストリビューションはないが、もしかすると今後スタンダードになっていく可能性もある。未知数なのでなんとも言えないが、知っておいて損のない仕組みだ。