Monthly Archives: August 2009

Upgrade Debian Etch to Debian Lenny

I started upgrading some of our Etch boxes to Lenny and this is how i did it.

1. Make sure you have installed all updates for the current debian version you are running in our case debian etch. To do this run:

aptitude update and aptitude upgrade

2. That should update all etch packages on your system. If you run into any missing gpg key problems after running the update please read this aptitude update gpg key problems Then open up you sources list file with you favourite editor.

vi /etc/apt/sources.list

3. You can either use vi’s great search and relace function or you can add a new list of sources thats up to you. If you use the search and replace function please make sure to check if that archive also offers packages for lenny. The same applies for any custom sources or backports. This is my sources.list file for lenny:

deb http://ftp.debian.org/debian/ lenny main contrib
deb-src http://ftp.debian.org/debian/ lenny main contrib
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

4. Upgrade the sources to lenny:

aptitude update

5. Check if you have sufficient hard disk space before you start the upgrade

aptitude -y -s -f --with-recommends dist-upgrade

6. Upgrade aptitude first.

aptitude install dpkg aptitude apt

7. Then do a Minimal system upgrade with

aptitude upgrade

8. Upgrade the rest of the system

aptitude dist-upgrade

After all thats done if you didn’t encounter any problems your done. Before you reboot check you boot loader just to make sure the new kernel is listed on lenny it should be 2.6.26 something then you should be good to reboot.

Source and further documentation Debian handbook

Clean up your Ubuntu or debian install with deborphan

If you want to clean up your Ubuntu or Debian machine and delete unnecessary (orphaned) deb packages you can use the utility deborphan. It finds packages that have no packages depending on them. First install deborphan:

aptitude install deborphan

Then start of with a dry run just to make sure that you are not removing any packages you still need

deborphan --guess-all

To delete unnecessary data packages use the command:

sudo deborphan --guess-data | xargs sudo aptitude -y purge

To delete all unnecessary packages use the command:

sudo deborphan --guess-all | xargs sudo aptitude -y purge

To get rid of downloaded deb packages use:

aptitude autoclean

Ubuntu Server generate locals

I was having a problem with one of our ubuntu servers and it’s locals. I was seeing the following error after typing local:

root@wiki:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.UTF-8
LC_CTYPE="de_DE"
LC_NUMERIC="de_DE"
LC_TIME="de_DE"
LC_COLLATE="de_DE"
LC_MONETARY="de_DE"
LC_MESSAGES="de_DE"
LC_PAPER="de_DE"
LC_NAME="de_DE"
LC_ADDRESS="de_DE"
LC_TELEPHONE="de_DE"
LC_MEASUREMENT="de_DE"
LC_IDENTIFICATION="de_DE"
LC_ALL=de_DE

So i deceided to set my locals in my .bashrc for root. Like this:

export LANG=de_DE.UTF-8
export LC_ALL=de_DE.UTF-8

I was still getting error messages because the locals where not generated on the server. To generate German locals with UTF-8 issue the following command:

localedef -v -c -i de_DE -f UTF-8 de_DE.UTF-8

Thats it the command local -a should now display something like this:

root@wiki:~# locale -a
C
de_DE.utf8
en_US.utf8
POSIX

The command local should display:

root@wiki:~# locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8

To do this for US locals use this command:

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 and also change the export command above