#### 1.Linux中软件包的类型 ####
1.DEB #UBlinux (ubuntu操作系统) 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.软件包的名称结构 ####
[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(哈希表)
安装firefox时需要先安装依赖文件
-a ##显示文件的状态
-f ##文件
rpm -qf /bin/cat ##查找进程在哪个软件中
-p ##软件包
-q ##查询
查询系统中有没有安装软件
rpm -qpl firefox-68.6.0-1.el8-1.x86-64 ##列出RPM软件包内的所有软件信息
-l ##软件安装文件列表
-e ##卸载
-c ##配置文件
查询此服务的配置文件
-d ##说明
显示此服务的相关说明文件
--info ##软件信息
--force ##强制
强制重新安装firefox
--nodeps ##忽略依赖性
--script ##查询软件在安装或卸载过程中的运行脚本
-Kv ##检测软件md5校验码
这个安装包二次校验过不去,因为被篡改过
-V ##检测已安装软件在系统中的文件被修改信息
出现S.5...说明文件被改过
用cpio把数据显示出来,显示出来的数据传给cpio的一个定向然后输出成一个目录(拆解一个压缩包)
#### 4.本地软件仓库的搭建 ####
#系统软件仓库的作用
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系,需要大家系统软件仓库
1.建立软件仓库
建立一个目录,将rhel-8.2-x86_64-dvd.iso(相当于一个u盘里面有资源)挂载到目录中,软件仓库就建立好了,为了让系统识别,要编写软件仓库文件
curl file:///source/AppStream ##查看文件的路径是否存在
2.编写软件仓库文件
/etc/yum.repos.d/ ##软件源指向文件配置目录
##在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo ##软件仓库指向文件
[AppStream] ##仓库名称
name=westos AppStream ##描述
baseurl=file:///westos/AppStream ##真实地址/表示根目录
gpgcheck=0 ##不检测gpgkey (跳过授权检测)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-REDHAT-release ##红帽公司授权的key(安装软件时会对比,如果配对授权成功)
enabled=1|0 ##仓库启用或者关闭,一般默认为1[baseOS]
name=westos baseOS
baseurl=file:///westos/baseOS/
gpgcheck=0
test:
为了让开机时自动挂载,编写一个开机自运行脚本
#######5 网络仓库创建########
dnf install httpd -y ##无需确认安装httpd
systemctl enable --now httpd ##启动httpd
systemctl enable --now firewalld ##启动防火墙
firewall-cmd --permanent --add-service=http ##设置允许权限
进入本机的ip网页
创建一个目录,把之前挂载的镜像文件卸载之后,又重新挂载在新建的目录之下
编写软件仓库的指向文件network.repo
第三方软件(linuxqq)的安装
建立qq软件仓库:建立software目录----->安装createrepo(描述各rpm包所需依赖信息,并形成元数据)---->编写仓库的指向文件----->扫描输出详细信息
#### 6.dnf 软件管理命令 ####
#安装管理包#
dnf repolist ##列出仓库信息
clean all ##清除系统中已经加载的仓库缓存信息 /var/cache/dnf
dnf list all ##列出所有软件
dnf list available ##列出未安装软件
dnf list installed ##列出已安装软件
dnf install gcc -y ##安装软件
remove ##卸载
dnf reinstall gcc ##重新安装
search ##搜索
whatprovides ##搜索包含文件的软件包(比如查找安装软件时所需要的依赖软件包)
history ##dnf执行历史
history info ##dnf执行历史详细信息
group list ##列出软件组
group list --installed ##列出已安装软件组
group list --available##列出未安装软件组
group list --hidden##列出隐藏软件案组
group install##安装软件组
group info ##查看软件组信息
下面是软件组中包含的软件包
#下载安装包#
在红帽8中已经不用yum 用dnf 代替,是dnf的软链接
epel 官方提供的第三方扩展软件仓库,其中包含一些系统工具,如画图工具,截屏工具等等
安装epel源到主机(epel rpm 包成功安装后,它将自动启用并配置其 yum/dnf 仓库)
安装此软件目的是为了在/etc/yum.repos.d/中生成新的软件下载路径指向文件
出现了很多网络上的源,搜索kolourpaint软件
如何下载网络软件源中的软件到本机(一次下载多次使用)
安装插件yum-utils
yumdownloader #下载软件包到本机指定位置
yumdownloader httpd #下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt#下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录



