#### 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.软件包的名称结构 ####
[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
-a ##所有
-f ##文件
-p ##软件包
-q ##查询
-l ##软件安装文件列表
-e ##卸载
-c ##配置文件
-d ##说明
--info ##软件信息
--force ##强制
--nodeps ##忽略依赖性
--script ##查询软件在安装或卸载过程中的运行脚本
-Kv ##检测软件md5校验码
-V ##检测已安装软件在系统中的文件被修改信息
#### 4.本地软件仓库的搭建 ####
#
#系统软件仓库的作用
#
#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要大家系统软件仓库
##搭建方法##
1.在系统中加载安装系统时使用的安装镜像
mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx
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
enabled=1|0
[BaseOS]
name=westos BaseOS
baseurl=file:///westos/BaseOS/
gpgcheck=0
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目录
#### 6.网络软件仓库的搭建 ####
westos_linux: 172.25.254.10
westos_node1: 172.25.254.20
在westos_node1中已经搭建好软件仓库,
在westos_linux中是无法访问的
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样管理软件会浪费大量的资源
如何节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以利用网络访问资源,不需要在每一台
主机中独立建立软件资源了。
##搭建方法##
1.利用景象搭建本地软件仓库
2.安装共享软件
#共享方式http:// 超文本传输协议
#提供此协议的软件 Apache
#软件包名称 httpd
#共享位置 /var/www/html
#安装命令 在westos_node1: dnf install httpd -y
3.启用共享软件Apache
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl enable --now httpd
4.建立共享目录
# mkdir /var/www/html/westos_8
5.挂在景象到共享目录
# umount /iso/rhel-8.2-x86_64-dvd.iso
# mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/rhel8 当镜像在系统中存在
# vim /etc/rc.d/rc.local 在开机时自动挂
# mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/rhel8 当镜像在系统中存在
# chmod 755 /etc/rc.d/rc.local
6.在远程主机westos_linux中访问资源并书写repo文件
vim /etc/yum.repos.d/westos.repo
[AppStream]
name=AppStream
baseurl=baseurl=file:///var/www/html/rhel8/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///var/www/html/rhel8/BaseOS
gpgcheck=0
#### 6.第三方软件仓库的搭建方法 ####
可以使用dnf命令管理第三方软件
并使第三方软件在网络中共享
##步骤##
1.建立共享目录
# mkdir /var/www/html/software
2.把所有的第三方软件存放到/var/www/html/software中
# /var/www/html/software中只能存在rpm类型的文件,压缩包是不能使用dnf管理的
3.采集第三方软件数据生成repodate目录
# dnf install createrepo -y 安装采集工具
# cd /var/www/html/software 进入到共享目录
# createrepo . 对共享目录中进行扫描生成repodate数据目录
4.在测试主机中指定第三方共享源
# vim /etc/yum.repos.d/westos.repo
# [software]
# name=software
# baseurl=http://172.25.254.20/software
# gpgcheck=0