Ini adalah cara saya meningkatkan Gentoo sejak lama. Apakah ini metode yang disarankan ? Adakah gotcha atau metode yang lebih baik untuk digunakan?
emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all
Jawaban:
Sepertinya Anda sudah membahasnya. Satu-satunya tip lainnya adalah mungkin mengambilnya sedikit lebih lambat daripada pembaruan grosir buta. Anda selalu dapat memperbarui paket atau rantai ketergantungan secara individual dengan
emerge -DNuav <atom>
alih - alihworld
(gunakan --oneshot untuk hal-hal yang tidak ingin Anda tambahkan ke file dunia, seperti lib sistem misalnya).Perhatikan bahwa selalu lebih mudah dilakukan jika Anda tetap mendapatkan informasi terbaru secara teratur daripada melakukan pembaruan batch monolitik setiap beberapa bulan. Selain itu, untuk menghindari terlalu banyak kejutan, Anda mungkin perlu berlangganan salah satu milis seperti
gentoo-user
(PERINGATAN: ~ 100 surat sehari dalam daftar ini) karena hampir semua masalah pembaruan utama cenderung muncul dalam daftar dengan banyak diskusi yang menjelaskan bagaimana menyelesaikannya.Saya kira pembaruan "masalah" besar berikutnya adalah migrasi ke openrc setelah berjalan stabil (dilakukan pada pertengahan tahun lalu dengan hanya beberapa masalah, terutama dengan perubahan jaringan).
sumber
Saya telah menggunakan dekat dengan langkah yang sama yang Anda lakukan, kecuali untuk:
eix-sync
bukannyaemerge --sync
karena saya suka melihat perubahan pada pohon portage. Ini sangat bagus untuk memperhatikan paket yang mungkin ingin saya instal yang baru ke pohon.layman -S
(sesekali) sebelum muncul utama untuk menyinkronkan setiap perubahan dalam overlay.eclean-dist -d
setelahrevdep-rebuild
membersihkan tarbal usang. Saya melakukan ini setelah setiap emerge, karena paket downgrads tidak umum.eix-test-obsolete
sebagai langkah terakhir untuk membantu menjaga file / etc / portage saya tetap rapi dan mutakhir. Ini juga membuat saya tahu ketika saya telah menginstal paket-paket yang telah dihapus sepenuhnya dari portage jadi saya harus mengambil ebuild dari repositori. Contoh terbaru, saya harus menutup semua versi iproute2> 2.6.22.20070710 karena kernel yang lebih lama berjalan pada Xen VPS saya tetapi baru-baru ini dihapus dari portage.eix-sync
daneix-test-obsolete
berada di app-portage / eix.eclean-dist
ada di app-portage / gentoolkit.sumber
emerge --sync
ataueix-sync
atauemerge-delta-webrsync
daneix-update
emerge -av portage
eclean-dist
Periksa bahwa salah satu header-linux, glibc, binutils, libtool atau gcc memiliki pembaruan magor (mis. Pembaruan gcc dari 4,6 menjadi 4,8). Jika tidak, lanjutkan ke langkah 11.
Pembangunan kembali penuh:
rm -rf PKGDIR/*
Ganti PKGDIR dengan jalur Anda ke paket dir!emerge -av linux-headers glibc binutils gcc-config libtool gcc
gcc-config <number of new gcc>
Beralih ke gcc barusource /etc/profile
emerge -avb glibc binutils gcc libtool
emerge -avbke system
emerge -avbke world
Jika Anda memiliki masalah pada langkah 10 atau 11 maka perbaiki dan coba lagi
Perbarui dunia:
/var/lib/portage/world
dari paket yang tidak perlu dan periksa/etc/portage
entitasfixpackages
emerge -avuDN world
eselect python update
python-updater -- -av
perl-cleaner --all -- -av
emerge -a --depclean
revdep-rebuild -i -- -av
Jika Anda memiliki masalah dalam langkah 14-18, perbaiki dan ulangi semua langkah dari langkah 13
etc-update
ataudispatch-conf
glsa-check -vp affected
Anda dapat memiliki paket yang terkena dampak dalam slot setelah pembaruanemaint --check all
sumber
Jika tujuan Anda adalah mendapatkan yang terbaru dari semua paket, maka ya, itu sepertinya mencakup semua basis. Saya terkejut ini telah bekerja untuk Anda untuk waktu yang lama, karena saya membayangkan Anda akan sering digigit oleh blok, deps rusak, dll. Dalam beberapa tahun terakhir saya menjadi jauh lebih berhati-hati tentang pembaruan grosir, memilih untuk melakukannya sedikit demi sedikit setelah melihat pohon pembaruan. Pengembangan Gentoo tampaknya telah melewati masa jayanya. Mungkin karena kebangkitan Ubuntu.
Bagaimanapun, satu hal tambahan yang mungkin Anda coba, hanya untuk benar-benar rewel tentang seluruh proses, adalah membersihkan distfiles Anda. Ada skrip di luar sana jika Anda mencari.
sumber
Itulah yang harus Anda jalankan terlebih dahulu. Tidak perlu jika Anda memutakhirkan semua paket.
Oh dan saya lebih suka cfg-update;)
sumber
Inilah yang saya lakukan:
Jika Anda tidak sepenuhnya memahami komentar, baca ini karena ini adalah otoritas tentang cara memperbarui paket gentoo Anda.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
sumber
Proses Anda benar meskipun menjalankan setiap perintah mungkin tidak perlu biasanya saya hanya melakukan sinkronisasi dan pembaruan dunia. Emerge akan memberi tahu Anda biasanya jika Anda perlu menjalankan skrip untuk membangun kembali file seperti saat upgrade Python utama dan juga akan memberi tahu Anda kapan harus menggabungkan perubahan konfigurasi. Karena Gentoo sebenarnya tidak memiliki jalur peningkatan dari versi ke versi. Saat Anda emerge dunia, Anda memiliki versi terbaru.
sumber
Untuk waktu yang lama sekarang saya selalu menggunakan prosedur ini:
Saya, bagi saya, lebih suka memperbarui di malam hari. Tetapi kadang-kadang terjadi sesuatu yang gagal sehingga Anda harus mengunduh semua (atau beberapa) program lagi.
Mungkin --newuse switch tidak diperlukan, tapi saya sering mengedit make.conf saya jadi masuk akal bagi saya.
sumber
Terlihat baik-baik saja, meskipun saya tidak akan begitu cepat menjalankan depclean.
Kecuali jika Anda memiliki persyaratan seperti ruang HDD yang rendah maka Anda dapat kembali dan menjalankannya pada tujuan yang kurang teratur. Tidak ada salahnya memiliki mereka untuk waktu yang singkat. Jika Anda kurang beruntung untuk melihat beberapa paket yang rusak setelah pembaruan maka Anda akan yakin bahwa itu bukan hasil dari menghapus dependensi yang longgar.
sumber
Itulah cara saya melakukannya di VPS saya:
langkah 0 (dari / etc / crontab)
Langkah 1:
Langkah 2:
sumber