首页 > 其他分享 >系统管理体系——软件包管理

系统管理体系——软件包管理

时间:2024-11-13 20:29:25浏览次数:1  
标签:体系 系统管理 mirrors 安装 yum com 软件包 rpm

1.Linux系统管理体系——软件包管理

Linux下面的软件包格式为:rpm格式(红帽系列系统,CentOS,麒麟系统)或deb格式(Debian,Ubuntu)

安装软件方式 举例 说明 应用场景
yum/apt 方式 点外卖,缺啥少啥,外卖解 决 通过网络下载软件包,替我们安装, 如果 有依赖自动下载依赖并安装. 自动. 大部分场景,没有网络可以自 建yum软件仓库,内网使用。
rpm/dpkg 方式 半成品,缺啥少啥,自己解 决 手动下载rpm包,手动安装rpm包,缺少依 赖需要自己解决 没有网络,误删除软件包,依 赖较少
编译安装 方式 自己做,缺啥少啥,自己解 决 可以自定义安装,比较漫长,缺少依赖自 己解决 软件进行自定义,增加功能
二进制安 装方式 点外卖+自取,缺啥少啥,自 己解决(绿色软件免安装) 类似于绿色软件,解压既用,可能需要准 备环境, 并非每个软件都有,一般是服务,数据 库,k8s,promethues监控 如果有可以选用,优先选择 yum,没有那就选择二进制方式
  • 安装方式推荐
    • 1️⃣yum优先
    • 2️⃣rpm包
    • 3️⃣二进制
    • 4️⃣ 编译安装

1.1 rpm安装方式

  • 增,删,改,查
rpm命令 选项及含义
增加-安装 -ivh (-i install ) xxxx.rpm
查看-检查 -qa (query all) 查看软件包是否安装
-ql 查看软件包内容
-qf 文件或命令绝对路径 文件或命令所归属的软件包
修改-升级 -Uvh 升级软件包(如果软件包不存在,相当是ivh安装)
删除 -e 删除软件包

1.2 增加-安装rpm包

-ivh

-i install

-v 显示过程

-h 人类可读显示过程

案例01 安装rpm包
#下载软件包
wget --no-check-certificate -P /server/tools/ https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.0-1.el7.x86_64.rpm

wget下载指定内容,默认下载到当前目录
-P 下载到指定目录,目录不存在会创建
-no-check-certificate 下载地址https,加上这个选项,如果不加(下载失败)

#安装依赖(后面yum部分可以解决软件包依赖和查找依赖)
yum install  -y pcre2

#安装软件包zabbix-agent2
rpm -ivh zabbix-agent2-6.0.0-1.el7.x86_64.rpm

如果不安装依赖,则会提示缺少依赖而安装失败

image

1.3 查询 - rpm

  • 检查软件包是否安装成功 ⭐️⭐️⭐️⭐️⭐️
# 书写方法 利用管道+grep进行过滤 推荐
rpm -qa |grep zabbix 

#不使用管道 直接写软件包的名字
rpm -qa zabbix-agent2
  • 检查软件包的内容(已经安装) ⭐️⭐️⭐️⭐️⭐️
rpm -ql  #list

rpm -ql 软件

rpm -ql zabbix-agent2

⚠️软件包不等同于命令。

  • 一般情况下一个软件包中有1个命令,tree,telnet软件包。

  • 更多情况中1个软件包下面可能有多个命令,lrzsz(rz,sz),net-tools

  • 查询某个命令或文件属于哪个软件包 (熟悉)

rpm -qf 命令或文件的绝对路径,用于查找已经安装命令或文件属于哪个软件包。 后面我们使用yum provides命令查找即可。

未来 一个软件包中可能包含多个命令.
直接通过yum安装就会失败
cowsay 软件包
   -> cowsay命令
   -> animalsay命令
   -> cowthink命令
yum install -y animalsay 则安装失败.
原因: yum/rpm 安装的是软件包,而不是软件包中的命令或文件.
如何通过命令,文件找出归属的软件包(软件包要已经安装)

rpm -qf /sbin/ifconfig 

1.4 修改-升级 ⭐

用于通过rpm包的方式升级软件。

  • 升级软件(小版本

6.0.0 升级到 6.0.7 版本

-Uvh -U表示update/upgrade升级的

wget -P /server/tools/ --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent2-6.0.7-1.el7.x86_64.rpm

root@myvps ~]# rpm -Uvh /server/tools/zabbix-agent2-6.0.7-1.el7.x86_64.rpm 
警告:/server/tools/zabbix-agent2-6.0.7-1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-agent2-6.0.7-1.el7        ################################# [ 50%]
正在清理/删除...
   2:zabbix-agent2-6.0.0-1.el7        ################################# [100%]
