在windows系统下安装软件很简单,下载软件包双击.exe文件,点击下一步即可。然而在linux安装软件就没那么容易了,不同的Linux发行版有所差异,下面以centos7系统为例说明,如何在linux下安装软件。

linux系统下安装软件一般有3种方法:①rpm工具    ②yum工具    ③源码包安装

下面来介绍上面的3种方法:

RPM工具:

    RPM是Red Hat Package Managre的缩写,由Red Hat公司开发。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。

rpm包介绍:

    使用centos7系统安装盘镜像,把光驱挂载到/mnt目录下进行查看。首先检查VMware右下角的小光驱是否已连接。

    Linux软件包安装和卸载_linux

    当挂载光驱后,在/mnt/Packages目录下可以看到很多后缀.rpm的文件,这些就是rpm包。

    Linux软件包安装和卸载_linux_02

    由于rpm文件太多了,我只列出了前面10个。下面来解释一下每个rpm包名称的组成:

    Linux软件包安装和卸载_卸载_03

    上图所示:abrt是包名、2.1.11是版本信息、48.el7.centos是发布版本号、x86_64是运行平台;另外有一些rpm包没有写具体平台而是noarch:说明没有平台限制。

rpm工具用法:

    rpm常用选项:

        -a:查询所有已安装rpm包

        -e:删除指定rpm包

        -f:查询指定rpm包

        -i:显示指定rpm包的详细信息

        -h:显示安装rpm包列出标记

        -v:显示指令的执行过程,即可视化过程

        -U:升级指定rpm包

        -q:使用询问模式

        -l:显示指定rpm包的文件列表

  1. 安装rpm包:rpm -ivh [rpm包名]    如:rpm -ivh abrt-2.1.11-48.el7.centos.x86_64.rpm;【注意包名一定要写全,不能简写abrt】

  2. 升级rpm包:rpm -Uvh [rpm包名]       如:rpm -Uvh vim-enhanced-7.4.160-2.el7.x86_64.rpm 【同上】

  3. 卸载rpm包:rpm -e [rpm包名]        如:rpm -e bc;  【这里需要注意的是:卸载可以不用写全包名】

  4. 列出已安装rpm包:rpm -q [指定rpm包名] 或者rpm -qa 表示列出所有已安装包    如:rpm -q vim-enhanced;查询所有:rpm -qa;

    Linux软件包安装和卸载_linux_04

    Linux软件包安装和卸载_linux_05

  5. 查看已安装rpm包的具体信息:rpm -qi [rpm包名]    如:rpm -qi vim-enhanced

    Linux软件包安装和卸载_卸载_06

  6. 列出rpm包的安装文件:rpm -ql [rpm包名]    如:rpm -ql vim-enhanced

    Linux软件包安装和卸载_卸载_07

  7. 列出某个文件属于哪个rpm包安装的:rpm -qf [文件绝对路径]    如:rpm -qf /usr/bin/vim

    Linux软件包安装和卸载_linux_08

【温馨提示】

    当你执行rpm -ivh 安装rpm包的时候你会发现,其实rpm安装需要很多的依赖包,并且需要手动安装依赖后才能rpm -ivh安装。执行rpm -e 也是一样的;所以一般很少使用rpm进行软件的安装。下面来介绍linux最常用的安装工具yum

yum工具用法:

    yum工具相比rpm工具的优势是:yum安装会联网自动安装依赖包,不需要手动安装依赖。yum配置文件路径:/etc/yum.repos.d/

常见的yum用法:

  1. 列出所有可用的rpm包:yum list

    Linux软件包安装和卸载_卸载_09

  2. 搜索指定rpm包:yum search vim

    Linux软件包安装和卸载_linux_10

  3. yum安装rpm包:yum install -y epel-release;-y:表示表示会以用户交互的方式安装,不需要手动按下y键确认;从而省略询问用户的操作

  4. yum卸载rpm包:yum install -y epel-release;同上。

  5. yum更新rpm包:yum update -y vim-enhanced;【注意:如果直接yum update 不加包名,则会直接升级所有包和升级系统】

  6. 如果只知道命令是什么,但是不知道是属于哪个rpm安装的命令:执行yum provides "/*/vim"  搜索一下包

yum使用光盘搭建本地仓库:

    当Linux不能联网的时候,我们就不能使用联网的yum源了。这是需要自行搭建本地的yum源,具体步骤如下:

    (1)挂载光盘:mount /dev/cdrom /mnt

    (2)删除/etc/yum.repos.d/目录下的所有repo文件(删除前注意先备份,不然等下无法还原了)

            cp -r /etc/yum.repos.d/ /etc/yum.repos.d_bak/

            rm -rf /etc/yum.repos.d/*

    (3)创建新文件dvd.repo

            vim /etc/yum.repos.d/dvd.repo

            加入内容为:

            Linux软件包安装和卸载_linux_11

    (4)刷新repo生成缓存          Linux软件包安装和卸载_linux_12

    这时就能安装你需要的rpm包了!


到这里,你应该熟悉yum工具了。不知道你有没有注意到使用yum安装的时候会非常慢,那是因为默认的yum源是使用国外的yum仓库的。下面我们来介绍使用国内的仓库作为yum源。

在操作之前,我们先恢复之前的yum源,否则使用的yum时会出问题的。操作如下:

    rm -rf /etc/yum.repos.d

    mv /etc/yum.repos.d_bak /etc/yum.repos.d

    yum list    (这一步必须执行,生成缓存,方便下次使用。)

更改国内yum仓库源:

    (1)进入yum配置目录,删除CentOS-Base.repo(注意备份:mv CentOS-Base.repo CentOS-Base.repo_bak)

            Linux软件包安装和卸载_卸载_13

    (2)下载一份新的国内的CentOS-Base.repo文件代替

            wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  或者 curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo 

        Linux软件包安装和卸载_卸载_14

   当然你也可以打开查看一下这个文件的内容:

Linux软件包安装和卸载_linux_15

Linux软件包安装和卸载_卸载_16

    (3)替换成功后,你可以安装一个rpm包测试一下,例如: yum install -y zsh

除了CentOS-Base.repo这个标准的rpm源外,我们还可以安装yum扩展源epel

    yum install -y epel-release

利用yum工具下载rpm包:

    (1)下载rpm包不安装:yum install [包名] -y --downloadonly ;默认存放路径为/var/cache/yum/x86_64/7/xxx/packets ; xxx为仓库源,如:base、epel、dvd等等

    (2)下载rpm包不安装,指定存放路径:yum install [包名] -y --downloadonly --downloaddir=/usr/local/src

    (3)如果是已安装的rpm包:yum  reinstall -y [包名] --downloadonly

     (4) 使用yum保留下载的rpm包:http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 


yum局域网软件源搭建https://www.linuxidc.com/Linux/2013-07/87315.htm 

源码包安装:

    约定:源码包一般存放在/usr/local/src/

    源码包安装一般分为3步:①./configure     ②make    ③make install

    配置相关选项课查阅帮助文档:常用选项--prefix=[路径]

    验证上一条命令是否执行成功:echo $? ; 如果输出是0 表示执行成功