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"
