yum-cronでパッケージを自動更新していると、いつの間にかパッケージが思った動作をしなくなることがある。このとき、調べた方法のメモ。
検証バージョン
]$ uname -a
Linux localhost.localdomain 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
]$ yum --version
3.4.3
...
パッケージの更新履歴を確認する
まず、コマンドが、どのパッケージに含まれているかを調べる。
]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
]$ rpm -qf /usr/bin/ls
coreutils-8.22-23.el7.x86_64
次に、yumリポジトリから更新履歴を見る。
# 概要を表示する
]$ sudo yum history packages-list coreutils
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
ID | Action(s) | Package
-------------------------------------------------------------------------------
41 | Updated | coreutils-8.22-11.el7.x86_64 EE
41 | Update | 8.22-23.el7.x86_64 EE
1 | Install | coreutils-8.22-11.el7.x86_64
## 詳細を表示する
]$ sudo yum history package-info coreutils
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
Transaction ID : 41
Begin time : Fri Dec 28 10:14:22 2018
Package : coreutils-8.22-11.el7.x86_64
State : Updated
Size : 14567245
Build host : worker1.bsys.centos.org
Build time : Tue Jun 10 10:08:24 2014
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
License : GPLv3+
URL : http://www.gnu.org/software/coreutils/
Source RPM : coreutils-8.22-11.el7.src.rpm
Commit Time : Fri Jan 24 21:00:00 2014
Committer : Daniel Mach <dmach@redhat.com>
Reason : user
From repo : anaconda
Installed by : System <unset>
...
バージョンがわかったら、更新履歴を表示する。
]$ rpm --changelog -q coreutils | head -n 10
* Fri Jun 15 2018 Kamil Dudka <kdudka@redhat.com> - 8.22-23
- update description of the -a/--all option in df.1 man page (#1553212)
- sort -M: fix memory leak when using multibyte locale (#1540059)
* Wed Jan 24 2018 Kamil Dudka <kdudka@redhat.com> - 8.22-22
- mv -n: do not overwrite the destination (#1526265)
* Mon Dec 04 2017 Kamil Dudka <kdudka@redhat.com> - 8.22-21
- timeout: revert the last fix for a possible race (#1439465)
公式ページを見る
rpmから、公式ページを探す。
]$ rpm -qi coreutils
Name : coreutils
...
URL : http://www.gnu.org/software/coreutils/
サイトにアクセスすれば、マニュアルが見れる。
バグを確認する
公式ページからたどれることが多い。
ソースコードをダウンロードする
yumdownloader を使えば、ソースコードがダウンロードできる。
]$ yumdownloader --source coreutils-8.22-23.el7.x86_64
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
Enabling updates-source repository
Enabling pgdg96-source repository
Enabling base-source repository
Enabling extras-source repository
Enabling docker-ce-stable-source repository
Enabling epel-source repository
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* epel-source: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
coreutils-8.22-23.el7.src.rpm
]$ rpm2cpio coreutils-8.22-23.el7.src.rpm | cpio -id
11298 blocks
]$ tar -xJf coreutils-8.22.tar.xz