環境
Ubuntu20.4
はじめに
aptでパッケージのインストールを行う前に、apt-get updateを行って、インデックスファイルを最新にしますが、実際にはどのファイルがどう最新化されているのだろうか。その裏側を確認してみました。
やったこと
aptのインデックスファイルは、/var/lib/apt/listsに存在します。自分の環境では、大きく次の2種類のファイルが存在していました。
us.archive.ubuntu.com_ubuntu_dists_focal-xxxxx
apt.postgresql.org_pub_repos_apt_dists_focal-xxxxx
$ls -lhr /var/lib/apt/lists | nl
updateを行う前に、現状のインデックスファイルを保存します。
$ls -lhr /var/lib/apt/lists | nl > ./moto.txt
updateコマンドを実行してインデックスファイルの更新をおこないます。root権限で実行しないと、権限がありませんといったエラーが出てきて更新ができないので注意です。
$sudo apt-get update
Get:1 http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease [123 kB]
Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Hit:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Get:5 http://apt.postgresql.org/pub/repos/apt focal-pgdg/main amd64 Packages [297 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3,233 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [514 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [2,852 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [398 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1,179 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [283 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [26.2 kB]
Get:14 http://us.archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [7,880 B]
Get:15 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [2,854 kB]
Get:16 http://us.archive.ubuntu.com/ubuntu focal-security/main Translation-en [431 kB]
Get:17 http://us.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [2,735 kB]
Get:18 http://us.archive.ubuntu.com/ubuntu focal-security/restricted Translation-en [381 kB]
Get:19 http://us.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [952 kB]
Get:20 http://us.archive.ubuntu.com/ubuntu focal-security/universe Translation-en [200 kB]
Get:21 http://us.archive.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [24.0 kB]
Get:22 http://us.archive.ubuntu.com/ubuntu focal-security/multiverse Translation-en [5,904 B]
Fetched 16.7 MB in 7s (2,368 kB/s)
Reading package lists... Done
自分の環境ではこれだけのインデックスファイルが更新されました。わりと長い間、updateを行っていたなかった模様です。実際に更新されたファイルには先頭行にGetがつきます。Hitがついている行は更新されていません。Getの行数を数えると20行あるので、20行のインデックスファイルが更新されたことになります。
updateを行って後、現状のインデックスファイルを保存します。
$ls -lhr /var/lib/apt/lists | nl > ./saki.txt
updateを行う前と行った後とをdiffで比較します。
確かに変更されているファイルが20個あることが確認できました。
タイムスタンプが最新になったが、ファイルの容量は変わっていないものもあれば、タイムスタンプが最新になり、ファイルの容量も若干増えたファイルものもます。増えたとしてもせいぜい1M程度です。ちなみに、新しいインデックスファイルファイルが追加になったということはありませんでした。