Linuxでパッケージ(プログラム)を更新する方法 apt update / apt upgrade

技術

Kubuntuを起動すると、最初にapt updateとapt upgradeを実行したり、Discoverアプリの更新を押したりして、パッケージ (プログラム)の更新をしています。

今回は毎回使うパッケージ(プログラム)の更新方法に(apt updateとapt upgrade)についてです。

環境

・Kubuntu 22.04

パッケージ (プログラム)の更新方法について

コンソールでパッケージ (プログラム)を更新する方法を解説します。

まず、Konsoleで下記コマンドを入力。

sudo apt update

apt updateコマンドでそれぞれのパッケージ情報を最新の情報に更新します。

情報を更新するだけですので、まだパッケージが更新されるわけではありません。更新できるパッケージがある場合はいくつ更新できるパッケージがあるかを教えてくれます。

sudoコマンドを使用すると、パスワードを求められますので、パスワードを入力してください。

その後、パッケージを更新したい場合は下記コマンドを入力します。

sudo apt upgrade

パッケージを更新しますか?と聞かれるので、OKなら「Y」をキャンセルしたい場合は「N」を押してEnterを押します。(YやNは小文字でも大丈夫)

これでパッケージを更新は完了です。

パッケージの更新で必要なくなったパッケージを削除する

apt upgradeコマンドは、パッケージの更新はしてくれますが、パッケージの更新で必要なくなったパッケージは削除されません。

ですので下記コマンドを入力して不要なパッケージを削除します。

sudo apt autoremove

自分のPCにキャッシュ(コピー)されているがインストールされていないdebファイルを削除する

自分のPCにキャッシュ(コピー)されているがインストールされていないdebファイルを削除するには下記コマンドを実行します。

sudo apt autoclean

このコマンドを実行することでキャッシュしているファイルを削除するため、ディスク容量を減らすことができます。

複数のコマンドを打たないとパッケージを更新ができない理由は

私はサブPCのような扱いで、Kubuntuを使用しています。

ですので、パッケージを更新はWindowsUpdateのような感覚で更新しています。

その時に良く思うのが「一回のコマンドで更新できないのかな。なぜコマンドが分かれているのだろう?」ということ。

コマンドが分かれている理由としてはいろいろと調べた限り、「勝手にパッケージが更新されて、既存の環境で動いていたシステムが動かなくなることを防止すること」という理由が一番しっくりきました。

サーバーなどは安定稼働が求められるので、パッケージ更新により他のプログラムに影響を及ぼすと困ってしまいます。私のように普段使いで使用しているのと、安定稼働を目的で使用するとでは「パッケージを更新する」という意味の重みが違うということですね。

一つ一つのコマンドを押して、内容を確認して、実行する。これは大切です。

ただ、そんなことは言ってもコマンドを一つ一つ打つのは手間。何とかその手間を解消したい。という場合は下記のように「&&」をつけるとコマンドを繋げることができます。

sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean

おまけ manコマンドでaptコマンドを調べてみる

manというコマンドがあります。

これは各コマンドの使い方を調べるときに使用します。

最後に今日使用したaptコマンドについて調べたいと思います。

aptコマンドについてmanコマンドで調べたい場合は下記のように入力します。

man apt

下記は実際にmanコマンドを入力した時の説明です。

update (apt-get(8))

update は、設定されたすべての取得元からパッケージ情報をダウンロードするために使用されます。ほかのコマンドは、このデータを操作します。例えば、パッケージのアップグレードを実行したり、中を検索したり、インストール可能なすべてのパッケージに関する詳細情報を表示します。

 upgrade (apt-get(8))

 upgrade は、sources.list(5) で設定された取得元からシステムに現在インストール済みのすべてのパッケージで利用可能なアップグレードをインストールするために使用されます。依存関係を満たすために必要な場合は新しいパッケージがインストールされますが、既存のパッケージが削除されることはありません。パッケージのアップグレードにインストール済みパッケージの削除が必要な場合、そのパッケージのアップグレードは行われません。

autoremove (apt-get(8))

autoremove は、ほかのパッケージの依存関係を満たすために自動的にインストールされた後に、依存関係の変更あるいは必要としていたパッケージが削除されたことでもう必要なくなったパッケージの削除に使用することができます。

別のパッケージの依存関係のため一度インストールされたなどで増えたアプリケーションがリストに含まれていないことを確認する必要があります。apt-mark(8) を使って、手動でパッケージをインストール済にマークすることができます。install 経由で明示的にインストールしたパッケージは、自動削除のために提案されることはありません。

※apt autocleenコマンドについての説明は出てこなかったです。

manコマンド便利ですね。

関連記事