fat32 linux 打包工具_Linux - 软件包管理

本文详细介绍了Linux系统中RPM包的管理,包括安装、升级、卸载及校验等操作,并讲解了yum工具的使用,如yum源的配置、查询、安装、更新和卸载软件包。此外,还提到了yum的缓存管理和历史记录功能。
摘要由CSDN通过智能技术生成

选项作用

-U

如果老版本不存在则全新安装,如果存在有新版即升级

# 先下载2个版本,1个老版本,1个新版本

wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm

wget https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm

#1.先安装低版本

[root@localhost~]# rpm -ivh zabbix-agent-3.0.9-1.el7.x86_64.rpm

#2.尝试安装高版本(会出现错误)

[root@localhost~]# rpm -ivh zabbix-agent-4.2.0-1.el7.x86_64.rpm

#3.使用升级的方式,完美解决替换

[root@localhost~]# rpm -Uvh zabbix-agent-4.2.0-1.el7.x86_64.rpm

4.卸载 RPM包

卸载包时需要先把依赖的包卸载掉

如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃

常用选项

选项作用

-e

卸载已存在的RPM包

5.校验 RPM包(扩展)

常用选项

选项作用

S

文件的容量大小是否被改变

M

文件的类型或者文件的属性是否被修改

5

MD5 这一种指纹加密的内容已经不同

L

路径已经被改变

U

文件的所属主已被修改

G

文件的所属组已被修改

T

文件的创建时间已被改变

软件相关的数据库存放于/var/lib/rpm目录

校验语法

[root@localhost ~]# rpm -V vsftpd

S.5....T. c /etc/pam.d/vsftpd

.......T. c/etc/vsftpd/ftpusers

S.5....T. c /etc/vsftpd/vsftpd.conf

.M......./var/ftp/pub

四:yum管理RPM包

1.yum介绍

① 什么是yum?

yum(Yellow dog updater, modified)是一个在Fedora和RedHat以及CentOS中的Shell 前端软件包管理器

基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系

并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装(YUM是生产最佳实践)

② 是什么yum源?

要成功的使用 yum工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源(可以是本地源、网络源)

③ 查看yum命令 与 yum配置文件

# 查看yun命令

[root@localhost~]# rpm -q yum

yum-3.4.3-132.el7.centos.0.1.noarch

# 查看yun的配置文件

[root@localhost~]# rpm -qc yum/etc/logrotate.d/yum/etc/yum.conf/etc/yum/version-groups.conf

④ yum命令常用选项

仓库

yum repolist # 查询可用仓库

yum repolist list # 查询已启用/禁用的所有仓库状态

# 关闭与启用仓库:本质:都是在修改repo文件中的enable的值 0不启用 1启用

yum-config-manager --disable epel # 关闭仓库epel

yum-config-manager --enable epel # 启用仓库epel

查看

yum list # 列出可用仓库中的所有软件包

yum list|less # 列出可用仓库中的所有软件包(分页)

yum grouplist # 列出可用仓库中的软件组

# 与rpm-qf的区别在于yum provides后可以只跟命名

yum provides/usr/sbin/ifconfig # 查询命令所属的软件包,可以不加路径,只写命令名字

安装

yum install httpd httpd-tools # 加上-y选项 可以变成非交互

yum groupinstall"开发工具" -y # 安装软件组,一个软件组中包含了多个软件包

yum groups install"开发工具" -y # 同上

卸载

yum remove httpd httpd-tools http*# 卸载软件包

yum groupremove"开发工具" -y. # 卸载软件组

yum groups remove"开发工具" -y # 同上

重装

yum reinstall httpd # 不小心删除了配置文件的时,可以reinstall一下

更新

yum check-update # 检查可以更新的软件包

yum update-y # 更新所有软件包,包括内核,通常:只在刚装完系统时执行

yum update httpd-y # 更新某个软件包

缓存

yum makecache # 制作元数据缓存

yum clean all # 清除所有yum缓存的软件包以及元数据

yum clean packages # 只清除缓存的软件包

[root@localhost~]# vim /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=1 #启动缓存

历史记录

yum history # 查看执行过的yum命令历史记录

yum history info ID号 # 查看具体某一条yum命令的详细信息

yum history undo ID号 # 撤销执行过的历史命令

需要注意的点:

无论yum安装的软件来自何处,yum时刻以自己仓库中的repodata存储的依赖关系为准,如果有多个仓库,就依次检索

yum直接安装公网的rpm包, 会自动查找当前系统上已有的仓库解决依赖关系

yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba4.8.3-4.el7.x86_64.rpm

Yum直接安装本地的rpm包,会自动查找当前系统上已有的仓库解决依赖关系

yum localinstall -y /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm

要使用yum前,需要准备一个yum源(我们也称为yum仓库), 这个可以是一个互联网上的仓库,也可以是本 地自己搭建的仓库.仓库里面有什么呢?里面全部都是.rpm的软件包.一台linux,可以添加N多个yum源, 能 搜索的软件包数量就是N个yum源之和

系统常见yum源

自定义的本地源

网络的源(如:base基础源、epel扩展源、与服务相关的源(官网))

2.镜像文件作为yum源(本地源)

① 挂载

# 方式1:

