这篇来说一下Linux系统中如何安装软件,首先说一下应用程序与系统命令的区别:
1、文件位置
系统命令:通常在/bin和/sbin目录中,或为shell内部指令
应用程序:一般在/usr/bin和/usr/sbin目录中
2、主要用途
系统命令:完成对系统的基本管理工作,比如IP配置、管理帐户
应用程序:完成相对独立的其他辅助任务,诸如网页浏览器
3、适用环境
系统命令:通常只在字符操作界面中运行
应用程序:按照实际须要,有些程序可在图形界面
4、运行格式
系统命令:通常包括命令字、命令选项和命令参数
应用程序:一般没有固定的执行格式
5、应用程序目录结构
本文中用的CentOS系统
一、rpm命令
1、使用rpm命令安装扩充名为".rpm"的软件包
格式:rpm[选项]RPM包文件
常用选项:
-i:安装一个新的rpm软件包
-h:以“#”号显示安装的进度
-v:显示安装过程中的详尽信息
--force:强制安装所指定的rpm软件包
--nodeps:安装软件时,忽视依赖关系
(1)安装没有依赖包的.rpm软件
备注:1)在安装软件时,通常选项-ivh一起使用,这样可以看见安装进度与安装信息;
2)默认情况下光碟挂载在/media目录下,所以安装软件包时,必须步入到软件包的当前目录/media/CentOS_6.5_Final/Packages目录中才可以安装,安装的软件储存在光碟上,,假如安装软件包时,当前目录是桌面,这么步入Packages目录的步骤如下:
3).rpm包的通常格式:
(2)安装有依赖关系的.rpm软件包,可以同时将依赖包与软件包一起安装,右图中安装gcc-4.4.7-4.el6.x86_64.rpm软件包时,有两个依赖包,所以安装时,三个软件包一起安装
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软件包
(2)、查看系统中某一个软件包,rpm-qa命令前面加上软件名,软件名必须输入全,不能仅输入nss
在工作上常用rpm-qa|grep软件包名,来查询软件包,用grep过滤一下
(3)、查看软件包是否有安装
5、查询文件或目录是那个软件包安装的
格式:rpm-qf文件或目录名
6、查询未安装的.rpm软件包文件
格式:rpm-qp[子选项]RPM包文件
常用的子选项:
-qpi:通过.rpm包文件查看该软件的详尽信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
查询未安装的软件包时,必须输入整个安装包的名称,而查询已安装的软件包时,只要输入软件包名就可以了
二、yum命令
1、yum源的获取
使用yum命令时,必须依赖于yum源,而yum源可以从互联网获取,也可以构建本地的yum源;
从互联网获取的yum源,前提条件必须联接互联网,联接互联网后,直接使用yum命令安装,默认情况yum源的配置文件是在/etc/yum.repos.d目录下,打开/etc/yum.repos.d,可以看见yum源默认用的CentOS官网的。
假如未能联接内网,这么就须要构建本地的yum源linux系统安装教程,当有硬盘时,构建本地yum源的步骤:
(1)在系统根目录下新建一个目录abc;
(2)将系统安装光碟挂到根/abc目录下;
(3)在/etc/yum.repos.d/目录下新建一个xxx.repo的yum源文件,如新建的yum源文件名称为testyum.repo,新建testyum.repo文件前,须要先将/etc/yum.repos.d/目录下的文件全部删掉;
在testyum文件中输入下边的内容:
[yunSource]#yum源名称
name=yumSource#yum源名称
baseurl=file:///abc#yum源所在的本地路径,file://是指本地硬碟上
gpgcheck=0#不校准软件包是不是官方发布的
(4)文件输入完成后保存并退出,查看/etc/yum.repos.d目录下已生成一个testyum.repo的文件,用命令yumrepolistall查看一下构建的yum源库房是否构建成功;
(5)yumcleanall清空一下缓存
(6)yumrepolist重新加载库
(7)这样就可以用yum源安装软件包了;
备注:假如Linux可以上内网,baseurl可以用网易的镜像源:
2、使用yum命令来安装软件包
格式:yuminstall软件名[-y]
-y:假如使用-y,这么在安装软件时命令行就不会出现"Isthisok[y/N]"这条提醒句子了,更不须要在命令行输入y或N了,直接安装软件。
备注:对于安装有依赖包的软件,用yum命令非常便捷,假如用rpm命令,就必需要先装依赖包再装软件包,而yum命令会直接匹配依赖包之后直接安装
3、清空yum源的缓存
4、卸载软件包
5、列出所有已安装的软件包
6、列出所有可安裝的软件包
7、列出所有软件包的信息或单独一个软件包的信息,命令yuminfo是列表所有软件包的信息
8、使用yum命令安装组套件
格式:yumgroupinstall组名
使用yumgrouplist命令可以查询到组名
假如有图形界面,这么在系统--管理--添加/删掉软件页面,可以查看到组名
三、编译安装源码包
首先说一下使用源代码安装软件的优点:
编译安装源包必需要有源代码编译环境
编译源代码步骤
configure、Makefile.in通常是项目管理器手动生成的,而gcc编译器须要安装,使用yum命令安装
源码编译安装的基本过程:
1、解压---tar
解包、释放出源代码文件,习惯中将软件包释放到/usr/local/src/目录,解包后的源代码文件位置:/usr/local/src/软件名-版本号/
互联网上下载一个源码文件
下载出来的源码包,可以使用md5sum校准工具,进行完整性校准,避免源码包被他人串改,校准方式:估算MD5校准和,并与官方提供的值相比较,判定是否一致,假如一个致,代表没有串改linux的安装方式有哪些,倘若不一致,就表明已被他人串改了。
用firefox浏览器下载文件默认保存到当前用户root的主目录/root/Downloads目录下,假如是其它普通用户登入的,默认保存到/home/普通用户名/Downloads目录下
用tar命令解压
备注:(1)对于tar.gz这样的压缩格式,要用tar命令来解压,倘若是其它压缩格式,就须要用其它命令;
(2)-C,C是小写的Clinux学习,这个参数拿来指定解压到那个目录;
(3)假如命令行中不用-C/usr/local/src,这么解包命令将会将文档解包在当前目录下;
(4)选项zxvf
z:gz压缩格式,倘若是bz2压缩格式,这么选项就须要用j
x:解压文件
v:详尽的列举处理的文件
f:指定文件名
解压后的文件
步入这个解压后的文件,可以看见源码目录
2、配置---./configure
针对当前系统、软件环境,配置好安装参数
执行"./configure--help"可以查看帮助,典型的配置选项:--prefix=软件安装目录
使用./configure,将软件安装到/usr/local/apache2目录中
备注:(1)/usr/local/apache2目录是随便指定的一个安装目录,也可以安装到其它目录下;
(2)使用./configure配置时,须要将工作目录切换到软件源码所在的目录;
(3)使用源码目录中的configure脚本,因为configure是软件程序而不是系统命令,所以执行时,须要指明路径,因为目前是在httpd-2-2.15linux的安装方式有哪些,可以使用相对路径./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命令
4、安装---makeinstall
使用安装makeinstall命令安装程序
使用安装/usr/local/apache2/bin目录下的apachectl程序,用./apachectlstart启动安装程序
关掉程序
备注:make与makeinstall命令可以合写成一行