[root@myvps ~]# rpm -qa |grep zabbix
zabbix-agent2-6.0.7-1.el7.x86_64


如果直接使用-ivh安装,会提示配置文件的一些冲突导致安装失败(文件冲突)

1.5 删除

  • 删除对应的软件包(rpm安装或yum安装),其他方式(编译,二进制)无法删除。

  • yum,rpm安装软件,删除软件的时候, 建议通过rpm命令删除 , 非必须不推荐删除软件

  • 删除软件包,-e(erase)

rpm -e 软件包
rpm -e zabbix-agent2
rpm -qa |grep zabbix

5.1加餐

echo $?-----------表示上个命令是否执行成功(0表示成功)

2. yum软件包管理

  • yum是软件包管理器,替我们下载rpm包,替我们安装.
  • 推荐安装 命令补全增强工具
yum install -y bash-completion bash-completion-extras
安装后重新登录Linux,可以对yum选项进行tab键
  • yum安装软件流程
  • yum源的配置(从哪里下)
  • yum命令的配置(如何下载与保存到哪里)
  • yum命令

2.1 yum软件安装全流程

  • yum命令: 下载与安装软件包 配置文件/etc/yum.conf
  • yum仓库/源: 存放软件包地方, 配置目录/etc/yum.repos.d/*.repo repository源

image

2.2 yum源配置 ⭐️⭐️⭐️⭐️⭐️

  • 使用虚拟机(私有云),物理服务器需要配置yum源
  • 如果使用公有云,则一般都是配置好的.
yum源配置文件详解
[base] yum源的名字
name= 说明信息
baseurl= yum源地址,打开后要看到repodata目录,这是yum配置的核心.
enabled=1 是否开启这个yum源
gpgcheck=1 开启软件包检查,未来自建yum仓库可以关闭.
gpgkey 用于检查的秘钥. 如果关闭检查gpgkey省略.
  • 更多操作yum源配置文件详解

image

  • 配置文件格式(掌握格式即可)
[base] 这个源的名字
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http: /mirrors.aliyun.com/centos/$releasever/os/$basearch/
       http: /mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
       http: /mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http: /mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  • 查看系统正在使用的yum源列表
yum repolist # repo源 list列表
中间的路过
源标识(repo id)
源标识                  源名称                                      状态
base/7/x86_64       CentOS-7 - Base - mirrors.aliyun.com              10,072
epel/x86_64         Extra Packages for Enterprise Linux 7 - x86_64    13,791
extras/7/x86_64         CentOS-7 - Extras - mirrors.aliyun.com        526
updates/7/x86_64        CentOS-7 - Updates - mirrors.aliyun.com       6,173

目前这里从这里可以看出有base,extras,updates,epel 4个yum源

  • base extras updates 是系统默认的yum源
  • epel 是额外的yum源
  • 如何配置置⭐️⭐️⭐️⭐️⭐️
    • 阿里云 /etc/yum.repos.d/ CentOS-Base.repo epel.repo
https://developer.aliyun.com/mirror/		
#配置base源
1.备份已有yum源的配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.rep
https: /mirrors.aliyun.com/repo/Centos-7.repo

# 增强yum源 epel源 ()
yum install -y wget

# 2.配置系统默认的源,改为阿里云的。
使用wget或者curl 下载阿里云的yum源的配置文件到/etc/yum.repos.d/目录下
wget -O /etc/yum.repos.d/epel.repo http: /mirrors.aliyun.com/repo/epel-7.repo
下载并改名,存放到指定目录中。

# 3.修改了bash,extras,updates是系统默认的yum源,改为了阿里云
https: /mirrors.aliyun.com/
#配置base源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo
https: /mirrors.aliyun.com/repo/Centos-7.repo
#增强yum源 epel源 ()
yum install -y wget
wget -O /etc/yum.repos.d/epel.repo http: /mirrors.aliyun.com/repo/epel-7.repo
  • 清华
https: /mirrors.tuna.tsinghua.edu.cn/
# 对于 CentOS 7 新安装的centos 7 没有配置源
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e
's|^#baseurl=http: /mirror.centos.org|baseurl=https: /mirrors.tuna.tsinghua.edu.cn|g
' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
如果已经配置了阿里云的源,修改为清华源,命令如下
CentOS-Base.repo epel.repo
vim中进行替换
:%s#http: /mirrors.aliyun.com#https: /mirrors.tuna.tsinghua.edu.cn#g
:%s#找啥#替换成啥#g
:1,20s#找啥#替换成啥#g

2.3 yum命令配置文件

未来在正式环境中几乎很少修改,未来也就是我们想把yum安装过的rpm包进行保存

  • 修改/etc/yum.conf,找出keepcache行=0改为=1即可;
/etc/yum.conf yum命令的配置文件
keepcache =0关闭缓存,软件下载安装够自动删除rpm包
=1开启缓存,软件下载安装后保留rpm。(自建yum源)
cachedir yum下载软件包的缓存目录,/var/cache/yum/$basearch/$relesever
logfile yum命令的记录 /var/log/yum.log
 /etc/yum.conf
 [main]
cachedir=/var/cache/yum/$basearch/$releasever  #缓存目录
keepcache=1                                    #是否保留缓存, 0表示不保留缓存, 1表示保留缓存

# 测试 重新安装
yum reinstall -y tree cowsay 

生产应用的建议keepcache,未来没有网络的环境,可以找个有公网的主机,开启keepcache,下载各种服务软件. 保留缓存,通过缓存的rpm包进行安装.

2.4 yum命令详情 ⭐️⭐️⭐️⭐️⭐️

  • 增删改查
yum命令 格式与说明
yum install -y tree
yum provides 内容
yum search all 内容
yum repolist 查看源列表
删除 yum remove 删除软件包及依赖
yum clean all 清空缓存
yum update/upgrade
选项 -y 遇到有yes/no的时候选择yes

4.1增-安装软件

  • yum安装软件包
必会:yum install -y tree
-y表示提示是否安装,是否确认的时候默认选择yes

使用较少:重新安装软件包
yum reinstall -y tree

4.2查-检查软件/搜索软件

  • 查询某个命令属于哪个软件包,查询某个依赖属于哪个软件包。

必会:根据软件包内容
yum provides 命令或文件 找出这个命令或文件属于的软件包
#rpm -qf进阶版本 ,软件要已经安装.
ifconfig

备用搜素命令
yum search all ifconfig 结果会很多。
一个一个测试。

[root@oldboy-lnb-king-v3 ~]# yum provides ifconfig
中间内容略

net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源   :@base
匹配来源:
文件名   :/usr/sbin/ifconfig

ifconfig属于的软件包:net-tools
  • 必会:查看yum源信息
yum repolist 
  • 熟悉: 显示所有yum仓库中所有软件,未来用于根据软件包名字查找。
yum list

4.3 删

尽量不要使用yum命令删除软件,删除的时候可能会把依赖删除掉。

  • 删除软件包-yum remove

  • 不推荐使用,remove会删除依赖,如果要删除使用rpm -e

  • 删除/情况本地缓存

  • yum clean all 自建yum仓库需要使用,使用公有的yum源,一般不用.

4.4 改-升级

yum install的时候安装或升级。

  • 更新的命令。

  • yum update 或 yum upgrade,软件或命令有BUG或漏洞,需要更新下。

yum install -y tree   vim wget bash-completion bash-completion-extras lrzsz nettools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bindutils nethogs expect

https: /www.jianshu.com/p/604b4d79a227 软件说明

3. Ubuntu系统软件包管理

  • apt源
  • apt/apt-get --------> yum
  • dpkg -----------> rpm

3.1配置源

vim /etc/apt/sources.lis
deb https: /mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https: /mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb https: /mirrors.aliyun.com/ubuntu/ focal-security main restricted universe
multiverse
deb-src https: /mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb https: /mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe
multiverse
deb-src https: /mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe
multiverse

# deb https: /mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe
multiverse
# deb-src https: /mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe
multiverse

deb https: /mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe
multiverse
deb-src https: /mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

编辑完成一定运行
apt update #命令,用于生成本地apt缓存,如果不做则无法安装软件。

提示
Fetched 39.1 MB in 44s (888 kB/s)                                                  
                                                                         
Reading package lists . Done
Building dependency tree      
Reading state information . Done
103 packages can be upgraded. Run 'apt list -upgradable' to see them.

表示OK了。

3.2安装软件

安装软件并测试
apt install -y cmatrix lolcat sl cowsay

3.3 检查软件

功能 debian(ubuntu) 红帽(Centos,麒麟)
检查是否安装 dpkg -l rpm -qa
安装 dpkg -i rpm -ivh
检查软件包内容 dpkg -L rpm -ql
删除 dkkg -r rpm -e
root@oldboy-ubuntu-server:~# dpkg -l |grep lolcat
ii lolcat                                42.0.99-1                         all      
  colorful `cat`
root@oldboy-ubuntu-server:~# dpkg -l |grep cmatrix
ii cmatrix                               2.0-2                             amd64    
 simulates the display from "The Matrix"

标签:体系,系统管理,mirrors,安装,yum,com,软件包,rpm
From: https://www.cnblogs.com/liaofy/p/18544750

相关文章