1.Linux中软件包的类型 ####
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fadora RMP (红帽)是 LINUX 下的一种软件的可执行程序,这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
3.bz2|gz|xz #1.需要源码安装需要编译
用户平时使用软件时就是程序把“源码”翻译成我们可直观的形式表现出来供用户使用的。任何一个网站页面,换成源码就是一堆按一定格式书写的文字和符号。
源码主要功用
a、生成目标代码,即计算机可以识别的代码。
b、对软件进行说明,即对软件的编写进行说明。
#2.绿色软件,解压以后,不需要安装,直接可用
#ntfs-3g_ntfsprogs-2017.3.23.tgz rpm包 通过rpm -ivh 目录名称安装可以使用
需要编译 "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 安装并在安装过程中显示正在安装的文件信息及安装进度
rpm -i example.rpm 安装 example.rpm 包;
rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;
--nodeps--force
-a ##所有
-f ##文件
-p ##软件包
-q ##查询
-l ##软件安装文件列表
-e 卸载
-c ##配置文件
-d ##说明
--info ##软件信息
--force ##强制
--nodeps ##忽略依赖性
--script ##查询软件在安装或卸载过程中的运行脚本
必须操作此命令,否则程序运行在容易出现问题
-Kv ##检测软件md5校验码
-V ##检测已安装软件在系统中的文件被修改信息
被改过的安装包一般不直接使用,程序正常与否未知
#### 4.本地软件仓库的搭建 ####
#系统软件仓库的作用
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要大家系统软件仓库
##搭建方法##
1.在系统中加载安装系统时使用的安装镜像
mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx2.编写软件仓库文件
/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
enabled=1|0 等于1:软件仓库启用,.表示不启用。
[BaseOS]
name=westos BaseOS
baseurl=file:///westos/BaseOS/
gpgcheck=0
gpgcheck是gpg签名是否开启的选项名称,(相当于Linux的商标验证)1是开启,需要写key的位置 0是不开启,不需要gpgkey ,一般内部部署软件包下载可以关掉。验证成功代表是已授权的软件,不成功代表没有授权
gpg签名主要用来在Linux实现官方发布的包的签名机制,主要为了软件下载使用的安全。
GPG分为公钥及私钥。
公钥:顾名思义,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据。
Gpgkey 钥匙的位置 etc/pki/rpm-gpg/RPM-GPG-REDHAT-release
3.test
dnf install gcc -y
#### 5.dnf 软件管理命令 ####
#安装管理包#
dnf 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 ##查看软件组信息
#下载安装包#
yumdownloader
#下载软件包到本机指定位置
yumdownloader httpd
#下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt
#下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录