How to keep installed a given version of a Debian package?

VirtualBox 4.0.2 is available for Debian Lenny but I do not want to upgrade it now.Here is one solution to prevent an automatic upgrade :

root@localhost:~# echo “virtualbox-4.0 hold” |dpkg –set-selections

To verify the previous modification :

root@localhost:~# dpkg –get-selections |grep virtualbox

virtualbox-3.1                    deinstall
virtualbox-3.2                    deinstall
virtualbox-4.0                    hold

Debian 5.0.8 released

Debian project released the eight update of the Debian GNU/Linux stable version on the 22th of January 2011.

Here are the bugfixes released for the version :

Package         Reason
awstats Fix directory traversal via crafted LoadPlugin directory
base-files Update debian_version for the point release
boxbackup Reduce root CA expiration date to avoid overflow in 2038
git-core Fix cross-site scripting vulnerability
gquilt Insecure setting of PYTHONPATH
hamlib Use system libltdl rather than an internal copy vulnerable to CVE-2009-3736
ia32-libs Refresh with new packages from lenny and lenny-security
ia32-libs-gtk Refresh with new packages from lenny and lenny-security
ldap-account-manager Fix upgrades from lenny by dropping master password debconf question
libcgi-pm-perl Fix header-parsing related security issues
libcgi-simple-perl Fix header-parsing related security issues
libgadu Fix memory corruption when removing dcc7 sessions
man-db Suppress locale warnings when being run from a dpkg maintainer script
mediawiki Deny framing on most pages to minimise risk of clickjacking
movabletype-opensource Fix various XSS and SQL security issues
mumble Don’t make configuration file world-readable; delete /var/lib/mumble-server on purge
opensc Protect against buffer overflow from rogue cards
perl Fix header-parsing related security bugs; update to Safe-2.25
postgresql-8.3 New upstream bugfix release
spamassassin Update list of ARIN netblock delegations to avoid false positives in RelayEval
splashy Modify to avoid issues if splashy is removed but not purged
surfraw Update Debian security-tracker URL
user-mode-linux Rebuild against linux-source-2.6.26 (2.6.26-26lenny1)
xdigger Fix buffer overflow errors

To upgrade your system to this version :

root@localhost:~# aptitude update && aptitude safe-upgrade

More information about the release : Debian 5.0.8

VirtualBox 4.0 available since the 22th of December

The software development of VirtualBox is growing fast and new releases are available more often than in the past. It is about to be the most used virtualization solution at the desktop level. As a reminder for those who are still running VirtualBox with an older version (3.x), VirtualBox 4.0 is available since the 22th Of December 2010. It is a major release.

