| View previous topic :: View next topic |
| Author |
Message |
sipingal n00b


Joined: 12 May 2008 Posts: 53 Location: China
|
Posted: Thu Dec 17, 2009 2:06 am Post subject: seven steps to upgrade Gentoo System |
|
|
There is no a full HOWTO introducing whole system upgrading. I hope this simple document can help someone else.
1. sync portage tree(eix-sync is recommended)
or
2. upgrade whole system
| Code: | | # emerge -avuDN --with-bdeps y --keep-going world |
3. make configuration file(s) up to date
or
4. fix static library
| Code: | | # lafilefixer --justfixit | grep -v skipping |
5. uninstall useless packages
| Code: | | # emerge -av --depclean |
6. Reverse dynamic library Dependency
7. clean source code of the old packages
| Code: | | # eclean -d distfiles |
Last edited by sipingal on Thu Dec 17, 2009 6:38 am; edited 2 times in total |
|
| Back to top |
|
 |
alunduil Tux's lil' helper

Joined: 13 Mar 2005 Posts: 95 Location: San Antonio, TX, USA
|
Posted: Thu Dec 17, 2009 2:15 am Post subject: |
|
|
I like it, but I'm not sure I'd agree with the --keep-going on the world update. I've seen that cause a few problems that would have been easier to handle if the emerge had died at the first sign of trouble.
On a different note, is a full system upgrade the process of checking everything for updates? If so, then you need to add at least an:
| Code: |
emerge -DuvaN system
|
Otherwise you can also consider rebuilding the entire set (Due to modifications to gcc or another piece of the toolchain) via:
| Code: |
emerge -ave system && emerge -ave system && emerge -ave world
|
That last one isn't really an upgrade, but it might be appropriate to mention it and when it's applicable.
Just a couple of suggestions.
Thanks for the document.
Regards,
Alunduil _________________ Rackspace Linux Administrator |
|
| Back to top |
|
 |
huckabuck Tux's lil' helper


Joined: 14 Apr 2007 Posts: 110 Location: Bronx, NY
|
Posted: Thu Dec 17, 2009 3:08 am Post subject: |
|
|
i'd definitely run revdep-rebuild after --depclean , and not before ... since thats the warning posted when you run it anyway. And i run it as | Code: | | emerge -pv --depclean | before i execute it. I've had shit break after it cleans up. |
|
| Back to top |
|
 |
sipingal n00b


Joined: 12 May 2008 Posts: 53 Location: China
|
Posted: Thu Dec 17, 2009 6:42 am Post subject: |
|
|
| huckabuck wrote: | i'd definitely run revdep-rebuild after --depclean , and not before ... since thats the warning posted when you run it anyway. And i run it as | Code: | | emerge -pv --depclean | before i execute it. I've had shit break after it cleans up. |
Thanks, fixed.  |
|
| Back to top |
|
 |
Bircoph Apprentice


Joined: 27 Jun 2008 Posts: 220
|
Posted: Thu Dec 17, 2009 8:06 pm Post subject: |
|
|
1) Sometimes depclean should be run twice: before and after revdep-rebuild.
2) You missed very important step between 2 and 3: fix dozen of compilation/install failures .
3) lafixer is often needed during world update due to failed packages because some "useless" *.la file was removed from the system. _________________ Per aspera ad astra! |
|
| Back to top |
|
 |
NotQuiteSane Guru


Joined: 30 Jan 2005 Posts: 444 Location: Klamath Falls, Jefferson, USA, North America, Midgarth
|
Posted: Sat Dec 19, 2009 4:25 pm Post subject: |
|
|
I though this was how you kept the system up to date?
NQS _________________ These opinions are mine, mine I say! Piss off and get your own.
As I see it -- An irregular blog, Improved with new location
To delete French language packs from system use 'sudo rm -fr /' |
|
| Back to top |
|
 |
d2_racing Moderator


Joined: 25 Apr 2005 Posts: 12867 Location: Ste-Foy,Canada
|
Posted: Sat Dec 19, 2009 5:11 pm Post subject: |
|
|
For my concern, I always run this :
| Code: |
# emerge -auDNv world
# dispatch-conf
# revdep-rebuild -i
# eclean-dist -id
|
_________________ Sysadmin of Funtoo-Québec.org
Wiki
Signature
IRC on Freenode : #funtoo-quebec |
|
| Back to top |
|
 |
d2_racing Moderator


Joined: 25 Apr 2005 Posts: 12867 Location: Ste-Foy,Canada
|
Posted: Sat Dec 19, 2009 5:12 pm Post subject: |
|
|
I'm not really sure if it's a good thing this command :
| Code: |
# emerge -avuDN --with-bdeps y --keep-going world
|
If it crash, I want to see it actually, so --keep-going is maybe not a good idea for someone who is new to Gentoo. _________________ Sysadmin of Funtoo-Québec.org
Wiki
Signature
IRC on Freenode : #funtoo-quebec |
|
| Back to top |
|
 |
keenblade Veteran


