Gentoo下折腾emerge包管理器

gentoo:emerge如何使用USE安装额外的包扩展,vim如何安装lua支持?php

使用过的包管理器

ubuntu的apt-get,arch的pacman,继承自redhat的yum前端

经过配置源均可以从国内外镜像上得到软件包,而且交给这些包管理器来处理依赖,下载依赖等等python

在使用mac os x那段时间,我通常是用brew和apple store来管理包和程序的shell

后来有段时间我使用windows,坚持使用360,虽然你们都说他流氓,可是十多年的感情了!从奇虎到如今,我发现他的“包管理器”:软件管家,仍是不错的(滑稽)!数据库

反正我已经习惯了使用在线包管理器的方式,节省大量的时间去写本身的程序ubuntu

安装完gentoo以后也迅速开始学习它的包管理器:emerge!vim

emerge的包管理系统portage

Gentoo 的包管理工具称为portage(相似于 yum 和 apt). 而 emerge (相似于Debian的apt-get,Redhat 的yum 和 Suse的zypper命令)是做为portage的前端使用 portage 的命令。windows

portage下的“小数据库”ruby

/usr/portage下是Portage树是ebuilds文件的集合,这些文件包含了Portage管理工具维护软件(安装,搜索,查询,编译 ...)时所须要的全部信息,当运行emerge命令时参考此数据库app

usr/portage

在/usr/portage中咱们看到全部emerge可用与管理的包,cd进去还能看到里面的包

使用emerge安装软件的时候:

emerge app-editors/vim

emerge后面紧跟的第一层也就是这个目录中第一层可用包,第二层对应了包下一层软件包

emerge的USE

make.conf

cd /etc/portage

cat ./make.conf

此文件记录了编译时用到的参数,CFLAGS,CXXFLAGS,MAKEOPTS等参数,通常不须要修改。
但有一个USE的变量很经常使用

USE

一个软件不止是程序,还有文档,插件扩展,UI支持等等,而use就是能够添加删除这些额外福利的变量。

两种方式使用USE:

  1. 能够直接修改make.conf里的USE变量。
  2. emerge命令前使用,至关于临时变量(推荐)

例:
vim须要使用neocomplete插件,就要lua支持,此时咱们若是手动编译vim须要加上--with-lua。

从新来安装vim,emerge使用USE添加一些支持,lua,ruby等

查看可用USE可用扩展包

emerge -pv app-editors/vim

查看软件可用扩展包

能够看到USE:
红色表示会安装的,蓝色并带有“-”号表示不会安装的,

安装vim,添加lua,ruby,cscope,python,perl经常使用支持:

USE="cscope lua ruby python perl" emerge --ask app-editors/vim

新的USE

看到刚刚蓝色的使用USE已经添加进去并变成红色了,表示会被一块儿安装进去

并且,留意多出一个依赖包cscope须要下载下来,而他的USE="-emacs",表示去掉对emacs的支持,那是留给emacs党用的,vim党不须要(滑稽

这样vim能使用neocomplete了!

其余的emerge命令

卸载软件

emerge -C vim

移除不影响系统功能的软件(清理系统)

emerge --clean
emerge -c

卸载能够移除的依赖(深度清理)

emerge --depclean

安装特定版本的软件

emerge "=python-3.2"
emerge "<python-3.2"

升级软件

emerge -u opera
emerge --update opera

升级系统软件

emerge -u system

升级整个系统

emerge -u world

world 来自 /var/lib/portage/world

固然,能够加个 p (再加个v就完美了),看看看是否是本身想要的:

emerge -pvu world

避免升级覆盖掉版本更高的软件

emerge -uU world
emerge --update --upgradeonly world

安装了masked 软件包,升级时可能会降级处理的

查看某软件包可用的USE参数

emerge -pv php

这个就很是有用了

临时设置USE 并以临时的USE 变量emerge 软件包

USE="-minimal" emerge -1 xinit

注意:添加不须要“+”号

若是想以某种规则(USE)永久性的安装某软件包,那么在 /etc/portage/package.use 文件里添加以下一行内容:

echo x11-apps/xinit -minimal >> /etc/portage/package.use

添加后,就会 以 USE="-minimal" 安装 xinit 了, 并且是永久性的(除非删掉此行) 不存在 /etc/portage/ 目录的话,手动建立

相关文章
相关标签/搜索