@[TOC](Linux系统中的软件管理)
1.Linux中软件包的类型
类型 | 含义 |
---|---|
DEB | 适用于UBlinux DEBlinux |
RPM | 适用于redhat centOS fadora |
bz2/gz/xz | 有两种类型:需要源码安装需要编译;绿色软件直接可用 |
注意:
- 在rhel8里只能使用绿色软件,源码编译软件和rpm软件
- 绿色软件:直接可用类软件,只需要相对应的格式进行解压,解压完成后会产生相对应的脚本,直接去输入“./脚本名”,该软件就可以正常运行了
2.软件包的名称结构
linuxqq_2.0.0-b2-1084_x86_64.rpm
结构 | 含义 |
---|---|
linuxqq | 软件名称 |
2.0.0-b2 | 软件版本 |
1048 | 软件的授权协议版本 |
x86_64 | 软件架构 |
rpm | 软件类型后缀 |
3.rpm命令管理软件包
rpm命令的参数 | 含义 |
---|---|
-ivh | 安装参数组合 install verbose hash |
-a | 所有 |
-f | 文件;rpm -qf 文件,查询某文件属于哪个安装包 |
-p | 软件包,在企业7之前的版本里,查询一个安装包时,前面要加p参数,rpm -pq 安装包,现在企业8里面加不加p都可以 |
-q | 查询 |
-e | 卸载 |
-c | 查看某个软件的配置文件 |
-l | 软件安装文件列表,即软件安装完成后会产生什么样的文件 |
-d | 说明,查看帮助文件 |
–info | 软件信息;该参数可以在前面写-i,或者在最后加上–info |
–force | 软件安装一次后想再安装一次,系统会提示已经安装过不能再安装。当软件包里的文件丢失时,想要恢复它,可以使用该参数强制安装一次 |
-nodeps | 忽略依赖性 |
-script | 查询软件在安装或卸载过程中的运行脚本,可以用于检测软件 |
-Kv | 检测软件md5校验码,使用该参数时,可以看到该软件md5校验码为ok。篡改:比如说在该软件包里追加了一份文件,此时再用该参数去校验,会失败,表示软件被篡改,不属于原厂软件 |
-V | 检测已安装软件在系统中的文件被修改信息 |
1.安装软件
2.查询软件
查询所有软件
查询该软件的配置文件
查看该软件的帮助文件
3.查看软件信息
4.强制安装已安装的软件
5.检测软件md5校验码
4.本地软件仓库的搭建
1.系统软件仓库的作用
1)在系统中对软件进行管理
2)rpm命令是不能解决依赖关系的
3)如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库
2.搭建方法:
1)切换到目录: cd /etc/yum.repos.d/
2) 在实验前把目录里面东西全部删除
rm -rf /etc/yum.repos.d/*
3) 在根下建立读取目录
mkdir /westos
4)在系统中加载安装系统时使用的安装镜像
3.编写软件仓库文件
软件源指向文件配置目录:cd /etc/rum.repos.d/
编辑软件仓库指向文件:vim /etc/yum.repos.d/westos.repo
编辑完成后软件仓库就搭建完成,就可以安装软件
删除配置文件,解除搭建就不能安装软件
4.设置开机启动挂载镜像
打开文件vim /etc/rc.d/rc.local
编写挂载命令
添加可执行权限
5.网络软件仓库的搭建
网络软件仓库搭建就是把大家都需要的网络资源共享到互联网上,这样大家就可以用网络访问资源,不需要在每一台主机中建立软件资源了。共享方式:http://超文本传输协议 提供此协议的软件:Apache
软件包名称:httpd 共享位置:/var/www/html
挂载镜像到共享目录
编写repo文件
开启镜像自动挂载
6.dnf软件管理命令
dnf命令的参数 | 含义 |
---|---|
repolist | 列出仓库信息 |
clean all | 清除系统中已经加载的仓库缓存信息,清除的实际文件是/var/cache/dnf里的内容 |
list all | 列出所有软件 |
list available | 列出未安装的软件 |
list installed | 列出已安装的软件 |
install | 安装软件 |
remove | 卸载 |
reinstall | 重新安装 |
search | 搜索 |
whatprovides | 搜索包含文件的软件包 |
history | 执行历史 |
group list | 列出软件组 |
group list --avaliable | 列出未安装软件组 |
group list --hidden | 列出隐藏软件案组 |
group install | 安装软件组 |
group info | 查看软件组信息,后面加组的名称 |
group remove | 卸载组 |
1.列出仓库信息
清除系统中已经加载的仓库缓存信息
安装软件
搜索
列出软件组
7.下载安装包
用dnf install 软件名这种方式安装一个软件安装完成后是没有软件包的,当不需要安装,只下载时,用该参数。查找yumdownloader 命令软件包的位置等信息可以使用:dnf whatprovides */yumdownloader
命令 | 参数 |
---|---|
yumdownloader | 下载软件包到本机指定位置 |
yumdownloader httpd | 下载仓库中指定软件的安装包到当前目录 |
yumdownloader httpd --destdir=/mnt | 下载仓库中指定软件的安装包到指定目录 |
yumdownloader httpd --destdir=/mnt --resolve | 下载仓库中指定软件安装包和软件依赖性到/mnt目录 |
查找yumdownloader命令软件包
下载软件包
下载软件包和软件依赖性到指定目录
8.第三方软件仓库的搭建
之前建立的软件仓库是官方授权的软件,现在第三方软件仓库是用来存方未授权的软件。可以使用dnf命令管理第三方软件,并使用第三方软件在网络中共享。注意,该仓库中只能存在rpm类型的软件,压缩包是不能使用dnf管理的
1)同本地仓库搭建一样,安装httpd,关闭火墙,开启http协议
2)建立共享目录,把第三方软件考到共享目录里,此时进入网页看到自己的软件。但它还不是一个软件仓库,需要进行数据采集
3)采集第三方软件数据生成repodate目录
安装采集工具:dnf install createrepo -y
进入到共享目录: cd /var/www/html/software
对共享目录中进行扫描生成repodate数据目录:createrepo -V /var/www/software
扫描完成后查看该目录下会生成一个repodate文件,里面存放数据,可以说生成这个文件就是软件仓库的标识,此时就可以使用了
指定第三方软件源
此时就可以使用第三方软件源