目录
一、linux系统中的软件包类型
1、DEB
deb 是 Unix 系统(其实主要是 Linux )下的安装包,基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。由于 Unix 类系统对权限、所有者、组的严格要求,而 deb 格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要。
deb 包本身有三部分组成:数据包,包含实际安装的程序数据,文件名为 data.tar.XXX;安装信息及控制脚本包,包含 deb 的安装说明,标识,脚本等,文件名为 control.tar.gz;最后一个是 deb 文件的一些二进制数据,包括文件头等信息,一般看不到,在某些软件中打开可以看到。
2、RPM
RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。
3、bz2 、gz、xz
(1)需要源码安装,需要编译
(2)为绿色软件,可以直接使用
二、软件包的名称结构
[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 #verbos -h #hash |
-a | 所有 | |
-f | 文件 | |
-p | 软件包 | |
-q | 查询 | |
-l | 软件安装文件列表 | |
-e | 卸载 | |
-c | 配置文件 | |
-d | 说明 | |
--info | 软件信息 | |
--force | 强制 | |
--nodeps | 忽略依赖性 | |
--scripts | 查询软件在安装或卸载过程中的运行脚本 | |
-Kv | 检测软件md5校验码 | |
-V | 检测已安装软件在系统中的文件被修改的信息 |
在真实主机中下载软件仓库镜像(在红帽官网也可下载),选择rhel-8.2右键选择复制地址
创建/iso目录,并将镜像下载到目录中
在虚拟机中创建/software目录,下载软件linuxqq到/software
查询所有软件包并过滤ssh
查询说明
查询软件的相关信息
查询软件安装的文件列表
查询软件在安装过程或卸载过程中运行的脚本
检测软件md5校验码
四、本地软件仓库的搭建
建立/sourcedir目录,将已经下载的镜像挂载到/sourcedir中
此时软件仓库就已经下载到/sourcedir中
打开浏览器访问file:///source可以看到软件仓库AppSteam和BaseOS
切换目录,查看目录下的内容,删除所有
建立并编辑westos.repo文件,注意文件的后缀名必须时repo。
编辑文件内容。
查看key认证
设置开机自动挂载镜像到/sourcedir
编辑/etc/rc.d/rc.local文件,在底下添加挂载语句并保存;修改文件的属性;重启测试是否为开机立即挂载。
五、dnf软件管理命令
dnf | repolist | 列出仓库信息 |
clean all | 清除仓库中已经加载的仓库缓存信息 | |
list all | 列出所有软件 | |
list avaliable | 列出未安装软件 | |
list installed | 列出已安装软件 | |
install | 安装 | |
remove | 卸载 | |
reinstall | 重新安装 | |
search | 搜索 | |
whatprovides | 搜索包含文件的软件包 | |
history | dnf执行历史 | |
history info | dnf执行历史的详细信息 | |
group list | 列出软件组 | |
group list --installed | 列出已安装的软件组 | |
group list --avaliable | 列出未安装的软件组 | |
group list --hidden | 列出隐藏软件组 | |
group install | 安装软件组 | |
group info | 查看软件信息 |
【举例】