用了一段时间的Gentoo Linux 系统,来总结一下Gentoo的程序安装方法,按照Gentoo的官方说法,Portage是Gentoo的核心,而Portage其实就是一个软件包的管理工具。说起来不同的Linux版本都有自己的软件安装方法,比如Ubuntu的apt-get,RedHat的yum等,常用的程序一般都有对应的打包文件。
Gentoo系统上安装程序的方法有两种,一种是源代码安装,这个就不用说了,所有的Linux系统中这个安装方法都一样,一般就是配置生成Makefile然后make,或者cmake之类。另外一种就是Gentoo所特有的Portage方法了。
Portage管理着Gentoo向用户提供的所有的软件包,通过emerge 和 ebuild 命令可以直接操作Portage包。在我之前的使用中,都是用emerge就搞定了,所以这里简单的总结一下emerge的用法。
emerge是Portage的命令行,主要用到的其实就是查找,安装,删除功能。
查找: emerge --search xxx
安装: emerge xxx
删除: emerge --unmerge xxx
举个例子,我这里要安装ACE:
emerge --search ace
Searching...
[ Results for search key : ace ]
[ Applications found : 85 ]
* app-arch/unace
Latest version available: 2.5-r3
Latest version installed: [ Not Installed ]
Size of files: 135 kB
Homepage: http://www.winace.com/
Description: ACE unarchiver
License: freedist
* app-cdr/acetoneiso [ Masked ]
Latest version available: 2.3
Latest version installed: [ Not Installed ]
Size of files: 1,343 kB
Homepage: http://www.acetoneteam.org/
Description: a feature-rich and complete software application to manage CD/DVD images
License: GPL-3
* app-misc/spacenavd
Latest version available: 0.5-r4
Latest version installed: [ Not Installed ]
Size of files: 40 kB
Homepage: http://spacenav.sourceforge.net/
Description: The spacenavd daemon provides free alternative to the 3dxserv daemon.
License: GPL-3
* app-misc/subsurface [ Masked ]
Latest version available: 9999
Latest version installed: [ Not Installed ]
Size of files: 0 kB
Homepage: http://subsurface.hohndel.org
Description: An open source dive log program
License: GPL-2
* app-text/mftrace
Latest version available: 1.2.18
Latest version installed: [ Not Installed ]
Size of files: 77 kB
Homepage: http://lilypond.org/mftrace/
Description: Traces TeX fonts to PFA or PFB fonts (formerly pktrace)
License: GPL-2
* dev-games/crystalspace [ Masked ]
Latest version available: 2.0
Latest version installed: [ Not Installed ]
Size of files: 181,567 kB
Homepage: http://crystal.sourceforge.net/
Description: Portable 3D Game Development Kit written in C++
License: LGPL-2.1
* dev-java/jmi-interface
Latest version available: 1.0-r3
Latest version installed: [ Not Installed ]
Size of files: 44 kB
Homepage: http://java.sun.com/products/jmi/
Description: Java Metadata Interface Sample Class Interface
License: sun-bcla-jmi
* dev-libs/ace
Latest version available: 5.7.2
Latest version installed: 5.7.2
Size of files: 9,496 kB
Homepage: http://www.cs.wustl.edu/~schmidt/ACE.html
Description: The Adaptive Communications Environment
License: ACE BSD BSD-4 BSD-2 tao? ( sun-iiop RSA )
* dev-libs/userspace-rcu [ Masked ]
Latest version available: 0.7.6
Latest version installed: [ Not Installed ]
Size of files: 384 kB
Homepage: http://lttng.org/urcu
Description: userspace RCU (read-copy-update) library
License: LGPL-2.1
* dev-perl/Ace
Latest version available: 1.920.0
Latest version installed: [ Not Installed ]
Size of files: 293 kB
Homepage: http://search.cpan.org/dist/AcePerl/
Description: Object-Oriented Access to ACEDB Databases
License: || ( Artistic GPL-1 GPL-2 GPL-3 )
可以看到出现了很多匹配对象,通过查看相应简介我确定dev-libs/ace 是我想要安装的
emerge dev-libs/ace
然后就自动安装好了,很方便
这就是软件安装的一个简单的过程了,虽然简单,但是足以解决大部分常用软件的安装问题了。最后再提一下Portage的维护问题,执行 emerge --sync