CentOS软件包管理

简介: CentOS软件包管理

1 软件包管理介绍

软件包管理,顾名思义就是对Linux操作系统的软件及安装包进行管理,比如下载、安装、卸载、删除等等,就好比我们Windows上的控制面板->软件管理。

Linux(CentOS)软件包分类:

网络异常,图片无法展示
|


与Windows对比

Linux(CentOS) Windows
rpm exe
源码包 软件源码(.java)
二进制包 可执行文件(.jar)

软件包管理工具分类

网络异常,图片无法展示
|

与Windows对比

Linux(CentOS) Windows
rpm exe直接安装
yum 先联网下载.exe再安装

2 rpm包管理

2.1 简介

名称规则:

网络异常,图片无法展示
|


主要功能:

安装、卸载、升级和管理软件,组件查询功能,验证功能,软件包GPG和MD5数字签名的导入、验证和发布,软件包依赖处理,选择安装,网络远程安装功能

2.2 常见命令

2.2.1 软件安装

(1)命令

rpm -i [安装包]

(2)演示

[root@iZ1608aqb7ntn9Z tmp]# rpm -i jre-7u51-linux-i586.rpm 
Unpacking JAR files...
        rt.jar...
......
复制代码

(3)常用参数

  • rpm -ivh [安装包] :显示安装进度
[root@iZ1608aqb7ntn9Z tmp]# rpm -ivh jre-7u51-linux-i586.rpm 
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
......
复制代码
2.2.2 已安装软件搜索

(1)命令

rpm -q [安装包名称]

(2)演示

[root@iZ1608aqb7ntn9Z tmp]# rpm -q jre
jre-1.7.0_51-fcs.i586
复制代码

(3)常用参数

  • rpm -qa [安装包名称]:显示全部软件安装包
[root@iZ1608aqb7ntn9Z tmp]# rpm -qa jre
jre-1.7.0_51-fcs.i586
复制代码
  • rpm -qi [安装包名称]:查看指定软件包的名称、版本、许可协议、用途描述等详细信息
[root@iZ1608aqb7ntn9Z tmp]# rpm -qi jre
Name        : jre
Version     : 1.7.0_51
Release     : fcs
Architecture: i586
Install Date: 2021年08月30日 星期一 14时43分36秒
Group       : Development/Tools
Size        : 82103392
License     : http://java.com/license
Signature   : (none)
Source RPM  : jre-1.7.0_51-fcs.src.rpm
Build Date  : 2013年12月19日 星期四 11时28分49秒
Build Host  : jdk7-lin2-i586.us.oracle.com
Relocations : /usr/java 
Packager    : Java Software <jre-comments@java.sun.com>
Vendor      : Oracle Corporation
URL         : URL_REF
Summary     : Java Platform Standard Edition Runtime Environment
Description :
......
复制代码
  • rpm -ql [安装包名称]:显示指定的软件包在当前系统中安装的所有目录、文件列表
[root@iZ1608aqb7ntn9Z tmp]# rpm -ql jre
/etc
/etc/.java
/etc/.java/.systemPrefs
/etc/.java/.systemPrefs/.system.lock
/etc/.java/.systemPrefs/.systemRootModFile
/etc/init.d/jexec
/usr
/usr/java
/usr/java/jre1.7.0_51
/usr/java/jre1.7.0_51/COPYRIGHT
/usr/java/jre1.7.0_51/LICENSE
/usr/java/jre1.7.0_51/README
......
复制代码
2.2.3 已安装软件卸载

(1)命令

rpm -e [安装包/安装包名称]

(2)演示

[root@iZ1608aqb7ntn9Z tmp]# rpm -q jre
jre-1.7.0_51-fcs.i586
[root@iZ1608aqb7ntn9Z tmp]# rpm -e jre-1.7.0_51-fcs.i586
警告:文件 /usr/java/jre1.7.0_51/lib/install.jar:移除失败:没有那个文件或目录
[root@iZ1608aqb7ntn9Z tmp]# rpm -q jre
未安装软件包 jre 
复制代码
2.2.4 其他命令

rpm --force [安装包]:强制安装某个软件包

rpm --nodeps [安装包]:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

3 yum包管理

3.1 简介

