Linux下的软件管理

谁说我不能喝 提交于 2020-02-21 10:30:23

软件安装包格式类型

  • 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 检测软件是否是原版软件

在这里插入图片描述
在这里插入图片描述

  • 设定实验环境:
  1. mkdir /myr
  2. 在虚拟机光驱中添加系统匹配镜像
  3. 挂载景象到/myr
  • mount /dev/cdrom /myr(虚拟机中)
  • mount /xxx/xxxxxxx.iso /myr(物理机中)
  1. ls /myr
    在这里插入图片描述

软件包如何拆解

rpm2cpio dhcp-4.2.5-68.el7_5.1.x86_64.rpm | cpio -id

yum软件仓库

  • 软件仓库搭建的目的:
  • rpm不能自动解决软件依赖关系
  • yum仓库可以解决此问题

搭建软件仓库的步骤

  1. 得到与当前系统匹配的系统安装镜像文件
  2. 建立系统安装镜像挂载点:
mkdir /softwaresource
  1. 挂载景象到景象挂载点:
mount /rhel7-xxxxxx.xxxxxx.iso /software(物理机中)
mount /dev/cdrom /software(window下虚拟机中)
  1. 配置系统访问软件路径(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 #仓库启用开关

在这里插入图片描述

  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: 网络文件系统
  • 搭建共享软件仓库的方式:
  1. 在含有软件资源的主机中安装共享软件(仅共享出去一部分文件,并非系统全部)
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
  • 用另一台主机访问这台主机,发现可以访问共享出去的目录
    在这里插入图片描述
  1. 建立共享目录
mkdir /var/ftp/rhel7.6 /var/ftp/software
  1. 在共享目录中存放软件资源
  • 把所有第三方软件放入/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
## 直接安装
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!