第5章-安装及管理程序
一,Linux应用程序基础
(1),Linux命令与应用程序的关系
1,Linux命令
#执行文件大多比较小,通常放在/bin和/sbin目录中
#如果是内部命令,常集成在Bash程序内,而不是独立的执行文件
#命令大多适用于“命令字选项参数”的格式
2,应用程序
#执行文件放在:/usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
#应用程序一般需要在操作系统之外在另行安装,等同于“软件”的概念
#应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义
#应用程序可能会使用到图形界面,形式多样化
#有些应用程序提供的执行文件,能够使用像Linux命令一样的运行格式,也称“程序命令”
(2),Linux应用程序的组成
#普通的可执行程序文件:/usr/bin ,普通用户即可执行
#服务器程序、管理程序文件:/usr/sbin ,只有管理员能执行
#配置文件:保存在/etc目录中,配置文件较多时会建立相应的子目录
#日志文件:/var/log
#关于应用程序的参考文档等数据:/usr/share/doc/
#执行文件及配置文件的man手册页:/usr/share/man/
(3),软件包的类型
1,RPM软件包
#扩展名.rpm ,只能在使用RPM(RPM Package Manger)机制的Linux操作系统安装
#安装RPM包需要使用Linux系统中的“rpm”命令
2,DEB软件包
#扩展名.deb ,只能在使用DPKG(Debian Package)机制的Linux操作系统安装
#安装DEB软件包需要使用Linux系统中的“dpkg”命令
3,源代码软件包
#一般制作成 .tar.gz 和 .tar.bz2 格式的压缩包文件,所以叫“TarBall”包
#安装源码软件包需要使用相应的编译工具,如Linux中的C语言编译器 gcc
4,附带安装程序的软件包
#扩展名不一,但以“TarBall”格式的居多
#会提供用于安装的可执行程序或脚本文件,如 install sh setup 等
5,绿色免安装的软件包
#已经安装完成的包,成了一个目录了,打开来就能用
二,使用RPM包管理工具
(1),RPM概述
#RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系
#命名格式:软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm
如:bash-3.2-24.e15.i386.rpm
#硬件平台通常为“i386、i586、i686”,表示适用于Inetr公司的处理器
(2),使用RPM包管理命令
1,RPM命令实现的功能
#查询、验证RPM软件包的相关信息 #安装、升级、卸载RPM软件包
#维护RPM数据库信息等综合管理操作
2,查询RPM软件包信息
rpm –q 软件名:精确查询软件名(不能输错一个字符)
rpm –ql 软件名:查询安装好的软件在哪
rpm –qa | grep 软件名:模糊查询,常用的查找方式
rpm –qf 目录名或文件名:绝对路径、精确查询文件或目录由哪个软件包安装
3,安装、升级、卸载RPM软件包
-i:安装一个新的RPM软件
-e:卸载指定名称的软件包
-U:检查并升级软件包,若发现未安装,则等同于“-i”选项
-F:检查并更新软件包,若发现未安装,则放弃安装
- -force:强制安装某个软件包
- -nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件的依赖关系
-h:在安装或升级软件包的过程中,以“#”号显示安装进度
-v:显示软件安装过程中的详细信息
-ivh:常用组合键
4,解决依赖关系包-Yum
Yum -y install 软件名:可以解决安装有依赖关系的软件
Yum -y remove 软件名:卸载有多个依赖关系的软件包件包
5,维护RPM数据库
重建RPM数据库:rpm --rebuilddb 或 rpm --inittdb
导入验证公钥:rpm --import /media/cdrom/RPM-GPG-KEY-….
三,从源代码编译安装程序
(1),源代码编译概述
[安装较新版本的应用程序时]
可以在程序功能、安全补丁方面得到及时更新
[当前安装的程序无法满足应用需求时]
#对于RPM格式封装的应用程序,一般只包含了该软件所能实现一小部分功能
#用户可自行修改、定制,通过对程序的源代码进行重新配置并编译安装后,可以定制更录活、更丰富的功能
[为应用程序添加新的功能时]
#当你用现有的程序源代码进行适当的修改,并增加了新的功能时,你也就必
须释放出该软件的源代码,修改后在重新编译安装
注意:
gcc和make是最佳的编译工具
gcc--version和make --version查看版本信息
(2),编译安装的基本过程