Yum 是 Red Hat 软件包管理器,它能够查询有关可用软件包的信息,从存储库获取软件包,安装和卸载软件包,以及将整个系统更新到最新的可用版本。Yum在更新,安装或删除软件包时执行自动依赖性解析,因此能够自动确定,获取和安装所有可用的依赖软件包。

3.2 配置yum源(CentOS8,其他版本建议自行百度)

[root@iZ1608aqb7ntn9Z yum.repos.d]# touch CentOS-AppStream.repo CentOS-BaseOS.repo CentOS-Extras.repo
[root@iZ1608aqb7ntn9Z yum.repos.d]# ls
CentOS-AppStream.repo  CentOS-centosplus.repo  CentOS-Extras.repo      CentOS-Sources.repo
CentOS-BaseOS.repo     CentOS-CR.repo          CentOS-fasttrack.repo   CentOS-Vault.repo
CentOS-Base.repo       CentOS-Debuginfo.repo   CentOS-Media.repo       docker-ce.repo
CentOS-Base.repo.bak   CentOS-epel.repo        CentOS-PowerTools.repo  kubernetes.repo
[root@iZ1608aqb7ntn9Z yum.repos.d]# vim CentOS-AppStream.repo
# 写入文件
[aliyun-AppStream]
name=CentOS-$releasever - AppStream
baseurl=https://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# 写入完成
[root@iZ1608aqb7ntn9Z yum.repos.d]# vim CentOS-BaseOS.repo
# 写入文件
[aliyun-BaseOS]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# 写入完成
[root@iZ1608aqb7ntn9Z yum.repos.d]# vim CentOS-Extras.repo
# 写入文件
[aliyun-extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# 写入完成
[root@iZ1608aqb7ntn9Z yum.repos.d]# dnf -y install epel-release
[root@iZ1608aqb7ntn9Z yum.repos.d]# dnf clean all
[root@iZ1608aqb7ntn9Z yum.repos.d]# dnf makecache
[root@iZ1608aqb7ntn9Z yum.repos.d]# dnf repolist
仓库 'aliyun-AppStream' 在配置中缺少名称,将使用 id。
仓库 'aliyun-BaseOS' 在配置中缺少名称,将使用 id。
仓库 'aliyun-extras' 在配置中缺少名称,将使用 id。
Repository centosplus is listed more than once in the configuration
仓库 id                                       仓库名称
aliyun-AppStream                              aliyun-AppStream
aliyun-BaseOS                                 aliyun-BaseOS
aliyun-extras                                 aliyun-extras
base                                          CentOS-8 - Base - mirrors.aliyun.com
docker-ce-stable                              Docker CE Stable - x86_64
epel                                          Extra Packages for Enterprise Linux 8 - x86_64
extras                                        CentOS-8 - Extras - mirrors.aliyun.com
kubernetes                                    Kubernetes
updates                                       CentOS-8 - Updates - mirrors.aliyun.com
[root@iZ1608aqb7ntn9Z yum.repos.d]# rm -rf CentOS-AppStream.repo CentOS-BaseOS.repo CentOS-Extras.repo
复制代码

3.3 常用命令

3.3.1 安装

(1)命令

yum install [安装包名称]

(2)演示

[root@iZ1608aqb7ntn9Z yum.repos.d]# yum install redis
Repository PowerTools is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
上次元数据过期检查:0:02:07 前,执行于 2021年08月30日 星期一 16时06分30秒。
依赖关系解决。
==========================================================================================================================
 软件包              架构                 版本                                              仓库                     大小
==========================================================================================================================
安装:
 redis               x86_64               5.0.3-2.module_el8.2.0+318+3d7e67ea               AppStream               925 k
启用模块流:
 redis                                    5                                                                              
事务概要
==========================================================================================================================
安装  1 软件包
总下载:925 k
安装大小:3.2 M
确定吗?[y/N]: y
......
复制代码

(3)常用参数

  • yum -y install [安装包名称]:无询问安装
[root@iZ1608aqb7ntn9Z yum.repos.d]# yum -y install gcc
Repository PowerTools is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
CentOS-8 - Base - mirrors.aliyun.com                                                       14 MB/s | 5.6 MB     00:00    
CentOS-8 - Extras - mirrors.aliyun.com                                                     38 kB/s |  10 kB     00:00    
CentOS-8 - AppStream - mirrors.aliyun.com                                                  21 MB/s | 8.8 MB     00:00    
......                                                                        
复制代码
3.3.2 查看已安装的安装包

(1)命令

  • yum list : 列出所有可安装的软件包
  • yum list updates : 列出所有可更新的软件包
  • yum list installed: 列出所有已安装的软件包

(2)演示

命令的结果显示较长,在这里不做演示

3.3.3 查找安装包

(1)命令

yum search [要查找的关键词]

(2)演示

[root@iZ1608aqb7ntn9Z tmp]# yum search vim
Repository PowerTools is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
上次元数据过期检查:0:05:07 前,执行于 2021年08月30日 星期一 16时06分30秒。
================================================= 名称 和 概况 匹配:vim =================================================
awesome-vim-colorschemes.noarch : Collection of color schemes for Neo/vim, merged for quick use
beakerlib-vim-syntax.noarch : Files for syntax highlighting BeakerLib tests in VIM editor
fluxbox-vim-syntax.noarch : Fluxbox syntax scripts for vim
geany-plugins-vimode.x86_64 : Vim-mode plugin for Geany
neovim.x86_64 : Vim-fork focused on extensibility and agility
python-neovim-doc.noarch : Documentation for python-neovim
python3-neovim.noarch : Python client to Neovim
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System - GVim
vim-airline.noarch : Lean & mean status/tabline for vim that's light as air
vim-ansible.noarch : Vim plugin for syntax highlighting ansible's common filetypes
......
复制代码
3.3.4 卸载

(1)命令

yum remove [安装包或关键词]

(2)演示

[root@iZ1608aqb7ntn9Z tmp]# yum remove vim
Repository PowerTools is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
依赖关系解决。
......
移除  4 软件包
......
复制代码

4 源码包和二进制包

4.1 介绍

源码包就是软件的开发源码,比如用C语言开发的软件源码一般都会是以.c结尾的文件集,用Java开发的软件源码都是以.java为后缀的文件,因此源码包并不能直接安装运行,需要编译之后才能进行安装和运行,Linux中常见的软件源码安装包都是以.tar.gz结尾的压缩文件,将其解压后就可以看见软件的开发源码。

例如Maven,上边的红框框里就是二进制包,下边的红框框就是源码包,压缩格式分别是.zip和.tar.gz

网络异常,图片无法展示
|


4.2 常见的解压命令

(1)zip压缩包

nuzip [压缩包名称] :解压zip的压缩包

(2)tar.gz压缩包

tar -zxvf [压缩包名称] :解压tar.gz压缩包

tar -xvf [压缩包名称] :解压tar压缩包

5 总结

在CentOS中有rpm和yum两种软件包管理,总结优缺点,rpm包安装简便不用联网,但是如果出现依赖关系无法自动解决,需要手动寻找依赖,yum包安装需要联网,可以自动解决依赖。


相关文章
|
Linux
解决CentOS yum安装Mysql8提示“公钥尚未安装”或“密钥已安装,但是不适用于此软件包”的问题
解决CentOS yum安装Mysql8提示“公钥尚未安装”或“密钥已安装,但是不适用于此软件包”的问题
3691 0
|
网络协议 Linux 网络安全
centos 6/7 防火墙端口管理与限制来访IP请求端口
端口管理,限制来访IP访问
1753 0
|
6月前
|
安全 关系型数据库 MySQL
|
6月前
|
数据可视化 数据挖掘 Linux
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
396 1
|
6月前
|
存储 Java Linux
CentOS软件包管理
CentOS软件包管理
123 0
|
12月前
|
Linux 网络安全 开发工具
Centos ssh登录管理
Centos ssh登录管理
100 0
|
Oracle 关系型数据库 Unix
在Centos 7或6上安装oracle-rdbms-server-11gR2-preinstall软件包
在linux/unix上安装Oracle数据库软件的过程是个痛苦的过程,包括:依赖的rpm包,内核参数,创建用户等等这些个步骤,一不留神,就会漏下某个步骤。
331 0
|
SQL 关系型数据库 MySQL
CentOS 7.2搭建MariaDB数据库服务器应用与管理
CentOS 7.2搭建MariaDB数据库服务器应用与管理
306 0
CentOS 7.2搭建MariaDB数据库服务器应用与管理