软件包管理:


软件包分类:
1:源码包。Linux是C语言写的。
优点:
可以看到源代码。可以在源代码中修改(脚本安装包)。
安装后的效率高。
卸载方便(直接删除)。
缺点:
安装复杂。
编译时间长。
2:二进制包(RPM包、系统默认包)。经过编译的包。
优点:
安装速度快,
缺点:
是不能看到源码。(RPM包是红帽系列中使用的)
不能对源码修改。
依赖性(安装顺序和卸载顺序有要求)。
RPM包管理-RPM包命令管理:
1:RPM包的命名规则
(RPM包在安装光盘中的package目录中)
例如:httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 发布次数
el6.centos 适合的Linux平台(el6或者centos)
i686 适合安装平台。(如果写的是x64表示只能安装在64位的cpu上)(如果写noarch表示任何Linux平台)
2:RPM依赖
树形依赖:a->b->c
环形依赖:a->b->c-a //需要将软件包abc用一条命令同时安装。
模块依赖:安装过程中如果报出“xxxx.so.数字”说明这个依赖是库依赖(这个包不是单独独立的包,他是某一个软件包中的一个软件,因此只需要安装他所在的包就行)。
可以到www.rpmfind.net中输入“xxxx.so.数字”就可以找到他的父包。
3:安装命令:
rpm -ivh 全包名
-i 安装
-v 显示详细信息
-h 显示进度
--nodeps 不检查依赖性
4:升级:
rpm -Uvh 包全名
-U 升级
5:卸载:
rpm -e 包名
-e 卸载
6:rpm查询:
rpm -q 包名 //软件包是否安装
-q 查询
rpm -qa //查询所有安装了的包
rpm -qi 包名 //软件包是否安装和包信息
-q 查询
-i 包信息
-p 查询没有安装的软件包信息
rpm -qp 包全名 //查询未安装包信息
-q 查询
-p 查询没有安装的软件包信息
rpm -ql 包名 //查询安装位置
-l 列表
-p 未安装的包
***查询软件包的依赖性
rpm -qR 包名
-R 查询依赖包
-p 未安装的包
RPM包管理-yum在线管理:
(yum中有所有RPM包和依赖,使用命令一键安装。但是有的要收费(红帽))
  IP地址配置和网络yum源:
      1.1:配置网络使机器可以上网(红帽系列setup)(启用网卡onboot=yes),service network restart 重启网络服务。
   1.2:centos可以使用官网免费的yum源(已经配置好了)。(centos官网访问缓慢,也可以使用国内免费的yum源)
   1.3:yum源配置的文件在 /etc/yum.repos.d/CentOS-Base.repo
   在/etc/yum.repos.d/目录下只要是以.repo结尾的都是合法的yum源。CentOS-Media.repo是本地光盘yum源。
   1.4:vi/etc/yum.repos.d/CentOS-Base.repo
          [base]      //容器名称
          name=CentOS-$releasever - Base      //容器说明
          mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra       //所在地址镜像(默认使用)
          #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/      //容器真正地址
          gpgcheck=1      //数字证书有效(0为无效)
          enabled=1      //是否生效,1生效,0不生效(默认是1)
          gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7     //证书的公钥文件保存位置
  光盘yum源搭建
   1、挂在光盘
   2、让网络yum源失效
   yum源文件在/etc/yum.repos.d/
   将网络yum文件改名,添加后缀使其不是以.repo结尾即可。
   3、让光盘yum源有效
   CentOS-Media.repo 是光盘yum源。
   例如:
          [c7-media]
          name=CentOS-$releasever - Media
          baseurl=file:///media/CentOS/       //写光盘挂在地址(光盘yum源)
                  file:///media/cdrom/        //多余的两个地址注释掉即可。(不然每次使用都会提示找不到这个地址)
                  file:///media/cdrecorder/
          gpgcheck=1
          enabled=1   //使这个yum源有效
          gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  yum命令:
   2.1:查询
   yum list
   功能:获取服务器上可用的rpm包列表。
   yum search 包名
   功能:按照包名搜索服务器中的rpm包。
  2.2:安装
   yum -y install 包名
   install 安装
   -y 自动回答yes(安装时需要使用yes确认信息)
   2.3:升级
   yum -y update 包名 (切记:写包名,不写报名将会将服务器上的所有软件都升级,包括系统。)
   update 升级
   -y 自动回答yes
   2.4:卸载
   yum -y remove 包名 (切记:使用yum卸载时,将会卸载所有依赖包,系统有可能死掉。)
   remove 卸载
   -y 自动回答yes
   2.5:yum软件组管理:
   yum grouplist 查看所有可以安装的组。
   yum groupinstall 软件组 安装软件组。(如果名字有空格使用""括起来)
   yum groupremove 软件组名 卸载软件组。
RPM包的校验:
语法:rpm -V 包名 (用户判断安装的软件包是否被修改过)
回车后没有任何信息说明该软件包没有被修改过。
回车后列出了被修改的文件和修改信息。
S 文件大小是否改变
M 文件权限是否改变
5 md5是否改变了
L 文件路径是否改变
U 文件所有者是否改变
G 文件的所属组是否改变
T 文件的修改时间是否改变
c 配置文件
d 普通文件
g 鬼文件,这个文件不应该出现在这里,认证对待。
l 授权文件
r 描述文件
RPM包中文件提取:
将RPM包中的部分文件提取出。(可以获取被误删的软件文件)
原文地址:https://www.cnblogs.com/Xmingzi/p/8746371.html