Latest news

Feb 6, 2007:
Site update

Jan 27, 2007:
For Sale section added

Jan 4, 2007:
Site update



Recent

Solaris 10 raid
Software mirroring

Solaris 10 zones
Container config

Mod_Auth_XRadius
Apache auth

Read more...

More info

We offer onsite and remote support for most open source solutions. Support contracts are also available.



Links

- Parliament Hill
- WLUG
- Linux.org.uk
- Valid XHTML
- Valid CSS



Link back

Please use this image to link back to this site

Useful Gentoo things

To specify exact use flags

/etc/make.conf
USE_ORDER="env:pkg:conf"
USE="berkdb crypt pam readline ssl tcpd userlocales zlib"

To rebuild after changing use flags

# emerge -uDNva world

nls stuff

/etc/locales.build
en_GB/ISO-8859-1
en_GB.UTF-8/UTF-8

Handy stage4 backup script (from gentoo wiki)

#!/bin/bash 
# these are the commands we actually need for the backup
command_list="echo tar hostname date split"
# verify that each command we use exists
for command in $command_list; do
path=`which $command | grep "no $command in"`
if [ ! -x `which $command` -a "$path" ]; then
echo -e "\n\nERROR: $command not found! Check your commands and/or your \$PATH"
exit -1 
fi
done
# options for the tar command 
tarOptions="--create --absolute-names --preserve-permissions --totals --bzip2 /
--ignore-failed-read --verbose --file" 
# where to put the stage4
stage4Location=/mnt/backups/stage4
# name prefix
stage4prefix=$(hostname)-stage4-`date +\%d.\%m.\%Y`
# these files/directories are always excluded
default_exclude_list="
--exclude=/tmp/* 
--exclude=/var/tmp/* 
--exclude=/lost+found/* 
--exclude=/dev/* 
--exclude=/proc/* 
--exclude=/mnt/* 
--exclude=/sys/* 
--exclude=/usr/portage/*
--exclude=/var/log/*
--exclude=$stage4Location
--exclude=/usr/src/*
--exclude=/swap"
# check the folder/files stored in $default_exclude_list exist
for exclude in $default_exclude_list; do
if [ ! -e "`echo "$exclude" | cut -d'=' -f2 | cut -d'*' -f1`"  ]; then
echo -e "\n\nERROR: `echo "$exclude" | cut -d'=' -f2` not found! \
Check your \$default_exclude_list"
fi
done
# check the folder/files stored in $custom_exclude_list exist
for exclude in $custom_exclude_list; do
if [ ! -e "`echo "$exclude" | cut -d'=' -f2 | cut -d'*' -f1`"  ]; then
echo -e "\n\nERROR: `echo "$exclude" | cut -d'=' -f2` \
not found! Check your \$custom_exclude_list"
fi
done
stage4Name=$stage4Location/$stage4prefix-custom
final_command="tar $default_exclude_list $tarOptions \
$stage4Name.tar.bz2 /  /var/log/emerge.log"
# show what will be done
echo -e "\n* creating the stage4 at $stage4Location \
with the following options:\n\n"$final_command
# if necessary, create the stage4Location 
if [ ! -d "$stage4Location" ] ; then 
echo "* creating directory $stage4Location" 
mkdir -p $stage4Location 
fi
# check whether the file already exists
if [ -a "$stage4Name.tar.bz2" ]; then  
echo -en "\nDo you want to overwrite $stage4Name.tar.bz2? (y/n) "
read answer
while [ "$answer" != 'y' ] && [ "$answer" != 'n' ]; do
echo "please enter y or n"
read answer
done
if [ "$answer" == 'n' ]; then
echo -e "\n* There's nothing to do ... Exiting" 
exit 0;
fi
fi
# Pause to show options 
# echo -ne "\nDo you want to continue? (y/n) " 
# read answer 
# while [ "$answer" != 'y' ] && [ "$answer" != 'n' ]; do 
# echo "please enter y or n" 
# read answer 
# done 
# Start backup
time $final_command
# copy the current world file to the stage4 location
echo -e "\n* creating stage4 overview $stage4Name.txt"
cp /var/lib/portage/world $stage4Name.txt >/dev/null 2>&1
# we finished, clean up
echo "* stage4 is done" 
#Uncomment the following command if you want to 
#split the archive in cd size chunks:
#split --suffix-length=1 --bytes=670m $stage4Name.tar.bz2 \
#"$stage4Name".tar.bz2_ && echo "* splitting is done"