上图是windows下的软件包 Linux下也有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包和二进制包。
① RPM软件包安装 => 软件名称.rpm
② YUM包管理工具 => yum install 软件名称 -y
③ 源码安装 => 下载软件的源代码 => 编译 => 安装(最麻烦的,但是也最稳定)
源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。计算机只能识别机器语言,也就是二进制语言,所以源码包安装之前需要编译。
编译过程耗时较长
大多数用户不懂开发,编译过程中可能会有各种错误,用户无力解决。
为了解决使用源码包安装的问题,Linux 软件包的安装出现了使用二进制包的安装方式。
二进制包,也就是源码包经过成功编译之后产生的包。
二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
作用:rpm 的作用类似于豌豆荚,华为应用市场,App Store,主要作用是对linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装/更新。
a. 去官网去下载http://rpm.pbone.net;
b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;CentOS7.6*.iso
rpm -qa |grep 要搜索的软件名称
选项说明:
-q :query,查询操作
-a :all,代表所有
案例:查询计算机中已安装的rpm软件包
rpm -qa
## q(query) a(all) 查询所有
案例2:搜索计算机中已安装的firefox软件包
rpm -qa |grep firefox
rpm -e 软件名称 [选项]
选项说明:
->-nodeps :强制卸载
案例 把系统中的firefox浏览器进行卸载操作
rpm -e firefox-60.2.2-1.el7.centos.x86_64
或
rpm -e firefox
## 当系统中只有一个firefox开头的才行
基本语法:
# rpm -ivh 软件包的名称.rpm
选项说明:
-i:install,安装
-v:显示进度条
-h:表示以"#"形式显示进度条
这是,安装rpm软件包的语法,但是先别急,想要安装rpm包,还需要先拥有rpm包
第一步:在VMware虚拟机中加载CentOS7.6的安装光盘
第二步:使用 # lsblk(list block devices)或者df -T 查看块状设备的信息
/dev/sr0代表光驱设备 => 挂载点 => /mnt/cdrom文件夹
没有挂载点也没关系,可以跳转linuxOPS基础_linux挂载与解挂学习挂载相关知识自己挂载
Linux操作系统的中所有存储设备必须先挂载后使用
cd /mnt/cdrom
我们查看一下挂载点里面有啥
其中packages里面就是npm包,
cd Packages
ls | grep firefox
可以看到有两个firefox包,这里我们安装x86_64的包
rpm -ivh firefox-60.2.2-1.el7.centos.x86_64.rpm
也可以不打这么长,直接用tab键补充
rpm -Uvh 升级后的软件包名称.rpm
选项说明:
-U :Update,更新操作
使用rpm -Uvh对firefox-60.2.2版本进行升级
rpm -Uvh firefox-68.4.1-1.el7.centos.x86_64.rpm
一个软件必须先有其他软件才能运行,例如之前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版本的软件包
error:Failed dependencies:
提示安装68版本的firefox需要依赖nspr4.21的版本,nss的3.44的版本,这就是我们说的依赖关系。
A软件
A软件 => 需要依赖B软件
B软件 => 需要依赖C软件
C软件
rpm -qf 文件名称
判断某个文件所属的包名称
案例:查询/etc/ntp.conf 属于哪个软件包
rpm -ql 软件名称
显示这个软件安装后生成了哪些文件
案例1:查询firefox软件生成了哪些文件
注意:软件安装完成后,一共生成了以下几类文件