Gentoo下折腾emerge包管理器

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

使用过的包管理器

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

通过配置源都可以从国内外镜像上获得软件包,并且交给这些包管理器来处理依赖,下载依赖等等

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

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

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

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

emerge的包管理系统portage

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

portage下的“小数据库”

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

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/ 目录的话,手动创建

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devilyouwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值