kledgeb UbuntuやLinuxの最新情報を紹介

APT 2.0がリリースされました

2020年3月7日、「APT 2.0」がリリースされました。



APT

「APT(Advanced Package Tool)」は、パッケージ管理ツールです。
「APT」は、パッケージの管理や操作、問い合わせなど、パッケージ関連の操作を行うツール群やライブラリーを提供しています。
「apt」や「apt-get」コマンドはその一例です。

また「Synaptic」や「Ubuntuソフトウェア」、「ソフトウェアの更新」など、「APT」のフロントエンドとして動作するソフトウェアもあります。


直接ユーザーの目に「APT」が触れることがなくても、ユーザーは結果的に「APT」を毎日のように利用しています。

APT 2.0

前身の「APT 1.9」がしばらくの間「実験版(experimental)」で提供された後、「APT 2.0」にバージョンアップし、「不安定版(unstable)」に登場しました。


また「APT 1.9」は「Ubuntu 19.10」でも採用されています。



ちなみに現時点で「Ubuntu 20.04 LTS」では、「APT 1.9」になっています。


新機能の追加や改良

「APT 1.8」シリーズと比較し「APT 2.0」では、新機能の実装やパフォーマンスの改善、安全性の向上が行われています。
またコードの削減により、ライブラリーのサイズが減少しています。

APT 2.0の主な変更点

「APT 1.8」から変更された「APT 2.0」の主な変更点を紹介します。
詳細は上記のリリースアナウンスを参照してください。

1.aptitudeスタイルのパターンに対応

コマンドはパッケージ名に「aptitude」スタイルのパターンを指定できるようになりました。
パターンの形式(シンタックス)は、ほぼ「aptitude」のサブセットになっています。
詳細は「apt-patterns(7)」を参照してください。


また「apt」コマンドでは、正規表現やワイルドカードをパッケージ引数に指定できなくなったため、代わりに上記パターンを使用してください。

2.dpkgのロック待ちに対応

「apt」コマンドは、「dpkg」のロックを待つようになりました。
「tty」に接続した時は無期限にロックを待ちます。
それ以外は120秒間、ロックを待ちます。

3.ロックに失敗した時にメッセージを表示

ロックに失敗した時は、現在ロックしている他プロセスの名称とプロセスID(pid)を出力します。

4.satisfyコマンドの追加

「apt」及び「apt-get」コマンドに「satisfy」コマンドが新規追加されました。

satisfy (apt-get(8))

satisfy satisfies dependency strings, as used in Build-Depends. It also handles conflicts, by prefixing an argument with "Conflicts: ".

Example: apt satisfy "foo, bar (>= 1.0)" "Conflicts: baz, fuzz"


5.ソースパッケージを対象にPinを指定可能に

ソースパッケージ名に「src:」を指定することで、ソースパッケージを対象にPinを指定できるようになりました。


Package: src:apt
Pin: version 2.0.0
Pin-Priority: 990

6.libgcryptに移行

「MD5」や「SHA1」、「SHA2」系のハッシュ処理に、埋め込みのリファレンス実装を使用していましたが、これらの実装の代わりに「libgcrypt」を使用するようになりました。
また埋め込みのリファレンス実装は削除されました。

7.認証情報

「auth.conf」で指定された認証情報は、「HTTPS」ソースにのみ適用されるようになりました。
これにより悪意ある第三者がHTTPリダイレクトにより、認証情報を盗み取る行為を防ぎます。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション