常见的LINUX中的软件安装包类型有 :
1.rpm(红帽系统的安装包格式)
2. deb(Debian和Ubuntui系统的安装包格式)
3. tar: 有绿色软件和源码编译两种
1:软件名称(name): dhcp-server
2.软件版本(version): 4.3.6-30
3.软件授权(lelease): rl8
4.软件多少位(arch): x86_64
5.软件后缀表示软件包是rpm类型的(type): rpm
注意:在管理rpm软件包时需要用rpm命令
rpm管理命令 | 用途 |
---|---|
rpm -ivh | 安装 |
rpm -i | install 安装 |
rpm -v | 显示安装的详细过程 |
rpm -h | 检测查看软件中的hash值是否有改变 |
rpm -e | 卸载软件(不是软件包) |
rpm -q | 查看 |
rpm -a | 查看所有 |
rpm -qa | 查看所有安装过的软件 |
rpm -l | 列出安装后在系统中生成的文件 |
rpm -p | 操作对象为软件包 |
rpm - -scripts | 检测软件在安装或卸载时需要在系统中执行的脚本 |
rpm - -force | 强制安装(不能忽略软件依赖性) |
rpm - -nodeps | 忽略软件依赖性安装 |
rpm -K | 检测软件是否是原版软件 |
设定实验环境:
1.建立镜像挂载目录mkdir /redtest
2.在虚拟机光驱中添加系统匹配镜像
3.挂载镜像到指定目录
在虚拟机中挂载光驱: mount /dev/cdrom ; /redhat
在真机挂载镜像: mount /xxx/xxxxxxx.iso /redhat
4.查看挂载目录中的内容 ls /redhat
软件包如何拆解
rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id
总结:rpm命令操作简单直接,但是不能解决软件依赖性的问题。
Yum:Yellow dog Updater,Modified,是一个在Fedora和Redhat以及CentOS中的shell前端软件包管理器。能够从指定的服务器自动下载rpm包并安装,并自动处理软件依赖性的问题。
软件仓库搭建的目的:rpm不能自动解决软件依赖关系,yum仓库可以解决此问题
yum软件仓库只能管理rpm类型的软件,其他的不行
yum 配置文件:/etc/yum.conf
yum 源文件:/etc/yum.repos.d
搭建软件仓库的步骤
实验环境:rhel7
1.得到与当前系统匹配的系统安装景象文件
2.建立系统安装镜像挂载点:
mkdir /softwaresource
3.挂载镜像到镜像挂载点:
对于光盘镜像:mount /rhel8-xxxxxx.xxxxxx.iso /softwaresource
对于虚拟机:mount /dev/cdrom /softwaresource
4.配置系统访问软件路径(yum仓库指向文件)
cd /etc/yum.repos.d
5.清空yum缓存识别新文件案内容
rhel7: yum clean all
rhel8 dnf clean all
<1>在rhel7中搭建yum软件仓库
vim westos.repo
仓库名称 [test]
仓库描述 name=testyum rhel7 source
资源路径 baseurl=file:///softwaresource
软件包授权检测开关gpgcheck=0|1(1开启,0关闭)
软件包授权码 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
仓库启用开关enabled=1
gpgcheck=0
<2>在rhel8中搭建软件仓库
在rhel8中 vim test.repo
仓库名称 [AppStream]
仓库描述name=AppStream
资源路径 baseurl=file:///softwaresource/AppStream
软件包授权检测开关 gpgcheck=0|1
软件包授权码 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
仓库启用开关enabled=1
仓库名称 [BaseOS]
仓库描述 name=westos rhel7 source BaseOS
资源路径 baseurl=file:///softwaresource/BaseOS
软件包 授权检测开关 gpgcheck=0|1
软件包授权码 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
仓库启用开关 enabled=1
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 | 组信息 |
注意:由于rhel8版本较新,适用软件比较少,一下实验在rhel7中进行。
1.把所有rpm结尾的第三方软件包存放到一个目录/software中,并且这个目录里只能有rpm结尾的文件
2.createrepo -v /testsoftware ##生成yum软件数据库,存放软件属性
3.编写配置信息访问软件路径
file:// ##本地文件 ftp:// ##文本传输协议
http:// ##超文本传输协议
nfs: ##网络文件系统
1.在含有软件资源的主机中安装共享软件
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
2.关闭selinux和firewalld selinux:
**3.建立共享目录,在共享目录中存放软件资源 **
把所有第三方软件放入/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
测试:
在rhel7_node2:
firefox ftp://192.168.0.10/software ##显示资源
firefox ftp://192.168.0.10/rhel7.6 ##显示资源
vim /etc/yum.repos.d/westos.repo
[rhel7.6]
name=rhel7.6
baseurl=ftp://192.168.0.10/rhel7.6
gpgcheck=0
[software]
name=software
baseurl=ftp://192.168.0.10/software
gpgcheck=0
yum cleanall
yum install dhcp -y