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为例:
四、本地软件仓库的搭建
1、系统软件仓库的作用
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要大家系统软件仓库
2、搭建方法
a、在系统中加载安装系统时使用的安装镜像
b、编写软件仓库文件
五、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 | 查看软件组信息 |
六、网络软件仓库的搭建
在企业中,我们维护的系统数量庞大,当我们需要在每个系统安装软件管理软件时,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源 ,如何节省这部分重复的资源,需要把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源了。
1、利用镜像搭建本地软件仓库
2、安装共享软件
#共享方式http:// 超文本传输协议
#提供此协议的软件 Apache
#软件包名称 httpd
#共享位置 /var/www/html
#安装命令 在 dnf install httpd -y
3.启用共享软件Apache
systemctl stop firewalld
systemctl disable firewalld
systemctl enable --now httpd
4、建立共享目录
5、挂载镜像文件到共享目录
6、在远程主机中访问资源并书写repo文件
设置开机自动挂载:
实验:利用网络软件仓库从阿里云镜像站下载flameshot
七、第三方软件仓库的搭建方法
可以使用dnf命令管理第三方软件,并使第三方软件在网络*享
步骤:
获取第三方软件:
建立共享目录,存放所有rpm类型的软件:
安装createrepo命令:
采集第三方软件数据,生成repodata数据目录:
在测试主机中指定第三方共享源:
读取软件仓库: