1.Linux中软件包的类型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fadora
3.bz2|gz|xz #1.需要源码安装 需要编译
#2.绿色软件,直接可用
#ntfs-3g_ntfsprogs-2021.3.23.tgz 需要编译"configure"
#Firefox-latest-x86_64.tar.bz2 绿色"注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件"
2.软件包的名称结构
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 51.软件名称
2.软件版本
3.软件的授权协议
4.软件架构
5.软件类型后缀
3.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 linuxqq_2.0.0-b2-1084_x86_64.rpm | cpio -id
#将rpm格式的文件转为cpio格式的文件。 管道后指的是从cpio中提取文件名
4.本地软件仓库的搭建
系统软件仓库的作用
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要搭建系统软件仓库
搭建方法
1.在系统中加载安装系统时使用的安装镜像
mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx2.编写软件仓库文件
/etc/yum.repos.d/ #软件源指向文件配置目录
#在此目录中不能有无法访问的源指向cd /etc/yum.repos.d/ #软件仓库指向文件
mv * /dir/
vim name.repo #新建一个源指向
[AppStream] #仓库名称
name=AppStream #描述
baseurl=file:///dir/AppStream #地址
gpgcheck=0 #不检测gpgkey (跳过授权检测)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1或0 #启用这个源[BaseOS]
name=BaseOS
baseurl=file:///dir/BaseOS
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled=1
vim /etc/rc.d/rc.local #添加开机启动
mount /iso/rhel-8.2-x86_64-dvd.iso /dir/chmod +x /etc/rc.d/rc.local #给予权限
3.测试
dnf list all
5.dnf 软件管理命令
5.1安装管理包
dnf repolist #列出仓库信息
clean all #清楚系统中已经加载的仓库缓存信息 (var/cache/dnf)
list all #列出所有软件
list available #列出未安装软件
list installed #列出已安装软件
install #安装
remove #卸载
reinstall #重新安装
search #搜索
whatprovides #搜索包含文件的软件包(dnf whatprovides */gcc)
history #dnf执行历史
history info #dnf执行历史详细信息
group list #列出软件组
group list --installed #列出已安装软件组
group list --available #列出未安装软件组
group list --hidden #列出隐藏软件组
group install #安装软件组
group info #查看软件组信息
5.2下载yum软件包
在联网状态下,在浏览器搜索epel for rhel8 下载软件仓库
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmdnf search yum #搜索yum
dnf install yum-utils.noarch -y #安装yum
yumdownloader #下载软件包到本机指定位置
yumdownloader httpd #下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt #下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录