[root@localhost~]# mount /dev/cdrom /opt/# 方式2:

[root@localhost~]# mount /dev/sr0 /opt/# 方式3:

[root@localhost~]# mount -o loop /xxx.iso /opt

# 查看光盘里的rpm包

[root@localhost~]# ls /opt/Packages/

② 编辑repo文件

[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# vim local.repo # 文件名自定义,必须以.repo结尾

[local] # 仓库的实际名字,任意

name=local # 仓库的描述,任意

baseurl=file:///opt # 仓库位置,可以是 http:// https:// ftp:// file://

enabled=1# 启用仓库,默认就是启用的

gpgcheck=0 # 检查安装的rpm是否是合法的,0表示不检验

③ 检查可用仓库

[root@localhost ~]# yum repolist # 查询可用仓库

[root@localhost~]# yum repolist all # 查看所有仓库,包括禁用的

④ 安装、查询、卸载

[root@localhost ~]# yum list # 列出可用的软包

[root@localhost~]# yum install vsftpd -y # 安装:vsftpd

[root@localhost~]# yum list vsftpd httpd #

[root@localhost~]# yum remove vsftpd -y # 卸载:vsftpd

[root@localhost~]# yum install glib* httpd -y

[root@localhost~]# yum provides vsftp # 查询某个软件(可以是未安装的)是由哪个rpm包提供

# yum reinstall 重装

[root@egon~]# rm -rf /etc/httpd/conf/httpd.conf

[root@egon~]# yum reinstall httpd -y &> /dev/null[root@egon~]# ls /etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf

# yum update 更新

[root@localhost~]# yum -y update samba

[root@localhost~]# yum -y update

⑤ 软件包组安装、查询、卸载

[root@localhost ~]# yum grouplist

[root@localhost~]# yum groupinstall "GNOME 桌面" -y

[root@localhost~]# yum groupinstall "开发工具" -y

[root@localhost~]# yum groupremove "开发工具" -y

3.使用开源yum源(网络源)

① 查看当前yum源。

[root@localhost ~]# yum repolist

Loaded plugins: fastestmirror

Loading mirror speedsfromcached hostfile

repo id repo name status!base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072

!extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 448

!updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 773repolist:11,293

base:基础源

extras:扩展源

updates:更新源

② 使用第三方yum源

默认系统是国外源(因为服务器在国外,所以速度较慢),因此 需要替换为国内的源

例:(切换成阿里源)

# 阿里云的base基础源

wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos7.repo

# 阿里云的extras扩展源

curl-o /etc/yum.repos.d/epel.repo

http://mirrors.aliyun.com/repo/epel-7.repo

# extras扩展源 也可以安装一个软件包来生成(效果同上)

yum install epel-release -y

扩展:

EPEL

EPEL的全称叫 Extra Packages for Enterprise Linux

EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目

装上了 EPEL之后,就相当 于添加了一个第三方源

RHEL

RHEL以及他的衍生发行版如CentOS、Scientific Linux为了稳定,官方的rpm repository提供的rpm 包往往是很滞后的

当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定是重点,官方的rpm repository提供的rpm包也不够丰富,很多时候需要自己编译那太辛苦了,而EPEL恰恰可以解决这两方面的问题

4.自己制作本地yum源

① 将下载好的rpm包和相关依赖都放入一个目录中

② 安装createrepo工具

[root@localhost ~]# yum install createrepo -y

③ 制作repodata

createrepo /mnt/Packages/

④ 配置本地repo文件,指向/mnt/Packages/

# 编辑 /etc/yum/repos.d/soft.repo

[root@localhost~]# vim /etc/yum/repos.d/soft.repo

# 按i进入插入模式,添加如下内容

[soft]

name=soft

baseurl=file:///mnt/Packages/

enabled=1gpgcheck=0

5.将自己制作本地yum源 共享给别人

6.yum的历史记录

7.yum扩展知识

① yum元数据缓存

指的将yum仓库的元数据缓存下来,下次安装时省去了检索过程,安装速度可以加快

[root@localhost ~]# yum clean all # 清理缓存

[root@localhost~]# yum makecache # 制作缓存

② yum软件包缓存

开启软件包缓存后,从网络源下 载安装完的软件安装包不再删除,都缓存到了本地

[root@localhost ~]# vim /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasev

er # 指定软件安装包的缓存目录

keepcache=1# 设置为1

debuglevel=2# 缓存目录为:ls/var/cache/yum/x86_64/7/

基于软件包缓存,可以做成自己的yum源,以此来控制 各个服务的版本

通常的做法为

在测试环境中,在每个节点上都开启软件包缓存

在测试环境中,安装相同版本的操作系统,安装完毕后统一执行yum update -y

在测试环境中,部署完你的架构,测试完毕

把测试环境中每台机器上缓存好的软件包安装包采集到一个文件下

[root@localhost ~]# find /var/cache/yum/x86_64/7/ -type f -name "*.rpm" | xargs -I {} mv {} /soft/

然后用createrepo命令制作好依赖关系,即 repodata数据库

然后在线上环境部署时,就用该本地源就好,不要轻易升级,不要滥用yum源

这样可以严格控制好各个服务的 版本

8.签名检查机制

五:源码包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值