Linux上获取软件程序包有多种方式。
一种是从Linux的软件源(可以类比于手机上的“应用市场”)上网络下载。
一种是源代码安装方式,从软件的官方网址下载应用于Linux平台的软件包,这种软件包文件格式一般是.tar、tar.gz、tar.bz2等。解压后需要用户自己执行make命令编译、make install命令安装。
还有一种是二进制安装方式,也是从软件的官方网址下载应用于Linux平台的软件包,文件格式一般也是.tar、tar.gz、tar.bz2等,但是不用用户自己编译了,只要用户解压后配置环境变量或者其他一些软件参数就可以了。
相比较而言,从Linux软件源获取软件包更复杂,比如rpm、yum、apt、apt-get这几个命令的区别。
Linux软件源下载软件
软件源根据不同的Linux发行版有不同的称呼。
Linux家族有三个软件源系统:
yum源:使用这种软件管理器的主要是RedHat(红帽)家族,如CentOS
apt源:使用这种软件管理器的主要是Debian家族,如Ubuntu
Pacman源:使用这种软件管理器的主要是ArchLinux家族,如Manjaro
rpm命令
用于RedHat家族,如CentOS系统安装rpm包。
rpm的全称为Red Hat Package Manager,也就是RedHat包管理器。在RedHat等操作系统中是通过rpm命令实现对rpm软件包的安装和删除等操作。
rpm命令常用的选项包括: -i(install 安装),-e(erase 删除),-U(upgrade 升级)和-q(query 查询)。
目前更多的使用rpm命令的替代者yum命令。
yum命令
用于RedHat家族,如CentOS系统安装rpm包。
rpm命令只是用来管理单个软件包,但是在Linux系统中很多软件包还需要依赖其它软件。如果通过人工的方式来安装这些软件不仅效率低,而且容易出错。而yum就是用来自动安装一组软件的工具,它其实是对rpm的封装,实现了依赖软件包的自动化安装。
yum是Yellow dog Updater, Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发。
yum语法:
yum [选项] 命令 软件包名称
选项:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
命令:安装install、查询list、更新update、删除remove
yum -help命令可以查看关于yum其他命令的使用方法。
查看
列出所有可安装的安装包
简单来说是查看软件源(应用市场)都有哪些软件
yum list
列出本机已经安装的软件
yum list installed
查询指定的软件包安装状态
语法:
yum list 软件包名称
示例:查看本机中软件包tree的安装状态
下图中“Available Packages”表示本机未安装tree,软件源中有tree。
安装tree后再次查询,发现结果显示“Installed Packages”,这表示本机已经安装tree。
查询软件源是否有指定的软件包
使用grep过滤,示例:查询软件源是否有名称中含“tree”字符串的软件
yum list | grep tree
查看本机是否安装了指定的软件包
示例:查看本机是否安装了tree
yum list installed | grep tree
示例显示的结果是没有安装。当然,我更愿意使用yum list tree。
查看软件包信息
yum info 软件包名称
示例:
搜索程序位置
Linux系统下可以通过which命令来查找文件、程序的所在位置。
which
查看某个命令的目录位置。从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径。一般用于查找命令/可执行文件所在的路径。有时候可能在多个路径下存在相同的命令,该命令可用于查找当前所执行的命令到底是哪一个位置处的命令。
语法:
which 命令名称
示例:查看java命令的位置
安装
语法:
yum [选项] install 软件包名称
建议使用选项“-y”,这表示软件安装过程中与用户交互的提示用户都选择yes。
yum -y install 软件包名称
如果不添加选项,以安装tree软件为例
yum install tree
软件安装过程中可能有安装提示,如下图
所以安装命令建议使用:
yum -y install tree
同理,删除软件和更新软件也是要加入“-y”选项。
选项“-y”可以在命令install、remove、update的前面或者后面。
删除yum安装的软件
语法:
yum -y remove 软件包名称
示例:
yum -y remove tree
更新
语法:
yum -y update 软件包名称
清除残余
清除缓存目录下的软件包
yum clean packages
清除缓存目录下的 headers
yum clean headers
清除缓存目录下旧的 headers
yum clean oldheaders
清除所有
yum clean all
配置yum源
apt命令
用于Debian家族,如Ubuntu系统安装deb包。
源代码安装方式
通过ftp工具或者wget、curl等命令获取软件包后,一般经过解压(如tar zxf xx.tar.gz)、配置(如./configure)、编译(make)、安装(make install)这四个主要步骤即可完成安装。
二进制安装方式
二进制包的安装比较简单,我们需要做的只是将从网络上下载的二进制包解压后放到合适的目录,然后将包含可执行的主程序文件的目录添加进PATH环境变量即可。