Gentoo'da amd64, ~ amd64 ve ~ amd64-linux arasındaki fark nedir?


9

Çalıştığımda equery depgraph www-client/chromium-10.0.648.151tüm bağımlılıklar mevcut değil. Bazı şovlar M[package.mask], bazı şovlar [missing keyword]. Benim ACCEPT_KEYWORDSolduğu ~amd64-linuxgöre emerge --info. Farklı ACCEPT_KEYWORDS(çevresel bir değişken olarak geçti eqeury) ile denedim ve hepsinin farklı eksik bağımlılıkları var. Tüm olası kombinasyonlar arasında, sadece ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'tüm bağımlılıklar aynı anda tatmin edilebilir.

Sorularım:

  1. ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'geçerli bir yapılandırma?
  2. Belgelerden amd64kararlı ve istikrarsız anlamına gelen bir şey öğrendim ~amd64. Ne olmuş ~amd64-linux?
  3. Seçersem ~amd64, equerysadece mevcut olan paketleri kullanmaz amd64, bu da eksik bağımlılıklara neden olur. Bu bekleniyor mu? Öyleyse, dengesiz test kullanıcıları en azından ACCEPT_KEYWORDS='amd64 ~amd64'yerine ACCEPT_KEYWORDS='~amd64'mi kullanmalıdır ?
  4. Anahtar kelimelerin sırası önemli mi?

Ek bilgi: Bu kılavuzu izleyerek Gentoo Öneki'ni kurdum . Varsayılan olarak, $EPREFIX/etc/make.profilesembolik köprü ise $EPREFIX/usr/portage/profiles/prefix/linux/amd64ve bir içeriyor make.defaultssahip olduğunu ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ne yapılandırılmış $EPREFIX/etc/make.confne $EPREFIX/etc/make.globalsde ACCEPT_KEYWORDSyapılandırılmış. Göre eselect profile list, profil seçilmez.

Yanıtlar:


8

1. ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' geçerli bir yapılandırma mı?

Man make.conf sitesinden:

ACCEPT_KEYWORDS = [KEYWORDS için alanla sınırlı alan listesi]

Yani ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'geçerli bir kombinasyonudur.

2. ~ amd64-linux hakkında ne?

amd64-linuxÖnek bir şeydir. Önek hakkında fazla bir şey bilmiyorum, ancak "Önek anahtar kelimeler" adlı bölümde, amd64-linuxgeçerli anahtar kelimeler listesinde görebilirsiniz /usr/portage/profiles/arch.list. ~amd64-linuxsadece test muadili amd64-linux.

3. ACCEPT_KEYWORDS='amd64 ~amd64'vs sadece~amd64

Eğer varsa ~amd64Gözlerinde farklı ACCEPT_KEYWORDS, Portage genellikle kararsız bir sürü şey içeriyor son ebuild'leri, kullanacaktır. Bence bu yüzden eksik bağımlılıklar bekleniyor. Örneğin, yüklemek istiyorsanız software-ave test dalındaki en sonuncusu software-a-2.3.4, bunu gerektiren library-b-5.6.7, henüz bir ebuild'e sahip değildir. İlgili amd64 ~amd64ve sadece ~amd64onlar, gerçekten, olacak amd64'tür sizin mimarisi çünkü eğer aynıdır amd64içinde ACCEPT_KEYWORDS, hiçbir ne önemi.

4. Anahtar kelimelerin sırası önemli mi?

Hayır, çünkü bu sadece ACCEPT_KEYWORDSdeğişkeninizin belirli bir anahtar kelime içerip içermediğiyle ilgilidir. Bir set gibi (sırasız).

Bir süre Gentoo kullandıktan sonra, hala koymak cesaret yok ~amd64skinTenimde ACCEPT_KEYWORDS. O kadar dengesiz ki, tavsiye edilmez, ilk kez kurmak çok fazla kırılmayı garanti eder.


çok açık bir açıklama için teşekkürler. benim durumumda, hala en son almak için ~ amd64 koymak zorunda kaldı xtables-addons. Ancak Gentoo
kutum

2
@pepoluan Eğer ~amd64sadece sahip olmaktır xtables-addonsiçeri koymalıyız sonra /etc/portage/package.keywordsveya /etc/portage/package.accept_keywordsyerine kararsız test dalı kullanmanın. Daha fazla bilgi için man portageburaya bakın veya farklı bir soruya sorun.
phunehehe

tanrım, haklısın>. <... özür dilerim, n00bness'im parlıyor gibi görünüyor: P ... neyse, orijinal poster değilim, sadece bir yorumcu :)
pepoluan

@pepoluan Yardım etmekten memnun oldum. Herkes bir noktada bir
çaylaktır

Ayrıntılı cevabınız için teşekkürler. Neden anlamıyorum ama varsayılan anahtar kelime ~amd64-linux(ile amd64açıkça kaldırıldı). Şimdiye kadar iyi çalışıyor =)
netvope

3

ACCEPT_KEYWORDS ortam değişkeni, mevcut mimarinin inşa edilmesi için "tümü" henüz işaretlenmemiş kararlı paketlerin / sürümlerin kullanılmasına izin vermek içindir.

Bir kemerin önündeki ~, kararsız ("tamamen" test edilmemiş) anlamına gelir.

En iyi yaklaşım, /etc/portage/package.keywords adresini kullanmak ve en son sürüme gerçekten ihtiyacınız varsa ~ amd64 anahtar sözcüğüyle paketi burada listelemektir.

Bu arada: amd64 güvenlik duvarı, wikipedia'nın overkill'i nasıl tanımladığı değil mi?

  1. Evet
  2. Hiç "~ amd64-linux" duymadım, ama ~ "kararsız" anlamına gelir.
  3. Hayır, "~ amd64" ifadesinin "amd64" ifadesini içermemesi beklenmez.
  4. Hayır.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.