Seseorang dapat memilih paket pengujian pada gentoo stable
sistem dengan menambahkan baris dengan sintaksis berikut ke daftar kata kunci:
cat /etc/portage/package.keywords
=dev-python/ipython-0.13.2 ~amd64
# and many lines later
=dev-python/ipython-0.14.1 ~amd64
# and many lines later
>=dev-python/ipython-0.13.4 ~amd64
File ini akan tumbuh dalam waktu dan cepat atau lambat orang tidak dapat mengingat baris mana yang usang.
Bagaimana saya bisa merapikan daftar dengan skrip dari waktu ke waktu?
Baris harus dihapus,
- jika versi pengujian sudah stabil
- > = digunakan untuk paket yang sama
- = digunakan untuk paket yang sama dengan nomor versi yang lebih kecil
package-management
configuration
gentoo
disk-cleanup
maintenance
Jonas Stein
sumber
sumber
Jawaban:
Sekarang ada paket resmi untuk tugas ini bernama app-portage / portpeek .
Bisa
-f
(fix) ditambahkan sebagai parameter.sumber
Saya menulis skrip python kecil yang menangani masalah ini. Logika terlihat pada setiap baris dalam file
package.accept_keywords
dan hanya bertindak pada baris yang dimulai dengan=
atau<=
. Baris-baris ini memiliki versi terikat maksimum sehingga kami dapat memeriksa apakah diperlukan lagi. Garis tanpa kualifikasi atau a>=
dibiarkan apa adanya karena kita tidak bisa tahu apakah itu usang.Baris-baris yang kita pedulikan kemudian diurai dan versi paket yang terinstal diperiksa. Jika versi yang terinstal lebih baru dari versi yang dikata, atau tidak diinstal sama sekali, kata kunci dianggap usang. Jika paket yang diinstal adalah versi yang sama dengan versi kata kunci maka paket yang diinstal diperiksa untuk melihat apakah masih kata kunci. Jika telah distabilkan, saluran sudah usang, jika tidak dipertahankan.
Ini akan mencetak file kata kunci baru ke standar keluar. Catatan : jangan mengarahkan kembali output ke
/etc/portage/package.accept_keywords
atau Anda akan merusak file dan kehilangan segalanya.Ini akan sangat membantu membersihkan file kata kunci Anda dan untuk masalah Anda yang lain, mengurutkan file dan kemudian memeriksanya untuk beberapa baris untuk paket yang sama akan membantu menyelesaikan sebagian besar dari apa yang tersisa.
sumber
Anda tahu Anda dapat mengonversi paket. * File dalam direktori, bukan?
Kemudian Anda dapat mengatur atom-atom Anda dalam beberapa file, misalnya, di sistem saya, saya mendapatkan yang berikut (well, tidak benar-benar, saya tidak di laptop saya sekarang. Tapi Anda tahu):
dll.
Saya menemukan ini sangat berguna untuk membantu saya memperbarui file.
sumber
Menambahkan ke jawaban Ikraav:
Setelah menggunakan
eix -tT
, hapus operator perbandingan dan nomor versi paket. File Anda juga dapat ditulis sebagai:Ini akan menjamin bahwa Anda akan selalu mendapatkan versi pengujian
dev-python/ipython
danpackage-cat/package
sumber
~amd64
dalam pertanyaan saya mungkin menyesatkan. Nomor versi harus tetap tidak tersentuh. Saya tidak ingin selalu mendapatkan versi terbaru, tetapi menemukan garis yang berlebihan.Berikut ini adalah skrip kecil yang memfilter entri dari file /etc/portage/package.* yang tidak diinstal lagi. Selain itu menghapus semua baris komentar langsung di atas entri yang dihapus. (mis. seperti yang dihasilkan oleh autounmask). Jika komentar dipisahkan oleh baris kosong, itu hanya akan menghapus komentar yang lebih rendah. Script tidak menghapus entri duplikat.
Harap dicatat bahwa portage-utils perlu diinstal dan kait postsync /etc/portage/postsync.d/q-reinitialize harus diaktifkan agar skrip ini berfungsi.
sumber
Sampai sekarang,
app-portage/eix
paket menawarkan alat yang berguna bernamaeix-test-obsolete
. Deskripsi singkat darieix-test-obsolete -h
:Ini memberikan gambaran yang cukup bagus dari semua entri yang berlebihan dalam
/etc/portage/package.*
file. Satu-satunya hal yang secara pribadi saya lewatkan adalah info tentang file yang tepat dan baris yang mendefinisikan unmask / use / accept / redundant redundant. Namun,grep -nr
membantu dalam hal itu.sumber
Mulai dengan
eix -tT
. Instalapp-portage/eix
untuk mendapatkannya.sumber