软件安装包格式类型
- 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