Ubuntu软件包易用性、灵活性
时间:2010-11-02 来源:mydear
让大家理解LIUNX Ubuntu软件包作用,然后全面介绍Ubuntu软件包是用方法,希望对大家有用。Ubuntu 宣言: 软件应免费提供,软件工具应能以人们本地语种的形式可用且不牺牲任何功能,人们应拥有定制及改变他们软件的自由,这包括以任何他们认为适宜的方式。
Ubuntu软件包管理概述
Ubuntu Linux采用了Debian的软件包管理机制。由于Ubuntu软件包具有易用性、灵活性和扩展性的特点,再加上Internet的支持,使用户随时都 能拥有最新的 Ubuntu系统,这也是Ubuntu受到推崇的一个重要原因。因而,Deb软件包管理也成为Ubuntu中最有活力的部分。本章介绍Ubuntu软件包 管理和dpkg软件包管理器。
Deb软件包概述
Deb软件包本质上是文件包,这点类似于tar文件将多个文件合并为一个归档文件。但是Deb的身价不在于整合文件,而在于使应用程序更易于传播。
流行的两种Ubuntu软件包管理机制
最初,基于Linux系统的开发者在完成应用程序开发后,将很多二进制文件发给用户,用户使用之前需要将相关程序逐个安装。因此,Debian Linux首先提出“Ubuntu软件包”的管理机制——Deb软件包,将应用程序的二进制文件、配置文档、man/info帮助页面等文件合并打包在一 个文件中,用户使用Ubuntu软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。
随即,Redhat Linux基于这个理念推出了自己的软件包管理机制——Rpm软件包。当然,Redhat Linux采用了自己的打包格式生成Rpm包文件,由Rpm包管理器负责安装、维护、查询,甚至Ubuntu软件包版本管理。由于Redhat Linux系统的普及,Rpm软件包被广泛使用,甚至出现第三方开发的软件管理工具,专门管理Rpm格式的软件包。
随着Linux操作系统规模的不断扩大,系统中软件包之间复杂的依赖关系,导致Linux用户麻烦不断。为了解决这个问题,Debian Linux开发出了APT软件包管理器。它能够自动检查和修复软件包之间的依赖关系。并且,利用Internet网络带来的快捷的连通手段,APT工具可 以帮助用户主动获取Ubuntu软件包。因此,APT工具再次促进了Deb软件包更为广泛地使用,成为Debian Linux的一个无法替代的亮点。
Ubuntu Linux系统的软件包管理机制延续了Debian的包管理方法。
Ubuntu软件包的类型
Debian包文件包含了二进制可执行文件、库文件、配置文件和man/info帮助页面等文档。通常Debian包文件的后缀为.deb,因此称为“Deb软件包”。Ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)。
二进制软件包(Binary Packages):包含可执行文件、库文件、配置文件、man/info页面、版权声明和其他文档。
源码包(Source Packages):包含软件源代码、版本修改说明、构建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。
用户不确定一个软件包具体类型时,可以使用file命令查看文件类型。例如下面命令用于证实一个软件包的文件类型是否是Deb软件包文件。
wdl@UbuntuFisher:~$ file g++_4.1.2-9ubuntu2_i386.deb
g++_4.1.2-9ubuntu2_i386: Debian binary package (format 2.0)
在Ubuntu Linux中,需要说明一个概念——虚拟软件包。将系统中具有相同或相近功能的多个软件包作为一个软件包集合,称为虚拟软件包,并指定其中一个软件包作为 虚拟软件包的默认首选项。提出虚拟软件的意图就是为了防止软件安装过程中发生冲突。例如,exim、sendmail和postfix软件包都是用于邮件 传输代理,将“mail-transport-agent”指定为它们的虚拟软件包。当用户安装“mail-transport-agent”时,将选择 安装exim、sendmail和postfix其中的首选项。
Ubuntu软件包的命名
在Ubuntu Linux中,软件包的命名遵循以下约定:Filename_Version-Reversion_Architecture.deb其 中,Filename表示软件包文件名,Version表示软件版本号,Reversion表示修订版本号,Architecture表示适用计算机架 构。通常,修订版本号是由Ubuntu开发者或创建这个Ubuntu软件包的人指定。在软件包被修改过之后,将修改版本号加1。
以g++_4.1.2-9ubuntu2_i386.deb软件包为例,g++是软件包名,4.1.2是软件版本号,9ubuntu2是修订版本号,i386是适用的计算机架构。