Linux学习之软件包的管理
一,应用程序的组成
Linux中的应用程序一般由4个部分组成:可执行程序、配置文件、帮助文件、库文件其中可执行程序为应用程序在linux中的入口。配置文件中记录了应用程序的相关配置信息。帮助文件中记录了应用程序的帮助文档。库文件为该应用程序运行的库文件,方便程序员在该程序基础上添加应用。
二、应用程序与系统命令的关系
1)文件的位置
系统命令:一般在/bin和/sbin目录中,或者为shell的内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
2)主要用途
系统命令:完成对系统的基本管理工作,如IP配置
应用程序:完成相对独立的其他负责任务,如网页浏览器
3)适用环境
系统命令:一般用于字符界面
应用程序:可根据实际需要部署在图形或者字符界面
4)运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:没有固定的格式
Linux中一般的的文件类型与对应的目录
文件类型 |
保存目录 |
普通的用户的执行程序 |
/usr/bin |
服务器执行程序文件和管理程序文件 |
/usr/sbin |
应用程序的配置文件 |
/etc |
日志文件 |
/var/log |
应用程序文档 |
/usr/share/doc |
应用程序手册页文件 |
/usr/share/man |
三.Linux中软件包及管理
Linux中的程序软件包主要分为以下几种:
封装类型 |
说明 |
Rpm软件包 |
扩展名为“.rpm” |
Deb软件包 |
扩展名为“.deb” |
源代码软件包 |
一般为“.tar.gz””.tab.bz |
绿色免安装软件包 |
解压后直接使用 |
四、red hat linux中的RPM包管理机制
RPM包管理机制由红帽子公司提出,并被大多数linux版本所采用。他它可以建立统一的数据库文件,详细记录软件包安装和卸载等变化信息,能自动分析软件包依赖关系。Rpm包的组成由软件名+版本号+发布次数+硬件平台+扩展名组成。Rpm包的管理主要通过rpm命令来完成。
1) rpm包和包的相关信息查询
rpm的查询:rpm –qa | grep bind 查询包含bind的所有的软件包
rpm –ql bind 查询软件包安装的目录和文件列表
rpm –qi bind 查询制定软件包的相信信息
rpm –qf 文件名或者目录名 查询文件或者目录由哪个rpm包安装
rpm –qc 软件包 查询程序的配置文件
rpm –qd 软件包 查询软件包的文档
2) rpm包的安装升级卸载
rpm的安装一般用#rpm –ivh 包名
-i 安装一个新的软件包
-U 升级软件包,若原本未安装,则安装
-F 更新包, 若原本未按照,则放弃安装
-e 卸载包
--nodeps 安装时忽略包依赖惯,可能导致软件的某些功能失效
-h 以#号显示安装进度
-v 显示安装过程
--force 强制安装rpm包
五,linux中的包管理工具yum
Yum的出现主要是为了解决软件包安装中的包依赖问题。Yum的宗旨 是自动化升级,安装卸载rpm包。收集rpm包的相关信息,检查rpm的依赖性并自动提示用户解决。它的软件仓库来源可以是HTTP,可以是FTP,还可以是本机。
1) 自动解决了包依赖问题,能够添加删除更新RPM包
2) 便于大量管理系统更新问题
3) 可以配置多个资源库
4) 保持了rpm的数据一致
5) 有详细log文件
Yum默认的安装linux时自动安装了。可以用#rpm –qa | grep yum 查看系统是否安装了yum软件包。没有的话,用rpm命令手动安装。安装完后,我们只需要配置yum的源仓库就好了。把光盘中的Server下的内容拷贝到/mnt/Server下,然后跳转/etc/yum.repos.d/配置rhel-source.repo文件。在文件中更改新添加的rpm源仓库路径。文件如下:
[yum test ] #yum源名称
Nameserver=servername #yum源名称
Baseurl=[http://***|ftp://**|file://**] #指定源路径
Enable=1 #是否可用1代表开启yum,0代表关闭
Gpgcheck=1#是否进行数字检查,以防止安装被修改过的包。1为检查,0为不检查
Gpgkey=file:///etc**** #数字签名公钥文件
可以添加多个源仓库。
最后我们可以使用yum来管理我们的rpm包了。
#yum list 列出所有源中的rpm包
#yum install 包名 安装rpm包
#yum remove 包名 移除rpm包