05-`Linux`的软件管理

Linux系统软件安装

计算机没有安装操作系统,就是一坨废铁,不能实现任何功能;如果计算机安装了操作系统,但没有应用软件,也只是中看不中用的花瓶。所以,我们需要学习软件的安装,只有安装了所需的软件,才能实现想要的功能。比如,想要上网就需要安装浏览器,看电影就需要安装视频播放器。

很多初学者会很困惑:Linux 中的软件安装方法是否和 Windows 中的软件安装方法一样呢? Windows 中的软件是否可以直接安装到 Linux 上呢?理想很美好,现实很骨感,答案是否定的,LinuxWindows 是完全不同的操作系统,软件包管理是截然不同的。

Linux软件包

Linux下的软件包众多,且几乎都是经 GPL 授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改

Linux下的软件包可细分为两种,分别是源码包和二进制包

  • 源码包:需要把源代码使用gcc进行编译为二进制代码,安装的难度比较高,消耗比较大
  • 二进制包:
    • 相当于windows.exe安装文件
    • 二进制包是 Linux 下默认的软件安装包,因此二进制包又被称为默认安装软件包
    • 一般用于linuxrpm安装和yum安装

实际rpm命令安装rpm软件包,只需要了解就可以了,因为正常来说开发中我们一般使用yum命令安装rpm软件包,而不是使用rpm安装

rpm

离线安装,把安装文件先下载到本地,在通过工具安装软件,并且必须自己手动解决包之间的依赖性问题

以二进制形式发布的软件包

  • redhatcentos 发行版中,软件包使用rpm包格式 后缀 *.rpm
  • debianubuntu发行版中,一般使用deb包格式 后缀 *.deb

rpm包管理器命令

rpm [选项] 包名|包文件名
  • -i :安装包
  • -U :升级包
  • -v :显示安装详情
  • -h :显示安装进度
  • -e :卸载包
  • -q :包查询
  • -l :列出包中所有文件

安装

注意一定是包全名。涉及到包全名的命令,一定要注意路径,可能软件包在光盘中,因此需提前做好设备的挂载工作

rpm -ivh [完整rpm包名称]
  • -i:安装(install);
  • -v:显示更详细的信息(verbose);
  • -h:打印 #,显示安装进度(hash);

注意,直到出现两个 100% 才是真正的安装成功,第一个 100% 仅表示完成了安装准备工作。

此命令还可以一次性安装多个软件包,仅需将包全名用空格分开即可

卸载

RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错

如果卸载 RPM 软件不考虑依赖性,执行卸载命令会包依赖性错误

RPM 软件包的卸载很简单,使用如下命令即可

rpm -e 包名

-e选项表示卸载,也就是 erase 的首字母。

如果没有出现错误,就代表卸载成功

RPM 软件包的卸载命令支持使用nocteps选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法正常使用

rpm -e [不完整或者完整的rpm包名] --nodeps

升级

使用如下命令即可实现 RPM 包的升级:

rpm -Uvh 包全名

-U(大写)选项的含义是:如果该软件没安装过则直接安装;若没安装则升级至最新版本。

rpm -Fvh 包全名

-F(大写)选项的含义是:如果该软件没有安装,则不会安装,必须安装有较低版本才能升级

查看

 rpm -q 包名      # 查询软件包是否安装
 rpm -qa		 # 查询系统中所有安装的软件包
 rpm -qi 包名     # 查询软件包的详细信息

yum

yum,全称Yellow dog Updater, Modified,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum

可以这么说,yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM所面临的软件包依赖问题。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装

yum 源搭建

使用 yum 安装软件包之前,需指定好 yum 下载 RPM 包的位置,此位置称为 yum 源。换句话说,yum 源指的就是软件安装包的来源。

一般情况下,只要你的主机网络正常,可以直接使用网络 yum 源,不需要对配置文件做任何修改,这里对 yum 源配置文件做一下简单介绍

网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为*.repo只要扩展名为 *.repo的文件都是 yum 源的配置文件

修改yum配置文件/etc/yum.repos.d/CentOS-Base.repo,该文件是网络源的默认配置文件,修改baseurl

在这里插入图片描述

清除yum缓存和刷新yum缓存

yum clean all     #清除缓存
yum makecache     #生成(刷新)缓存

在这里插入图片描述

yum命令

yum clean packages :清除缓存目录下的所有软件包清空的是:(/var/cache/yum)目录下的缓存文件
yum clean all :清除缓存目录下的所有软件包和旧的headers
yum list :查看所有的安装的 ,可以安装的包
yum info 包名 :查看某个包的信息
yum install 包名 : 在线安装软件
yum update 包名: 升级软件
yum remove 包名: 删除软件

查询

yum list:查询所有已安装和可安装的软件包

yum list 包名:查询执行软件包的安装情况

yum search 关键字:从 yum 源服务器上查找与关键字相关的所有软件包

yum info 包名:查询执行软件包的详细信息

安装

yum -y install 包名
  • install:表示安装软件包。
  • -y:自动回答 yes如果不加 -y,那么每个安装的软件都需要手工回答 yes

升级

yum 升级软件包常用命令如下:

  • yum -y update:升级所有软件包。不过考虑到服务器强调稳定性,因此该命令并不常用。
  • yum -y update 包名:升级特定的软件包

卸载

使用 yum 卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被 yum 无情卸载,带来的直接后果就是使系统崩溃。

除非你能确定卸载此包以及它的所有依赖包不会对系统产生影响,否则不要使用 yum 卸载软件包

 yum remove 包名

创作不易,感谢支持

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值