Howto install Cinnamon on Debian

Here is the quick guide to build and install Cinnamon on your debian system.
I’m using testing (Wheezy) and I’ll install the latest muffin (1.0.9) and Cinnamon (1.5.7) with git.

sudo aptitude install git build-essential
mkdir mint
cd mint/
git clone git://github.com/linuxmint/muffin.git
cd muffin/
git tag -l
git checkout 1.0.9
dpkg-checkbuilddeps
mk-build-deps
sudo dpkg -i muffin-build-deps_1.0_all.deb
sudo apt-get -f install
rm -f muffin-build-deps_1.0_all.deb
dpkg-buildpackage
cd ../
dpkg -i *.deb
git clone git://github.com/linuxmint/Cinnamon.git
cd Cinnamon/
git tag -l
git checkout 1.5.7
dpkg-checkbuilddeps
mk-build-deps
sudo dpkg -i cinnamon-build-deps_1.0_all.deb
sudo apt-get -f install
rm -f cinnamon-build-deps_1.0_all.deb
./autogen.sh
dpkg-buildpackage
cd ../
sudo dpkg -i cinn*.deb
sudo apt-get -f install
sudo aptitude remove muffin-build-deps cinnamon-build-deps

Upgrade postgresql 8.4 to 9.1 on Debian

After upgrading my server Squeeze to Wheezy I have to upgrade manually my postgresql from 8.4 to the current verion 9.1. By default the 9.1 runs on port 5433 and you have 2 postgres on your server.
As root:

aptitude install postgresql-9.1 postgresql-client-9.1
su - postgres
pg_dumpall > /tmp/dump.sql
exit
cp /tmp/dump.sql /root/
service postgresql stop
cp /etc/postgresql/9.1/main/pg_hba.conf /etc/postgresql/9.1/main/pg_hba.conf.orig
cp /etc/postgresql/9.1/main/postgresql.conf /etc/postgresql/9.1/main/postgresql.conf.orig
cp -f /etc/postgresql/8.4/main/pg_hba.conf /etc/postgresql/9.1/main/
cp -f /etc/postgresql/8.4/main/postgresql.conf /etc/postgresql/9.1/main/
aptitude remove postgresql-8.4 postgresql-client-8.4
service postgresql start
su - postgres
psql < /tmp/dump.sql

Vita tompoko!

insserv: loop involving service oracle-xe at depth 2

When installing or upgrading some packages on my server I got:

Preconfiguring packages ...
Setting up initscripts (2.88dsf-31) ...
insserv: script nbclient.08-12-11.18:50:39: service nbclient already provided!
insserv: warning: script 'oracle-xe' missing LSB tags and overrides
insserv: There is a loop between service munin-node and oracle-xe if stopped
insserv: loop involving service oracle-xe at depth 2
insserv: loop involving service munin-node at depth 1
insserv: Stopping oracle-xe depends on munin-node and therefore on system facility `$all' which can not be true!
insserv: script nbclient.08-12-11.18:50:39: service nbclient already provided!
insserv: warning: script 'oracle-xe' missing LSB tags and overrides
insserv: There is a loop between service munin-node and oracle-xe if stopped
insserv: loop involving service oracle-xe at depth 2
insserv: loop involving service munin-node at depth 1
insserv: Stopping oracle-xe depends on munin-node and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

Debian uses insserv by default in Wheezy which reads the LSB fields (more info here) and to fix this add these lines in the file /etc/init.d/oracle-xe just after « #!/bin/bash »

### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

Gns3 + patched qemu 0.15.0 + debian wheezy/sid

Qemu 0.15.0 is in unstable now and I have to patch it to emulate normally Cisco ASA 8.0(X) with Gns3, you have to do it also if you want emulate Juniper routers. This patch is necessary for UDP tunnels and multicast. I wrote this post to help debian users to achieve it.

Update your sources.list by adding a deb-src repository, for example here is my /etc/apt/sources.list:

deb http://mirror.malagasy.com/debian/ sid main contrib non-free  
deb http://mg.debian.net/debian/ sid main contrib non-free
deb-src ftp://mg.debian.net/debian/ sid main contrib non-free  

Run as superuser:

aptitude update

Fetch the qemu package source:

cd /tmp/
apt-get source qemu
wget http://code.gns3.net/qemu-patches/archive/8eb98a728e4f.tar.bz2
tar jxvf 8eb98a728e4f.tar.bz2
cd qemu-patches-8eb98a728e4f/
cat *.patch > ../qemu-0.15.0+dfsg/debian/patches/gns3.patch
echo "gns3.patch" >> ../qemu-0.15.0+dfsg/debian/patches/series 
cd ../qemu-0.15.0+dfsg/
apt-get install build-essential devscripts
apt-get build-dep qemu
debuild -us -uc
dpkg -i ../qemu*.deb

You can prevent an upgrade by pinning qemu:

aptitude hold qemu

UPDATE:
A copy of the patch is available here http://malagasy.debian.net/tmp/qemu-patches-8eb98a728e4f.zip

Vita tompoko!!

Some useful links for you 😉

http://code.gns3.net/qemu-patches/
http://forum.gns3.net/topic2784.html
http://blog.gns3.net/2009/12/how-to-emulate-cisco-asa/
http://blog.gns3.net/2009/10/olive-juniper/2/
http://www.mediafire.com/?p1izkcij9rkbp87

convertir ma partition /home ext3 en ext4

Comme je suis impatient et que j’en ai marre d’attendre le fsck de ma partition /home qui fait ~90GB une ou deux fois par semaine. Oui, oui, je sais, je peux changer cela avec tune2fs pour que ça arrive moins souvent mais ext4 m’a tenté ce soir. Enfin j’ai déjà monté ma partition ext3 en ext4 depuis 2 ou 3 mois.

La longue explication est ici. En résumé les principaux avantages par rapport à ext3 sont :

  • ext4 peut supporter un système de fichier très grand (1 EiB ou 260 octets) que ext3 (16TiB)
  • ext4 peut supporter un fichier très volumineux (16TiB ou 16To) que ext3 (16GiB)
  • ext4 est très rapide lors d’un fsck

Donc pour les impatients, ceci est les manips que j’ai sur une partition non-racine / ou /boot .

df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg0-home 89G 80G 4,7G 95% /home

umount /dev/mapper/vg0-home
fsck.ext3 -pf /dev/mapper/vg0-home
tune2fs -O extents,uninit_bg,dir_index /dev/mapper/vg0-home
fsck.ext4 -yfD /dev/mapper/vg0-home
emacs /etc/fstab
mount -a

N’oubliez pas de modifier et de tester votre fstab