Linux
 Computer >> コンピューター >  >> システム >> Linux

Debian・Ubuntuユーザー必見!apt-getから新しいaptコマンドへの乗り換えガイド

Linuxは常に進化し続けています。その変化の多くは、カーネルや基盤となるコードの裏側での改良のように、ユーザーの目に見えないものです。しかし時には、ユーザー自身が新しい使い方に適応しなければならないこともあります。

コンピューティングの進化の中には、これまでの考え方を大きく変える必要があるものも少なくありません。しかし、apt-getコマンドの発展はそうではありませんでした。完全に置き換えるのではなく、Debian系システム(Ubuntu、Linux Mint、Raspberry Pi OSなど)では、後継となるよりシンプルなaptコマンドと並行して従来のコマンドも引き続き使えるようになっています。

では、なぜこのような変更が行われたのでしょうか?そして、実際に何が変わったのかを見ていきましょう。

apt と apt-get の違い

aptコマンドの導入には、明確な理由があります。以前は「Advanced Package Tool(APT)」を操作するには、apt-getapt-cacheという一連のコマンドを使うか、デスクトップ環境ではSynapticなどのパッケージマネージャーを利用する必要がありました。しかし、長年の機能追加によってコマンド体系が複雑化し、やや混乱した状態になっていました。

そこで登場したのがaptです。apt-getapt-cacheのうち最もよく使われるオプションを統合することで、コマンド名は短くなり、数も減りました。これにより、重複や長年の運用で生じていた問題が解消されています。

さらに、aptは単なるコマンドの統合にとどまりません。コマンドライン体験そのものも向上しています。たとえば、ソフトウェアのインストールや削除の際にはプログレスバーが表示されるようになりました。

aptが導入された理由はこうですが、実際に使うメリットはどこにあるのでしょうか?以下の具体例で確認していきます。

基本は「-get」を外すだけ

これまで使っていたapt-getのコマンドは、「-get」の部分を取り除くだけでそのまま使えます。

つまり…

apt-get install [パッケージ名]

…は次のようになります。

apt install [パッケージ名]

基本的に、従来のapt-getコマンドはすべてこのルールが適用されます。さらにaptの導入によって新機能も追加されました。ソフトウェアのアップグレードや削除には新しいオプションが用意され、複数パッケージの一括インストールからシステムからの完全削除まで、幅広い操作が可能になっています。

full-upgradeで完全なアップグレードを行う

updateupgradeコマンドは、aptでもapt-getでも共通して使えます。簡単に説明すると、updateはリポジトリからパッケージ情報を最新化するコマンド、upgradeは実際にインストール済みのパッケージをアップグレードするコマンドです。

そして、新しいaptコマンドにはfull-upgradeという新しいコマンドが加わりました。

sudo apt full-upgrade

このコマンドを実行すると、パッケージのアップグレードに加えて、アップグレードの過程で削除が必要になった古いパッケージも自動的に取り除かれます。通常のapt upgradeではこの処理は行われません。

複数パッケージを一度にインストールする

急いでいるときに複数のソフトウェアをまとめてインストールしたい、あるいはインストール作業を効率化したいと思ったことはありませんか?

apt installコマンドは進化し、1つのコマンドで複数のパッケージをインストールできるようになりました。installコマンドの後にパッケージ名を順に並べるだけです。

sudo apt install [パッケージ1] [パッケージ2] [パッケージ3]

すでにインストール済みのアプリがあれば、aptはデータベースを確認してより新しいバージョンが存在する場合にそれをインストールしてくれます。とてもシンプルですね。

アップグレードせずにパッケージをインストールする

状況によっては、既存のパッケージを(修復目的などで)バージョンアップせずに再インストールしたいケースもあります。幸い、aptならこのような場面にも簡単に対応できます。

sudo apt install [パッケージ名] --no-upgrade

また逆に、未インストールのパッケージのアップグレード版だけをダウンロードして、インストールは行わないという指定も可能です。

sudo apt install [パッケージ名] --only-upgrade

最後のコマンドはあまり一般的なシナリオではありませんが、知っておくと役立つことがあるかもしれません。

特定のバージョンをインストールする

アプリの特定のバージョンをインストールしたい場合はどうすればよいでしょうか?たとえば、最新のアップデートによって自分が使っている機能が動作しなくなった場合などが該当します。この場合、まずパッケージのバージョン番号を調べておく必要があります。