Here are the new features added :

  • Reorganization of VirtualBox into a base package and Extension Packs; see chapter 1.5, Installing VirtualBox and extension packs, see the manual for more information
  • New settings/disk file layout for VM portability; see chapter 10.1, Where VirtualBox stores its files, see the manual for more information
  • Major rework of the GUI (now called “VirtualBox Manager”):
    • Redesigned user interface with guest window preview (also for screenshots)
    • New “scale” display mode with scaled guest display; see chapter 1.8.5, Resizing the machine’s window, see the manual for more information
    • Support for creating and starting .vbox desktop shortcuts (bug #1889)
    • The VM list is now sortable
    • Machines can now be deleted easily without a trace including snapshots and saved states, and optionally including attached disk images (bug #5511; also, VBoxManage unregistervm –delete can do the same now)
    • Built-in creation of desktop file shortcuts to start VMs on double click (bug #2322)
  • VMM: support more than 1.5/2 GB guest RAM on 32-bit hosts
  • New virtual hardware:
    • Intel ICH9 chipset with three PCI buses, PCI Express and Message Signaled Interrupts (MSI); see chapter 3.4.1, “Motherboard” tab, see the manual for more information
    • Intel HD Audio, for better support of modern guest operating systems (e.g. 64-bit Windows; bug #2785)
  • Improvements to OVF support (see chapter 1.12, Importing and exporting virtual machines, see the manual for more information):
    • Open Virtualization Format Archive (OVA) support
    • Significant performance improvements during export and import
    • Creation of the manifest file on export is optional now
    • Imported disks can have formats other than VMDK
  • Resource control: added support for limiting a VM’s CPU time and IO bandwidth; see chapter 5.8, Limiting bandwidth for disk images, see the manual for more information
  • Storage: support asynchronous I/O for iSCSI, VMDK, VHD and Parallels images
  • Storage: support for resizing VDI and VHD images; see chapter 8.21, VBoxManage modifyhd, see the manual for more information.
  • Guest Additions: support for multiple virtual screens in Linux and Solaris guests using X.Org server 1.3 and later
  • Language bindings: uniform Java bindings for both local (COM/XPCOM) and remote (SOAP) invocation APIs

Please find the complete changelog for this version : Changelog for version 4.0

OpenSSL tricks (1)

OpenSSL provides a bunch of functionalities to any SSL-related problems or setups.
We will start this serie on OpenSSL with some tricks that can help you making a more efficient use of the OpenSSL command-line tool.
On your Debian-based distro, have you already installed the OpenSSL package?
To check it :

fool@localhost:~$which openssl && openssl version

If not :

root@localhost:~# apt-get install openssl

All the information given below are given by the OpenSSL version of Debian Lenny :

More details about the version of OpenSSL  :

fool@localhost:~$openssl version -a

openssl version -a
OpenSSL 0.9.8g 19 Oct 2007
built on: Tue Nov 16 18:16:26 UTC 2010
platform: debian-i386-i686/cmov
options:  bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) blowfish(idx)
OPENSSLDIR: “/usr/lib/ssl”

To list all the available ciphers :

fool@localhost:~$openssl ciphers -v

openssl ciphers -v
DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
DHE-DSS-AES256-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA1
AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
EDH-RSA-DES-CBC3-SHA    SSLv3 Kx=DH       Au=RSA  Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA    SSLv3 Kx=DH       Au=DSS  Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=SHA1
DES-CBC3-MD5            SSLv2 Kx=RSA      Au=RSA  Enc=3DES(168) Mac=MD5
DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
DHE-DSS-AES128-SHA      SSLv3 Kx=DH       Au=DSS  Enc=AES(128)  Mac=SHA1
AES128-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA1
RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)  Mac=MD5
RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1
RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5
EDH-RSA-DES-CBC-SHA     SSLv3 Kx=DH       Au=RSA  Enc=DES(56)   Mac=SHA1
EDH-DSS-DES-CBC-SHA     SSLv3 Kx=DH       Au=DSS  Enc=DES(56)   Mac=SHA1
DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1
DES-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=MD5
EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=RSA  Enc=DES(40)   Mac=SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512)  Au=DSS  Enc=DES(40)   Mac=SHA1 export
EXP-DES-CBC-SHA         SSLv3 Kx=RSA(512) Au=RSA  Enc=DES(40)   Mac=SHA1 export
EXP-RC2-CBC-MD5         SSLv3 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
EXP-RC2-CBC-MD5         SSLv2 Kx=RSA(512) Au=RSA  Enc=RC2(40)   Mac=MD5  export
EXP-RC4-MD5             SSLv3 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export
EXP-RC4-MD5             SSLv2 Kx=RSA(512) Au=RSA  Enc=RC4(40)   Mac=MD5  export

To test a SSL-based connection to a remote server :

fool@localhost:~$openssl s_time -connect your_remote_server:443

The s_time function can request  a page from a server and evaluates how long it takes to retrieve the requested information over the TLS connection.

Here is the kind of information you can collect :

No CIPHER specified
Collecting connection statistics for 30 seconds

117 connections in 1.06s; 110.38 connections/user sec, bytes read 0
117 connections in 31 real seconds, 0 bytes read per connection

Now timing with session id reuse.

287 connections in 0.09s; 3188.89 connections/user sec, bytes read 0
287 connections in 31 real seconds, 0 bytes read per connection

Virtualbox OSE 3.2.12 available within the Oracle official repository

Oracle issued the latest stable version of Virtualbox 3.2.12 on the 30th of November.
To install it :

root@localhost:~# apt-get install virtualbox-3.2
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 49.2MB of archives.
After this operation, 97.3MB of additional disk space will be used.
Get:1 lenny/non-free virtualbox-3.2 3.2.12-68302~Debian~lenny [49.2MB]
Fetched 49.2MB in 7min8s (115kB/s)
Preconfiguring packages …
Selecting previously deselected package virtualbox-3.2.
(Reading database … 174756 files and directories currently installed.)
Unpacking virtualbox-3.2 (from …/virtualbox-3.2_3.2.12-68302~Debian~lenny_i386.deb) …
Setting up virtualbox-3.2 (3.2.12-68302~Debian~lenny) …
addgroup: The group `vboxusers’ already exists as a system group. Exiting.
Stopping VirtualBox kernel modules:done..
Uninstalling old VirtualBox DKMS kernel modules:done..
Trying to register the VirtualBox kernel modules using DKMS:done..
Starting VirtualBox kernel modules:done..

More details about this new release :
Changelog for Virtualbox 3.2.12

ifplugd and ethernet device configuration

How to configure dynamically your  ethernet device when a cable  is plugged or unplugged ?

Ifplugd is a solution. It provides a daemon which configures your ethernet device when a cable is plugged and de-configures it when a cable is pulled out.

For Debian, to install it :

root@localhost:~# apt-get install ifplugd

Initially, to configure it, the use of /etc/ifplugd/ifplugd.conf file is deprecated. Instead, add your ethernet device, eth0 (often the default name) into the /etc/default/ifplugd file:


Make sure that the /etc/network/interfaces file looks like this  :

root@localhost:~# cat /etc/network/interfaces

auto lo
iface lo inet loopback

iface eth0 inet dhcp

Make sure you have removed the stanza “auto eth0” below otherwise ifplugd will not work properly.

root@localhost:~#/etc/init.d/ifplugd restart

Look at your syslog’s file for messages sent by ifplugd :

ifplugd 0.28 initializing.
ifplugd(eth0)[12701]: Using interface eth0/6C:F0:49:17:1E:2E with driver <r8169> (version: 2.3LK-NAPI)
ifplugd(eth0)[12701]: Using detection mode: SIOCETHTOOL
ifplugd(eth0)[12701]: Initialization complete, link beat detected.
ifplugd(eth0)[12701]: Executing ‘/etc/ifplugd/ifplugd.action eth0 up’.
ifplugd(eth0)[12701]: client: /sbin/ifup: interface eth0 already configured
ifplugd(eth0)[12701]: Program executed successfully.

More information about ifplugd :

Installing Adobe Flash Player 10.1 for Debian-based distro

If you run Debian Lenny, you may want to get the latest version of Flash Player. It is now possible to install it directly with a Debian package.

Visit the following link to download .deb package :

Adobe Flash Player for Debian

A prompt will appear to ask you to download the requested file whose name is :


To install it :

root@localhost:~# dpkg -i install_flash_player_10_linux.deb

To find it within the list of the installed packages :

fool@localhost:~$ dpkg -l | grep adobe-flashplugin

Skype 2.1 Beta 2 for Linux


I guess you have some friends or relatives that enjoy using Skype for free phone calls or instant messaging. How to keep in touch with them under Debian linux?

Skype is not a free software and you should preferably use Ekiga and help promoting this VOIP solution instead.  Skype is easy to install on Debian Lenny with the latest security updates and possible software upgrades. Visit the following link to download the latest version :
Skype 2.1 Beta 2 for Linux

Before installing the Debian package available here, make sure that the software requirements are met :

  • Qt 4.4.0
  • D-Bus 1.0.0
  • libasound2 1.0.18
  • PulseAudio 0.9.16 (optional)
  • BlueZ 4.0.0 (optional)

To install it :

root@localhost:~#dpkg -i /tmp/skype-debian_2.1.0.81-1_i386.deb

root@localhost:~#dpkg -p skype

Package: skype
Priority: extra
Section: non-free/net
Installed-Size: 25574
Maintainer: Skype Technologies <>
Architecture: i386
Depends: libasound2 (>> 1.0.16), libc6 (>= 2.7-1), libgcc1 (>= 1:4.3), libqt4-dbus (>= 4.4.3), libqt4-network (>= 4.4.3), libqtcore4 (>= 4.4.3), libqtgui4 (>= 4.4.3), libstdc++6 (>= 4.3), libx11-6, libxext6, libxss1, libxv1
Size: 20165950
Description: Skype
Skype is a little piece of software that lets you make free calls to anyone else on Skype,
anywhere in the world. And even though the calls are free, they are really excellent quality.
* Make free Skype-to-Skype calls to anyone else, anywhere in the world.
* Call phones and mobiles at pretty cheap rates per minute.
* Group chat with up to 100 people or conference call with up to nine others.
* Free to download.

Do not forget to spread the word for Ekiga !

Virtualbox OSE 3.2.10 available within the Oracle official repository

Virtualbox OSE 3.2.10 is available from the Oracle official repository. If the previous version is already installed (3.2.8), run the following commands before upgrading :

root@localhost:~#dpkg -l|grep virtualbox-3.2
ii  virtualbox-3.2                          3.2.8-64453~Debian~lenny       Oracle VM VirtualBox

root@localhost:~# apt-cache policy virtualbox-3.2
Installed: 3.2.8-64453~Debian~lenny
Candidate: 3.2.10-66523~Debian~lenny
Version table:
3.2.10-66523~Debian~lenny 0
500 lenny/non-free Packages
*** 3.2.8-64453~Debian~lenny 0
100 /var/lib/dpkg/status

To install the latest version of Virtualbox :

root@localhost:~# apt-get update && apt-get upgrade

You should the lines below during the upgrade process :

Preparing to replace virtualbox-3.2 3.2.8-64453~Debian~lenny (using …/virtualbox-3.2_3.2.10-66523~Debian~lenny_i386.deb) …
Stopping VirtualBox kernel module:done..
Unpacking replacement virtualbox-3.2 …
Setting up virtualbox-3.2 (3.2.10-66523~Debian~lenny) …
Installing new version of config file /etc/init.d/vboxdrv …
addgroup: The group `vboxusers’ already exists as a system group. Exiting.
Stopping VirtualBox kernel modules:done..
Uninstalling old VirtualBox DKMS kernel modules:done..
Trying to register the VirtualBox kernel modules using DKMS:done..
Starting VirtualBox kernel modules:done..

For more information about the new features and fixes added :

Official Virtualbox changelog

modprobe vboxdrv failed. Please use ‘dmesg’ to find out why failed!

If you attempt to (re)?install Virtualbox OSE 3.2.8 from the official Oracle package, you may encounter the following errrors within the installation log file /var/log/vbox-install.log :

root@localhost:~# dpkg-reconfigure virtualbox-3.2
Stopping VirtualBox kernel module:done..
addgroup: The group `vboxusers’ already exists as a system group. Exiting.
Messages emitted during module compilation will be logged to /var/log/vbox-install.log.
Starting VirtualBox kernel module:
modprobe vboxdrv failed. Please use ‘dmesg’ to find out why failed!

cat /var/log/vbox-install.log
** Compiling vboxdrv
Attempting to install using DKMS

Creating symlink /var/lib/dkms/vboxdrv/3.2.8/source ->

DKMS: add Completed.

Error! Your kernel headers for kernel 2.6.32-bpo.2-686 cannot be found at
/lib/modules/2.6.32-bpo.2-686/build or /lib/modules/2.6.32-bpo.2-686/source.
You can use the –kernelsourcedir option to tell DKMS where it’s located, or you could install the linux-headers-2.6.32-bpo.2-686 package.
Failed to install using DKMS, attempting to install without
Makefile:162: Warning: using /usr/src/linux as the source directory of your Linux kernel. If this is not correct, specify KERN_DIR=<directory> and run Make again.
Makefile:170: *** Error: /usr/src/linux (version 2.6.30-bpo.2-686) does not match the current kernel (version 2.6.32-bpo.2-686).  Stop.

What do the errors above mean? The installation has been tested on a Debian lenny machine with the backports activated in /etc/apt/sources.list.

The running kernel version : 2.6.32-bpo.5-686

To compile a module with DKMS , you need to install the following (and probably missing ones for those who got the errors displayed above ) Debian packages :

root@localhost:~# apt-get install linux-image-2.6.32-bpo.5-686 linux-headers-2.6.32-bpo.5-686

These packages contains the source code and the corresponding headers files for the current running kernel. Once installed, relaunch your installation :

root@localhost:~# dpkg-reconfigure virtualbox-3.2

Stopping VirtualBox kernel module:done..
addgroup: The group `vboxusers’ already exists as a system group. Exiting.
Messages emitted during module compilation will be logged to /var/log/vbox-install.log.
Starting VirtualBox kernel module:done..

The freshly compiled modules should have been loaded :

root@localhost:~# lsmod | grep vbox
vboxnetadp              5126  0
vboxnetflt             12641  0
vboxdrv               126550  2 vboxnetadp,vboxnetflt

Even if the compilation process has been a success, do not forget to check /var/log/vbox-install.log