如何在 gentoo 上出现 hadoop?

如何在 gentoo 上出现 hadoop?

我正在尝试将hadoop从超级细菌覆盖。但是emerge 找不到包。

layman -a ultrabug
emerge sys-cluster/apache-hadoop-bin
Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "sys-cluster/apache-hadoop-bin".

emerge: searching for similar names...
emerge: Maybe you meant any of these: sys-cluster/pacemaker-gui, sys-cluster/ploop, sys-cluster/pacemaker?

我错过了什么吗?

答案1

自从我帮助问题相关对于这一点,我还想提供一些背景知识。

背景

您已经列出了祖尼加叠加,由伊卡鲁斯主持。我在 Gentoo 论坛上查找了他的用户个人资料,自从该论坛创建以来,他总共只有 24 个帖子。当我第一次开始使用叠加层时,Zuniga/Ycarus 叠加层是我首先添加的叠加层之一。但根据经验,我发现覆盖维护与他的论坛活动一样糟糕。那里的 Ebuild 很快就会变得陈旧或过时。


好消息

我确实喜欢 Zuniga 网站上的搜索功能,因此我使用它来搜索 ebuild。很可能,如果此网站上的搜索结果返回过时的旧版本,则某个地方的某个人在覆盖层中拥有较新的版本,但该版本不是 Zuniga/YCarus,正如您已经发现的那样。

如果您不知道,我想向您和这里的其他读者展示非官方官方Gentoo 开发人员在某种程度上支持和维护覆盖层。

  1. 参观覆盖项目 Wiki
  2. 特别重要的是第 5 节 - 向其他人授予您的叠加层访问权限,如果您还没读过的话请阅读一下。
  3. 该部分简要描述了laymanGentoo 用于添加和管理覆盖的工具。

现在做什么

完成上述 3 个步骤后,读者可能会问自己为什么我要费尽心思写这篇文章。 这就是为什么!您可以在以下位置找到所有覆盖层(开发人员维护的以及其他覆盖层)的列表:Gentoo GitWeb 上的正式列表。此列表是一个由用户名分隔的在线 Git 存储库(在 git 存在之前我们称它们为覆盖)。它是可导航的,因此如果您在谷歌搜索存储库名称后找到或需要 ebuild,您可以验证它是否确实存在于覆盖中。

要使用 搜索覆盖layman,以下单行代码将起作用(使用您的示例,其中确实包含您要查找的内容,正如我今天早上验证的那样。垃圾箱和核心):

layman -L | grep ultrabug

添加覆盖层:

layman -a ultrabug

正如马克指出的,在使用覆盖之前,必须将其与以下内容同步:

layman -S ultrabug 

请注意,如果您有多个叠加层,则在 后不指定任何内容-S将同步它们全部

要删除覆盖层,请使用(仅当您不再需要该包时才执行此操作):

layman -d ultrabug

这些和其他选项可以通过使用找到man layman


更新

根据评论,首先我们添加叠加层:

$ sudo layman -a ultrabug
Password: 

 * Adding overlay,...
 * Running Git... # ( cd /var/lib/layman  && /usr/bin/git clone git://anongit.gentoo.org/dev/ultrabug.git /var/lib/layman/ultrabug )
Cloning into '/var/lib/layman/ultrabug'...
remote: Counting objects: 1897, done.
remote: Compressing objects: 100% (1150/1150), done.
remote: Total 1897 (delta 751), reused 1709 (delta 663)
Receiving objects: 100% (1897/1897), 421.45 KiB | 0 bytes/s, done.
Resolving deltas: 100% (751/751), done.
Checking connectivity... done.
 * Running Git... # ( cd /var/lib/layman/ultrabug  && /usr/bin/git config user.name "layman" )
 * Running Git... # ( cd /var/lib/layman/ultrabug  && /usr/bin/git config user.email "layman@localhost" )
 * Successfully added overlay(s) ultrabug.

然后我们将它与其他同步(注意最后一行):

$ sudo layman -S 

 * Fetching remote list,...
 * Remote list already up to date: http://www.gentoo.org/proj/en/overlays/repositories.xml
 * Last-modified: Wed, 24 Jun 2015 18:20:37 GMT
 * Fetch Ok

 * Syncing selected overlays,...
 * Running Git... # ( cd /var/lib/layman/ixit  && /usr/bin/git pull )
Already up-to-date.
 * Running Git... # ( cd /var/lib/layman/java  && /usr/bin/git pull )
Already up-to-date.
 * Running Git... # ( cd /var/lib/layman/mv  && /usr/bin/git pull )
Already up-to-date.
 * Running Git... # ( cd /var/lib/layman/qt  && /usr/bin/git pull )
Already up-to-date.
 * Running Git... # ( cd /var/lib/layman/sunrise  && /usr/bin/git pull )
Already up-to-date.
 * Running Git... # ( cd /var/lib/layman/ultrabug  && /usr/bin/git pull )
Already up-to-date.
 * 
 * Succeeded:
 * ------
 * Successfully synchronized overlay "ixit".
 * Successfully synchronized overlay "java".
 * Successfully synchronized overlay "mv".
 * Successfully synchronized overlay "qt".
 * Successfully synchronized overlay "sunrise".
 * Successfully synchronized overlay "ultrabug".
 * 

然后我们验证 portage 是否可以看到它 - A 部分(我用于app-portage/eix此目的,但emerge -s会搜索。请参阅解析的数据库 [6])

$ sudo eix-update
Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] 'gentoo' /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 163|163 (100%) Finished             
[1] 'ixit' /var/lib/layman/ixit (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished           
[2] 'qt' /var/lib/layman/qt (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished           
[3] 'sunrise' /var/lib/layman/sunrise (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished             
[4] 'mv' /var/lib/layman/mv (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished           
[5] 'java' /var/lib/layman/java (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished         
[6] 'ultrabug' /var/lib/layman/ultrabug (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) Finished       
[7] '' /usr/local/portage (cache: parse|ebuild*#metadata-md5#metadata-assign#assign)
     Reading category 163|163 (100%) EMPTY!
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix/portage.eix ..
Database contains 19010 packages in 163 categories.

最后 - B 部分:

$ sudo eix hadoop
* sys-cluster/apache-hadoop-bin [1]
     Available versions:  ~1.0.3^m
     Homepage:            http://hadoop.apache.org/
     Description:         Software framework for data intensive distributed applications

* sys-cluster/apache-hadoop-common [1]
     Available versions:  ~1.1.1^mb ~1.1.1-r1^mb ~2.0.3^mb {ELIBC="FreeBSD"}
     Homepage:            http://hadoop.apache.org/
     Description:         Software framework for data intensive distributed applications

* sys-cluster/cloudera-hadoop [1]
     Available versions:  ~4.2.0^m {hdfs mapreduce}
     Homepage:            http://hadoop.apache.org
     Description:         Cloudera Distribution for Apache Hadoop

* sys-cluster/cloudera-hadoop-mr1 [1]
     Available versions:  ~4.2.0^m
     Homepage:            http://hadoop.apache.org
     Description:         Cloudera Distribution for Apache Hadoop MapReduce v1

[1] "ultrabug" /var/lib/layman/ultrabug

从调查来看,它似乎sys-cluster/hadoop-common是 FreeBSD 原生的(来自这篇文章 - 以及之前链接的文章),因此,您必须根据您的要求选择其他 3 个中的任何一个。另请注意,只要使用覆盖层中的包,你不应该删除覆盖层

答案2

您是否尝试过eix-sync添加覆盖后运行? eix-sync是更新缓存的简写。读维基百科更多细节。

相关内容