バージョン番号が分かったら、次のコマンドでパッケージ名と希望するバージョンを指定するだけです。

sudo apt install [パッケージ名]=[バージョン番号]

ただし注意点として、その後のアップグレードでこの指定は上書きされ、最新版に置き換えられる可能性があります。そのため、開発元が問題を修正するまでの間は、このコマンドを繰り返し実行する必要があるでしょう。

アップグレード可能・インストール済みパッケージの一覧表示

Debian系システムでaptを使ってソフトウェアを管理する際のもう1つの新機能が、listオプションです。指定した条件に基づいてパッケージの一覧を出力できます。

たとえば、アップグレード待ちのパッケージ一覧は次のコマンドで確認できます。

apt list --upgradeable

よりシンプルに、インストール済みパッケージの一覧を表示するには次のようにします。

apt list --installed

3つ目のオプションも用意されています。これは、お使いのOSとコンピューターで利用可能なすべてのパッケージを一覧表示します。

apt list --all-versions

remove と purge の違い

従来のremoveコマンドによるパッケージ削除は、aptでも引き続き利用できます。インストールの逆の操作として、パッケージ名を指定するだけで実行できます。

sudo apt remove [パッケージ名]

一方、ほぼ同じように動作するpurgeコマンドも存在します。

sudo apt purge [パッケージ名]

では、この2つの違いは何なのでしょうか?

apt removeはバイナリファイルのみを削除します。そのため、設定ファイルなどの残存ファイルがシステムに残ってしまいます。

一方、apt purgeを使うと、バイナリファイル、設定ファイルなど、そのパッケージに関連するすべてのファイルが完全に削除されます。

autoremoveでシステムをクリーンアップ

removepurgeといったコマンドは、不要なソフトウェアをシステムから取り除くために使えます。かつてのapt-getの時代には、cleanautocleanといった、より効率的なメンテナンス用コマンドも用意されていました。

aptでは、これらがautoremoveという単一のコマンドに統合されました。実行すると、目的のアプリケーションの依存関係として自動的にインストールされたライブラリやパッケージのうち、現在どのアプリからも必要とされていないものを削除します。

sudo apt autoremove

もちろん、これによってディスク容量も節約できます!

新しいコマンドと向上した機能性

apt-getコマンドでも、Debian系Linux OS上でソフトウェアの更新、アップグレード、インストール、削除は十分に行えます。しかし、よりシンプルなaptコマンドを使えば、それ以上のことができるのです。

あなたはどちらがお好みですか?apt-getが完全に廃止されるまで使い続けますか?それとも、もうaptに完全移行しましたか?ぜひコメント欄で感想を聞かせてください。記事に含めるべきだと思うコマンドがあれば、そちらもお待ちしています。

画像クレジット: Brian A Jackson/Shutterstock

  1. Ubuntu・DebianのMATEデスクトップでKDE Connectを使う方法

    KDE Connectは、AndroidスマートフォンとLinux PCを手軽に連携できる非常に便利なツールです。これを使えば、デスクトップやノートパソコンの画面上でスマホの通知を確認したり、SMSメッセージに直接返信したりできます。さらに、ファイルやリンクの共有はもちろん、スマホ側からPCを操作することも可能です。 しかし、これほど人気のあるKDE Connectにも弱点があります。MATEをはじめとするGTK系デスクトップ環境との統合があまり良くないのです。そこで活躍するのが、GTK向けの代替ツール「indicator-kdeconnect」です。 KDE Connectをインストールす

  2. Ubuntu Linuxのアップデート方法【デスクトップ・サーバー両対応ガイド】

    デスクトップ版のUbuntu Linuxをお使いの場合、内蔵のアップデートツールによって定期的に更新を促されます。しかし、Ubuntu Serverを使用している場合や、保留中のアップデートを手動で確認・実行したい場合には、コマンドラインからの操作方法を知っておく必要があります。 このチュートリアルでは、デスクトップ版とサーバー版の両方でUbuntu Linuxをアップデートするために必要な手順を解説します。あわせて、以下の関連記事も参考にしてください。 aptとapt-getコマンドの違いとは? 「lsb_release」コマンドでUbuntu LinuxのOSバージョンを確認する方法