Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I like the "compile it yourself" philosophy that Gentoo runs on, but how is the support for non-ebuild programs? That might just mean binaries, but also programs in general that were not acquired through Emerge.

Is it a big problem when the actual stuff installed on the system gets out of sync with Emerge's bookkeeping?

share|improve this question
up vote 4 down vote accepted

Such software usually better to install in separate tree, such as your home directory or /opt. In general, things may gone bad if you will install software manually in the same directories as portage. Most obvious problem - conflicts, when your software overwrites files from some package or vice versa.

share|improve this answer

I use Paludis, which is an alternative package manager for Gentoo. It offers good support for manually installed programs through the cave import command. Here's a blog entry about the importare client, which was what cave import was called in older versions of Paludis. The new command works pretty much the same way.

share|improve this answer
In the cave import help, when it says "Import a package from a directory containing its image", by "its image" does it just mean a collection of files that will comprise the new package? – Faheem Mitha May 15 '11 at 8:39
@Faheem, yes. For a simple example, if you wanted to install /usr/bin/foobar, you could create /tmp/img/usr/bin/foobar and then import /tmp/img. The usual method is to use make install DESTDIR=/tmp/img. – cjm May 15 '11 at 9:07
thanks for the confirmation. I personally would have used different terminology in that help page. – Faheem Mitha May 15 '11 at 9:28

I install custom packages in the /usr/local tree. No official packages should be installed there, so you should be able to experiment without consequence.

share|improve this answer

If you want to manually manage a package (as opposed to creating a custom ebuild in your own overlay, which is to be preferred) that is required by others, what you can do is to uninstall that package and then put it in /etc/portage/package.provided. That way portage will "know" it's there and dependencies will work with it. In general though it's much easier to either have a custom ebuild or for small changes use /etc/portage/env/.... That way you can have portage work for you.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.