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

Ubuntu 18.04 その3 - パッケージインデックスファイルの圧縮提案

パッケージインデックスファイルの圧縮提案

「Ubuntu 18.04」にてパッケージインデックスファイルの圧縮を有効にしてみてはどうか、提案が行われました。


  • Compressed apt index files by default for 18.04?

パッケージインデックスファイル

パッケージインデックスファイルはパッケージの情報(リポジトリーの情報)が記述されたファイルであり、「/var/lib/apt/lists」フォルダー以下に配置されます。


パッケージインデックスファイルは、「apt update」を実行した時に更新されます。
例えば「gedit」パッケージの情報を見てみると、以下のように記述されています。

Package: gedit
Priority: optional
Section: gnome
Installed-Size: 1826
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 3.22.0-2ubuntu1
Replaces: gedit-common (<< 3.18.1-1ubuntu1)
Depends: python3:any (>= 3.3.2-2~), python3.5, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libgdk-pixbuf2.0-0 (>= 2.25.2), libgirepository-1.0-1 (>= 0.9.3), libglib2.0-0 (>= 2.44), libgspell-1-1 (>= 1.0.0), libgtk-3-0 (>= 3.21.4), libgtksourceview-3.0-1 (>= 3.21.5), libpango-1.0-0 (>= 1.14.0), libpeas-1.0-0 (>= 1.14.1), libx11-6, libxml2 (>= 2.7.4), gir1.2-gtk-3.0, gir1.2-gtksource-3.0, gedit-common (>= 3.22), gedit-common (<< 3.23), gsettings-desktop-schemas, python3-gi (>= 3.0), python3-gi-cairo (>= 3.0), gir1.2-peas-1.0, gir1.2-glib-2.0, gir1.2-pango-1.0, iso-codes
Recommends: zenity, yelp
Suggests: gedit-plugins
Filename: pool/main/g/gedit/gedit_3.22.0-2ubuntu1_amd64.deb
Size: 400006
MD5sum: a376289cc946e1d9704640e516c73503
SHA1: bd2c5830198eff102677b5aea06b107442b519e0
SHA256: 3b0ec657752ea7f6074630ee520b15f39f69fa29448f95436ab477d1332f85f5
Description: official text editor of the GNOME desktop environment
Homepage: https://wiki.gnome.org/Apps/Gedit
Description-md5: 5091aaf6659e6bf7ca9b32695a59f9cd
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 9m
Task: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, ubuntu-gnome-desktop, ubuntukylin-desktop, ubuntu-budgie-desktop

「APT」の各種ツール群は、このパッケージインデックスファイルを参照することで、実際にパッケージをインストールせずとも、どのようなパッケージが利用できるのか、パッケージのバージョン番号、パッケージの説明や依存関係など様々な情報を取得することができます。

さてパッケージインデックスファイルはテキストファイルであるため、圧縮により大きくディスクスペースを節約することができます。
提案では、これらパッケージインデックスファイルを「LZ4」で圧縮し、そしてその圧縮の有効化を「apt 1.6~alpha1」で行いたいとのことです。

これは「Acquire::gzipIndexes」設定を「true」に変更することで、圧縮を有効にします。

どれだけディスクスペースを節約できるのか

提案者の環境では圧縮の有効化により、「/var/lib/apt/lists」フォルダーのサイズが1.3GBから241MBまで減らせたとのことです。

Ubuntu 17.10 64bit版のサイズ

ほぼクリーンインストールした環境と変わらない「Ubuntu 17.10 64bit版」で「/var/lib/apt/lists」フォルダーのサイズを見てみたところ、約170MB程度でした。


PPAや外部レポジトリーの追加など、参照するリポジトリー数が増えればパッケージインデックスファイルも増えます。

圧縮の有効化による課題

パッケージインデックスファイルの圧縮を有効化に際し、以下の課題が挙げられています。

一部のツールが動作しなくなる

パッケージインデックスファイルがテキストファイルであることを前提に動作するソフトウェアは、パッケージインデックスファイルの圧縮化により動作しなくなります。
そのため圧縮の有効化と共にこれらのソフトウェア群も修正する必要があります。

提案者はDebianを利用しており、圧縮化に影響を受けるソフトウェア群を以下で列挙しています。

  • Debian Bug report logs: Bugs tagged apt-internals

パフォーマンスの低下

パッケージインデックスファイルの中身を参照するということは、圧縮されたパッケージインデックスファイルを展開してから、中身を参照しなければなりません。
そのため今まで必要なかった「展開」という処理が必要になります。

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Windows その29 - Windows 向け Coreutils 登場・Coreutils のインストールやコマンドの一覧など
    Windows 向け Coreutils 登場 Windows 向け Coreutils が登場しました。
  • Ubuntu 24.04 その96 - Ubuntu 24.04.5 LTS のリリース日変更
    Ubuntu 24.04.5 LTS のリリース日変更 Ubuntu 24.04.5 LTS のリリース日が変更されました。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
記事のピックアップ
オプション