文章目录
十一、Linux下的软件管理
11.1 软件安装包格式
11.1.2 软件安装包类型
1)tar包,.tar.gz文件。使用UNIX系统的打包工具tar打包的。
2)rpm包,.rpm文件。Redhat Linux提供的一种包封装格式。包的管理工具yum
3)dpkg包,.deb文件。Debain Linux提供的一种包封装格式。包的管理工具apt-get
4)bin包,.bin文件,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般用bin来标记。
11.1.2 软件安装包名称分析
软件包总名称为【dhcp-4.2.5-68.el7_5.1x86_64rpm 】
- dhcp【软件名称】
- 4.2.5-68【软件版本】
- el7_5.1【软件授权】
- x86_64【软件是多少位的】
- rpm【软件后缀表示类型】
11.2 rpm包的软件管理
11.2.1 实验环境
(1)在虚拟机光驱中添加系统匹配镜像
(2)新建目录,挂载镜像到新建目录
- 临时挂载
[root@localhost Desktop]$ mkdir /text #新建目录
[root@localhost Desktop]$ mount /dev/cdrom /text #虚拟机挂载目录
[root@localhost Desktop]$ mount /xxx/xxxx.iso /text #主机镜像挂载目录
- 永久挂载
[root@localhost Desktop]$ mkdir /text #新建目录
[root@localhost Desktop]$ vim /etc/rc.d/rc.local #修改配置文件
mount /dev/cdrom /text #如果是虚拟机在配置文件中加入这句
mount /xx/xxxx.iso /text #如果是主机在配置文件中加入这句
[root@localhost Desktop]$ chmod +x /etc/rc.d/rc.local #给配置文件加上执行权限
[root@localhost Desktop]$ /etc/rc.d/rc.local 运行配置文件挂载成功
11.2.2 rpm 命令
命令 | 效果 |
---|---|
rpm -i | install安装 |
rpm -v | 显示过程 |
rpm -h | hash检测查看软件中的hash值是否改变 |
rpm -ivh | 安装 |
rpm -e | 卸载 |
rpm -q | 查看 |
rpm -qa | 查看所有安装过的软件 |
rpm -l | 列出安装后在系统中生成的文件 |
rpm -p | 操作对象为软件包 |
rpm -K | 检测软件是否是原版 |
rpm xxx - - scripts | 查看软件安装或卸载时系统中执行的脚本 |
rpm xxx - - force | 强制安装 |
rpm xxx -nodeps | 忽略软件依赖性进行安装 |
- 例子1 安装软件
安装软件包时在存放软件包目录中安装
- 例子2 查看选中软件包或者数量
- 例子3 查看软件安装卸载时要运行的脚本
例子4 强制安装
例子4 不管依赖性进行安装 【装了也不能用】
例子5 检测软件是否是原版
例子6 拆解软件包
11.3 yum软件安装
11.3.1 yum安装仓库
- 软件仓库搭建目的
- rpm不能自动解决软件依赖关系
- yum可以解决此问题
- 安装软件仓库
(1)rhel7中的搭建
[root@localhost Desktop]$ mkdir /softwaresource #新建挂载目录
[root@localhost Desktop]$ mount /dev/cdrom /softwaresource #挂载
[root@localhost Desktop]$ cd /etc/yum.repos.d 进入配置目录
[root@localhost yum.repos.d]$ vim text.repo 新建配置仓库.repo文件
[text] #仓库名称
name=text #仓库描述
baseurl=file:///softwaresource #资源路径
gpgcheck=0 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
[root@localhost yum.repos.d]$ yum clean all #重新加载
[root@localhost yum.repos.d]$ yum install httpd #安装httpd软件
(2)rhel8中的搭建
[root@localhost Desktop]$ mkdir /softwaresource #新建挂载目录
[root@localhost Desktop]$ mount /dev/cdrom /softwaresource #挂载
[root@localhost Desktop]$ cd /etc/yum.repos.d 进入配置目录
[root@localhost yum.repos.d]$ vim text.repo 新建配置仓库.repo文件
[textAppStream] #仓库名称
name=textAppStream #仓库描述
baseurl=file:///softwaresource/AppStream #资源路径
gpgcheck=0 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
[textBaseOS] #仓库名称
name=textBaseOS #仓库描述
baseurl=file:///softwaresource/BaseOS #资源路径
gpgcheck=0 #软件包授权检测开关
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #软件包授权码
enabled=1 #仓库启用开关
[root@localhost yum.repos.d]$ dnf clean all #重新加载
[root@localhost yum.repos.d]$ yum install httpd #安装httpd软件
11.3.2 yum命令
命令 | 效果 |
---|---|
yum install softwarename | 安装 |
yum repolist | 列出设定yum源信息 |
yum remove softwarename | 卸载 |
yum list softwarename | 查看软件源中是否有次软件 |
yum list all | 列出所有软件名称 |
yum list installd | 列出已经安装的软件名称 |
yum list available | 列出可以用yum安装的软件名称 |
yum clean all | 清空yum缓存 |
yum search softwareinfo | 根据软件信息搜索软件名字 |
yum whatprovides filename | 在yum源中查找包含filename文件的软件包 |
yum update | 更新软件 |
yum history | 查看系统软件改变历史 |
reinstall softwarename | 重新安装 |
yum info softwarename | 查看软件信息 |
yum groups list | 查看软件组信息 |
yum groups info softwaregroup | 查看软件组内包含的软件 |
yum groups install softwaregroup | 安装组件 |
yum groups remove softwaregroup | 卸载组件 |
11.4 搭建第三方软件仓库
- 当我们需要安装第三方软件时需要搭建第三方软件仓库来安装第三方软件
安装一个画图软件
(1)开始是没办法安装的
(2)把需要安装的软件包放在一个目录中 /software—》修改配置文件 -->生成软件数据库存放软件属性
(2)清除缓存安装软件
11.5 搭建共享软件仓库
- 软件仓库支持的访问方式
* file:// 【本地文件】
* ftp:// 【文本传输协议】
* http:// 【超文本传输协议】
* nfs:// 【网络文件系统】 - 搭建共享软件仓库
(1)在含有软件资源的主机中安装共享软件
(2)关闭selinux和防火墙
(3)建立共享目录存放软件资源
[root@localhost Desktop]$ mkdir /var/ftp/text /var/ftp/software #新建共享目录
[root@localhost Desktop]$ mount /dev/cdrom /var/ftp/text # 挂载到text目录下
[root@localhost Desktop]$ createrepo -v /var/ftp/software #把软件资源放到此目录中
(4)在其他的主机上看到共享资源
(5)在共享文件中有其主机的挂载资源,以下操作可以让另一台主机连接此主机的挂载资源,安装此主机里的资源