如何在Linux中制作rpm包,又如何初装rpm包?本文以rp-pppoe-3.10为列讲解rpm包的制作过程,并对制作好的rpm进行安装,并对可能的错误进行分析处理。供大家学习参考。
一、制作rpm包
以rp-pppoe-3.10为列进行制作过程。
1.下载rp-pppoe-3.10.tar.gz
复制代码 代码示例:
[root@localhost home]# pwd
/home
[root@localhost home]#
2.解压
复制代码 代码示例:
# tar zxvf rp-pppoe-3.10.tar.gz
3.
复制代码 代码示例:
# cp /home/rp-pppoe-3.10/rp-pppoe.spec /usr/src/
redhat/SOURCES/
# cp /home/rp-pppoe-3.10.tar.gz /usr/src/redhat/SOURCES/
3.制作rpm包
复制代码 代码示例:
# cd /usr/src/redhat/SOURCES/
# rpmbuild -bb rp-pppoe.spec <==仅编译成 RPM 档案
# rpmbuild -ba rp-pppoe.spec <==编译并同时产生 RPM 与 SRPM 档案
如果编译成功,就已经制作好rp-pppoe的rpm包了,查看一下
复制代码 代码示例:
[root@localhost i386]# pwd
/usr/src/redhat/RPMS/i386
[root@localhost i386]# ll
total 420
-rw-r--r-- 1 root root 186322 01-06 11:09 rp-pppoe-3.10-1.i386.rpm
-rw-r--r-- 1 root root 150356 01-06 11:09 rp-pppoe-debuginfo-3.10-1.i386.rpm
-rw-r--r-- 1 root root 63319 01-06 11:09 rp-pppoe-gui-3.10-1.i386.rpm
[root@localhost i386]#
二、安装rpm包
1.查看系统有五安装过rp-pppoe。
复制代码 代码示例:
[root@localhost i386]# rpm -qa rp-pppoe
rp-pppoe-3.5-1
2.删除系统已经安装过的rpm包
复制代码 代码示例:
[root@localhost i386]# rpm -e rp-pppoe
[root@localhost i386]# rpm -qa rp-pppoe
3.安装上面制作好的rpm包
复制代码 代码示例:
[root@localhost i386]# ls
rp-pppoe-3.10-1.i386.rpm rp-pppoe-gui-3.10-1.i386.rpm
rp-pppoe-debuginfo-3.10-1.i386.rpm
[root@localhost i386]# rpm -ivh rp-pppoe-3.10-1.i386.rpm
Preparing... ########################################### [100%]
1:rp-pppoe ########################################### [100%]
[root@localhost i386]# rpm -qa rp-pppoe
rp-pppoe-3.10-1
[root@localhost i386]# ls /etc/ppp/pppoe-server-options
/etc/ppp/pppoe-server-options
出现以上信息,说明安装成功!
三、错误处理
在制作rpm(1.3步)的时候出现错:
RPM build errors:
Installed (but unpackaged) file(s) found:
解决办法:
将/usr/lib/rpm/macros 中
%__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉
就是以上这些了,希望本文的rpm包教程,对大家有所帮助。