类型:
rpm:redhat linux 系统(suse centos redhat)
deb:ub deb 系统
tar:
绿色软件
源码编译
-<4.2.5-68>..1>..
[1] [2] [3] [4] [5]
1:软件名称
2.软件版本
3.软件授权
4.软件多少位
5.软件后缀表示软件包是rpm类型的
#在管理rpm软件包时用rpm命令
##rpm管理命令
rpm -ivh #安装
-v #显示过程
-h #hash 检测查看软件中的hash值是否有改变
-i #install 安装
-e #卸载
-q #查看
-a #所有
-qa #查看所有安装过的软件
-l #列出安装然后在系统中生成的文件
-p ##操作对象为软件包
--scripts ##查看软件在安装或卸载时在系统中执行的脚本#强制安装#忽略软件依赖性安装
--force #强制安装
-nodeps #忽略软件依赖性安装
-K #检测软件是否是原版软件
设定实验环境
1.创建光驱挂载点目录:
mkdir /softwaresource
2.在虚拟机光驱中添加系统匹配镜像
3.挂载景象到/softwaresource
mount /dev/cdrom /softwaresource
或者:
mount /xxx/xxxxxxx.iso /softwaresource
4.查看是否挂载成功:
ls /softwaresource ##若有文件,则挂载成功
注意:
软件包如何拆解:
rpm2cpio 软件包名.rpm | cpio -id
eg:
rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id
rpm不能自动解决软件依赖关系,安装软件时需要先安装软件的依赖软件
yum仓库可以解决此问题
(1)得到与当前系统匹配的系统安装景象文件
(2)建立系统安装景象挂载点:
mkdir /softwaresource
(3)挂载景象到景象挂载点:
mount /rhel8-xxxxxx.xxxxxx.iso /softwaresource
或者
mount /dev/cdrom /softwaresource
(4)配置系统访问软件路径(yum仓库指向文件)
cd /etc/yum.repos.d ##配置文件目录
rm -fr * ##防止别的文件会影响yum源指向,一般不删除
在rhel7中:
vim yang.repo
[yangrhel7] ##仓库名称
name=yang rhel7 source ##仓库描述
baseurl=file:///softwaresource ##资源路径
gpgcheck=0|1 ##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
在rhel8中:
vim yang.repo
[yangAppStream] ##仓库名称
name=yang rhel8 source AppStream ##仓库描述
baseurl=file:///softwaresource/AppStream ##资源路径
gpgcheck=0|1 ##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##软件包授权码
enabled=1 ##仓库启用开关
[yangBaseOS] ##仓库名称
name=yang rhel8 source BaseOS ##仓库描述
baseurl=file:///softwaresource/BaseOS ##资源路径
gpgcheck=0|1 ##软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ##软件包授权码
enabled=1 ##仓库启用开关
(5)清空yum缓存,识别新文件案内容
rhel7:
yum clean all
rhel8:
dnf clean all
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 ##组信息
注意:
在rhel7中用的yum命令,在rhel8中已经改为dnf命令
但是,rhel8也兼容yum命令,yun命令仍然可以在rhel8中使用
建立步骤:
1、把所有 rpm 结尾的第三方软件包存放到一个目录 /software 下
2、生成软件属性:
createrepo -v /software ##生成软件数据库存放软件属性
注意:
在rhel7中,createrepo命令已经存在,直接用即可
在rhel8中,需要安装createrepo命令:
yum whatprovides */createrepo ##查找提供*/createrepo的文件
yum install createrepo文件目录 ##安装
3、vim /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=file:///software
gpgcheck=0
yum clean all
file:// ##本地文件
ftp:// ##文本传输协议
http:// ##超文本传输协议
nfs: ##网络文件系统
(1)在含有软件资源的主机中安装共享软件
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
(2)关闭selinux和firewalld
查看selinux状态:
getenforce ##查看状态
Enforcing ##表示selinux开启
关闭selinux:
vim /etc/sysconfig/selinux ##编写文件
SELINUX=disabled ##修改内容,改为关闭状态
reboot ##重启
firewalld:
关闭firewalld:
systemctl stop firewalld
systemctl disable firewalld
3、建立共享目录
mkdir /var/ftp/rhel8.0 /var/ftp/software
4、在共享目录中存放软件资源
(a)把所有第三方软件放入 /var/ftp/software 目录中,并执行:
createrepo -v /var/ftp/software
(b)挂载系统安装景象资源到 /var/ftp/rhel8.0 :
临时挂载:
mount /dev/cdrom /var/ftp/rhel8.0
永久挂载系统安装镜像资源到 /var/ftp/rhel8.0 :
vim /etc/rc.d/rc.local
##写入:##
mount /dev/cdrom /var/ftp/rhel8.0
(c)执行命令:
chmod 775 /etc/rc.d/rc.local ##给文件执行权限,否则启动系统的时候无法加载文件
5、在另一台虚拟机中进行以下操作
用 firefox 浏览器分别输入:
ftp://172.25.254.217/software ##中间的地址为已经搭建共享软件仓库的主机的ip地址
ftp://172.25.254.217/rhel8.0
可以显示文件内容则表示共享软件仓库搭建成功
配置仓库:
vim /etc/yum.repos.d/yang.repo ##编写文件
##在rhel7中写入:
[rhel7]
name=rhel7
baseurl=ftp://172.25.254.217/rhel7
gpgcheck=0
[software]
name=software
baseurl=ftp://172.25.254.217/software
gpgcheck=0
##在rhel8中写入:
[rhel8.0_AppStream]
name=rhel8 AppStream
baseurl=ftp://172.25.254.217/rhel8.0/AppStream
gpgcheck=0
[rhel8.0_BaseOS]
name=rhel8 BaseOS
baseurl=ftp://172.25.254.217/rhel8.0/BaseOS
gpgcheck=0
[software]
name=software
baseurl=ftp://172.25.254.217/software
gpgcheck=0
配置完仓库后执行以下命令:
yum clean all
共享软件仓库就搭建完成了,可以用 yum 命令来进行软件安装删除等操作啦!