Linux系统中的软件管理

1.rpm命令管理软件包 

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

点击红框内的,然后就可以运行了:

已安装的软件可以用 rpm -e 软件名 来删除

查看软件安装文件列表:

可以查看已安装的软件安装后产生了哪些文件,也可以查看未安装的软件包安装后会产生哪些文件 

查看软件包若安装则会产生什么文件:

查看系统中所有已安装的软件并统计数量:

查询系统中已安装的软件或任意一个软件包:(linux11未安装)

  

查询某个文件/目录属于哪个软件:

查询软件的配置文件:

查询软件安装后产生的说明性文件:

查询软件信息:

已安装某个软件后再强行安装一遍 :

忽略依赖性安装软件: 

查询软件安装包在安装与卸载过程中的运行脚本:

通过查询得知,A不能安装,因为在卸载时有删根操作。

篡改安装包文件,然后检测安装包的md5校验码,发现安装包被篡改过:

篡改已安装软件中的文件,然后检测到已安装的软件在系统中文件的被篡改的信息:

2.本地软件仓库的搭建

(1)在系统中加载安装系统时使用的安装镜像

mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx
安装镜像:

(2)编写软件仓库文件

/ etc / yum.repos.d /      软件源指向文件配置目录
                                 在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo         软件仓库指向文件
[AppStream]         仓库名称
name = westos AppStream       描述
baseurl = file :/// westos / AppStream      地址
gpgcheck = 0          不检测 gpgkey 跳过授权检测
gpgkey = file :/// etc / pki / rpm - gpg / RPM - GPG - REDHAT - release
enabled = 1 | 0        
[BaseOS]
name = westos BaseOS
baseurl = file :/// westos / BaseOS /
gpgcheck = 0          跳过授权检测则不用写gpgkey
编写软件仓库文件:

能用这个命令列出刚才文件中写的AppStream和BaseOS,则说明编写成功:

安装http程序来验证刚才编写的软件仓库文件

(3)共享目录文件

3.dnf 软件管理命令

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

列出所有软件:

列出未安装软件:

列出已安装软件:

安装软件:

重新安装软件:

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命令清除系统中已经加载的软件仓库缓存信息后才可以识别到新加入的软件包: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值