Linux包管理

107 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

有人的地方就有江湖,有软件的地方就有争论。自古以来都是Linux看不起windows,linux内部各个发行版之间也有所谓的“高低贵贱”,谁好谁不好,多数人的争论点多少有些偏颇。比如自带的桌面有多炫酷,终端甚至有RGB跑马灯,安装起来有多省心等等。这些观点虽然说的也没什么错,但没抓住重点,甚至看起来有些幼稚。一个Linux发行版的质量如何的关键因素在于亮点:

  • 软件包管理
  • 社区的活跃程度

今天要说的包管理非常的重要。不同于很多商业软件,Linux上所有的软件都发布在网上,要么是一个可以直接安装的包,要是源码请自行编译运行。当下linux中存在两大包管理的阵营:

  • .deb:来自Debian,Ubuntu也用的这个
  • .rpm:来自Red Hat,Fedora, CentOS等等都都在用 一个linux软件包可能由大量程序以及支持这些程序的数据文件组成,也包括包的元数据文件和相应的安装执行脚本。而一个包管理工具则有两个大部分构成:底层工具用来处理这些任务,执行安装和删除; 上层工具,执行搜索和依赖解析。上文提到的deb对应的底层和上层分别为dpkg和apt-get;rpm对应的则是rpm和yum。是不是对上层工具很熟悉,我们用来搜索和安装软件的命令就是这两个。其实如果下载了对应的软件包,也可以通过底层工具直接安装,下面简单举个例子:
yum install emacs //直接搜索并安装

rpm -i emacs-22.1-7.fc7-i386.rpm //通过底层工具直接安装软件

原理就简单介绍到这,这几个命令的使用详情可以在其文档上详细查询。