Gentoo

我如何在gentoo上出現hadoop?

  • June 28, 2015

我正在嘗試從超蟲覆蓋中出現 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?

我錯過了什麼嗎?

由於我幫助解決了與此相關的問題,因此我也想在這裡提供一些背景知識。

背景

您列出了由 Ycarus 託管的Zuniga Overlay 。我在 Gentoo 論壇上查找了他的使用者資料,自從論壇創建以來,他總共只有 24 個文章。當我第一次開始使用疊加時,Zuniga/Ycarus 疊加是我添加的第一個。我通過經驗發現,雖然覆蓋維護和他的論壇活動一樣糟糕。那裡的 Ebuild 很快就會變得陳舊或過時。


好消息

我很喜歡 Zuniga 網站上的搜尋功能,所以我用它來搜尋 ebuild。很有可能,如果此站點上的搜尋結果返回了一個陳舊的舊版本,那麼您已經發現,某個地方的某個地方的疊加層中有一個不是 Zuniga/YCarus 的較新版本。

如果你不知道,我想在這裡向你和其他讀者展示非官方的官方覆蓋,這些覆蓋在一定程度上由 Gentoo 開發人員支持和維護。

  1. 訪問覆蓋項目 Wiki
  2. 特別重要的是第 5 節 - 讓他人訪問您的疊加層,所以如果您還沒有閱讀,請閱讀它。
  3. layman該部分是對 Gentoo 用於添加和管理疊加層的工具的簡要說明。

現在做什麼

完成上述 3 個步驟後,讀者可能會問自己,為什麼我要費盡心思寫這篇文章。 這就是為什麼你可以在 Gentoo GitWeb的官方列表中找到所有覆蓋層的列表,包括開發者維護的和其他的。這個清單是一個由使用者名分隔的線上 Git 儲存庫(我們在 git 存在之前將它們稱為覆蓋)。它是可導航的,因此如果您在Google搜尋儲存庫名稱後發現或需要 ebuild,您可以驗證它確實存在於覆蓋中。

要使用 搜尋覆蓋layman,以下單行將起作用(使用您的範例,其中包含您要查找的內容,正如我今天早上驗證的那樣。bin 和 core):

layman -L | grep ultrabug

添加疊加層:

layman -a ultrabug

正如 Mark 所指出的,在可以使用覆蓋之前,它必須與以下內容同步:

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 - Part 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 個中的任何一個。另請注意,只要覆蓋層中的包正在使用中,就不應刪除覆蓋層

引用自:https://unix.stackexchange.com/questions/211961