Linux 软件包管理

来源:互联网 发布:财务分析需要哪些数据 编辑:程序博客网 时间:2024/06/01 23:33

在windows我们安装应用程序都是点击exe文件,但在Linux应该怎么安装应用程序呢,此时我们需要软件包管理工具。在Linux中,软件都被打包成一个包文件,这些包文件都是用打包系统生成。软件包的基本单位是包文件,包文件是一个构成软件包的文件压缩集合,包括大量程序文件和数据文件,同时还包括包的元数据文件。还有可能包括预安装和安装后的执行脚本,用来在包安装之前和之后执行配置任务!

打包系统:

不同的Linux发行版本使用不同的打包系统:一般来说,发行版的包管理分成两种类型:

1.   Debian的“.deb”

2.   RedHat的“.RPM”

包管理系统

发行版 (部分列表)

Debian Style (.deb)

Debian, Ubuntu, Xandros, Linspire

Red Hat Style (.rpm)

Fedora, CentOS, Red Hat Enterprise Linux,OpenSUSE, Mandriva, PCLinuxOS

 

上层和底层软件包工具

软件包管理系统通常由两种工具类型组成:

1.   底层工具:用来处理具体任务,比方说安装和删除软件包文件;

2.   上层工具:完成元数据搜索和依赖解析。在Linux中,程序很少孤立的,他们总是依赖其他的软件组件来工作。现代的软件包管理系统都提供了一些依赖的解析方法,确保当安装软件包时,相关的依赖程序也被安装了。

发行版

底层工具

上层工具

Debian-Style

dpkg

apt-get, aptitude

Fedora, Red Hat Enterprise Linux, CentOS

rpm

yum

The RPM Package Manager (RPM) is a powerful command line drivenpackage management system capable of installing, uninstalling, verifying,querying, and updating computer software packages. Each software packageconsists of an archive of files along with information about the package likeits version, a description, and the like. There is also a library API,permitting advanced developers to manage such transactions from programminglanguages such as C or Python.

dpkg

dpkg是debian 类型的底层包管理工具,具有多种选项:

1.   dpkg –help 查找所有可用的option

2.   dpkg –info xxxx.deb 打印出包的信息

3.   dpkg –install xxxx.deb  安装包

4.   dpkg –list xxx 列出所有包含xxx字符串的包信息

5.   dpkg –remove xxx  移除包信息,但是不会删除配置文件

6.   dpkg –purge xxx 移除包文件和配置文件

上层工具APT(Advanced Package Tool)

APT是包管理系统的上层工具,提供apt-get接口。apt-get能够提供简单的在命令行下从多个源中获取和安装包的方式。不像dpkg,apt-get不识别.deb包文件,他只能安装/etc/apt/source.list文件中的.deb包文件,不能直接作用于其他的.deb文件。apt-get在从source文件中下载完.deb文档之后会立即调用dpkg工具。

下面是/etc/apt/source.list文件


/etc/apt/source.list文件列出了我们可以获取包的源。

源中的第一个单词表示文档的类型.Deb表示文档是二进制的包文件,Deb-src表示包是源文件加上Debian控制文件(.dsc)和diff.gz,diff.gz包含了包文件的改变记录。

第二个字段是Repository URL,是下载包的远程地址。

下面是apt的一些常用命令:

1.   apt-get update 更新资源包

2.   apt-get upgrade 升级资源包(不需要安装或者删除包)

3.  apt-get install xxxx 安装软件xxxx

4.  apt-get remove xxxx   移除软件xxxx

5.  apt-get --purge remove foo  完全移除软件xxxx(包括配置文件)

6.   apt-get dist-upgrade 升级软件,如果需要安装或者删除包文件

apt还提供了查询包列表的工具apt-cache。你可以通过功能,简单文本(正则表达式)或者依赖关系进行查询包文件。

apt-cache search word 查找描述中包含word的包

apt-cache show package 打印包的详细信息

apt-cache depends package 打印依赖package的包信息

aptitude

aptitude是一个图形工具,也是进行包管理的工具!


参考资料:
http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html

0 0
原创粉丝点击