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.bz2”格式的压缩包包含程序的源代码

绿色免安装软件包

解压后直接使用

四、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代表开启yum0代表关闭

Gpgcheck=1#是否进行数字检查,以防止安装被修改过的包。1为检查,0为不检查

Gpgkey=file:///etc****      #数字签名公钥文件

 

 

可以添加多个源仓库。

最后我们可以使用yum来管理我们的rpm包了。

#yum list                 列出所有源中的rpm

#yum install 包名          安装rpm

#yum remove 包名          移除rpm