前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gentoo emerge 使用方法

Gentoo emerge 使用方法

作者头像
EltonZheng
发布2021-01-22 07:30:30
1.6K0
发布2021-01-22 07:30:30
举报

使用emerge可以管理Portage中的软件甚至整个系统。

当我们谈到(软件)包的时候,我们通常指的是Portage树为Gentoo用户提供的包的名称。Portage树是ebuilds文件的集合,这些文件包含了Portage管理工具维护软件(安装,搜索,查询, …)时所需要的所有信息,并被默认的放置在/usr/portage目录中。

每当您要求Portage对系统中的软件包执行一些操作的时候,它会以系统中的ebuilds文件作为基础。因此您最好定期更新系统Portage树中的ebuild文件,这样Portage才知道新加入了哪些软件,哪些软件发布了安全更新,等等。

更新Portage树

代码语言:javascript
复制
# emerge --sync

更新系统

代码语言:javascript
复制
# emerge --update --deep --newuse world

–update(-u)表示更新 –deep(-D)表示更新关联包 Portage会查找您已经安装的软件包是否有更新版本,但它只会核对那些您已经明确地安装过的软件包(也就是在/var/lib/portage/world文件中列出的包),并不会完整去的检查与这些软件产生依赖关系的包是否也需要更新。如果您想更新系统中的每个软件包,那就加上–deep参数 –newuse 如果USE变量的值变了,就要使用这个参数,通知系统USE参数有变化

移除依赖包

如果仅仅移除了一个包,而未将其依赖的包移除,使用emerge –depclean命令来移除依赖包。

代码语言:javascript
复制
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild

在使用emerge –depclean前,确保系统完全更新过。 revdep-rebuild工具由gentoolkit包提供;使用前别忘了首先emerge它:

代码语言:javascript
复制
# emerge gentoolkit

升级系统完整步骤

代码语言:javascript
复制
   1. emerge --sync
   2. emerge -vauD --newuse world
   3. emerge –depclean
   4. revdep-rebuild

通过名称查找软件

代码语言:javascript
复制
# emerge --search softname

通过软件描述查找软件

代码语言:javascript
复制
# emerge --searchdesc pdf

安装软件

代码语言:javascript
复制
# emerge gnumeric

假装安装软件

代码语言:javascript
复制
# emerge --pretend gnumeric
或
# emerge -p gnumeric

移除软件

代码语言:javascript
复制
# emerge --unmerge gnumeric

全面world更新的时候,不想更新某些包

将你不想更新的包的名字加入到/etc/portage/package.mask中。 如你不想升级最新的nginx则加入

代码语言:javascript
复制
www-servers/nginx

设置某些包的USE属性

如果你想针对某些包设置他们的USE属性,而不是改变全局USE属性,则修改/etc/portage/package.use文件,如:

代码语言:javascript
复制
>=www-servers/nginx-0.7.6 random-index addition fastcgi flv imap pcre perl ssl status sub webdav zlib
>=dev-lang/ruby-1.8.7
dev-db/mysql innodb berkdb
dev-lang/php fpm berkdb bzip2 cli crypt gdbm iconv ipv6 ncurses nls pcre readline reflection session spl ssl unicode zlib curl exif gd json mysql pdo threads xml zip

使用最新的测试包

默认gentoo都是用稳定版的包,如果你想使用最新版本的软件,只要在/etc/portage/package.keywords文件中,对应的包后加入~就可以了。如:

代码语言:javascript
复制
www-servers/lighttpd ~amd64
www-servers/nginx ~amd64
dev-lang/php ~amd64
dev-db/mysql ~amd64
sys-devel/gcc ~amd64
dev-lang/ruby ~amd64

~amd64表明你更新的是64位版本的,如果是x86版本的,使用~x86就可以了。


本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更新Portage树
  • 更新系统
  • 移除依赖包
  • 升级系统完整步骤
  • 通过名称查找软件
  • 通过软件描述查找软件
  • 安装软件
  • 假装安装软件
  • 移除软件
  • 全面world更新的时候,不想更新某些包
  • 设置某些包的USE属性
  • 使用最新的测试包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com