Linux系统中安装软件的三种方法
注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部
Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别:
1、文件位置
系统命令:一般在/bin和/sbin目录中,或为shell内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
2、主要用途
系统命令:完成对系统的基本管理工作,例如IP配置、管理账户
应用程序:完成相对独立的其他辅助任务,例如网页浏览器
3、适用环境
系统命令:一般只在字符操作界面中运行
应用程序:根据实际需要,有些程序可在图形界面
4、运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:通常没有固定的执行格式
5、应用程序目录结构
![69594ca0c98ab3748f9279642dbdc80b.png](https://i-blog.csdnimg.cn/blog_migrate/7d66cc35678607ba17d33679e5daebc0.jpeg)
一、rpm命令
1、使用rpm命令安装扩展名为".rpm"的软件包
格式:rpm [选项] RPM包文件
常用选项:
-i:安装一个新的rpm软件包
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
--force:强制安装所指定的rpm软件包
--nodeps:安装软件时,忽略依赖关系
(1)安装没有依赖包的.rpm软件
![53e44e26d67f480b3753439ab19eed40.png](https://i-blog.csdnimg.cn/blog_migrate/37e7d041c4306188e9f05c8d38b670c5.png)
备注:1)在安装软件时,一般选项 -ivh 一起使用,这样可以看到安装进度与安装信息;
2)默认情况下光盘挂载在/media目录下,所以安装软件包时,必须进入到软件包的当前目录/media/CentOS_6.5_Final/Packages目录中才可以安装,安装的软件存放在光盘上,,如果安装软件包时,当前目录是桌面,那么进入Packages目录的步骤如下:
![c0cb0205de3915fa5007bfbc61748cd8.png](https://i-blog.csdnimg.cn/blog_migrate/641e46cfbdde4013fcd0d50e2421f800.jpeg)
3) .rpm包的一般格式:
![b21b8e469c16a58bbf6c338aa22a3e42.png](https://i-blog.csdnimg.cn/blog_migrate/0e7a388b2208b9e4a4427d08e7559995.jpeg)
(2)安装有依赖关系的.rpm软件包,可以同时将依赖包与软件包一起安装,下图中安装gcc-4.4.7-4.el6.x86_64.rpm软件包时,有两个依赖包,所以安装时,三个软件包一起安装
![214bedcfe1bfdbe9a49f35a4c2cf9f3b.png](https://i-blog.csdnimg.cn/blog_migrate/3291a2998c2ac81963742a76f03cc7ec.jpeg)
2、升级或更新.rpm软件包
格式:rpm [选项] RPM包文件
常用选项:
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
--nodeps:升级软件时,忽略依赖关系
3、卸载指定的.rpm软件包
格式:rpm -e 软件名
--nodeps:卸载软件时,忽略依赖关系
4、查询已安装的.rpm软件包
格式:rpm -q[子选项] [软件名]
常用子选项命令:
-qa:查看系统中已安装的所有RPM软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
(1)、查看系统中已安装的所有RPM软件包
![b1a42d0695f6bdfc7b656bd2327f3827.png](https://i-blog.csdnimg.cn/blog_migrate/db2758a1df35b46b05f7bb3dcafe3757.png)
(2)、查看系统中某一个软件包,rpm -qa命令后面加上软件名,软件名必须输入全,不能仅输入nss
![eb0e90279aa5777582dc261ea5030712.png](https://i-blog.csdnimg.cn/blog_migrate/2c6d5a24ddbceb09b7962f8755090203.png)
在工作上常用rpm -qa | grep 软件包名,来查询软件包,用grep过滤一下
![30ac25e58285a5b86d75a45c94d101fc.png](https://i-blog.csdnimg.cn/blog_migrate/31134ad61b3c89e34f3ca0619cc1a21d.png)
(3)、查看软件包是否有安装
![78c1fbdc680843bab1cf58e8a22fed71.png](https://i-blog.csdnimg.cn/blog_migrate/ec07e1d3437eaa3296953bc580a5ef1a.png)
5、查询文件或目录是哪个软件包安装的
格式:rpm -qf 文件或目录名
![bca3c674c934611993c4fbec85689347.png](https://i-blog.csdnimg.cn/blog_migrate/2080f584ac1ea2db56423b10146d7389.png)
6、查询未安装的.rpm软件包文件
格式:rpm -qp[子选项] RPM包文件
常用的子选项:
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
查询未安装的软件包时,必须输入整个安装包的名称,而查询已安装的软件包时,只要输入软件包名就可以了
![021cffa741b9bcef7941dcb6b0cb406b.png](https://i-blog.csdnimg.cn/blog_migrate/946c1a73870606e676cc34fb58dd3076.jpeg)
二、yum命令
1、yum源的获取
使用yum命令时,必须依赖于yum源,而yum源可以从互联网获取,也可以建立本地的yum源;
从互联网获取的yum源,前提条件必须连接互联网,连接互联网后,直接使用yum命令安装,默认情况yum源的配置文件是在/etc/yum.repos.d目录下,打开/etc/yum.repos.d,可以看到yum源默认用的CentOS官网的。
如果无法连接外网,那么就需要建立本地的yum源,当有光驱时,建立本地yum源的步骤:
(1) 在系统根目录下新建一个目录abc;
![feb911e6369142373fedc478d6a2225c.png](https://i-blog.csdnimg.cn/blog_migrate/5783500b0098f649ef34a43bd65df157.png)
(2) 将系统安装光盘挂到根/abc目录下;
![c4c5cf97a6214e7e1ae632f8126b3946.png](https://i-blog.csdnimg.cn/blog_migrate/a07b4ad2329fcf0260b668e678b4d964.png)
(3) 在/etc/yum.repos.d/目录下新建一个xxx.repo的yum源文件,如新建的yum源文件名称为testyum.repo,新建testyum.repo文件前,需要先将/etc/yum.repos.d/目录下的文件全部删除;
![39dd3c26c9bb263975f8f297c26745d3.png](https://i-blog.csdnimg.cn/blog_migrate/a78a393aae04c0290682f8ebd3bfe44f.png)
在testyum文件中输入下面的内容:
[yunSource] #yum源名称
name=yumSource #yum源名称
baseurl=file:///abc #yum源所在的本地路径,file://是指本地硬盘上
gpgcheck=0 #不校验软件包是不是官方发布的
(4)文件输入完成后保存并退出,查看/etc/yum.repos.d目录下已生成一个testyum.repo的文件,用命令yum repolist all 查看一下建立的yum源仓库是否建立成功;
(5)yum clean all 清空一下缓存
(6)yum repolist 重新加载库
(7) 这样就可以用yum源安装软件包了;
备注:如果Linux可以上外网,
baseurl可以用网易的镜像源:http://mirrors.163.com/.help/CentOS6-Base-163.repo
或者阿里巴巴开源镜像站:https://mirrors.aliyun.com/repo/Centos-7.repo
2、使用yum命令来安装软件包
格式:yum install 软件名 [-y]
-y:如果使用-y,那么在安装软件时命令行就不会出现"Is this ok[y/N]"这条提醒语句了,更不需要在命令行输入y或N了,直接安装软件。
![bcc9e0479a89361e5b4f5ae1d17d1bba.png](https://i-blog.csdnimg.cn/blog_migrate/1051ff6733a593985d3140f418bf757c.jpeg)
备注:对于安装有依赖包的软件,用yum命令特别方便,如果用rpm命令,就必须要先装依赖包再装软件包,而yum命令会直接匹配依赖包然后直接安装
![9642c5e95d93f9be98797be69be87b83.png](https://i-blog.csdnimg.cn/blog_migrate/bcd0e2a5531d986d8c4bfe3d5f1d82a8.jpeg)
3、清空yum源的缓存
![98a91aca0bd26aee5eca448d9c5622b8.png](https://i-blog.csdnimg.cn/blog_migrate/c4bc785f06984959d58c0c19c689317d.png)
4、卸载软件包
![a9a53d27c5f9a4e86cad1706e7cc0460.png](https://i-blog.csdnimg.cn/blog_migrate/0770082ce08a04b0f63c72babc9a78e6.png)
5、列出所有已安装的软件包
![2a20ce7ca8d1d63cbea357ffe82bffe0.png](https://i-blog.csdnimg.cn/blog_migrate/ee8955b5b0864be6c1eaa81ce27334e6.png)
6、列出所有可安裝的软件包
![ed21f00c81013f5acfaabacb97313212.png](https://i-blog.csdnimg.cn/blog_migrate/02d9dbe21c3ee0b6cd4bd0a6c5033587.png)
7、列出所有软件包的信息或单独一个软件包的信息,命令yum info 是列表所有软件包的信息
![5cfee7f70dd086eecbbd0b6d42321991.png](https://i-blog.csdnimg.cn/blog_migrate/e966c55f0667533b8eddc1e73da2645a.jpeg)
8、使用yum命令安装组套件
格式:yum groupinstall 组名
![930e004e16562aa5469934d7953a71a3.png](https://i-blog.csdnimg.cn/blog_migrate/e38423dfea25afc0f69f2e8c9057b7b6.png)
使用yum grouplist命令可以查询到组名
![c33120c313f4058e69b075f6e9f4decb.png](https://i-blog.csdnimg.cn/blog_migrate/7b473db22f4412d96f6fe6a4e15a9643.png)
三、编译安装源码包
首先说一下使用源代码安装软件的优点:
- 可以获得最新的软件,及时修复bug;
- 根据用户的需求,灵活定制软件功能
编译安装源包必须要有源代码编译环境
编译源代码步骤
![58ea84a9e1e1d20b8e5376986560b098.png](https://i-blog.csdnimg.cn/blog_migrate/db7d7ec35c67bb53a13bce22bed07988.jpeg)
configure、http://Makefile.in一般是项目管理器自动生成的,而gcc编译器需要安装,使用yum命令安装
![666429861aefd522a4df3a6d4b2f4a2e.png](https://i-blog.csdnimg.cn/blog_migrate/f91f7dfe2250129907a498d26d7e1773.jpeg)
源码编译安装的基本过程:
1、解压 --- tar
解包、释放出源代码文件,习惯上将软件包释放到/usr/local/src/目录,解包后的源代码文件位置:/usr/local/src/软件名-版本号/
互联网上下载一个源码文件
![ce42b3487614894a4f7fdb80672b181c.png](https://i-blog.csdnimg.cn/blog_migrate/acb849cb5f9764511f98657592f95810.jpeg)
下载下来的源码包,可以使用md5sum校验工具,进行完整性校验,防止源码包被别人串改,校验方法:计算MD5校验和,并与官方提供的值相比较,判断是否一致,如果一个致,代表没有串改,如果不一致,就表明已被别人串改了。
![8b79c70e933bc9afe37318b0158f1550.png](https://i-blog.csdnimg.cn/blog_migrate/deb12ead82f6e91a6015e5d12ff670a9.png)
用firefox浏览器下载文件默认保存到当前用户root的主目录/root/Downloads目录下,如果是其它普通用户登陆的,默认保存到/home/普通用户名/Downloads目录下
![f04ca2ca873b764dd45d37cab87883c5.png](https://i-blog.csdnimg.cn/blog_migrate/5cccb9d0edc1e4f90fa4f475b87a81e3.png)
用tar命令解压
![207aa9bd0accd46e580a98db3875d59d.png](https://i-blog.csdnimg.cn/blog_migrate/61c6a1d7313121b0bf8ee03fe51db838.png)
备注:(1)对于tar.gz这样的压缩格式,要用tar命令来解压,如果是其它压缩格式,就需要用其它命令;
(2)-C,C是大写的C,这个参数用来指定解压到哪个目录;
(3)如果命令行中不用-C /usr/local/src,那么解包命令将会将文档解包在当前目录下;
(4)选项zxvf
z:gz压缩格式,如果是bz2压缩格式,那么选项就需要用j
x:解压文件
v:详细的列出处理的文件
f:指定文件名
解压后的文件
![3ee6c3fce74bbaa28f30fc4484a31dbf.png](https://i-blog.csdnimg.cn/blog_migrate/d092dbf8ed1dbfc2c882bd9177ef193a.png)
进入这个解压后的文件,可以看到源码目录
![df1933a0ad9899a004b2b5c6ef0a6fda.png](https://i-blog.csdnimg.cn/blog_migrate/bb39211af885a116b481ae7220ff8296.jpeg)
2、配置 --- ./configure
针对当前系统、软件环境,配置好安装参数
执行"./configure --help"可以查看帮助,典型的配置选项:--prefix=软件安装目录
使用./configure,将软件安装到/usr/local/apache2目录中
![246d85a5bacc98690f5f6761b50f6cce.png](https://i-blog.csdnimg.cn/blog_migrate/30ea35574000ff336ae8bbfb5611b837.png)
备注:
(1)/usr/local/apache2目录是随意指定的一个安装目录,也可以安装到其它目录下;
(2)使用./configure配置时,需要将工作目录切换到软件源码所在的目录;
(3)使用源码目录中的configure脚本,由于configure是软件程序而不是系统命令,所以执行时,需要指明路径,由于目前是在httpd-2-2.15,可以使用相对路径 ./configure,.(点)的意思是指当前目录httpd-2-2.15目录;
(4)--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱;如果使用--prefix选项可以将安装文件放到/usr/local/apache2目录中,有利于查找、卸载软件或移植软件,当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净,移植软件只需拷贝整个目录到另外一个机器即可;
3、编译 --- make
将源代码文件变为二进制的可执行程序,用make命令
![c4b0f3d4bae580defbf9a61e9bf689c2.png](https://i-blog.csdnimg.cn/blog_migrate/e11e44df05739db0edb33e4e5da988d2.png)
4、安装 --- make install
*使用安装make install命令安装程序*
![85d1fbc0097fb0cfd8d18e643170d535.png](https://i-blog.csdnimg.cn/blog_migrate/beaa067f313eb465493df42f92c2d630.png)
使用安装/usr/local/apache2/bin目录下的apachectl程序,用./apachectl start启动安装程序
![2bc7894b3d18ca6e20f3369515d8a47d.png](https://i-blog.csdnimg.cn/blog_migrate/cb4ef02899a310de3da55a4a11b96669.jpeg)
关闭程序
![9fc140a54c4ec91a1d33807b897933ad.png](https://i-blog.csdnimg.cn/blog_migrate/34a02b159a4e996efee57293fbe8e53f.png)
备注:make与make install命令可以合写成一行 make && make install
其它版本的linux安装方式介绍:
deb包安装方式步骤:
1、找到相应的软件包,比如soft.version.deb,下载到本机某个目录;
2、打开一个终端,su -成root用户;
3、cd soft.version.deb所在的目录;
4、输入dpkg -i soft.version.deb
详细介绍: 这是Debian Linux提供的一个包管理器,它与RPM十分类似。
但由于RPM出现得更早,所以在各种版本的Linux都常见到。
而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。 1. 安装 dpkg –i deb的软件包名 如:dpkg –i software-1.2.3-1.deb 2. 卸载 dpkg –e 软件名 如:dpkg –e software
3.查询:查询当前系统安装的软件包:
dpkg –l ‘软件包名’
如:dpkg –l 'software'
apt方式安装:(安装deb包) 1、打开一个终端,su -成root用户;
2、apt-cache search soft 注:soft是你要找的软件的名称或相关信息
3、如果2中找到了软件soft.version,则用apt-get install soft.version命令安装软件
注:只要你可以上网,只需要用apt-cache search查找软件,用apt-get install软件 详细介绍:
apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。
apt-get命令一般需要root权限执行,所以一般跟着sudo命令例sudo apt-get xxxx
apt-get install packagename——安装一个新软件包(参见下文的aptitude)
apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)
apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)
dpkg --force-all --purge packagename ——有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
apt-get autoremove——因为apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件。
apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。如果需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。
apt-get clean——这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
apt-get upgrade——更新所有已安装的软件包
apt-get dist-upgrade——将系统升级到新版本
apt-cache search string——在软件包列表中搜索字符串
apt-cache showpkg pkgs——显示软件包信息。
apt-cache stats——查看库里有多少软件
apt-cache dumpavail——打印可用软件包列表。
apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgnames——打印软件包列表中所有软件包的名称
(需要定期运行这一命令以确保您的软件包列表是最新的)
简单的说: dpkg只能安装已经下载到本地机器上的deb包. apt-get能在线下载并安装deb包,能更新系统,
且还能自动处理包与包之间的依赖问题,这个是dpkg工具所不具备的。
bin文件安装: 如果你下载到的软件名是soft.bin,一般情况下是个可执行文件,安装方法如下:
1、打开一个终端,su -成root用户;
2、chmod +x soft.bin
3、./soft.bin //运行这个命令就可以安装软件了
不需要安装的软件: 略 有些软件,解压后直接可以用,是不需要安装的,自带jre解压缩后可直接运行