View previous topic :: View next topic |
Author |
Message |
Amity88 Apprentice
Joined: 03 Jul 2010 Posts: 260 Location: Third planet from the Sun
|
Posted: Tue Oct 24, 2017 1:24 pm Post subject: [SOLVED] System upgrade: emerge -e system VS emerge system |
|
|
Hi guys,
In all the years I've been using Gentoo, I've always upgraded my system using the command below because I've found it be the most reliable.
Lately I've been curious on if there is a way to update my system more quickly.
1. Do we really need to use this command and rebuild everything in System?
2. If I were to use emerge system, I can avoid a lot of rebuilds but is there a chance of something breaking?
2.1 If it does break, would revdep-rebuild fix them all?
3. Would it be alright if I use emerge -e system only when there is a gcc/glibc update? _________________
Ant P. wrote: | The enterprise distros sell their binaries. Canonical sells their users. |
Also... Be ignorant... Be happy!
Last edited by Amity88 on Tue Oct 24, 2017 8:09 pm; edited 1 time in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54237 Location: 56N 3W
|
Posted: Tue Oct 24, 2017 1:31 pm Post subject: |
|
|
Amity88,
Use Code: | emerge -uDUav @world --with-bdeps=y --keep-going | to update your system.
@system would only do some of it.
Read the messages at the end and pick up the pieces if you need to.
Even a gcc update rarely requires more but watch out for news items. Like the one for the gcc-4 to gcc-5 update. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Amity88 Apprentice
Joined: 03 Jul 2010 Posts: 260 Location: Third planet from the Sun
|
Posted: Tue Oct 24, 2017 1:42 pm Post subject: |
|
|
Neddy,
Good to see you again I'm not sure what U does but doesn't portage usually pull in build time dependencies?
I do this as well.. kinda, basically my method of a full upgrade is this... is this overkill?
1. emerge --depclean
2. emerge --sync
3. emerge -pev system (clean up any errors)
4. emerge -e --quiet system
5. emerge -puNDv world (clean up any errors)
6. emerge -uND --quiet world _________________
Ant P. wrote: | The enterprise distros sell their binaries. Canonical sells their users. |
Also... Be ignorant... Be happy! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30915 Location: here
|
Posted: Tue Oct 24, 2017 1:49 pm Post subject: |
|
|
Amity88 wrote: | 1. emerge --depclean
2. emerge --sync
3. emerge -pev system (clean up any errors)
4. emerge -e --quiet system
5. emerge -puNDv world (clean up any errors)
6. emerge -uND --quiet world |
Why? If there's a problem with some upgrade package (see for example update from gcc 4 to gcc 5) eselect news read tell you what you have to do.
emerge -e command is last resort if your system has big trouble. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
cboldt Veteran
Joined: 24 Aug 2005 Posts: 1046
|
Posted: Tue Oct 24, 2017 2:05 pm Post subject: |
|
|
My update routine is ...
Code: | emerge --sync
emerge -p --update --deep --newuse --with-bdeps=y @world
Manually address any masked/deprecated packages, blockers, and so on
emerge -q --update --deep --newuse --with-bdeps=y @world
emerge -q @preserved-rebuild
CLEAN_DELAY=0 emerge -q --depclean
revdep-rebuild --quiet --ignore |
Running `emerge --sync` hooks to a script (/etc/portage/postsync.d/eix-update]) that updates the eix database. The script also makes "previous.eix," which facilitates operation of the `eix-diff` command.
Code: | #!/bin/sh
if [ -x /usr/bin/eix-update ] ; then
printf " ** [/etc/portage/postsync.d/eix-update]\n ** Now running eix-update ...\n"
cp -a /var/cache/eix/portage.eix /var/cache/eix/previous.eix
NOSTATUSLINE=true eix-update -q
printf " -------\n %(%c)T\n" -1
fi
: |
The final colon is so the script always returns true, even if /usr/bin/eix-update doesn't exist. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Tue Oct 24, 2017 2:16 pm Post subject: |
|
|
-e is overkill, if something need update in system, portage will update it without need to rebuild everything.
--with-bdeps=y is also overkill, if you use that dep yourself, portage will update it like any other program, if you don't use it, and it's really just a build dependency, portage will update it if any package that need it cannot use your version, and if a program that need it need a newer version but portage isn't upgrading it, it's because a gentoo dev fail with his ebuild and it's a bug that should be fix (sample).
The only advantage of --with-bdeps=y would be have a package build with a newer compiler version that would produce better code, which alas nearly never happen.
Because of this, --with-bdeps fall into my list of useless thing in portage (with preserved-libs and autounmask) |
|
Back to top |
|
|
cboldt Veteran
Joined: 24 Aug 2005 Posts: 1046
|
Posted: Tue Oct 24, 2017 3:37 pm Post subject: |
|
|
I don't disagree that --with-bdeps=y is overkill as far as keeping the system running and runnable If I recall the experience that caused me to include it, it was that some versions of build dependencies eventually dropped out of the portage tree, and I'd get reports from eix-test-obsolete. If it wasn't that, it was a perl-updater thing.
"--newuse" (-N) is also overkill compared with "--changed-use" (-U), in that it will cause rebuilds where the only effect is changing the contents of the USE or IUSE files in /var/db/pkg. |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Tue Oct 24, 2017 7:56 pm Post subject: |
|
|
Jaglover wrote: | --with-bdeps=y may be overkill, but I use it. Because I can. |
Same here. The difference between y and n is having to wait an extra minute for the progress spinner and a few maybe-unnecessary updates, versus a bunch of technical debt silently building up and hitting you with 5 screenfuls of blockers when you least need it. The Perl 5 updates that spawn dozens of threads every time they come around are a good example. |
|
Back to top |
|
|
Amity88 Apprentice
Joined: 03 Jul 2010 Posts: 260 Location: Third planet from the Sun
|
Posted: Tue Oct 24, 2017 8:09 pm Post subject: |
|
|
Thanks, this is precisely the information that I was looking for . Will mark this thread as solved. _________________
Ant P. wrote: | The enterprise distros sell their binaries. Canonical sells their users. |
Also... Be ignorant... Be happy! |
|
Back to top |
|
|
|