一.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 绿色
tips:在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 ##检测已安装软件在系统中的文件被修改的信息
rpm2cpio 安装包 ##拆解软件安装包中的文件 | cpio -id 输出成目录
查询都要加-q
四.软件仓库
挂载 mount /iso/rhel-8.2-x86_64-dvd.iso /sourcedir
#系统软件仓库的作用
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库
编写软件仓库文件
创建一个挂载的目录 mkdir /sourcedir
挂载资源mount /iso/rhel-8.2-x86_64-dvd.iso /sourcedir (只读挂载)
cd /sourcedir 已经存在这个目录中了(仓库就搭建完成)
cd /etc/yum.repos.d 把里面的文件清空
vim westos.repo(名字任意自己起,但是必须以repo结尾,否则系统不识别)
/etc/yum.repos.d/ ##软件源指向文件配置目录
##在此目录中不能有无法访问的源指向
vim /etc/yum.repods.d/xxx.repo ##软件仓库指向文件
[AppStream] ##仓库名称
name=AppStream ##描述
baseurl=file:///sourcedir/AppStream ##挂载地址
gpgcheck=0 ##不检测gpgkey(跳过授权检测)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
[BaseOS]
name=BaseOS]
baseurl=file:///sourcedir/BaseOS
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
测试 dnf list all
******以上这些挂载都不是永久的,关机开机之后就没有了
开机自运行脚本, cd 然后 vim /etc/rc.d/rc.local
然后把命令mount /iso/rehel8.2-x86_64-dvd.iso /sourcedir 复制进去
然后给它一个可执行的权力 chmod +x /etc/rc.d/rc.local
五.dnf软件仓库管理命令
dnf repolist ##列出仓库信息
clean all ##清楚系统中已经加载的仓库缓存信息
list all ##列出所有软件
list available ##列出未安装软件
list installed ##列出已安装软件
install ##安装 -y 直接安装
remove ##卸载
reinstall ##重新安装
search ##搜索
whatprovides ##搜索包含文件的软件包
history ##dnf执行历史 (只是看有影响的操作,比如卸载什么的)
history info ##dnf执行历史详细信息 (最后可以加数字123,就算第几行)
group list ##列出软件组
group list --installed ##列出已安装软件组
group list --available ##列出未安装软件组
group list --hidden ##安装软件组
group info ##查看软件组信息
#下载安装包 (不用本地软件仓库源,官方提供源epel for rhel8)
dnf install epel地址
先dnf search yum dnf install yum-utils.noarch-y 后会有yumdownloader命令
yumdownloader #下载软件包到本机
yumdownloader httpd 软件安装包 ##下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt httpd #下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader --destdir=/mnt httpd 软件安装包 --resolve #下载仓库中指定软件的安装包和软件依赖性到/mnt目录
后rpm命令下载