1. Linux中软件包的类型
1)DEB ##UBlinux DEBlinux
2)RPM ##redhat centOS fadora
3)bz2|gz|xz
##1.需要源码安装需要编译
##2.绿色软件,直接可用
##3.ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译
##configure”Firefox-latest_x86_64.tar.bz2 绿色
以qq的安装及卸载为例子:
2. 软件包的名称结构
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀
3. rpm命令管理软件包
命令 | 含义 |
---|---|
rpm -ivh | 安装参数组合 -i install -v verbose -h hash |
rpm -a | 所有,结合-q使用,-qa显示所有安装包的名字 |
rpm -f | 文件 |
rpm -p | 软件包 |
rpm -q | 查询 |
rpm -l | 列表 |
rpm -e | 卸载 |
rpm -c | 配置文件 |
rpm -d | 说明 |
rpm --info | 软件信息 |
–force | 强制 |
–nodeps | 忽略依赖性 |
–script | 查询软件在安装或卸载过程中运行的脚本 |
-Kv | 检测软件md5校验码 |
-V | 检测已安装软件在系统中的文件被修改信息 |
注意: rpm命令是不能解决依赖性关系的
如果需要解决软件安装过程中自动解决依赖性关系,需要搭建软件仓库
4. 搭建本地软件仓库
目的: 解决安装依赖性的问题
要求: 本地主机下载镜像rhel-8.2-x86_64-dvd.iso 到/iso文件夹下
搭建方法:
1.创建挂载镜像的文件夹 /westos
2. 清除原来的软件仓库配置文件
-mkdir /westos
- cd /etc/yum.repos.d ##创建挂载目录/ ##进入软件源指向文件配置目录
- rm -rf /etc/yum.repos.d/*/ ##清除原来的软件仓库配置文件
- vim /etc/yum.repos.d/westos.repo ##编写软件仓库指向文件
检测本地软件库是否可用:
5. 共享网络源
目的: 远程共享服务器的软件安装库
共享安装的服务器设置:
1.共享服务器安装httpd服务
httpd是Apache超文本传输协议(HTTP)服务器的主程序
- dnf install httpd -y ##共享服务器安装httpd服务
x-special/nautilus-clipboard
copy
file:///home/westos/Desktop/Screenshot%20from%202021-01-24%2009-45-42.png
- 关闭本机防火墙
- 开启本机的httpd服务
4. 卸载之前挂载在/westos/下的镜像
- umount /iso/rhel-8.2-x86_64-dvd.iso /westos/ ##卸载之前挂载的镜像
5.建立新的挂载文件夹
6.挂载镜像 - mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/westos ##挂载镜像到网络共享的目录
- 网页访问http://172.25.254.2/westos 可以访问
7.挂载镜像设置开机自启动脚本
注意:
http共享目录必须建立在/var/www/html/下!!!
- 客户端和服务器设置软件源指向
客户端设置软件源指向:客户端可以通过网络共享的方式下载软件源
服务端设置软件源指向:服务端本机可以通过网络共享的方式下载软件源
6.第三方软件仓库安装
- 关闭防火墙
- systemctl disable --now firewalld ##关闭防火墙
- 拷贝第三方软件到共享目录
- 采集第三方软件数据生成repodate目录
-
dnf install createrepo ##安装工具
-
createrepo -v /var/www/html/software ##对共享目录进行扫描,生成repodata数据目录
注意: /var/www/html/software只能存在rpm类型的文件,压缩包是不能使用dnf管理的。
4. 在测试主机中指定第三方共享源
7. dnf软件管理命令
!!!! 使用前提是软件仓库已经搭建完成
安装管理包
命令 | 功能 |
---|---|
dnf repolist | 列出仓库信息 |
dnf clean all | 清除系统中已经加载的仓库缓存信息 |
dnf list all | 列出所有软件 |
dnf list available | 列出未安软件 |
dnf list installed | 列出已安装的软件 |
dnf install | 安装软件 |
dnf remove | 卸载安装的软件 |
dnf reinsatll | 对于已经安装的软件重新安装 |
dnf search | 搜索 |
dnf whatprovides | 搜索包含文件的软件包 |
dnf history | dnf执行历史 |
dnf history info number | dnf执行历史详细信息 |
安装包组管理
命令 | 功能 |
---|---|
dnf group list | 列出软件组 |
dnf group list --installed | 列出已安装软件组 |
dnf group list–available | 列出未安装软件组 |
dnf group --hidden | 列出隐藏软件组 |
dnf group install | 安装软件组 |
group info | 查看软件组信息 |
下载安装包
命令 | 功能 |
---|---|
yumdownloader | 下载软件包到本机指定位置 |
yumdownloader httpd XXX(软件) | 下载仓库中指定软件的安装包到当前目录 |
yumdownloader XXX(软件) --destdir=/mnt | 下载仓库中指定软件的安装包到指定的目录 |
yumdownloader httpd --destdir=/mnt --resolve | 下载仓库中指定软件安装包和软件依赖性到/mnt目录 |