用了一段时间的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