アパート3.1にリポジトリからアプリパッケージを除外する新しいオプションが追加されました。
DebianおよびUbuntuベースのLinuxディストリビューション用のデフォルトのコマンドラインパッケージマネージャーであるaptは、月曜日に新しいバージョン3.1.0をリリースしました。
ご存知の通り、apt 3.0は新しいパッケージ依存関係解決ツールを導入し、より効率的でクリーンな出力を提供します。現在、新しい3.1リリースではリゾルバ3がデフォルトで有効になっています。
上記のスクリーンショットでご覧のように、Ubuntuの01-vendor-ubuntu構成ファイルのルールにより、aptとapt-getの両方に対してこの機能が有効になっていますが、Ubuntu 25.10では既にデフォルトのapt 3.0に対してこの機能が有効になっています。
なぜとなぜないサブコマンド
aptitudeと同様に、aptには新しいwhyおよびwhy-notサブコマンドが追加され、特定のパッケージがなぜインストールされたのか、またはパッケージがなぜインストールできないのかを調べることができるようになりました。そして、こちらがマニュアルページでの説明です:
これらのコマンドは、ソルバーからの推論経路を出力します。多くの用途に対する同等の適性コマンドに似ていますが、ソルバーが選んだ実際の理由を出力する点で異なります。潜在的に最も強い経路ではなく、実際の理由を示します。
whyコマンドは、インストールされたパッケージがなぜインストールされているのかを判断します。これにより、自動的にインストールされたパッケージがインストールされた理由の合理的なフィードバックが提供されます。ただし、手動でインストールされたパッケージには他の理由は示されません。パッケージがインストールされていない場合、理由を特定することはできません。
why-notコマンドは、パッケージがインストール不可能であると判断された理由を示します。これは、パッケージがアンインストール可能であっても、常に結果を得られるわけではありません。
両方のコマンドは、パッケージの名前という1つの引数を取ります。
例えば、次のコマンドを実行して、libheif1 パッケージがシステムにインストールされた理由を確認します:
apt why libheif1私の場合、ユーザーがlibm17n-0をインストールすることを選択したと通知されました。このパッケージはlibgd3に依存しており、libgd3はlibheif1に依存しているため、それも依存関係として一緒にインストールされました。
含めるおよび除外するオプション
それに加えて、apt 3.1では新しいIncludeおよびExcludeオプションが導入され、リポジトリからパッケージを許可リストに追加したり、削除したりできるようになりました。
これは、リポジトリ(例えば、Ubuntu PPA)に多くのアプリパッケージが含まれている場合に便利ですが、その中の一つまたはいくつかだけが必要で、他のすべてをブロックしたい場合です。以前は、/etc/apt/preferences.d にルールを追加してパッケージの優先度を設定できました。今では、新しい方法がはるかに強力で、パッケージがキャッシュに解析されるのを除外します。
例えば、あなたが ppa:ubuntuhandbook1/apps PPA を追加したと仮定しますが、必要なのは converseen パッケージのみの場合、/etc/apt/sources.list.d ディレクトリ内の対応する .sources ファイルを編集し、次のように追加できます:
Include: converseenその後、ファイルを保存し、sudo apt updateを実行してキャッシュを更新します。最後に、そのPPAからインストール可能なのはconverseenパッケージのみであり、他のすべては除外されます。
注意: 「含める」と「除外する」は依存関係を処理しません。それらがリポジトリに存在する場合、すべてを追加する必要があります。例えば、audaciousとそのすべての依存関係を以下のように含めてください:
Include: audacious libaudcore5 libaudgui5 libaudqt2 libaudtag3 audacious-plugins audacious-plugins-dataソフトウェアとアップデートユーティリティは、パッケージの含め方/除外方法を視覚的に提供します。
ツールを起動して「その他のソフトウェア」タブに移動し、ソースリポジトリをハイライトして編集します。最後に「追加フィールド」の下にある追加ボタンをクリックし、キーをIncludeまたはExcludeのいずれかに設定し、パッケージ名を値として入力します。
リポジトリからパッケージを除外する
apt 3.1.0を取得する方法
apt 3.1.0はDebian実験用リポジトリに追加されました。Debian Unstable (Sid) リポジトリに移行され次第、最新のUbuntu開発版にバックポートされます。
アップデートを待てない場合は、ソースコードを取得して自分でビルドすることができます。



