玩转Linux与运维岗(21)

四、Linux软件包

1、软件包概述

​ 这是什么?

在这里插入图片描述

​ Linux下也有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包二进制包

1)源码包

​ 源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。计算机只能识别机器语言,也就是二进制语言,所以源码包安装之前需要编译。

​ 编译过程耗时较长
​ 大多数用户不懂开发,编译过程中可能会有各种错误,用户无力解决。

​ 为了解决使用源码包安装的问题,Linux 软件包的安装出现了使用二进制包的安装方式。

2)二进制包

​ 二进制包,也就是源码包经过成功编译之后产生的包。

​ 二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:

  • RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
  • DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写

​ 作用:rpm 的作用类似于豌豆荚,华为应用市场,App Store,主要作用是对linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装/更新。

2、如何获取rpm包

要想装软件,和windows 下一样,先得找到安装包:xxx.rpm

软件包的获得方式:

a. 去官网去下载(http://rpm.pbone.net);

b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;

3、从光盘获取

3.1 虚拟机中加载光盘

玩转Linux与运维岗(21)_第1张图片

3.2 使用 # lsblk(list block devices)或者df -T 查看块状设备的信息

Name:名称
Size:设备大小
Type:类型
MountPoint:挂载点
此界面类似于Windows 下的磁盘管理界面:

玩转Linux与运维岗(21)_第2张图片

3.3 进入/run/media/root/CentOS 7 x86_64/Packages目录

#/run/media/root/CentOS 7 x86_64/Packages

#ls

玩转Linux与运维岗(21)_第3张图片

4、查询某个软件安装情况

语法:# rpm -qa | grep 软件名称

选项:

-q:查询,query

-a:全部,all

示例代码:查询firefox浏览器的安装情况,已安装

#rpm -qa |grep firefox

在这里插入图片描述
玩转Linux与运维岗(21)_第4张图片
示例代码:查询qq软件的安装情况,未安装

#rpm -qa |grep qq

在这里插入图片描述

5、卸载某个软件

卸载某个软件

语法:# rpm -e 软件的名称(建议写完整的名称,通过-qa 查询)

案例:卸载火狐浏览器

#rpm -qa |grep firefox 首先查询firefox软件的完整名称
firefox-45.7.0-2.el6.centos.x86_64

#rpm -e firefox-45.7.0-2.el6.centos.x86_64

在这里插入图片描述
卸载完成后,单击firefox浏览器图标,运行结果如下图所示:

玩转Linux与运维岗(21)_第5张图片

6、安装某个软件

命令:rpm

作用:管理rpm软件包

语法:# rpm -ivh 软件包完整路径名称

选项:

-i:install,安装

-v:显示进度条

-h:表示以"#"形式显示进度条

示例代码:将刚刚卸载的firefox火狐浏览器重新安装(在DVD光盘1中)

用法:rpm -ivh 软件包名称
示例代码:
#cd /run/media/root/CentOS\ 7\ x86_64/Packages/
进入光盘Packages目录,里面存放了很多rpm的安装包

#ll |grep firefox
查看Packages目录下,包含firefox的安装包

#rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm
使用rpm命令,安装firefox软件包

#rpm -qa |grep firefox
查询是否安装完成

玩转Linux与运维岗(21)_第6张图片

安装完成后,打开firefox浏览器

玩转Linux与运维岗(21)_第7张图片## 7、更新某个软件

语法:# rpm -Uvh 完整的安装包路径

选项:

-U:upgrade,升级

-v:表示显示进度条

-h:表示以#形式显示进度条

这里我会提供给大家firefox的高版本的安装包

firefox-60.8.0-1.el7.centos.x86_64.rpm 这个包是用来升级的

firefox-68.4.1-1.el7.centos.x86_64.rpm

用法:rpm -Uvh 软件包名称
示例代码:
#rpm -qa |grep firefox
查询当前firefox的版本

#ll
查看root目录下,我们刚刚拷到虚机上的RPM安装包的名称

#rpm -Uvh firefox-60.8.0-1.el7.centos.x86_64.rpm
使用rpm命令,安装60.8.0版本的软件包

#rpm -qa |grep firefox
查询升级后的firefox版本

玩转Linux与运维岗(21)_第8张图片

8、rpm扩展

8.1依赖关系

一个软件必须先有其他软件才能运行,例如之前xmind启动过程中提示的缺少DLL,称之为依赖

WAMP(Windows + Apache + MySQL + PHP)安装前必须先安装VC++ 2014 x86_64,这种情况就称之为有依赖关系。

60.8.0的firefox可以更新成功

下面我们尝试更新到68.4.1的版本

用法:rpm -Uvh 软件包名称

#rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm
使用rpm命令,安装68.4.1版本的软件包

玩转Linux与运维岗(21)_第9张图片
错误提示:

error:Failed dependencies:

提示安装68版本的firefox需要依赖nspr4.21的版本,nss的3.44的版本,这就是我们说的依赖关系

为了解决依赖关系的问题,有另外一个管理工具叫做yum,后面我们会讲到

8.2 查看文件所属的包名(实用)

语法:# rpm -qf 需要查询的文件路径

选项:

-f:查询文件所属包

示例代码:查询/etc/ntp.conf 属于哪个软件包?

在这里插入图片描述

8.3查询软件安装完成后,生成了哪些文件

语法:# rpm -ql 需要查询的软件包名称

#rpm -ql firefox

#rpm -ql openssh

玩转Linux与运维岗(21)_第10张图片

特别说明:软件安装完成后,一共生成了以下几类文件
配置文件类:/etc目录
程序文件本身,二进制文件命令:/usr/sbin目录
文档手册:/usr/share/doc或man目录

9、扩展:光盘的挂载和解挂

① 解挂操作

命令:umount

语法:# umount 当前设备的挂载点(路径)

例如:

#umount /run/media/root/CentOS\ 7\ x86_64/

玩转Linux与运维岗(21)_第11张图片② 挂载光盘

首先新建一个挂载点,然后使用mount命令进行挂在,挂载点可以理解为就是一个空目录

命令:mount

语法:# mount 设备文件原始地址(/dev目录) 要挂载的位置路径(盘符)

设备原始地址:地址统一都在/dev 下,然后根据大小确定具体name 值,拼凑在一起组成原

始地址,例如当前:“/dev/sr0”

用法:mount 设备 挂载点
示例代码:
#mkdir /mnt/dvd
新建一个目录作为挂载点

#mount /dev/sr0 /mnt/dvd
将光驱设备/dev/sr0 挂载到 /mnt/dvd这个挂载点

#df -T
可以看到已经成功挂载

玩转Linux与运维岗(21)_第12张图片

你可能感兴趣的:(Linux,linux,运维,ubuntu)