Linux系统中的软件管理

一、Linux系统中的软件包类型

1.DEB UBlinux DEBlinux
2.RPM redhat centOS fc
3.bz2|gz|xz
#需要源码安装需要编译
#绿色软件,直接可用
ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 “configure”
Firefox-latest-x86_64.tar.bz2 绿色
注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件

二、软件包的名称结构

[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1----------------2------------- 3------ 4 -------- 5

符号 意义
1. 软件名称
2. 软件版本
3. 软件的授权协议版本
4. 软件架构
5. 软件类型后缀

三、rpm命令管理软件包

命令 功能
rpm -ivh 安装参数组合 -i install -v verbose -h hash
rpm -a 所有
rpm -f 文件
rpm -p 软件包
rpm -q 查询
rpm -l 软件安装文件列表
rpm -e 卸载
rpm -c 配置文件
rpm -d 说明
–info 软件信息
–force 强制
–nodeps 忽略依赖性
–script 查询软件在安装或卸载过程中的运行脚本
rpm -Kv 检测软件md5校验码
rpm -V 检测已安装软件在系统中的文件被修改信息

以安装linuxqq以及wps为例:
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理

Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理

四、本地软件仓库的搭建

1、系统软件仓库的作用

#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要大家系统软件仓库

2、搭建方法

a、在系统中加载安装系统时使用的安装镜像
Linux系统中的软件管理

b、编写软件仓库文件
Linux系统中的软件管理
Linux系统中的软件管理

五、dnf软件管理命令

命令 功能
dnf repolist 列出仓库信息
dnf clean all 清除系统中已经加载的仓库缓存信息
dnf list all 列出所有软件
dnf list available 列出未安装软件
dnf list installed 列出已安装软件
dnf install 安装
dnf remove 卸载
dnf reinstall 重新安装
dnf search 搜索
dnf whatprovides 搜索包含文件的软件包
dnf history dnf执行历史
dnf history info dnf执行历史详细信息
dnf group list 列出软件组
dnf group list --installed 列出已安装软件组
dnf group list --available 列出未安装软件组
dnf group list --hidden 列出隐藏软件案组
dnf group install 安装软件组
dnf group info 查看软件组信息

Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理

Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理

六、网络软件仓库的搭建

在企业中,我们维护的系统数量庞大,当我们需要在每个系统安装软件管理软件时,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源 ,如何节省这部分重复的资源,需要把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源了。

1、利用镜像搭建本地软件仓库

2、安装共享软件

#共享方式http:// 超文本传输协议
#提供此协议的软件 Apache
#软件包名称 httpd
#共享位置 /var/www/html
#安装命令 在 dnf install httpd -y
Linux系统中的软件管理

3.启用共享软件Apache

systemctl stop firewalld
systemctl disable firewalld
systemctl enable --now httpd
Linux系统中的软件管理

4、建立共享目录

5、挂载镜像文件到共享目录

Linux系统中的软件管理

6、在远程主机中访问资源并书写repo文件

Linux系统中的软件管理
Linux系统中的软件管理
设置开机自动挂载:
Linux系统中的软件管理
Linux系统中的软件管理
实验:利用网络软件仓库从阿里云镜像站下载flameshot
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理
Linux系统中的软件管理

七、第三方软件仓库的搭建方法

可以使用dnf命令管理第三方软件,并使第三方软件在网络*享
步骤:
获取第三方软件:

Linux系统中的软件管理
建立共享目录,存放所有rpm类型的软件:
Linux系统中的软件管理
安装createrepo命令:
Linux系统中的软件管理采集第三方软件数据,生成repodata数据目录:

Linux系统中的软件管理
在测试主机中指定第三方共享源:Linux系统中的软件管理
读取软件仓库:
Linux系统中的软件管理
Linux系统中的软件管理