linux下制作安装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} 注释掉
以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} 注释掉