tar源码包管理-srpm源码包安装方法
8.3.1 源码安装nginx
1. 编译环境如gcc和 gcc-c++编译器,make
2. 准备软件 : nginx-1.12.2.tar.gz
部署Nginx
# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
pcre: 支持正则表达式,地址重写rewrite
开始安装
源码编译3把斧:./configure , make ,make install
[root@GDH ~]# tar xvf nginx-1.12.2.tar.gz
[root@GDH ~]# cd nginx-1.12.2
[root@GDH ~]#./configure --prefix=/usr/local/nginx
[root@GDH ~]# make -j 4
[root@GDH ~]# make install
3. 详解源码安装3把斧
#./configure
a. 指定安装路径,例如 --prefix=/usr/local/nginx
b. 启用或禁用某项功能, 例如 --enable-ssl, --disable-filter --with-http_ssl_module
c. 和其它软件关联,例如–with-pcre
d. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求
最终生成:Makefile
#make -j 4 #按Makefile文件编译,可以使用-j 4指定4核心CPU编译,提升速度
#make install #按Makefile定义的文件路径安装
#make clean //清除上次的make命令所产生的object和Makefile文件。使用场景:当需要重新执行configure时,需要执行make clean
8.3.2 删除源码包:
安装完,删除:
make uninstall
有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix 参数。这样删除或备份时,直接对删除–prefix指定的安装目录操作就可以了。
8.3.3 实战2:源码编译出错的5个种完美解决方法
从windows上传extundelete文件到linux,安装xmanager v5 或者CRT
解压并安装extundelet
[root@GDH extundelete-0.2.4]# tar jxvf extundelete-0.2.4.tar.bz2
[root@GDH ~]# cd extundelete-0.2.4
[root@GDH]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm
[root@GDH extundelete-0.2.4]# ./configure #检查系统安装环境
Configuring extundelete 0.2.4
configure: error: Can’t find ext2fs library
源码编译出错后,常见解决方法:
共5种方法
方法1:[root@GDH Packages]# rpm -ivh ext2fs^C #按两下tab键。 一般情况,ext2fs就是要安装的软件包的名字开头。如果存在 自动补全
方法2:[root@GDH Packages]# ls ext2fs #查找完整关键字
方法3:[root@GDH Packages]# ls 2fs #查找部分关键字
方法4: 终极大招
http://www.rpmseek.com/index.html
方法5: 使用yum去搜索
[root@GDH Packages]# yum search ext2fs
安装库:
[root@GDH Packages]# rpm -ivh e2fsprogs-libs-1.41.12-11.el6.x86_64.rpm
warning: e2fsprogs-libs-1.41.12-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing… ########################################### [100%]
package e2fsprogs-libs-1.41.12-11.el6.x86_64 is already installed
互动:这里显示库已经安装,但是configure时又说找不到。怎么办?
解决:安装了库,却显示找不到。 这种情况: 需要安装库的开发文件
[root@GDH]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm
扩展:技巧
查看rpm包安装后生成的文件:
[root@GDH Packages]#rpm -qpl e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm | more
[root@GDH extundelete-0.2.4]# make -j 4
[root@GDH extundelete-0.2.4]# make install #安装
[root@GDH extundelete-0.2.4]# ls /usr/local/bin/extundelete #查看安装后的文件
/usr/local/bin/extundelete
总结,软件安装方法特点:
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码编译安装:麻烦,软件版本新,可以定制。稳定性稍差、管理稍差。性能好。
源码编译安装:主要是安装LAMP或LNMP 架构时,我们会用
8.3.4 安装.src.rpm源码包的方法(了解)
srpm: Source RPM 的意思,也就是这个 RPM 档案里面含有原始码( Source Code )。
上传lrzsz-0.12.20-27.1.el6.src.rpm 到linux的/root目录
[root@GDH ~]# rpm -e lrzsz #先卸载软件包
编译:
[root@GDH ~]# rpmbuild --rebuild lrzsz-0.12.20-27.1.el6.src.rpm #根据将src.rpm中源码文件编译成可执行的二进制文件。
若顺利执行成功则会在root用户家目录下生成一个:/root/rpmbuild目录。
在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el7.centos.x86_64.rpm这个rpm文件。
#rpm -ivh rpmbuild/RPMS/x86_64/lrzsz-0.12.20-27.1.el7.centos.x86_64.rpm #安装