Fri, 11 Apr 2008
Gentoo Linux - the next try
Since I have got a new workstation which supports hardware virtualization, I have installed several different operating systems to my virtual machines. I have already tried Gentoo Linux, so I gave it another try. Again, it was a bit frustrating - few examples:
- When the Gentoo Handbook writes about the default
grub.conf, why this is not already included in that file itself as a default configuration? For a newbie who wants to learn it is probably good as is, but for me it just costs more unnecessary time.
- I needed to test something under GNOME, but "
emerge gnome" did not work - it said something like "required EAPI 1, supported EAPI 0". Fortunately, "
emerge gnome-termianl" worked.
- Why adding GTK+ and GNOME as the default
USEflags does not imply the
Xuse flag? In comments to my previously mentioned blog post there is a suggestion to disable the
USE=Xwhen I do not want the X server to be built. Well, it seems GTK+ client side requires X.
- What is the equivalent of "
yum update" for Gentoo?
I think Gentoo can be excellent for newbie geeks who want to discover what this Linux thing is about, but even that has its limitations. For example, when I upgrade Fedora on my workstation, often many packages which I would normally refuse to install as a superfluous garbage get installed by the distribution. Which is good, because I have an opportunity to look at them later, in already working preconfigured state (in the past it included D-Bus, HAL, SELinux, and many others).
I also cannot imagine how would
I maintain tens of differently configured machines running Gentoo.
Having fixed release points with security upgrades designed and tested
on them is a big bonus, as are the precompiled packages with automatic
yum update and you are done with minimal risk
of breaking something.
11 replies for this story:
emerge world, if I recall correctly.
Yenya wrote: Re: adelton
emerge world can leave you in the state with broken library dependences, can't it? Or at least it has relatively large window when the system is not guaranteed to be in an consistent state.
revdep-rebuild can fix broken library dependencies
petr_p wrote: EAPI
Have you updated distro before installing gnome? I think you haven't. Otherwise you would get new portage supporting EAPI=1.
Yenya wrote: Re: EAPI
What exactly is meant by "updating the distro"? emerge --sync? And is it described anywhere in the installation handbook?
Yenya wrote: Re: finn, adelton
So in other words - should I run "emerge world; revdep-rebuild" fron the nightly cron (like I run "yum update" on some of my systems)?
Yenya wrote: emerge world
Hmm, emerge world even does not work for me, because of "sys-apps/setarch" package conflict with "sys-apps/util-linux-2.13.1". Are package conflicts to be expected with stock install?
I run emerge sync && emerge world manually roughly once a week, revdep-rebuild only sometimes -- esp. when I found an application which cannot start because of some missing library :) Sometimes two packages cannot co-exist (because both provide the same functionality, for example). Then you have to unmerge the older one before installing the new one: emerge -C setarch emerge -1 util-linux See these two links: http://forums.gentoo.org/viewtopic-t-578534.html and http://bugs.gentoo.org/show_bug.cgi?id=190476
petr_p wrote: Re: EAPI
Updating distro means two things: synchronising portage (this is a repository) with "emerge --sync" and then updating installed software with "emerge --update --deep --verbose --new world". The problem with changed EAPI you met is a little specific because it's first time when the EAPI (format of ebuilds, something like spec format in RPM world) has changed. In general, you need to understand that fresh installation means you get old software with new portage. So it's highly suggested to do an update. However immediate update is standard thing in gentoo world because user usually changes his preferred profile, compiler options and USE flags on installation and he wants to apply these changes.
Yenya wrote: Re: EAPI
OK, I have tried "merge -C setarch" and then "emerge --update --deep --verbose --new world", which failed with "ERROR: app-text/ghostscript-gpl-8.61-r3 failed.". Which in fact I think reflect the main problem of Gentoo. Without discrete releases, it is much harder to test updates (i.e. new ebuilds) against each configuration.
petr_p wrote: Re: EAPI
You are right. It's impossible to test all configurations. Developers sometimes release ebuild with a bug. Also you could be sometimes first man having such failing configuration. In general, you can ommit last failed ebuild with "emerge --resume --skip-first", or you can mask broken ebuild (/etc/portage/package.mask) to keep current version or unmask by keyword newer version (/etc/portage/package.keyword) (similar to pinning in apt on Debian), or you can search http://bugs.gentoo.org/ for known bugs (or at least reporting the bug), or you can wait few hours/days and update portage to get (usually) fixed ebuild. One note: Adding "--ask" switch to emerge is very reasonable option---you can check all changes you are going to proceed.