![]()
yum-builddep 這是做什麼的?
有編譯過 src.rpm (RPM Source) 的人都知道,在編譯前要把所有需要的工具先安裝好,編譯的時候才不會出錯,這時候我們可以透過 yum-builddep 這隻工具幫我們做前置作業.
如果找不到 yum-builddep 這一個工具,請先安裝 yum-utils 套件.
[root@cn171 ~]# yum install yum-utils Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-utils noarch 1.1.31-34.el7 base 113 k Installing for dependencies: python-chardet noarch 2.2.1-1.el7_1 base 227 k python-kitchen noarch 1.1.1-5.el7 base 267 k Transaction Summary ================================================================================ Install 1 Package (+2 Dependent packages)
因為我是最小安裝,所以你要編譯 kernel 的 source RPM 需要這麼多的 packages .
[root@cn171 ~]# yum-builddep kernel
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
asciidoc noarch 8.6.8-5.el7 base 251 k
audit-libs-devel x86_64 2.4.1-5.el7 base 68 k
bc x86_64 1.06.95-13.el7 base 115 k
binutils-devel x86_64 2.23.52.0.1-55.el7 base 808 k
bison x86_64 2.7-4.el7 base 578 k
elfutils x86_64 0.163-3.el7 base 268 k
elfutils-devel x86_64 0.163-3.el7 base 84 k
gcc x86_64 4.8.5-4.el7 base 16 M
hmaccalc x86_64 0.9.13-4.el7 base 26 k
m4 x86_64 1.4.16-10.el7 base 256 k
net-tools x86_64 2.0-0.17.20131004git.el7 base 304 k
newt-devel x86_64 0.52.15-4.el7 base 51 k
numactl-devel x86_64 2.0.9-6.el7_2 updates 23 k
patch x86_64 2.7.1-8.el7 base 110 k
pciutils-devel x86_64 3.2.1-4.el7 base 34 k
perl-ExtUtils-Embed noarch 1.30-286.el7 base 49 k
python-devel x86_64 2.7.5-38.el7_2 updates 391 k
redhat-rpm-config noarch 9.1.0-68.el7.centos base 77 k
rpm-build x86_64 4.11.3-17.el7 base 143 k
xmlto x86_64 0.0.25-7.el7 base 50 k
Installing for dependencies:
atk x86_64 2.14.0-1.el7 base 251 k
boost-regex x86_64 1.53.0-25.el7 base 294 k
bzip2 x86_64 1.0.6-13.el7 base 52 k
cairo x86_64 1.14.2-1.el7 base 711 k
centos-indexhtml noarch 7-9.el7.centos base 92 k
cpp x86_64 4.8.5-4.el7 base 5.9 M
ctags x86_64 5.8-13.el7 base 155 k
cups-libs x86_64 1:1.6.3-22.el7 base 355 k
docbook-dtds noarch 1.0-60.el7 base 226 k
docbook-style-xsl noarch 1.78.1-3.el7 base 2.0 M
dwz x86_64 0.11-3.el7 base 99 k
elfutils-libelf-devel x86_64 0.163-3.el7 base 35 k
flex x86_64 2.5.37-3.el7 base 292 k
fontconfig x86_64 2.10.95-7.el7 base 228 k
fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k
gd x86_64 2.0.35-26.el7 base 146 k
gdb x86_64 7.6.1-80.el7 base 2.4 M
gdbm-devel x86_64 1.10-8.el7 base 47 k
gdk-pixbuf2 x86_64 2.31.6-3.el7 base 559 k
ghostscript x86_64 9.07-18.el7 base 4.3 M
ghostscript-fonts noarch 5.50-32.el7 base 324 k
glibc-devel x86_64 2.17-106.el7_2.8 updates 1.0 M
glibc-headers x86_64 2.17-106.el7_2.8 updates 663 k
graphite2 x86_64 1.3.6-1.el7_2 updates 112 k
graphviz x86_64 2.30.1-19.el7 base 1.3 M
gtk2 x86_64 2.24.28-8.el7 base 3.4 M
harfbuzz x86_64 0.9.36-1.el7 base 156 k
hicolor-icon-theme noarch 0.12-7.el7 base 42 k
jasper-libs x86_64 1.900.1-29.el7 base 149 k
jbigkit-libs x86_64 2.0-11.el7 base 46 k
kernel-headers x86_64 3.10.0-327.28.3.el7 updates 3.2 M
lcms2 x86_64 2.6-2.el7 base 150 k
libICE x86_64 1.0.9-2.el7 base 65 k
libSM x86_64 1.2.2-2.el7 base 39 k
libX11 x86_64 1.6.3-2.el7 base 605 k
libX11-common noarch 1.6.3-2.el7 base 162 k
libXau x86_64 1.0.8-2.1.el7 base 29 k
libXaw x86_64 1.0.12-5.el7 base 190 k
libXcomposite x86_64 0.4.4-4.1.el7 base 22 k
libXcursor x86_64 1.1.14-2.1.el7 base 30 k
libXdamage x86_64 1.1.4-4.1.el7 base 20 k
libXext x86_64 1.3.3-3.el7 base 39 k
libXfixes x86_64 5.0.1-2.1.el7 base 18 k
libXfont x86_64 1.5.1-2.el7 base 150 k
libXft x86_64 2.3.2-2.el7 base 58 k
libXi x86_64 1.7.4-2.el7 base 40 k
libXinerama x86_64 1.1.3-2.1.el7 base 14 k
libXmu x86_64 1.1.2-2.el7 base 71 k
libXpm x86_64 3.5.11-3.el7 base 54 k
libXrandr x86_64 1.4.2-2.el7 base 26 k
libXrender x86_64 0.9.8-2.1.el7 base 25 k
libXt x86_64 1.1.4-6.1.el7 base 173 k
libXxf86vm x86_64 1.1.3-2.1.el7 base 17 k
libdb-devel x86_64 5.3.21-19.el7 base 38 k
libfontenc x86_64 1.1.2-3.el7 base 30 k
libicu x86_64 50.1.2-15.el7 base 6.9 M
libjpeg-turbo x86_64 1.2.90-5.el7 base 134 k
libmpc x86_64 1.0.1-3.el7 base 51 k
libpng x86_64 2:1.5.13-7.el7_2 updates 213 k
librsvg2 x86_64 2.39.0-1.el7 base 123 k
libthai x86_64 0.1.14-9.el7 base 187 k
libtiff x86_64 4.0.3-25.el7_2 updates 169 k
libtool-ltdl x86_64 2.4.2-21.el7_2 updates 49 k
libxcb x86_64 1.11-4.el7 base 189 k
libxshmfence x86_64 1.2-1.el7 base 7.2 k
libxslt x86_64 1.1.28-5.el7 base 242 k
lynx x86_64 2.8.8-0.3.dev15.el7 base 1.4 M
mesa-libEGL x86_64 10.6.5-3.20150824.el7 base 74 k
mesa-libGL x86_64 10.6.5-3.20150824.el7 base 184 k
mesa-libgbm x86_64 10.6.5-3.20150824.el7 base 40 k
mesa-libglapi x86_64 10.6.5-3.20150824.el7 base 39 k
mpfr x86_64 3.1.1-4.el7 base 203 k
pango x86_64 1.36.8-2.el7 base 287 k
pciutils x86_64 3.2.1-4.el7 base 90 k
perl-ExtUtils-Install noarch 1.58-286.el7 base 73 k
perl-ExtUtils-MakeMaker noarch 6.68-3.el7 base 275 k
perl-ExtUtils-Manifest noarch 1.61-244.el7 base 31 k
perl-ExtUtils-ParseXS noarch 1:3.18-2.el7 base 77 k
perl-Thread-Queue noarch 3.02-2.el7 base 17 k
perl-devel x86_64 4:5.16.3-286.el7 base 452 k
perl-srpm-macros noarch 1-8.el7 base 4.6 k
pixman x86_64 0.32.6-3.el7 base 254 k
poppler-data noarch 0.4.6-3.el7 base 2.2 M
sgml-common noarch 0.6.3-39.el7 base 55 k
slang-devel x86_64 2.2.4-11.el7 base 91 k
source-highlight x86_64 3.1.6-6.el7 base 611 k
unzip x86_64 6.0-15.el7 base 166 k
urw-fonts noarch 2.4-16.el7 base 3.0 M
vim-filesystem x86_64 2:7.4.160-1.el7 base 9.6 k
xml-common noarch 0.6.3-39.el7 base 26 k
xorg-x11-font-utils x86_64 1:7.5-20.el7 base 87 k
zip x86_64 3.0-10.el7 base 260 k
Updating for dependencies:
glibc x86_64 2.17-106.el7_2.8 updates 3.6 M
glibc-common x86_64 2.17-106.el7_2.8 updates 11 M
numactl-libs x86_64 2.0.9-6.el7_2 updates 29 k
python x86_64 2.7.5-38.el7_2 updates 89 k
python-libs x86_64 2.7.5-38.el7_2 updates 5.6 M
Transaction Summary
================================================================================
Install 20 Packages (+92 Dependent packages)
Upgrade ( 5 Dependent packages)
接下來試試編譯 Kernel source RPM .
[root@cn171 ~]# adduser builder [root@cn171 ~]# rpm -ivh kernel-3.10.0-327.28.3.el7.src.rpm Updating / installing... 1:kernel-3.10.0-327.28.3.el7 ################################# [100%] [root@cn171 ~]# cd rpmbuild/SPECS/ [root@cn171 SPECS]# rpmbuild -ba kernel.spec 錯誤:相依性建置失敗: pesign >= 0.109-4 被 kernel-3.10.0-327.28.3.el7.x86_64 需要 [root@cn171 SPECS]# yum install pesign [root@cn171 SPECS]# rpmbuild -ba kernel.spec ...... 已寫入:/root/rpmbuild/RPMS/x86_64/kernel-debug-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm 正在執行(%clean):/bin/sh -e /var/tmp/rpm-tmp.N7Uwzk + umask 022 + cd /root/rpmbuild/BUILD + cd kernel-3.10.0-327.28.3.el7 + rm -rf /root/rpmbuild/BUILDROOT/kernel-3.10.0-327.28.3.el7.x86_64 + exit 0
編譯完成可以在 rpmbuild/RPMS/x86_64/ 看到編譯好的 rpm 檔案.
[root@cn171 rpmbuild]# cd SPECS/ [root@cn171 SPECS]# cd ../RPMS/x86_64/ [root@cn171 x86_64]# 總計 738712 -rw-r--r-- 1 root root 34656732 9月 2 23:59 kernel-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 36355620 9月 3 00:04 kernel-debug-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 299264512 9月 3 00:08 kernel-debug-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 11581324 9月 3 00:04 kernel-debug-devel-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 290149444 9月 3 00:04 kernel-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 46285184 9月 2 23:59 kernel-debuginfo-common-x86_64-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 11516656 9月 3 00:00 kernel-devel-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 3353264 9月 2 23:59 kernel-headers-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2524692 9月 3 00:00 kernel-tools-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2513308 9月 3 00:00 kernel-tools-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2443588 9月 3 00:00 kernel-tools-libs-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2439892 9月 3 00:00 kernel-tools-libs-devel-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 3491672 9月 2 23:59 perf-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 4575076 9月 3 00:00 perf-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2523112 9月 3 00:00 python-perf-3.10.0-327.28.3.el7.x86_64.rpm -rw-r--r-- 1 root root 2737116 9月 3 00:00 python-perf-debuginfo-3.10.0-327.28.3.el7.x86_64.rpm
沒有解決問題,試試搜尋本站其他內容