软件安装包格式类型
- rpm: redhat linux(suse centos redhat)
 - deb: ub deb
 - tar: 绿色软件(调用脚本,直接可以运行) 源码编译(需要通过编译)
 
rpm包名称分析
- 1:软件名称
 - 2.软件版本
 - 3.软件授权
 - 4.软件多少位
 - 5.软件后缀表示软件包是rpm类型的
 - 在管理rpm软件包时用rpm命令
 
rpm命令
- rpm管理命令
 rpm -ivh +xxx.rpm
| 参数 | 作用 | 
|---|---|
| -ivh | 安装 | 
| -v | 显示过程 | 
| -h | hash 检测查看软件中的hash值是否有改变 | 
| -i (单独的-i) | install 安装 | 
| -e | 卸载 | 
| -q | 查看 | 
| -a | 所有 | 
| -qa | 查看所有安装过的软件 | 
| -l | 列出安装然后在系统中生成的文件 | 
| -p | 操作对象为软件包 | 
| –scripts | 查看软件在安装或卸载时在系统中执行的脚本 | 
| –force | 强制安装 | 
| -nodeps | 忽略软件依赖性安装 | 
| -K | 检测软件是否是原版软件 | 


- 设定实验环境:
 
mkdir /myr- 在虚拟机光驱中添加系统匹配镜像
 - 挂载景象到/myr
 
mount /dev/cdrom /myr(虚拟机中)mount /xxx/xxxxxxx.iso /myr(物理机中)
ls /myr
软件包如何拆解
rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id
yum软件仓库
- 软件仓库搭建的目的:
 - rpm不能自动解决软件依赖关系
 - yum仓库可以解决此问题
 
搭建软件仓库的步骤
- 得到与当前系统匹配的系统安装镜像文件
 - 建立系统安装镜像挂载点:
 
mkdir /softwaresource
- 挂载景象到景象挂载点:
 
mount /rhel7-xxxxxx.xxxxxx.iso /software(物理机中)
mount /dev/cdrom /software(window下虚拟机中)
- 配置系统访问软件路径(yum仓库指向文件)
 
cd /etc/yum.repos.d
rm -fr *
- 在rhel7中
 
vim westos.repo
[westosrhel7] #仓库名称
name=westos rhel7 source #仓库描述
baseurl=file:///softwaresource #资源路径
gpgcheck=0|1 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
- 在rhel8中
 
vim westos.repo
[westosAppStream] #仓库名称
name=westos rhel8 source AppStream #仓库描述
baseurl=file:///softwaresource/AppStream #资源路径
gpgcheck=0|1 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
[westosBaseOS] #仓库名称
name=westos rhel8 source BaseOS #仓库描述
baseurl=file:///softwaresource/BaseOS #资源路径
gpgcheck=0|1 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
- 清空yum缓存识别新文件案内容
 
- rhel7:
 
yum clean all
- rhel8
 
dnf clean all
yum命令
| 命令 | 作用 | 
|---|---|
| yum install | 安装 | 
| yum remove | 卸载 | 
| yum reinstall | 重新安装 | 
| yum list installed︱available︱all︱软件名称 | 列出 | 
| yum update | 更新 | 
| yum repolist | 列出仓库信息 | 
| yum history | 查看yum历史 | 
| yum info | 查看软件包信息 | 
| yum clean all | 清除yum缓存 | 
| yum search | 根据软件信息搜索 | 
| yum whatprovides | 根据软件包含文件搜索 | 
| yum groups install | 组安装 | 
| yum groups remove | 组卸载 | 
| yum groups info | 组信息 | 
第三方软件仓库
- 把所有rpm结尾的软件包存放到一个目录/software中
 
createrepo -v /software 
##生成软件数据库存放软件属性
vim /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=file:///software
gpgcheck=0
yum clean all
共享软件安仓库
- 软件仓库支持的访问方式
 - file:// 本地文件
 - ftp:// 文本传输协议
 - http:// 超文本传输协议
 - nfs: 网络文件系统
 - 搭建共享软件仓库的方式:
 
- 在含有软件资源的主机中安装共享软件(仅共享出去一部分文件,并非系统全部)
 
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd


- 关闭selinux和firewalld
 - selinux:
 
getenforce ##查看selinux的状态

- 关闭selinux:
 
vim /etc/sysconfig/selinux

- 重启系统
 
reboot
- 
再次查询状态
 - 
firewalld:
 - 
关闭firewalld
 
systemctl stop firewalld 
systemctl disable firewalld
- 用另一台主机访问这台主机,发现可以访问共享出去的目录

 
- 建立共享目录
 
mkdir /var/ftp/rhel7.6 /var/ftp/software
- 在共享目录中存放软件资源
 
- 把所有第三方软件放入
/var/ftp/software并执行createrepo -v /var/ftp/software - 挂载系统安装景象资源到/var/ftp/rhel7.6
 
mount /dev/cdrom /var/ftp/rhel7.6 
##使用此命令挂载为临时挂载
- 永久挂载系统安装景象资源到
/var/ftp/rhel7.6 
vim /etc/rc.d/rc.local
mount /dev/cdrom /var/ftp/rhel7.6
chmod +x /etc/rc.d/rc.local

- 测试:
 - 在rhel8中:
 firefox ftp://192.168.1.10/software ##显示资源firefox ftp://192.168.1.10/rhel7.6 ##显示资源

vim /etc/yum.repos.d/myr.repo
[rhel7.6]
name=rhel7.6
baseurl=ftp://192.168.1.10/rhel7.6
gpgcheck=0
[software]
name=software
baseurl=ftp://192.168.1.10/software
gpgcheck=0
yum clean all
##清空缓存
yum install dhcp(软件名) -y
## 直接安装
                                    来源:CSDN
作者:强壮的小蛋蛋
链接:https://blog.csdn.net/wnccmyr/article/details/104398808

