目录
一、Linux中软件包的类型
二、软件包的名称结构
三、rpm命令管理软件包
四、本地软件仓库的搭建
五、dnf软件管理命令
总结
一、Linux中软件包的类型
DEB |
UEBlinux DEBlinux |
RPM |
redhat centOS fadora |
bz2 | gz | xz |
1.需要软件源码安装需要编译 2.绿色软件,直接可用 #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 |
-a |
所有 |
-f |
文件 |
-p |
软件包 |
-q |
查询 |
-l |
软件安装文件列表 |
-e |
卸载 |
-c |
配置文件 |
-d |
说明 |
- -info |
软件信息 |
- -force |
强制 |
- -nodeps |
忽略依赖性 |
- -script |
查询软件在安装或卸载过程中的运行脚本 |
-Kv |
检测软件md5校验码 |
-V |
检测已安装软件在系统中的文件被修改信息 |
在/software目录下放着一下安装包
-q查询相关的组合:
-V
--script
--nodeps
四、本地软件仓库的搭建
1.创建本地仓库
首先配置网络环境
使用:nm-connection-editor
系统软件仓库的作用:在系统中对软件进行管理,rpm命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖关系,需要大家配置系统软件仓库。
1.在系统中加载安装系统时使用的安装镜像
通过/westos来读取/iso/rhel-8.6-x86 64-dvd.iso中的内容,你自己知道把镜像挂在到了/westos目录中,但是系统不知道那么我们需要用文件的方式把我们在那个目录中有安装资源的信息指定给系统。
2.编写软件仓库文件
[AppStream] |
仓库名 |
name=AppStream |
描述 |
baseurl=file:///192.168.1.10/westos/AppStream |
地址 |
gpgcheck=1 |
不检测gpgkey(跳过授权检测) |
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release |
|
enabled=1 |
|
如果dnf list all可以列出所有的软件,就证明你的软件仓库配置成功了!
总结:1.挂载镜像 2.给系统指定挂载的镜像的位置
2.通过网络共享本地仓库
公司服务器系统都需要部署软件仓库,我们可以在一台主机放入镜像并通过网络共享内容,其他主机通过网络访问即可。
以上挂载是临时生效的,如果需要开机自动挂载需要编写下面的文件,并赋予x权限
接下来配置另一台主机的
最后访问第一台主机的端口/westos/
五、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 |
查看软件组信息 |
安装不想要提示是否安装给后面加-y:dnf install gcc -y
下载安装包
yumdownloader |
下载软件包到本机指定位置 |
yumdownloader httpd |
下载仓库中指定软件的安装包到当前目录 |
yumdownloader - - destdir=/mnt |
下载仓库中指定软件的安装包到指定/mnt目录 |
yumdownloader httpd - - destdir=/mnt - - resolve |
下载仓库中指定软件安装包和软件依赖性到/mnt目录 |
总结
本章内容着重对Linux系统中的软件管理及软件仓库进行了讲解,开始讲了rpm命令对软件包的管理,之后讲解了中央仓库的搭建其中软件仓库的搭建一定要注意好和本地网络的一致性,最后讲解了dnf对软件包的管理。