一、软件包管理
1.Linux中软件包的类型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fadora
3.bz2|gz|xz #1.需要源码安装需要编译
#2.绿色软件,直接可用
ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 "configure"
Firefox-latest-x86_64.tar.bz2 绿色
注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件
2.rpm命令管理软件包
[root@westos_stude50 Desktop]# rpm -[options] software # 安装管理软件
options | 功能 |
---|---|
-i | 安装该软件包 |
-v | 显示指令执行过程 |
-h | 显示安装进度 |
-a | 查询所有已安装的 |
-f | 文件 |
-p | 软件包 |
-q | 查询 |
-l | 软件安装文件列表 |
-e | 卸载软件包 |
-c | 配置文件 |
-d | 说明 |
–info | 软件信息 |
–force | 强制安装 |
–nodeps | 忽略依赖性 |
–script | 显示在安装或卸载过程中的运行脚本 |
-Kv | 检测md5校验码 |
-V | 检测已安装软件的文件被修改信息 |
二、本地软件仓库的搭建
系统软件仓库的作用
1.在系统中对软件进行管理
2.rpm命令是不能解决依赖关系的
3.如果需要软件在安装过程中自动解决依赖关系
4.需要搭建系统软件仓库
1.搭建本地仓库方法
1.在系统中挂载镜像
mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx
实例:
mount /etc/iso/rhel8.2-x86_64-dvd.iso /var/www/html/westos
2.编写软件仓库文件
vim /etc/yum.repos.d/ ##软件源指向文件配置目录
##在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo ##软件仓库指向文件
vim /etc/yum.repos.d/westos.repo
[AppStream] ##仓库名称
name=AppStream ##描述
baseurl=file:///var/www/html/westos/AppStream ##地址
gpgcheck=0 ##不检测gpgkey (跳过授权检测)
####### file://为本地协议 ##########
[BaseOS]
name=BaseOS
baseurl=file:///var/www/html/westos/BaseOS/
gpgcheck=0
3.清除dnf缓存,重新加载软件仓库
[root@westos_stude50 Desktop]# dnf clean all
[root@westos_stude50 Desktop]# dnf repolist
三 、dnf 软件管理命令
1.安装管理包
[root@westos_stude50 Desktop]# dnf [options]
options | 功能 |
---|---|
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 | 查看软件组信息 |
2.下载安装包
yumdownloader #下载软件包到本机指定位置
yumdownloader httpd #下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt #下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录