Di Gentoo, apa perbedaan antara amd64, ~ amd64 dan ~ amd64-linux?

9

Ketika saya menjalankan equery depgraph www-client/chromium-10.0.648.151, tidak semua dependensi tersedia. Beberapa menunjukkan M[package.mask], sementara beberapa lainnya menunjukkan [missing keyword]. Saya ACCEPT_KEYWORDSadalah ~amd64-linux, menurut emerge --info. Saya bereksperimen dengan berbeda ACCEPT_KEYWORDS(sebagai variabel lingkungan diteruskan ke eqeury), dan semua memiliki dependensi hilang yang berbeda. Di antara semua kemungkinan kombinasi, hanya dengan ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'semua dependensi yang dapat dipenuhi sekaligus.

Ini pertanyaan saya:

  1. Apakah ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'konfigurasi yang valid?
  2. Saya belajar dari dokumentasi yang amd64berarti stabil, dan ~amd64berarti tidak stabil. Bagaimana dengan ~amd64-linux?
  3. Jika saya memilih ~amd64, equerytidak akan menggunakan paket yang tersedia hanya untuk amd64, menghasilkan dependensi yang hilang. Apakah ini yang diharapkan? Jika demikian, haruskah penguji yang tidak stabil menggunakan setidaknya ACCEPT_KEYWORDS='amd64 ~amd64'alih-alih ACCEPT_KEYWORDS='~amd64'?
  4. Apakah urutan kata kunci itu penting?

Info tambahan: saya menginstal Gentoo Awalan berikut panduan ini . Secara default, $EPREFIX/etc/make.profileadalah symlink ke $EPREFIX/usr/portage/profiles/prefix/linux/amd64dan berisi make.defaultsyang memiliki ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Baik $EPREFIX/etc/make.confatau $EPREFIX/etc/make.globalstelah ACCEPT_KEYWORDSdikonfigurasi. Menurut eselect profile list, tidak ada profil yang dipilih.

netvope
sumber

Jawaban:

8

1. Apakah ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' konfigurasi yang valid?

Dari man make.conf:

ACCEPT_KEYWORDS = [daftar KEYWORDS yang dibatasi spasi]

Jadi ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'kombinasi yang valid.

2. Bagaimana dengan ~ amd64-linux?

amd64-linuxadalah hal Awalan. Saya tidak tahu banyak tentang Awalan, tetapi saya dapat melihat amd64-linuxdi daftar kata kunci yang valid di /usr/portage/profiles/arch.list, di bagian bernama "Kata kunci Awalan". ~amd64-linuxhanyalah mitra penguji dari amd64-linux.

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

Jika Anda memiliki ~amd64 di Anda ACCEPT_KEYWORDS, portage akan menggunakan semua ebuild terbaru, yang sering mengandung banyak hal yang tidak stabil. Saya pikir itu sebabnya dependensi yang hilang diharapkan. Misalnya, itu bisa terjadi jika Anda ingin menginstal software-a, dan yang terbaru di cabang pengujian adalah software-a-2.3.4, yang membutuhkan library-b-5.6.7, yang belum memiliki ebuild. Mengenai amd64 ~amd64dan hanya ~amd64, mereka adalah sama, benar-benar, karena jika arsitektur anda adalah amd64 Anda akan memiliki amd64di ACCEPT_KEYWORDS, tidak peduli apa.

4. Apakah urutan kata kunci itu penting?

Tidak, karena ini hanya masalah apakah ACCEPT_KEYWORDSvariabel Anda mengandung kata kunci tertentu atau tidak. Ini seperti satu set (tidak berurutan).

Setelah menggunakan Gentoo untuk sementara waktu, saya masih belum berani untuk menggunakannya ~amd64 di saya ACCEPT_KEYWORDS. Sangat tidak stabil dan benar-benar tidak direkomendasikan, pengaturannya untuk pertama kali menjamin banyak kerusakan.

phhehehe
sumber
terima kasih untuk penjelasannya yang sangat jelas. dalam kasus saya, saya masih harus memasukkan ~ amd64 untuk mendapatkan yang terbaru xtables-addons. tapi karena kotak Gentoo saya berfungsi sebagai firewall murni, saya tidak terlalu peduli dengan stabilitas paket lain :)
pepoluan
2
@pepoluan Jika ~amd64hanya untuk memiliki xtables-addonsmaka Anda harus memasukkannya /etc/portage/package.keywordsatau /etc/portage/package.accept_keywordsbukannya menggunakan cabang pengujian yang tidak stabil. Untuk informasi lebih lanjut, lihat man portage, atau tanyakan di sini dalam pertanyaan yang berbeda.
phunehehe
ya ampun, kamu benar>. <... Saya minta maaf, sepertinya n00bness saya bersinar melalui: P ... ngomong-ngomong, saya bukan poster asli, hanya komentator yang bandel :)
pepoluan
@pepoluan Senang saya bisa membantu. Semua orang adalah noob di beberapa titik :)
phunehehe
Terima kasih atas jawaban terinci Anda. Saya tidak mengerti mengapa tetapi kata kunci default adalah ~amd64-linux(dengan amd64dihapus secara eksplisit). Sejauh ini berjalan dengan baik =)
netvope
3

Variabel lingkungan ACCEPT_KEYWORDS adalah untuk memungkinkan "semua" paket / versi stabil yang belum ditandai untuk arsitektur yang sedang dibangun.

Tanda ~ di depan lengkungan berarti tidak stabil (tidak "sepenuhnya" diuji).

Pendekatan yang sering lebih baik adalah dengan menggunakan /etc/portage/package.keywords dan daftarkan paket di sana dengan kata kunci ~ amd64 jika Anda benar-benar membutuhkan build terbaru.

Omong-omong: amd64 firewall, bukankah itu bagaimana wikipedia mendefinisikan berlebihan?

  1. Iya
  2. Pernah mendengar "~ amd64-linux", tetapi ~ berarti "tidak stabil".
  3. Tidak, tidak diharapkan bahwa "~ amd64" tidak termasuk "amd64".
  4. Tidak.
MattBianco
sumber