第八节:Centos7系统软件包的管理与安装 8.1 使用rpm命令管理rpm软件包 8.1.1软件包的安装方式 通常在实际工作过程中,往往有以下软件包的安装方式: 1、yum或rpm安装方式 2、源码包的configure/make/make install "三步曲"安装方式 第一种适合rpm二进制包安装 第二种适合tar包组成的源码安装 8.2rpm包的管理 rpm:rpm package manager的缩写,也就是RPM软件包管理器 8.2.1 rpm包的安装 RPM工具使用分为安装、查询、验证、更新、删除等操作 命令格式:rpm 【参数】 rpm结尾的软件包 参数: -i 是install--安装(常用) -v 显示附加信息,提供更多详细信息(常用) -V 校验,对已经安装的软件进行校验(常用) -h --hash 安装时输出####标记(常用) 例1:lrzsz的rpm软件包安装 lrzsz是本地ssh与ssh服务器上交换文件的一种小软件,只适合文件不大的情况下用 [root@node-1 opt]# ll -rw-r--r-- 1 root root 108472 Jan 1 2019 extundelete-0.2.4.tar.bz2 -rw-r--r-- 1 root root 290240 Jan 1 2019 lrzsz-0.12.20-27.1.el7.src.rpm [root@node-1 opt]# rpm -ivh lrzsz-0.12.20-27.1.el7.src.rpm 例2:从网上下载直接安装centos epel扩展源 [root@node-1 opt]#rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 说明:平时工作中一般将/etc/yum.repo.d/目录下CentOS-Base.repo修改为阿里或163源链接后再安装epel源,其他源都删除 8.2.2 rpm包的查询 用法:rpm -q(query) 常与下面参数组合使用 -a 查询所有已安装的软件包 -f 个人理解为from,从哪个包安装的 -i 显示已经安装的rpm软件包信息,后面直接跟包名 -l 查询软件包中文件安装的位置列表 例1:实际工作中一般用rpm -aq |grep XX 来使用的 [root@node-1 opt]#rpm -qa | grep vim 例2:查询文件或命令属于哪个安装包 [root@node-1 opt]#rpm -qf which vim (which vim 前后的符号是键盘左上角ESC下面的波浪符号,不是单引号) 8.2.3 rpm包的卸载 用法:rpm -e(erase)【参数】 包名 参数: --nodeps 忽略依赖,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum [root@node-1 opt]# rpm -e lrzsz 虽然rpm包管理使用起来很爽,但相关包的依赖关系往往让人头大,因此(划重点啦!)在平时工作中使用最多的还是yum包管理方式 8.2 yum管理软件包 yum:yellow page modify 也就是所谓带索引功能的黄页,因为有索引功能所以能解决包依赖的关系 使用yum管理软件包必须要正确配置yum源,由于第6节已经说明过RHCE中标准的配置本地yum源方法,在些只写出配置网络yum源方式 [root@node-1 opt]# cd /etc/yum.repos.d/ [root@node-1 yum.repos.d]# [root@node-1 yum.repos.d]mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup [root@node-1 yum.repos.d]wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@node-1 yum.repos.d]yum clean all && yum makecache fast 配置好后常用使用方法如下: -y 非交换式安装 [root@node-1 opt]#yum -y update --升级系统,在新安装centos7.X操作系统后一般做此操作 [root@node-1 opt]#yum -y install httpd --安装httpd软件 [root@node-1 opt]#yum list |grep gcc --查询是否提供gcc包的安装 [root@node-1 opt]#yum remove httpd --卸载httpd软件,一般不加-y,给自己一个思考空间 [root@node-1 opt]#yum grouplist --查询可安装软件包组 [root@node-1 opt]#yum groupinstall "Development Tools" --安装软件包组 8.3 通过实战安装nginx说明tar源码包管理 8.3.1 实战源码安装nginx

  1. 编译环境如gcc和 gcc-c++编译器,make
  2. 准备软件 : nginx-1.12.2.tar.gz 3、部署Nginx [root@node-1 opt]# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel 开始安装 源码编译3把斧:./configure , make ,make install [root@node-1 opt]#cd /usr/local/src && tar -zxvf nginx-1.12.2.tar.gz [root@node-1 opt]#cd nginx-1.12.2 [root@node-1 opt]#./configure --prefix=/usr/local/nginx [root@node-1 opt]#make -j 2 --几核CPU后面就跟数字几,我的虚拟机是2核心的,所以我后面的数字为2 此处是跟大神MK老师(也就是学神学院的申建明老师)学到的小技巧,在此表示感谢,执弟子礼 [root@node-1 opt]#make install
  3. 总结源码安装3把斧 第一把斧# ./configure a. 指定安装路径,例如 --prefix=/usr/local/nginx b. 启用或禁用某项功能, 例如 --enable-ssl, --disable-filter --with-http_ssl_module c. 和其它软件关联,例如--with-pcre 在进行安装过程中会检查安装环境,如是否有编译器gcc等,有报错不要慌我一般这样处理的 1、用yum whatprovides 缺少文件关键字看能否查询到 2、在国内肯定根据报错信息关键字问一下度娘 3、yum search 缺少文件关键字 4、如果相应的包已经安装还提示编译报错,那就加个软件包-level 这种方式把 如yum install pcre pcre-devel 这种 configure命令后最终生成:Makefile 第二把斧# make -j 2 #按Makefile文件编译,可以使用-j 2指定2核心CPU编译,提升编译速度,实际工作中源码安装php等,加不加此参数相差的时间可以让您抽支烟加喝杯咖啡。 第三把斧# make install #按Makefile定义的文件路径安装 [root@node-1 opt]# make clean //清除上次的make命令所产生的object和Makefile文件。使用场景:当需要重新执行configure时,需要执行make clean 8.3.2 删除源码包: 安装完,删除: make uninstall
    有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix 参数。这样删除或备份时,直接对删除--prefix指定的安装目录操作就可以了。