1.rpm命令管理软件包
点击红框内的,然后就可以运行了:
已安装的软件可以用 rpm -e 软件名 来删除
查看软件安装文件列表:
可以查看已安装的软件安装后产生了哪些文件,也可以查看未安装的软件包安装后会产生哪些文件
查看软件包若安装则会产生什么文件:
查看系统中所有已安装的软件并统计数量:
查询系统中已安装的软件或任意一个软件包:(linux11未安装)
查询某个文件/目录属于哪个软件:
查询软件安装后产生的说明性文件:
已安装某个软件后再强行安装一遍 :
忽略依赖性安装软件:
查询软件安装包在安装与卸载过程中的运行脚本:
通过查询得知,A不能安装,因为在卸载时有删根操作。
篡改安装包文件,然后检测安装包的md5校验码,发现安装包被篡改过:
篡改已安装软件中的文件,然后检测到已安装的软件在系统中文件的被篡改的信息:
2.本地软件仓库的搭建
(1)在系统中加载安装系统时使用的安装镜像
(2)编写软件仓库文件
能用这个命令列出刚才文件中写的AppStream和BaseOS,则说明编写成功:
安装http程序来验证刚才编写的软件仓库文件:
(3)共享目录文件
3.dnf 软件管理命令
列出所有软件:
列出未安装软件:
列出已安装软件:
安装软件:
重新安装软件:
dnf reinstall,一般软件文件损坏才会考虑重装软件
卸载软件:
搜索某个软件名称:
搜索包含文件的软件包:
dnf执行历史:
dnf执行历史详细信息:
搜索id为9的dnf执行命令:
列出软件组:
软件组由多个软件包组成,来共同组成一个复杂的功能
列出已安装软件组:
列出未安装软件组:
列出隐藏软件组:
安装软件组:
查看软件组信息:
若查看的软件组名称中有空格,则需要加上引号:
4.用外网url的repo源安装软件
(1)上阿里云下载并安装epel镜像
需要清除系统中已经加载的仓库缓存信息 :
把repo配置中的地址替换为阿里云的地址:
挂镜像:
(2)安装一些软件
安装ansible:
5. 创建自定义软件安装包的repo信息
dnf命令执行时不查看软件包本身是否存在,而是看该软件包在repo文件指向的目录中的repodata目录中的该软件的xml文件(repo信息记录文件)是否存在。若存在,dnf命令才能识别到这个软件的存在,否则识别不到
这里可以看到,只在网页上共享软件包和在repo文件中指明url不能让dnf命令识别到这个qq软件包:
而createrepo软件能帮助生成软件的这个repo信息文件
用createrepo创建自定义软件安装包的repo信息后,可以让系统读取到它,然后将这个自定义的软件安装包视为真正的软件安装包。
先安装createrepo软件包:
增加Software在repo文件中指向信息:
用createrepo为Software增加的repodata目录中的xml信息文件:
可以使用dnf命令在这个目录下查找到Linuxqq这个软件包:
6.自定义软件仓库中添加新软件包
往自定义软件仓库中添加新软件包:
需要重新用createrepo生成repo信息文件,把新软件包记录进去:
用dnf clean all命令清除系统中已经加载的软件仓库缓存信息后才可以识别到新加入的软件包: