我们应该如何管理系统中的软件呢?

一、linux中软件包的类型

DEB适用于UBlinux
RPM适用于Redhat centos
gz bz2 xz(1)需要源码安装、编译 (2)绿色软件,即直接可以使用
  • wps软件包安装时,有DEB和RPM形式
  • gz bz2 xz压缩包 要么是源码编译,要么是绿色软件
  • ntfs-3g是.tgz格式!需要源码编译!
  • firefox,是.bz2格式,下载后直接使用!
  • 安装包.rpm可使用rpm命令进行管理

解压.bz2软件命令:
tar jxf F,会生成一个目录,进入目录中,直接运行./firefox可直接可用;

解压.tgz软件包命令:
tar zxf ntfs,生成目录,但是没有可以直接运行的脚本,但是有configure文件,是一个源码编译的软件。按照readme阐述的安装条件进行安装;

注意:在rhel8中只能使用绿色软件,源码编译和rpm软件,但是UBlinux的不能使用!

二、软件包的名称结构

举例:

dhcp-server-4.3.6-30.el8.x86_64.rpm
  • dhcp-server 软件名称
  • 4.3.6-30 软件版本
  • el8 软件授权协议版本(适合什么系统版本)
  • x86_64 软件架构 (32位或者64位)
  • rpm 软件类型后缀

三、rpm命令管理软件包

查看rpm命令用法:

(1)man rpm
(2)rpm --help

eg. rpm -ivh xxxxx.rpm

-ivh安装组合命令
-a所有
-f文件
-p安装包
-q查询
-l列出安装软件的所有文件列表
-c仅仅列出配置文件
-e删除
-d说明
–info软件信息
–force强制安装
–nodeps忽略依赖性
–scripts查询运行脚本
-Kv检测软件md5校验码
-V检测已安装软件在系统中文件被修改信息

a–>b–>c–>a软件之间相互依赖型,需要强制安装上(–forcce)一个软件解决依赖性
(一)安装(依赖性&非依赖性)
rpm -ivh linuxqq_2.0.0-b2-1082_x86_64.rpm
rpm -ivh wps-office-11.1.0.9505-1.x86_64.rpm

在这里插入图片描述
忽略依赖性安装
rpm -ivh wps-office-11.1.0.9505-1.x86_64.rpm --nodeps
在这里插入图片描述
(二)查询安装了多少软件&某个软件有无安装
rpm -qa | wc -l
rpm -q linuxqq

(三)卸载
rpm -e linuxqq 在这里插入图片描述
(四)查询文件属于哪个安装包
rpm -qf /bin/date
在这里插入图片描述
(五)查询软件在系统中的安装位置
rpm -ql linuxqq
rpm -qlp linuxqq_2.0.0-b2-1082_x86_64.rpm
rpm -qcp linuxqq_2.0.0-b2-1082_x86_64.rpm

在这里插入图片描述
在这里插入图片描述
(六)列出dhcp的说明文档
rpm -qd dhcp-server 在这里插入图片描述
(七)列出dhcp配置文件
rpm -qc dhcp-server
在这里插入图片描述
rpm -q dhcp-server --info 查询软件信息信息
在这里插入图片描述
rpm -ivh linuxqq_2.0.0-b2-1082_x86_64.rpm --force 强制安装
在这里插入图片描述
查看软件运行脚本(运行时执行的动作)
rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts
rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts

在这里插入图片描述
rpm -Kv linuxqq_2.0.0-b2-1082_x86_64.rpm检测MD5码
在这里插入图片描述
rpm -V dhcp-server 检测哪个文件被篡改
在这里插入图片描述

四、本地软件仓库搭建

  • 在系统中对软件进行管理,rpm命令不能解决依赖关系
  • 手动解决依赖性灰常麻烦
  • 把所有的软件都放在某一个环境中,类似软件商店,解决办法使用镜像搭建一个软件商店,解决依赖性
  • 如果需要软件在安装过程中自动姐居然依赖关系,需要搭建系统软件仓库
  • 光盘中有baseOS AppStream,两个目录中有官方软件提供的系统所有软件包
搭建方法:
1.在系统中加载镜像(镜像是在官网下载的)
2.软件
dnf repolist 列出为0
如果想仓库被系统识别,这个目录中不能有不能使用的软件源

2.1编写软件仓库文件
/etc/yum.repos.d/
在此目录中不能有无法访问的源指向

