CentOS: SRPM, debuginfo 入手

備忘録として、CentOS で、yum の SRPM レポジトリと debuginfo RPM レポジトリを登録する方法です。Fedora ならば普通に使えるのに、CentOS だと入っていないんですよね。開発に使うな、ランタイムとしてだけ使え、という意図でしょう。

[root@black-server ~] cat <<'EOF' > /etc/yum.repos.d/CentOS-Source.repo
[base-source]
name=CentOS-$releasever - Base Source Packages
baseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever

[updates-source]
name=CentOS-$releasever - Updates Source Packages
baseurl=http://mirror.centos.org/centos/$releasever/updates/SRPMS/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
EOF
[root@black-server ~]# yum install -y yum-utils
(中略)
[root@black-server ~]#

あとは一般ユーザでも、以下のようにすれば SRPM をダウンロード、リビルドすることができます。

$ yumdownloader --source bash
(中略)
$ ls -l bash-*.src.rpm
-rw-r--r-- 1 knaka knaka 4800501  4月 10  2009 bash-3.2-24.el5.src.rpm
$ rpmbuild --rebuild bash-3.2-24.el5.src.rpm
(中略)
$

ついでに、debuginfo パッケージの yum レポジトリも追加します。

[root@black-server ~] cat <<'EOF' > /etc/yum.repos.d/CentOS-Debug.repo
[debuginfo]
name=CentOS-$releasever - DebugInfo
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
gpgcheck=0
enabled=0
EOF
[root@black-server ~]

debug パッケージは GPG サインが施されていませんので、gpgcheck はオフにします。”enabled=0″ で、標準では disable にしてありますので、利用の際には以下のようにします。

[root@black-server ~]# yum --enablerepo=debuginfo install -y bash-debuginfo
(中略)
[root@black-server ~]# rpm -q bash-debuginfo
bash-debuginfo-3.2-21.el5
[root@black-server ~]#

ただいかんせん、debuginfo パッケージが、updates に完全には追随していないんですよね…。

0003622: debuginfo packages out of date – CentOS Bug Tracker

そんなときは、base のパッケージに戻すか、自分でソースからコンパイルするかしましょう。Red Hat Enterprise Linux (RHEL) はちゃんと更新していますので、RHEL のサブスクリプションを買うという手もありますw。

One Comment

  1. [...] CentOS: SRPM, debuginfo 入手 – Ayutaya.com [...]

Leave a Reply