我如何在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?
我錯過了什麼嗎?
由於我幫助解決了與此相關的問題,因此我也想在這裡提供一些背景知識。
背景
您列出了由 Ycarus 託管的Zuniga Overlay 。我在 Gentoo 論壇上查找了他的使用者資料,自從論壇創建以來,他總共只有 24 個文章。當我第一次開始使用疊加時,Zuniga/Ycarus 疊加是我添加的第一個。我通過經驗發現,雖然覆蓋維護和他的論壇活動一樣糟糕。那裡的 Ebuild 很快就會變得陳舊或過時。
好消息
我很喜歡 Zuniga 網站上的搜尋功能,所以我用它來搜尋 ebuild。很有可能,如果此站點上的搜尋結果返回了一個陳舊的舊版本,那麼您已經發現,某個地方的某個地方的疊加層中有一個不是 Zuniga/YCarus 的較新版本。
如果你不知道,我想在這裡向你和其他讀者展示非官方的官方覆蓋,這些覆蓋在一定程度上由 Gentoo 開發人員支持和維護。
- 訪問覆蓋項目 Wiki
- 特別重要的是第 5 節 - 讓他人訪問您的疊加層,所以如果您還沒有閱讀,請閱讀它。
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 個中的任何一個。另請注意,只要覆蓋層中的包正在使用中,就不應刪除覆蓋層。