五、Linux安装及管理软件
本章主要简介Linux下软件安装方式,Linux安装软件也有自己的一套方式,最常见的有源码安装方式,RPM安装方式、YUM安装方式和二进制安装方式。用户可以根据自己的需要和获得软件包的不同,选择不自己喜欢的安装方式。
5.1、源码安装方式
由于Linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如Apache、Tomcat、PHP等软件,开源软件基本都是提供源码下载、源码安装的方式;源码安装的好处是用户可以定制软件功能,安装需要的模块,不需要的功能可以不用安装,此外用户还可以自己选择安装路径,方便管理,卸载软件也很方便,只需要删除对应的安装目录即可。
源码安装软件一般有以下几个步骤:下载解压源码、分析安装平台环境(configure)、编译安装软件(make、make install)
5.2、下载、解压源码
Linux下软件的源码一般都是C或者C++语言编写的,并且都会在软件的官网上提供源码包下载,我们可以从官网下载源码文件,然后再传到所在的Linux系统下,如果你的Linux系统处于联网状态下,也可以直接在系统内通过wget之类的下载命令将源码包直接下载到Linux系统下。
下载完成,把相应的软件包解压即可,针对下载的软件包的不同,使用不同方法进行解压,解压完成后进入解压生成的目录中。在这个目录下,一般都在一个REDAME文件。这个文件非常重要,它详细介绍了这个软件所能完成的功能、授权许可、安装需求、安装注意事项、安装方式等。
5.3、分析安装平台环境
在软件包解压完成之后,源码目录中,一般都会存在configure和README这两个文件,Linux下软件的安装受到操作系统安装环境的影响,比如某些软件在安装或者运行过程中需要调用操作系统本省的库文件,或者需要运行系统的摸个工具等。
5.4、编译、安装软件
在验证软件安装环境后正式进入软件的编译步骤,在进行编译前,首先了解下关于编译的一些基础知识.
在Linux系统下,make是经常用到的编译命令,无论是安装软件还是项目开发,都会经常用到编译、安装命令,也就是make和make install。对于一个包含很多源文件的应用程序,使用make和Makefile工具可以简单快速地解决各个源文件之间复杂的依赖关系,同时,make工具可以自动完成所有源码文件的编译工作,并且可以只对上次编译后修改过的文件进行增量编译,因此,熟练掌握了make和Makefile工具之后,源码安装软件就变得像Windows下安装软件一样简单。
1、makefile 文件
make工具最主要的功能就是通过makefile文件来实现的,makefile文件时按照某种语法来进行编写的,文件中定义了各个源文件之间的依赖关系,说明了如果编译源文件并生成可执行文件,它通过描述各个源程序之间的关系make工具自动完成编译工具,
2、make与make install
在了解Makefile文件结构,我们就可以控制编译的选项,定制自己所需的软件功能,接下来,我嗯只须在命令行输入make命令,即可进入编译阶段,根据软件源程序的大小和系统的硬件配置,编译时间不定,编译完成,会在当前目录以及子目录下生成相应的可执行文件,之后就可以进入安装软件,在命令行输入make install命令,在开始安装软件,安装进程会首先创建安装目录,如果没有指定安装目录安装程序默认会在系统的/usr/local目录下创建安装目录,然后将相应的文件和可执行程序从源码目录复制到安装目录下,这样安装就完成了。
RPM包安装
RPM介绍
RPM是Red Hat Package Manager的缩写,本意是Red Hat软件包管理,是最先由Redhat公司开发出来的Linux下软件包管理工具,由于这种软件管理非常方便,逐渐被其他Linux发行商所借用,现在已经成为Linux平台下通用的软件包安装方式。
RPM包管理方式的优点是:安装简单、方便,因为软件已经编译完成且打包完成,安装只是个验证环境和解压的过程,此外通过RPM方式安装的软件RPM工具都会记录软件的安装信息,这样方便了软件日后的查询、升级和卸载。
RPM包管理方式的缺点是对操作系统环境的依赖很大,它要求RPM包的那幢环境必须与PRM包封装时的环境和一致或相当,还需啊满足安装时与系统某些软件包的依赖关系。
RPM包的种类和组成
RPM包的封装格式一般有两种,分别是RPM和SRPM,SRPM包也是一种RPM,但是它包含了编译时的源文件和一些编译指定的参数文件,因而在使用的时候需要重新进行编译,通常SRPM对应的RPM文件类似于“xxx.src.rpm”格式。
RPM工具描述:
RPM工具的使用分为安装、查询、验证、更新、删除等操作。
安装软件包:
语法格式:
rpm [选项...]
常用选项:
安装/升级/擦除选项: --allfiles 安装全部文件,包含配置文件,否则配置文件会被跳过。 --allmatches 移除所有符合 <package> 的软件包(如果 <package> 被指定未多个软件包,常常会导致错误出现) --badreloc 对不可重定位的软件包重新分配文件位置 -e, --erase=<package>+ 清除 (卸载) 软件包 --excludedocs 不安装程序文档 --excludepath=<path> 略过以 <path> 开头的文件 --force --replacepkgs --replacefiles 的缩写 -F, --freshen=<packagefile>+ 如果软件包已经安装,升级软件包 -h, --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好) --ignorearch 不验证软件包架构 --ignoreos 不验证软件包操作系统 --ignoresize 在安装前不检查磁盘空间 -i, --install 安装软件包 --justdb 更新数据库,但不修改文件系统 --nodeps 不验证软件包依赖 --nofiledigest 不验证文件摘要 --nocontexts 不安装文件的安全上下文 --noorder 不对软件包安装重新排序以满足依赖关系 --noscripts 不执行软件包脚本 --notriggers 不执行本软件包触发的任何脚本 --nocollections 请不要执行任何动作集 --oldpackage 更新到软件包的旧版本(带 --force 自动完成这一功能) --percent 安装软件包时打印百分比 --prefix=<dir> 如果可重定位,便把软件包重定位到 <dir> --relocate=<old>=<new> 将文件从 <old> 重定位到 <new> --replacefiles 忽略软件包之间的冲突的文件 --replacepkgs 如果软件包已经有了,重新安装软件包 --test 不真正安装,只是判断下是否能安装 -U, --upgrade=<packagefile>+ 升级软件包 --reinstall=<packagefile>+ reinstall package(s
yum安装方式
yum是yellowdog update modified 的缩写,yellow dog(黄狗)也是Linux的一个发行版本,只不过Red Hat公司是将这种升级技术利用到自己的发行版上就形成了现在的yum,yum是进行Linux系统下软件安装和升级常用的一个工具,通过Linux工具配合互联网即可实现软件的便捷安装和自动升级。
yum 安装及配置
yum的安装
以CentOS 7 为例,要检查yum是否已经安装,基本系统默认会自动安装yum工具
[root@localhost ~]# rpm -qa |grep yum
yum的配置
yum的配置文件有主要配置文件/etc/yum.conf,资源库配置目录/etc/yum.repos.d。 yum 安装后,默认的一些资源库配置可能无法使用,因此需要进行修改,修改配置文件为:/etc/yum.repos.d/
[cr]
name=CentOS-$releasever - cr
baseurl=http://mirror.centos.org/centos/$releasever/cr/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
yum的特点与基本用法
yum的特点
- 安装方便,自动解决添加或删除RPM包时遇到的依赖性问题。
- 可以同时配置多个资源库(Repository)
- 配置文件简单明了(/etc/yum.conf, /etc/yum.repos.d/)
- 保持与RPM数据库的一致性
yum的基本用法
如果安装或者删除RPM包
[root@localhost ~]# yum -y install *.rpm [root@localhost ~]# yum -y remove *.rpm
检查yum工具更新软件包
[root@localhost ~]# yum check-update
更新所有的RPM软件包
[root@localhost ~]# yum update -y
通过yum查询RPM包信息
[root@localhost ~]# yum info