Private Perl Instance

Imagine you intend to give threaded programming in perl a try. You do not want to update the system-wide perl installation because many perl modules are not thread-safe. A private perl installation is the only viable solution. After unpacking the perl distribution and changing into the newly created directory executethe following commands:


Subversion supports some keywords which it is able to substitute in a versioned file though there are two things you need to do:

Multi-Line svn:ignore

The property svn:ignore may contain new-line separated patterns which describe filenames to ignore for repository actions. Specifying a single pattern is rather straight forward.

Binary Packages

Binary packages provide an excellent method to distribute packages among several hosts or have a downgrade path in case a package update fails.

Tunnelling Subversion

Utilities like rsync and cvs accept an environment variable to contain a command which allows logging in to a remote system before executing the desired action. The result seemingly causes the action to be executed locally although it is actually tunnelled through the specified program. Formerly rsh was used which contains some serious design flaws therefore ssh was designed to replace it. Refer to notes RSync over SSH and CVS over SSH for details how to use ssh with these utilities.

Introduction to Subversion

Improvements over CVS:

Client Configuration

The most common use of the SSH client configuration in ~/.ssh/config is the definition of aliases for host with special requiements.

Emerge and Firewalls

A typical emerge rsync only works if an intermediate firewall allows the appropriate packets to pass through. Though chances are that you are able to work around that.

Display USE flags

The implemented use flags of a package can be retrieved by the following. etcat and qpkg are superceded by equery as of portage-2.0.50 and gentoolkit-0.2.

Reverse Dependency Rebuild

Many packages install dynamic libraries which other packages link against. When updating such a package the old instance of a dynamic library is removed causing dynamic links to break. The package gentoolkit contains a tool to check an repair the dynamic linking of your system: revdep-rebuild.