linux中我们安装软件时候,一般有两种方式安装,第一种是通过源码包方式,另一种是通过rpm包的方式。
一、源码包方式
1.首先使用wget或者文件传输,将源码包放到指定目录(一般是/usr/local/src中),然后使用解压命令tar解压tar.gz文件;
2…/config去配置,一些定制的功能,可以使用"./config --help "来查看可以定制的内容,完成后会生成一个Makefile文件;
3. make,使用这个命令会根据Makefile文件中预设的参数进行编译;
4. make&install生成相关的软件存放目录和配置文件的过程。
二、rpm包方式
RPM是”Redhat Package Manager”的缩写,是以一种数据库记录的方式来将你所需要的套件安装到你的linux主机的一套管理程序,安装比较快捷。缺点是在卸载时需要先把依赖都卸载掉;要求安装环境必须与编译环境一致。rpm文件的包名称都有“-”和"."分成了若干份。比如wkhtmltox-0.12.5-1.centos7.x86_64.rpm,这个包,wkhtmltox为包名,0.12.5-1标识发布版本号,x86_64标识的是运行的平台,这个常见的有i386, i586, i686, x86_64,其中i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。
1.安装rpm包:
rpm -ivh filename
其中:
-i :安装的意思
-v :可视化
-h :显示安装进度
filename指的是你的那个rpm文件名
如安装上面那个wkhtmltox,命令为:rpm -ivh wkhtmltox-0.12.5-1.centos7.x86_64.rpm
我们也可以使用以下的附带参数:
–force 强制安装,即使覆盖属于其他包的文件也要安装
–nodeps 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
2.升级rpm包:
rpm -Uvh filename -U
3.查询一个rpm包是否已经安装:
rpm -q rpm包名,这里的包名,是不带有平台信息以及后缀名的。如查询上面那个wkhtmltox,则需要写成
rpm -q wkhtmltox-0.12.5-1
你还可以查询当前系统中所安装的所有rpm包,命令为:
rpm -qa |head
3.卸载rpm包:
rpm -e filename 这里的filename是通过rpm的查询功能所查询到的。比如说卸载wkhtmltox,
命令为:rpm -e wkhtmltox-0.12.5-1
4.得到一个rpm包的相关信息:
rpm -qi 包名(同样不需要加平台信息与后缀名),如rpm -qi libwacom-0.8-3.el7
5.列出一个rpm包安装的文件
rpm -ql 包名
三.yum工具
yum最大的优势在于可以联网去下载所需要的rpm包,然后自动安装,在这个工程中如果要安装的rpm包有依赖关系,yum会帮你解决掉这些依赖关系依次安装所有rpm包。
1.查询所有可用的yum包:
yum list
## 使用|grep来限定查询
yum list |grep 包名
2.使用yum安装一个rpm包:
yum install [-y] [rpm包名]
如果不加-y选项,则会以与用户交互的方式安装,首先是列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y则安装,输入n则不安装。而笔者嫌这样太麻烦,所以直接加上-y选项,这样就省略掉了问用户是否安装的那一步。
3.卸载一个rpm包:
yum remove [-y] [rpm包名]
卸载和安装一样,你也可以直接加上-y选项来省略掉和用户交互的步骤。
4.升级rpm包:
yum update [-y] [rpm包]