03 Linux系统管理―(安装及管理应用程序)

第三章:安装及管理应用程序

单词:

Package:包 Manager:管理者 Configure:配置
Prefix:前缀 Erase:擦除 Upgrade:升级 Freshen:更新

Linux应用程序的组成
1.普通的可执行程序文件,一般保存在/usr/bin目录中,普通用户即可执行。
2.服务器程序、管理程序文件,一般保存在/usr/sbin目录中,需要管理员才能执行。
3.配置文件,一般保存在/etc目录中,配置文件较多时会建立相应的子目录。
4.日志文件,一般保存在/var/log目录中。
5.关于应用程序的参考文档等数据,一般保存在/usr/share/doc/目录中。
6.执行文件及配置文件的man手册页,一般保存在/usr/share/man目录中。

软件包的封装类型
1.RPM软件包:这种软件包文件的扩展名为".rpm",只能在使用RPM机制的Linux操作系统中安装。RPM软件包一般针对特定版本的系统定制,因此依赖性较强。安装RPM包需要使用rpm命令。
2.DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操作系统中安装。安装DEB软件包需要使用Linux系统中的dkpg命令。
3.源代码包:这种软件包是程序员开发完成的原始代码,一般被制作成".tar.gz"、".tar.bz2"等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为"TarBall"。安装源代码软件包需要使用相应的编译工具,由于大部分Linux系统中都安装有基本的编译环境,因此使用源码软件包要更加灵活。
4.提供安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就可以根据向导完成安装。
5.绿色免安装的软件包:这种软件包直接包含有编译好的执行程序文件,因此不需要特别安装。

RHEL5系统的光盘中携带大部分软件包都组织在Server目录中,通过该目录中的文件可以熟悉RPM软件包的一般命名格式。挂载光盘的命令如下:
wKiom1RHQ7WQOkasAAB7cTn2uIo856.jpg
使用RPM包管理工具及命令
RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入了更多的优秀特性,成为众多Linux发行版中工人的软件包管理标准。
使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名-软件版本-发布次数.硬件平台类型.rpm”的文件名形式。
使用rpm命令能够实现几乎所有对RPM软件包的管理功能,执行"man rpm"命令可以查看关于rpm命令的帮助信息。
1.查询RPM软件包信息
rpm命令的查询功能主要通过"-q"选项实现,主要针对当前系统已经安装的软件包;通过"-qp"选项可以针对尚未安装的RPM包文件进行查询。
-qa:显示当前系统中以RPM方式安装的所有软件列表。
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(--info)。
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(--list)。
-qf:查看指定文件或目录是由哪个软件包所安装的。
-qc:显示指定软件包在当前系统中安装的配置文件(--configfiles)列表。
-qd:显示指定软件包在当前系统中安装的文档文件(--docfiles)列表。
使用"-qp"选项时,需要使用RPM包文件作为参数(可以有多个)。其相关的子选项与"-q"查询时类似。例如:-qpc:查看该软件包准备要安装的配置文件列表。
wKiom1RHQ82BcxT3AAEk-eEGPSk518.jpg
2.安装、升级、卸载RPM软件包
-i:在当前系统中安装(Install)一个新的RPM软件包。
-e:卸载指定名称的软件包。
-U:检查并升级系统中某个软件包,若该软件包并未安装,则等同于"-i"选项。
-F:检查并更新系统中某个软件包,若该软件包并未安装,则放弃安装。
-h:在安装或升级软件包过程中以"#"号显示安装过程。
-v:显示软件安装过程中的详细信息。
更多选项参考man信息。

3.维护RPM数据库
当RPM数据库损坏时,使用rpm命令的"--rebuilddb"或"--initdb"功能进行重建。

从源代码编译安装程序
现代的Linux发行版本通常使用包管理机制对软件进行打包安装,这样就省去了软件的编译安装过程,大大简化了Linux系统的安装和使用难度。但是在有些情况下,仍然需要使用源代码编译的方式为系统安装新的应用程序,例如:

1.安装较新版本的应用程序时:大多数的Linux发行版都提供了相当丰富的应用程序,而这些程序的版本往往滞后于该软件的最新源码版本,因为大多数的开源软件总是以源码的形式最先发布,之后才会出现.rpm、.deb等二进制封装的版本。下载应用程序的最新源码包并编译安装,可以在程序功能、安全补丁等方面得到及时更新。
2.当前安装的程序无法满足应用需求:对于RPM格式封装的应用程序,一般只包含了该软件所能实现的一小部分功能,而难以由用户自行修改、定制。通过对程序的源码进行重新配置并编译安装后,可以定制更灵活、更丰富的功能。
3.为应用程序添加新功能时:当需要利用现有的应用程序源代码进行适当的修改,以便增强新的功能时,也必须释放出该软件的源代码,进行适当修改后重新编译安装。

编译源代码需要相应的开发环境,对于自由软件来说,gcc编译器是最佳选择。确认系统中编译环境:
wKioL1RHRDTSnqxfAADgUzclcaM903.jpg
源码编译安装的基本过程
1.解包:源代码吧一般为TallBall形式,使用tar命令进行解压释放。在Linux系统中,可以将各种软件的源代码文件保存到/usr/src/目录中,便于集中管理。
wKioL1RHREfD7q0wAABvVAED2Yk475.jpg
2.配置:配置工作通常由源代码目录中的"configure"脚本文件来完成,具体参数可以在源码目录中执行"./configure --help"进行查看。不同的程序其配置参数会存在区别,但是"--prefix"形式的参数却是大多数开源软件通用的,该配置参数用于指定软件包安装的目标文件夹,未指定参数时,"configure"配置脚本将采用默认值。若将应用程序的相关文件安装到同一个目录中,需要卸载时就非常方便,一般只要将程序文件夹删除即可(有些软件可以在源码包目录中执行"make uninstall"命令完成卸载)。
wKiom1RHRA_xi3S0AABxY7Di-JQ807.jpg
3.编译:编译的过程主要是根据Makefile文件中的配置信息,将源代码文件编译、连接成二进制的模块文件、执行程序等。第二步的配置完成后执行"make"命令可以完成编译工作,一般比需配置步骤更长的时间,期间同样会出现大量的配置信息。
4.安装:编译完成后,就可以执行"make install"命令将软件的执行程序、配置文件、帮助文档等相关文件复制到Linux系统中了,即应用程序的最后安装过程。
上述过程中,有时候为了简单起见,也可以将编译、安装的步骤写成一行命令执行,中间使用"&&"符合分隔即可(make && make install)。
 

你可能感兴趣的:(linux,安装,系统,应用程序)