这是什么?
Linux下也有很多可以安装的软件,而这些软件的安装包可细分为两种,分别是源码包和二进制包。
源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。计算机只能识别机器语言,也就是二进制语言,所以源码包安装之前需要编译。
编译过程耗时较长
大多数用户不懂开发,编译过程中可能会有各种错误,用户无力解决。
为了解决使用源码包安装的问题,Linux 软件包的安装出现了使用二进制包的安装方式。
二进制包,也就是源码包经过成功编译之后产生的包。
二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
作用:rpm 的作用类似于豌豆荚,华为应用市场,App Store,主要作用是对linux 服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装/更新。
要想装软件,和windows 下一样,先得找到安装包:xxx.rpm
软件包的获得方式:
a. 去官网去下载(http://rpm.pbone.net);
b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;
Name:名称
Size:设备大小
Type:类型
MountPoint:挂载点
此界面类似于Windows 下的磁盘管理界面:
#/run/media/root/CentOS 7 x86_64/Packages
#ls
语法:# rpm -qa | grep 软件名称
选项:
-q:查询,query
-a:全部,all
示例代码:查询firefox浏览器的安装情况,已安装
#rpm -qa |grep firefox
#rpm -qa |grep qq
卸载某个软件
语法:# 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浏览器图标,运行结果如下图所示:
命令: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
查询是否安装完成
安装完成后,打开firefox浏览器
语法:# 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版本
一个软件必须先有其他软件才能运行,例如之前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的版本,这就是我们说的依赖关系。
为了解决依赖关系的问题,有另外一个管理工具叫做yum,后面我们会讲到
语法:# rpm -qf 需要查询的文件路径
选项:
-f:查询文件所属包
示例代码:查询/etc/ntp.conf 属于哪个软件包?
语法:# rpm -ql 需要查询的软件包名称
#rpm -ql firefox
#rpm -ql openssh
特别说明:软件安装完成后,一共生成了以下几类文件
配置文件类:/etc目录
程序文件本身,二进制文件命令:/usr/sbin目录
文档手册:/usr/share/doc或man目录
① 解挂操作
命令:umount
语法:# umount 当前设备的挂载点(路径)
例如:
#umount /run/media/root/CentOS\ 7\ x86_64/
首先新建一个挂载点,然后使用mount命令进行挂在,挂载点可以理解为就是一个空目录
命令:mount
语法:# mount 设备文件原始地址(/dev目录) 要挂载的位置路径(盘符)
设备原始地址:地址统一都在/dev 下,然后根据大小确定具体name 值,拼凑在一起组成原
始地址,例如当前:“/dev/sr0”
用法:mount 设备 挂载点
示例代码:
#mkdir /mnt/dvd
新建一个目录作为挂载点
#mount /dev/sr0 /mnt/dvd
将光驱设备/dev/sr0 挂载到 /mnt/dvd这个挂载点
#df -T
可以看到已经成功挂载