rpm与yum命令详解

一、rpm包命名规则

httpd-2.2.15-15.e16.centos.1.i686.rpm

httpd软件包名
2.2.15版本
15软件发布的次数
e16.centos软件发行商
  • el6/centos:软件发行商。el6是RedHat公司发布,适合RHEL6.x(Red Hat Enterprise Linux)和CentOS6.x下使用。(el6指的就是RHEL6.x平台)
  • i686:适合的硬件平台。RPM包可以在不同的硬件平台安装,选择适合不同CPU的软件版本,可以最大化的发挥CPU性能,所以出现了所谓的i386(386以上计算机都可以安装)、i586(586以上的计算机都可以安装)、i686(奔腾II以上计算机都可以安装,目前所有的CPU都是奔腾II以上,所以这个软件版本居多)、x86_64(64位CPU可以安装)和noarch(没有硬件限制)等文件名。
  • rpm:rpm包的扩展名

  • 包全名:如果操作的是未安装软件包,则使用包全名,而且需要注意使用绝对路径(一般会进入到软件包目录进行安装)。
  • 包名:如果操作的是已经安装的软件包,则使用包名即可。系统会生成RPM包的数据库(/var/lib/rpm/),只要安装过的软件包,就会出现在这个数据库中。而且可以在任意路径下操作(因为是从数据库中查找)。
    提示:/var/lib/rpm/这里边的文件都是二进制的,不能用vim来查看。

PM软件升级与卸载

Rpm  -Uvh 包全名

-U upgrade 升级

rpm –evh 报名

-e (erase) 卸载

v verbose 显示详细信息

    h hash 显示进度

--nodeps不检查依赖性

 rpm默认安装路径位置

/etc配置文件安装目录
/usr/bin可执行命令安装目录
/usr/lib/  程序使用的函数库保存位置
/usr/share/doc/  基本的软件使用手册保存位置
/usr/share/man/  帮助文件保存位置

RPM包查询

rpm –q 包名 查询包是否安装

rpm –qa 查询所有安装的包

rpm –i 查询软件信息

-l:列出软件包中所有的文件列表和软件所安装的目录(list)

-f:查询文件属于那个包

-R:查询软件包依赖的包

 函数库依赖又称为模块依赖

root@Redhat7 Packages]# rpm -ivh mysql-connector-odbc-5.2.5-6.el7.x86_64.rpm

警告:mysql-connector-odbc-5.2.5-6.el7.x86_64.r

错误:依赖检测失败:

        libodbc.so.2()(64bit) 被 mysql-connector-odbc-5.2.5-6.el7.x86_64 需要

        libodbcinst.so.2()(64bit) 被 mysql-connector-odbc-5.2.5-6.el7.x86_64 需要

发现报错,需要安装“libodbc.so.2”函数库文件,这时会发现在光盘中根本找不到这个文件。那是因为这个函数库没有单独成包,是包含在某一个软件包中的。而如果要知道该文件在哪个软件包中,需要查询网站http://www.rpmfind.net/
(很方便),如图:

 

     rpm包在线安装(yum安装)

1.yum源文件解析

yum 的配置文件分为两部分:main 和repository

repository 定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中

     repository(yum 源配置文件)保存在/etc/yum.repos.d/目录(这个目录要背下来)中,文件的扩展名一定是“.repo”。也就是说,yum 源配置文件只要扩展名是“.repo”就会生效。(无论是Base还是Media的repo文件都可以生效)

 这个目录(centos7,腾讯云主机)中有 4个 yum 源配置文件,默认情况下 CentOS-Base.repo 文件生效

阿里云 centos7 有12个yum源配置文件,默认情况下 CentOS-Base.repo 文件生效

yum repolist   #显示已配置的存储库

腾讯主机换阿里云yum源

(1)备份CentOS原始的基础仓库文件,将 CentOS-Base.repo 备份为CentOS-Base.repo.backup 

命令:mv  /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

默认的腾讯云CentOS-Base.repo为下图:

serverid:[os]:容器名称,一定要放在[]中,是用于区别各个不同的repository,必须有一个独一                 无二的名称,例如:OS;
name:是对repository 的描述,支持像$releaseverre,$basearch这样的变量;
mirrorlist:镜像站点列表地址,多个获取更新的地址集合,系统会自动选择合适的地址进行更新;              
baseurl:我们的 yum 源服务器的基本地址。默认是 CentOS 官方的 yum 源服务器,CentOS8默                  认是关闭的,默认开启mirrorlist;镜像地址mirrorlist和基本地址baseurl只能有一个生                      效!另一个需要注释掉。
gpgcheck:有0和1两个值,与main中相同,即是否需要对获取的软件包进行GPG校验;如果为 1                     则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。gpgcheck                      一定要为1,让它生效!!
enabled:此容器是否生效,如果不写或写成 enabled=1 则表示此容器生效,默认为1,设置为0                     时该配置无效;
gpgkey:用于校验的gpg密钥,数字证书的公钥文件保存位置

(2)下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/。修改指定的yum源为默认yum源:下载新的centos7: http://mirrors.aliyun.com/repo/Centos-7.repo,并命名为CentOS-Base.repo:

命令:wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

centos8:修改yum源为https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

命令:wget -O /etc/yum.repos.d/CentOS-Base.repo  https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装

新配好的阿里云yum源:

 (3)清除旧的缓存,再生成新缓存

yum clean all    # 清除系统所有的yum缓存

yum makecache     # 生成yum缓存

yum 全局配置

  • main 定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。

yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

 使用 cat 命令查看 /etc/yum.conf

 
[main]
cachedir=/var/cache/yum/$basearch/$releasever   # yum缓存的目录,下载安装软件包时存放的目录
keepcache=0       #安装完成后是否保留软件包 0:不保留,1:保留
debuglevel=2
logfile=/var/log/yum.log    # yum日志文件,查询过去所做的更新更改
exactarch=1
obsoletes=1
gpgcheck=1           #是否是否进行gpg(GNU Private Guard)校验
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

yum命令,用到的都是包名。yum命令不区分包名和包全名了

    查询 yum 源服务器上所有可安装的软件包列表yum list

 yum list packag(包名)  显示指定程序包安装情况package(包名)

 yum list | grep http 查找含有http关键字的文件包

 

search搜索服务器上所有和关键字相关的包:yum  search  关键字

 yum info 包名  查询指定软件包的信息。与rpm -qi 效果一样

 

yum安装和更新update rpm包命令

Yum –y install 包名   :安装软件, -y 自动回复yes

yum update  :本机软件包全部更新

yum update 包名package   :更新指定程序包package

yum remove 包名  :删除卸载软件包,从服务器稳定运动角度一般不推荐使用

yum grouplist  :查询软件组

 yum groupinstall 软件组名 : 安装软件组

yum groupremove 软件组名 :卸载软件组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值