2.2软件仓库指向文件
/etc/yum.repos.d/westos.repo
AppStream 软件仓库名称
baseos基本; appstream 常用app;
name=随便写(描述)
baseurl=file://  http://  ftp://(地址)
baseurl作用:根据路径 自动去指定的路径去调用
gpgcheck=0(不检测gpgkey 跳过授权检测)

2.3实验效果
dnf repolist 列出了软件仓库中的数目
dnf install wps....
自动安装 自动解决依赖性

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

五、dnf软件管理命令

clean all清楚系统中已加载在的仓库缓存信息
repolist列出仓库信息
list all列出所有软件
list available列出未安装软件
list installed列出已安装软件
install安装
remove卸载
reinstall重新安装
whatprovide搜索包含文件的软件包
historydnf执行命令
history infodnf执行命令详细信息
group list列出软件组
group list --installed列出已安装软件组
group list --available列出未安装软件组
group list --hidden列出隐藏软件组
group install安装软件组
group info查看软件组信息

实验过程:
(1)安装WPS
yum install wps-office-11.1.0.9505-1.x86_64.rpm -y

(2)重新安装dhcp-server
dnf reinstall dhcp-server -y

(3)卸载dhcp
yum remove dhcp-server.x86_64 -y
在这里插入图片描述在这里插入图片描述

(4)显示dhcp所有安装包(图4.2)
yum search dhcp
在这里插入图片描述

(5)查看文件属于哪个安装包
dnf whatprovides /bin/date
在这里插入图片描述

(6)安装软件组,安装的软件包更多。
info 查看安装组的信息
dnf history info
dnf history info9
dnf group list
dnf group info “Development Tools”
dnf group install "Development Tools"

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

在这里插入图片描述
在这里插入图片描述
实验:如何通过网络访问http://镜像内容,来完成软件仓库的搭建?
实验环境:
node1:172.25.254.10
node2:172.25.254.20

  • 问题一:在node1中已经搭建好软件仓库,能否被node2使用

  • 答:node2是无法访问的!node1搭建的软件仓库是本地仓库,只能自己访问到。

  • 问题二:在企业中,需要维护的系统数量比较庞大。当需要给每个系统安装软件管理软件时,逐个进行安装,显然会浪费大量资源(每个人都需要有镜像,镜像又很大)和精力。

  • 解决: 如何去节省重复的资源呢?(比如说镜像)
    把大家都会使用的资源共享到互联网,大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源。

搭建方法
1.利用镜像搭建本子软件仓库(node1搭建完成)
2.安装共享软件
访问淘宝的时候,看到淘宝很多信息比如图片,在本机中是不存在的,在阿里巴巴公司服务器上。通过https://访问(超文本传输协议),访问到服务器上的超文本文件。

类似的,其他的主机也可以通过超文本传输协议访问到node1的共享资源软件。
提供此协议的软件:Apache
软件包名称:httpd.service
共享位置:/var/www/html

我在我的电脑上安装了Apache软件,就相当于服务器,可以对外提供资源。具体是别人怎么访问到我的?我又允许谁来访问我,接下来我们继续吧

3.启用共享软件Apache
(1)关闭火墙(或者设置火墙允许)
(2)设置火墙开机不启动
(3)设置httpd服务开机启动
(4)内核性加强火墙关掉(安全上下文),关闭有两种方式:
方式一:setenforce 0 -->disabled
方式二:vim /etc/sysconfig/selinux -->SELINUX=disabled,重启系统

4.建立共享目录
mkdir /var/www/html/develops
共享目录只有这一个位置,所以必须建立在这个目录中。

5.挂载镜像到共享目录之上
作用:使我们通过网络来访问目录资源,看到内容。
镜像系统里,使用光驱挂载,mount /xxxx.iso /var/www.html/develops
镜像不在系统,而是在光驱,使用光驱读取镜像,mount /dev/cdrom /var/www/html/develops
挂载成功后,我们可以看到挂载目录中的资源

6.直接访问资源
在远程主机中访问资源,并书写repo文件
在浏览器中172.25.254.20/develops,于是乎我们便可以通过网络访问到资源啦。就像是淘宝图片不在我的电脑,我也可以浏览看到信息。
可以利用这个地址来搭建资源

使用这种方式,同样可以列出资源
node2主机df查看到不是加载的光盘镜像,而是访问的node1中的镜像

node1安装共享软件 dnf install httpd
开机启动httpd
关闭火墙
本机访问到20主机(也即是自己的主机),但是想看到光盘的内容

六、第三方软件仓库的搭建方法

第三方软件:在镜像中没有的软件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值