【记录】linux软件管理 RPM 和 YUM
文章目录
时间 2020-06-08 |
---|
1 可直接执行: RPM DEB
2 源码形式: gzip bzip2
一、RPM 软件包管理
1 简介
RPM (RetHat Package Manager),红帽软件包工具。
RPM 可以建立统一的数据库文件,详细记录软件信息,并能够自动分析依赖关系,但并不能解决依赖文体,就是它不会帮你顺便下载依赖包
2 安装与卸载 RPM 包
安装RPM包 | rpm -ivh filename.rpm | i (install) v (可视化,显示详细信息) h(显示安装进度) |
---|---|---|
更新RPM包 | rpm -Uvh 软件名称 | rpm会删除旧版本软件(仅保留配置文件),再安装新的软件版本 |
卸载RPM包 | rpm -e 软件包名称 | rpm -e ftp 卸载 ftp ,具体版本号可以不写 |
demo: 安装bind-9.9.4-29.el7.x86_64.rpm软件包,并显示安装过程中的详细信息和水平进度条。
[root@rhel Packages]# rpm -ivh bind-9.9.4-29.el7.x86_64.rpm
3 软件包信息查询
格式 <rpm -q>
查询软件包
命令 | 解释 | filename 具体指 |
---|---|---|
rpm -q filename.rpm | query 查询是否安装该软件包 | 一个具体软件 |
rpm -qa | all 查询系统中已经安装的所有软件包 | 系统已安装的全部软件 |
rpm -qi filename.rpm | information查询某一软件包的详细信息 | 一个具体软件 |
rpm -ql filename.rpm | 查询某一软件的安装路径,与文件列表 | 一个具体软件 |
rmp -qc filename.rpm | config 查询某一软件的配置文件 | 一个具体软件 |
rpm -qf filename | file 查询指定文件由哪个软件所安装 | 一个具体文件 |
4 安全验证
RPM提供的验证功能可以随时追踪软件的状态,使用rpm -V 会提示哪个软件的状态被修改,未被篡改的软件使用该命令将无任何提示
rmp -V bash
##可能出现的字符及含义
5 # MD5值已改变
S # 文件大小已改变
L # 链接文件的源已改变
T # 文件最后修改时间已改变
D # 设备改变
U # 用户发生改变
G # 组发生改变
M # 包括权限与类型在内的模式已改变
? # 不可读的文件
二、YUM 软件包管理
1 简介
Yum (Yellow dog Updater, Modified) 黄狗升级器,更新、管理软件的命令,红帽专属。能够从指定的服务器自动下载RPM包并安装,可以处理依赖性关系,并且一次性安装所有依赖的软件包
yum 命令查询repo上配置的地址去取相应的rpm包进行安装。
配置文件 /etc/yum.repos.d/
注意这个目录下面不要有重复的.repo文件。
yum 基本工作机制
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装
2 YUM 源
yum源是网址呀,是yum命令去寻找RPM包的地图。
配置yum源(centos7)
(0)先备份原来的源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo_bak
(1)网易
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
(2)阿里
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
(3)清华源
清华大学镜像仓库:https://mirrors.cnnic.cn/
第一步:备份原来/etc/yum.repos.d文件
第二步:将清华源提供的网址写入/etc/yum.repos.d文件。
第三步:清除缓存,生成yum缓存
yum clean all # 清除系统所有的yum缓存
yum makecache # 生成yum缓存
参考博客: https://blog.csdn.net/xiaojin21cen/article/details/84726193
(4)epel
yum -y install epel-release
yum clean all
yum makecache
(5)查看YUM源
查看所有的YUM源
yum repolist all
查看可用的YUM源
yum repolist enabled
3 YUM 增删改查软件包
(1)参数介绍
格式 : yum (选项)(参数)
-y 对所有的提问都回答 yes
-c 指定配置文件
-q 安静模式
-v 详细模式
-d 设置调试等级
-e 设置错误等级(0-10)
-R 设置yum 处理一个命令的最大等待时间
-C 完全从缓存中运行,而不去下载或者更新任何头文件
-h 显示帮助信息
(2)安装
安装软件包(单独安装)
yum install foo
#安装web server 软件包组
yum groupinstall "Web server"
groupinstall是一种快捷安装方式,它会将包组中的所需要的软件包一次性全部安装。如,上例中的“Web server”包组可能会有 httpd、crypto-utils等软件包
(3)更新、升级
对于已安装的程序,可以进行升级操作
#检测可用更新
yum check-ipdate
#更新
yum update foo
或者 yum upgrade foo
# 升级Web server 软件包组
yum groupupdate "Web server"
- yum update是更新下载源里面的metadata,包括这个源有什么包、每个包什么版本之类的
- yum upgrade会根据update后的元信息对软件包进行升级
(4)删除
# 删除软件
yum remove foo
# 删除 Web server 软件包组
yum groupremove "Web server"
(5)查找
通过search 命令可以查找软件包,而info 命令可以显示软件包信息
# 查找名叫foo 的软件包
yum search foo
# 显示名为 foo 软件的信息
yum info foo
# 显示软件包foo的依赖关系
yum deplist foo
# 显示软件包组 Web server 的信息
yum groupinfo "Web server"
# 显示所有已经安装和可以安装的程序包
yum list
# 显示已经安装的软件包
yum list installed
(6) 清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers # 清除缓存目录下的 headers
yum clean, yum clean all # (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
我好迷呀
yum clean all
yum makecache
yum -y install gcc
莫名奇妙装不好宝塔面板,莫名其妙又装好了。
Bt-Panel: http://ip地址:8888/