Joined: 03 Oct 2004 Posts: 1038
|
Posted: Sat Dec 19, 2009 8:22 pm Post subject: |
|
|
| d2_racing wrote: | I'm not really sure if it's a good thing this command :
| Code: |
# emerge -avuDN --with-bdeps y --keep-going world
|
If it crash, I want to see it actually, so --keep-going is maybe not a good idea for someone who is new to Gentoo. |
I think "--keep-going" is very good most times. When I wake up, I don't want to see a world update has interrupted at the beginning, because Frozen-Bubble failed to emerge. If an important package fails, mostly it and some depended packages fails and nothing more. It is very very rare that something bad can happen. I am using it since it is available. Nothing wrong has gone with it. Also at the end, portage gives a list of failed emerges.
My update way:
| Code: |
layman -S ; eix-sync ; emerge -vuDNf world ; emerge -vuD --reinstall changed-use --keep-going world --with-bdeps=y ; update-live-ebuilds ; emerge -v1 --keep-going @preserved-rebuild ; etc-proposals
|
This way I first fetch all the sources, then update if necessary. _________________ Anyway it's all the same at the end...
Need help to get it working: "x-fi surround 5.1" |
|
| Back to top |
|
 |
Bircoph Apprentice


Joined: 27 Jun 2008 Posts: 220
|
Posted: Sat Dec 19, 2009 9:33 pm Post subject: |
|
|
| d2_racing wrote: | I'm not really sure if it's a good thing this command :
| Code: |
# emerge -avuDN --with-bdeps y --keep-going world
|
If it crash, I want to see it actually, so --keep-going is maybe not a good idea for someone who is new to Gentoo. |
This is very good command indeed, it saved several days of my life.
When you performing large updage (e.g. 2100+ packages installed and update once per two months) on ~arch, some packages will definitely cease to compile. Usually I have one failure per 50-100 packages being updated.
Without --keep-going option update will stop after each error, and I personally can't monitor it 24/7, but only at evenings or spare time on weekends. Thus huge amount of time and my nerves will be lost due to near dozen of such breaks. With --keep-going option you can see in the end what dies, you can always read build logs in /var/tmp/portage/ and decide what action should be done to fix the problem. --keep-going way approach requires one/two time manual intervention in the build process, which saves both time and health.
And one additional point should be emphasized: always read emerge output, even if this takes several dozens of screens. Some notes are almost critical for normal further performance: e.g. you must rebuild all x11-drivers installed (even if they are not updated) if Xorg was updated from x0.y0.z0 to x1.y1.z1, where x or y changed; otherwise you will encounter very unpleasant situation when both keyboard and mouse cease to work after X upgrade. _________________ Per aspera ad astra! |
|
| Back to top |
|
 |
d2_racing Moderator


Joined: 25 Apr 2005 Posts: 12867 Location: Ste-Foy,Canada
|
Posted: Sat Dec 19, 2009 10:33 pm Post subject: |
|
|
| Bircoph wrote: | | And one additional point should be emphasized: always read emerge output, even if this takes several dozens of screens. Some notes are almost critical for normal further performance: e.g. you must rebuild all x11-drivers installed (even if they are not updated) if Xorg was updated from x0.y0.z0 to x1.y1.z1, where x or y changed; otherwise you will encounter very unpleasant situation when both keyboard and mouse cease to work after X upgrade. |
I use elogv to see that is going on my box too.
Then add this inside your make.conf
| Code: |
PORTAGE_ELOG_CLASSES="log warn error info"
PORTAGE_ELOG_SYSTEM="echo:log,warn,error,info save:log,warn,error,info syslog:error"
|
_________________ Sysadmin of Funtoo-Québec.org
Wiki
Signature
IRC on Freenode : #funtoo-quebec |
|
| Back to top |
|
 |
drescherjm Advocate

Joined: 05 Jun 2004 Posts: 2729 Location: Pittsburgh, PA, USA
|
Posted: Tue Dec 29, 2009 11:00 pm Post subject: |
|
|
| Quote: | | Without --keep-going option update will stop after each error, and I personally can't monitor it 24/7, but only at evenings or spare time on weekends. Thus huge amount of time and my nerves will be lost due to near dozen of such breaks. With --keep-going option you can see in the end what dies, you can always read build logs in /var/tmp/portage/ and decide what action should be done to fix the problem. --keep-going way approach requires one/two time manual intervention in the build process, which saves both time and health. |
Agreed. To me this is a huge time saver. Before that I had to use external scripts for this. On most machines (even at work) I make that default with
| Code: | | EMERGE_DEFAULT_OPTS="--keep-going --jobs 6" |
in my /etc/make.conf
and use emerge --ignore to disable that on the rare occasion that I do not want it to keep going.
I do adjust the jobs param for lesser powered systems to 2. This is a quad core. _________________ John
My gentoo overlay
Instructons for overlay |
|
| Back to top |
|
 |
Bircoph Apprentice


Joined: 27 Jun 2008 Posts: 220
|
Posted: Mon Jan 11, 2010 1:38 am Post subject: |
|
|
| d2_racing wrote: |
| Code: |
PORTAGE_ELOG_CLASSES="log warn error info"
PORTAGE_ELOG_SYSTEM="echo:log,warn,error,info save:log,warn,error,info syslog:error"
|
|
1. There is no need to duplicate message classes if you do not want to override $PORTAGE_ELOG_CLASSES for current output module. So
| Code: |
PORTAGE_ELOG_CLASSES="log warn error info"
PORTAGE_ELOG_SYSTEM="echo save syslog:error"
|
will be the same.
2. After some updates I removed 'info' from $PORTAGE_ELOG_CLASSES: it provides too much useless information. It's too hard to read all this spam for several hundreds of packages.
Ideal solution will be accept info messages for postinstall only, but neither portage's make.conf nor elogv itself provides this kind of filtering. Aside from postinstall info messages I doubt some would want to read about applied patches or auto* hooks. _________________ Per aspera ad astra! |
|
| Back to top |
|
 |
|