- rpm
现在多可在linux运行的软件都使用.rpm作为主要发布形式。
wiki介绍:
http://en.wikipedia.org/wiki/RPM_Package_Manager
从上文可知,RPM最初的意思是Red Hat Package Manager,也就是用于红帽linux的。虽然现在已经广泛使用rpm,但是很多linux操作系统,如ubuntu,rpm并不是主要/默认的安装软件的方式。
上文中的Front-ends一段讲述了常见的可以安装rpm的package manager及其适用的操作系统,如yum等。值得一看。
由于目前rpm的广泛使用,对于那些不能直接使用rpm的linux操作系统,通常官网都有文档说明如何安装rpm。
例如:我们仍然可以在ubuntu这类操作系统上安装rpm,请参看:
https://help.ubuntu.com/community/RPM/AlienHowto
另外值得一提的是,rpm使用了一个Berkeley DB来存储本地已经安装的软件的各种信息。通常位于/var/lib/rpm
。
我们可以使用下面的命令来检查是否安装了某个软件以及版本。
rpm -aq | grep software-name
- yum
也是用来在各种linux操作系统安装rpm的package manager。
http://en.wikipedia.org/wiki/Yellowdog_Updater,_Modified
这个命令可以用于查看安装的rpm:
yum list installed
这个命令好用的地方是,不仅仅列出了软件的名称和版本,还可以看到安装的地方。
Synaptic是ubuntu默认的一个图形化package manager。
https://help.ubuntu.com/community/SynapticHowto
最后一个题外话。
在安装linux上各种软件时,经常有一个dependency:libaio dev
This library enables userspace to use Linux kernel asynchronous I/Osystem calls, important for the performance of databases and otheradvanced applications.
http://packages.ubuntu.com/hardy/libaio-dev
各种package manager会自动下载这些依赖。因为在repository中存储的各种软件,都有该软件对应的所有依赖。这也就是为什么我们常常会发现,安装很多软件时,往往会自动下载很多下来。
但是我在ubuntu中用rpm安装mysql时,由于采用的是work around(前面链接中有具体的做法),导致这些dependencies都不会自动下载。因此需要自己手动安装,非常麻烦。