ASPENSMONSTER Just another WordPress site

March 18, 2010

Debian Lenny 64 bit Installation

Filed under: Uncategorized — Tags: — aspensmonster @ 12:21 am

Flattr this!

PART 0: Preliminaries and Notes about Free Software

This document is intended to provide assistance to other individuals who are attempting to install Lenny and various other software packages onto their machines. Each section includes links to forums I searched through to originally find the answers to my problems (they are preceded by a “###” hash; just ctrl-f it). It is hoped that if this guide isn’t sufficient, I can consolidate your efforts in finding a solution by putting those links in each appropriate section. I’ve also provided a pdf file above that consolidates this entire post. Finally, I’ve backed up onto this blog some of the custom files I’ve found that have made installation of certain software easier. I will do my best to give credit to others where it is due, as it is due in almost all cases : )

In regards to FOSS… I’ll say from the get-go that while I’m installing Debian here, I am not adhering to the strict free-software guidelines as outlined by the GNU FSF. In simple terms: I make use of the contrib and nonfree repositories and download proprietary drivers. To anyone who goes strictly by the guidelines –well, as strict as you can with Debian, seeing as even the OS itself isn’t technically free software– I applaud your efforts. However, it cannot be denied that not everything is consistently up to par for the average user’s need. This is especially true with Debian; what it gains in rock-solid stability it loses in up-to-date software. Most users expect up-to-date software, as they aren’t interested in running servers or constructing computing clusters.

Nevertheless, Debian has improved dramatically from Etch to Lenny, and I’m sure it will improve drastically once more in the next stable release. Perhaps a day will come when FOSS can completely erradicate the necessity of non-free software! In fact, the hardware NIGHTMARES I experienced with Etch were basically non-existent when installing Lenny. To what extent this is dependent on the different hardware setups I had for each machine at the time of installation, I don’t know. But installing Lenny was, for me, much easier this go ’round than with Etch.

PART 1: Hardware Specifications and Software List

My new machine has the following specs:

Power Supply: Tagan BZ Series 1100W
Motherboard: ASUS P5E Deluxe
Processor: Intel Core2 Extreme QX9650 @ 3.0 Ghz (1333Mhz bus)
Graphics Card: Nvidia GTX 280
RAM: 4x1GB DDR3 @ 1333MHz
Hardware RAID: Adaptec AAC-RAID
Fake RAID: Intel Matrix
Mouse: Logitec MX-518

These are the pieces of software I want to install:

Software Purpose
Nvidia Drivers Enable 3D Graphics Acceleration
kchmviewer reads .chm files
gscan2pdf scans pages directly to pdf
*Wireshark network analyzer
*VLC all-purpose media player
Skype VoIP
Compiz-fusion + Emerald desktop effects + themes
Vuze Bit Torrent client
Latex LaTeX word processing
Truecrypt Encryption
*Java 6 RE Java Run-time environment
*Java 6 Plugin Java Plugin for Iceweasel
Flash Plugin for Iceweasel
Kernelcheck Automated kernel updating

*Means that this software came directly from Debian repositories (i.e., apt-get install ______) Obviously, these will not be current version pieces of software. I typically explain why I either didn’t need the latest or stopped trying to get the latest in the appropriate section.

PART 1.5: Important Installation Timeline Notes

The following is an explanation of little tweaks that will prevent common installation problems from occuring with the software. As I went through the process it became clear that it would be nice to have known certain things “before hand” instead of having to backtrack constantly to solve miniproblems that got in the way of getting the software running. As well, there were certain installation requests that were common to several pieces of software. I list them here. If you can’t get a piece of software to run when only following the below sections then the solution might be here.

FIRST: 32-bit compatibility libraries

These allow various 32-bit operations to work on the 64 bit system.

# apt-get install ia32-libs ia32-libs-gtk ia32-libs-libcurl3 ia32-libs-idn11 ia32-libs-libnspr4 ia32-libs-libnss3 ia32-libs-libssh2 ia32-libs-xulrunner lib32nss-mdns

SECOND: Enabling the contrib and nonfree repositories

I use nano to get the job done:

# nano /etc/apt/sources.list

Change the official debian repository entries to look like this:

deb lenny main contrib non-free
deb-src lenny main contrib non-free

deb lenny/updates main contrib non-free
deb-src lenny/updates main contrib non-free

Be sure to update apt:

# apt-get update

THIRD: Preventing python problems

The best option for me was simply to not install different versions of python. It became very difficult to install kernelcheck after doing so. Debian has both 2.4 and 2.5 in the official repositories and if you don’t need the newer ones, don’t use them. However, if you’re like me and have to continually back track, then this little hack can do the trick:

# ln -s /usr/local/bin/python /usr/bin/python2.5
# ln -s /usr/bin/python /usr/bin/python2.5

This isn’t exactly an elegant solution, but it does make sure that python 2.5 is used as opposed to a different version of python you might have installed.

FOURTH: Preventing repository conflicts

When using the repositories, certain packages are duplicated in both this repository and the official debian ones. This spelled disaster for my VLC player. It would not play ANY video. Only audio would start. BEFORE installing vlc (and any of the library packages below like lbavdevice52), make a file called preferences in /etc/apt :

# nano /etc/apt/preferences

Put the following in there:

Package: ffmpeg libavcodec51 libavdevice52 libavformat52 libavutil49 libpostproc51 libswscale0
Pin: origin

###( ; Fourth post by “hubi” from the top)

If you’ve already installed VLC (or VLC and one of the above listed packages), then jump down to the VLC section to see how to reverse that pesky no video problem. If you had already installed any of the packages above (but not installed VLC) then remove them first and implement the VLC workaround below.

(This again is not a particularly elegant solution, but it does prevent problems from cropping up.)

PART 2: Installing Debian

Installing Debian this time was much easier. I had my Vista Ultimate 64 bit install on the Intel Matrix fakeraid and wanted to put Debian Lenny on the Adaptec hardware raid. The graphical installer was great. It went off without a hitch up until the GRUB installation portion. It put the bootloader on the first drive of the intel fakeraid as opposed to the Adaptec raid. Having had nightmares trying to deal with this problem before, I simply wiped the incomplete install of Lenny, unplugged all the fakeraid drives and reinstalled on the Adaptec raid without the hassle. I have a BIOS that can switch boot priority from the fakeraid to the Adaptec raid and, seeing as I rarely use the Vista install anyway, this was sufficient enough for my needs. I then unplugged the Adaptec raid, put the fakeraid drives back in, and ran the fixmbr off of the Vista install disk. The installation fixed itself and I promptly went back to booting from the adaptec raid and my shiny new Lenny install.

PART 3: Setting up Proprietary Nvidia Drivers

###( ; primary source of this section)

First, download the drivers from Nvidia:

The latest Nvidia drivers are compiled using gcc 4.1. The kernel that comes with Lenny is not compiled with this version. If you try to jump straight to building the drivers, the installer will complain about this and abort. So, do the following first:

# apt-get install make gcc gcc-4.1 linux-headers*

Shut down the graphical display manager (GNOME) and change to the directory that you downloaded the drivers to:

# /etc/init.d/gdm stop

Then, be sure to tell bash to use gcc-4.1 by executing this line:

# export CC=/usr/bin/gcc-4.1

Finally, run the installer (your precise file name will probably be different):

# sh

Once this is done, restart GNOME:

user@location:~/$ gdm

If you’re eager to verify that the 3D-accelerated drivers are indeed installed and functional, then you can try installing mesa-utils and running glxgears:

# apt-get install mesa-utils
user@location:~/$ glxgears -info

This is however, a very poor excuse for a test*. My fps was in excess of 13000 (GTX 280) before installing compiz-fusion and emerald. After installing those and running lots of stuff at the same time and using the sphere and throwing anything else I could think of at it, I still couldn’t get the fps below 2000 (I had glxgears open while doing it to get the FPS value). If you want a better benchmark, then try gtkperf.

*###( ; explains why not)

PART 4: Setting up Compiz-Fusion + Emerald

###( ; I did NOT follow the same apt-get install portion)

I don’t actually use the debian repositories for this. Apparently, the developer responsible for maintaining these packages is no longer doing so and as such, they don’t show up in the debian officials. However, they are in another repository. It is from here that I installed the required packages.

First, add the following to /etc/apt/sources.list :

deb ./

Update apt:

# apt-get update

Then apply the gpg key:

# wget -O- | apt-key add -

Finally, install the following packages:

# apt-get install fusion-icon emerald emerald-themes compiz compiz-core compiz-backend-gconf compiz-settings-manager compiz-fusion-bcop compiz-fusion-extras compiz-fusion-gnome compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-manager compiz-plugins

I can’t honestly say that I know whether or not every one of those packages is necessary (I suspect not). However, upon installing those, compiz and emerald should be working. Add the “fusion-icon” executable to the startup list to have the icon load at startup so you can easily switch between window managers and window decorators.

Modifications to the xorg.conf file:

As well, several posts and sites said to add certain modifications to the xorg.conf file. Whether they are still necessary in 2010 or not, I don’t know. But I don’t notice any adverse effects upon including them.

First, include the following under the “screen” section:

    Option         "XAANoOffscreenPixmaps" "true"
    Option         "AllowGLXWithComposite" "true"
    Option         "AddARGBGLXVisuals" "true"
    SubSection     "Display"
        Depth       24

Then, make a new section like this:

Section "Extensions"
    Option         "Composite" "Enable"

Finally, be sure to load the glx module by adding the folowing to the module section

    Load           "glx"

PART 5: Setting up Java and Flash Plugins (and JRE)


I used the java plugin from sun in the non-free repositories:

# apt-get install sun-java6-bin sun-java6-jre sun-java6-plugin

If apt says it can’t find the packages, go back to section 1.5 and enable the contrib and non-free repositories.


UPDATE(September 17 2010): Adobe has just released (as of September 15 2010, I believe) a developer prerelease of Flash 10.2 with, you guessed it, Linux 64 bit support. You could continue using the nspluginwrapper solution until they put the finishing touches on 64 bit flash in linux (and then install from a repository). Or, you can download the prerelease now. Adobe makes it clear that all updating of this prerelease is on you –any bugs or security holes between here and formal release will stick unless you manually update. You want to install it now, you say? Me too.

First off, the folks at the debian forums here are all saying they aren’t having issues with the prerelease. I haven’t either so far. Regardless, be sure to follow the backup instructions unless you’re comfortable doing it yourself. And now, here’s what I did:

First, search your computer for instances of “flashplayer”. I found it in the following directories (you may find it in others, but the process is the same):

/usr/lib/nspluginwrapper/plugins/ [actual library]
/usr/lib/firefox/plugins/ [link to library]
/usr/lib/iceweasel/plugins/ [link to library]
/usr/lib/mozilla/plugins/ [link to library]

Do not delete the actual library. If the 64-bit plugin goes south again (keep in mind it already did that once), it’ll be nice to have a fallback. Instead, make a backup directory in a place you’ll remember, and then move the proper library links there. To do this, go into a shell and become root:

user@machine:~$ mkdir /path/to/backup/directory/
user@machine:~$ su
root@machine:~# mv /usr/lib/firefox/plugins/ /path/to/backup/directory/
root@machine:~# mv /usr/lib/iceweasel/plugins/ /path/to/backup/directory/
root@machine:~# mv /usr/lib/mozilla/plugins/ /path/to/backup/directory/

Now, download the prerelease from this page:

Then extract the file and put it in a new directory. Then create links to this library in the appropriate plugin directories:

user@machine:~$ tar -xvwf /path/to/tarball/flashplayer_square_p1_64bit_linux_091510.tar.gz [or just use a graphical program. doesn't really matter how you extract the "" file.]
user@machine:~$ su
root@machine:~# mkdir /usr/lib/adobe-flash-prerelease/
root@machine:~# mv /path/to/tarball/ /usr/lib/adobe-flash-prerelease/
root@machine:~# ln -s /usr/lib/adobe-flash-prerelease/ /usr/lib/firefox/plugins/
root@machine:~# ln -s /usr/lib/adobe-flash-prerelease/ /usr/lib/iceweasel/plugins/
root@machine:~# ln -s /usr/lib/adobe-flash-prerelease/ /usr/lib/mozilla/plugins/

Restart firefox/iceweasel/mozilla derivative of browser, and flash should be working. Once a polished release is ready, I would recommend removing the prerelease version (much in the same fashion that you did for nspluginwrapper here) and following your distro’s installation process. I doubt any distro will waste time in pushing the release as soon as it’s ready. Either that, or I doubt it will be long before the backports get upgraded like below and the process becomes as simple as installing from them 😛

UPDATE (June 23 2010): It appears that this mechanism of updating flash for 64-bit systems is broken: (here && here). From what I can tell, the 64-bit beta from Flash is a security nightmare. As well, Adobe recently announced that they will, “for the time being,” remove support for 64-bit Linux flash plugins. Following this news, no distro is continuing to package the 64-bit version.

You CAN however follow these instructions. If you have pulseaudio issues, then this post might help.

This used apt, but required using a backport. Add the following to your /etc/apt/sources.list file:

deb lenny-backports main contrib non-free

Then do the folowing:

# apt-get update
# apt-get -t lenny-backports install debian-backports-keyring flashplugin-nonfree

If you ever want to update the flash player, execute this in a shell

# update-flashplayer-nonfree --install

Why I used the repository

Honestly? Convenience. The flash version is the latest. The java version is the latest. However, if you absolutely HAVE to have a 64-bit java jre (NOT a plugin for applet support) then you CAN install Sun’s x86_64 beta jre here:

And follow the instructions here:

PART 6: Setting up Skype

###( ; explains what packages need to be installed to work on Lenny)

First, be sure to have the ia32-libs-* packages installed (see section 1.5). Then, install the following:

apt-get install libqt4-dbus libqt4-network libqt4core libqtgui4

Now, get the Debian .deb file from Skype:

When you try to install this, it will complain that the architecture is 64 bit but the package is 32 bit. The only way to get this to install is to use the –force-all flag

# dpkg -i --force-all skype.deb

There IS a 64 bit .deb file for Ubuntu. I do not know if it will compile under a Debian Lenny system though.

PART 7: Setting up Truecrypt

###( ; I used method two to modify the sudoers file)

First, download the x86_64 tarball from the truecrypt website:

Then install some required dependencies:

# apt-get install fuse-utils dmsetup

Extract the tar-ball. This will present a runable file. Execute this file:

user@location:~/$ tar -zxvf truecrypt-6.3a-ubuntu-x64.tar.gz
# ./truecrypt-6.3a-setup-ubuntu-x64

It will ask you whether or not you want to create a .deb file. Do so. You will then have a .deb file. Build it:

# dpkg -i truecrypt.deb

Preventing root and user permissions problems

Before creating any containers or encrypting any partitions –if you try to do so before following this, you get a prompt for a password that won’t recognize the root password as being such– add a line to the sudoers file by executing the following program as root:

# visudo

This will drop you into a nano-like editing environment. Add this, replacing USERNAME with your username:

# for truecrypt
USERNAME ALL=NOPASSWD: /usr/bin/truecrypt

If you want to instead create a “group” that can access the truecrypt program (as opposed to a single user), then follow method two in the given link at the top of this section.

PART 8: Setting up Vuze (BitTorrent client)

###( ; Explains the trick to get it to work on a 64 bit system)

First, be sure to have Java installed (see section 5). Then download the latest version of Vuze here:

Extract it to whatever directory you want.

Now the trick: the swt.jar file that comes with the latest version is 32 bit. We need the latest 64 bit one. Get it here:

The particular file you are looking for (as of March 17 2010) is “” . If the above link is a dead-end (404, whatever), keep going further up the tree, checking higher and higher directories until you can re-navigate towards something else that looks like the given filename.

Extract the file and move the new swt.jar file into the vuze folder:

user@location:~/$ unzip
$ mv swt.jar /location/to/extracted/vuze/

Run vuze by executing “vuze” at a shell:

user@location:~/$ vuze

PART 9: Setting up VLC

Preventing playback issues due to repository conflicts

###( ; Fourth post by “hubi” from the top)

IMPORTANT: If you have installed VLC or any of the below library packages (like ffmpeg or libavdevice52), please do the following FIRST to “purge” your system (not in the actual ‘apt’ sense, but to get this to work) by following this set of instructions. If you have NOT installed VLC or the library packages (but HAVE followed the fourth piece of advice in section 1.5) then jump down to the install portion.

First, remove certain libraries and such from your machine. Remove VLC as well if it is installed:

# apt-get remove ffmpeg libavcodec51 libavdevice52 libavformat52 libavutil49 libpostproc51 libswscale0
# apt-get remove vlc vlc-nox

If VLC was installed, also remove this directory:

user@location:~/$ rm ~/.vlc/cache/*.dat 

Then, go into your /etc/apt/sources.list and disable the repositories. I use nano:

# nano /etc/apt/sources.list

A “#” character in front of the debian-multimedia repository entry should do the trick. Like such:

#deb lenny main

Then, reinstall the libs:

# apt-get update
# apt-get install ffmpeg libavcodec51 libavdevice52 libavformat52 libavutil49 libpostproc51 libswscale0

Then, create a file called preferences in /etc/apt :

# nano /etc/apt/preferences

Put the following in there:

Package: ffmpeg libavcodec51 libavdevice52 libavformat52 libavutil49 libpostproc51 libswscale0
Pin: origin

This ensures that future updates to those packages come from debian repositories and not the repository.

Now, re-enable the debian-multimedia repository by using nano:

# nano /etc/apt/sources.list

And then removing the “#” character you put in front of the debian-multimedia repository earlier.

Then, apt-update:

# apt-get update

Installing VLC

NOW, install vlc:

# apt-get install vlc vlc-nox

Why I used the repository

Because the version in the repository was able to play everything I could throw at it without hassle. Since this was the case, I felt no need to go through a nightmarish headache of trying to get the latest version to compile under Lenny. I might try that out later if I have time 😛

PART 10: Installing LaTeX stuff

LaTex lets you type mathematical equations and such in a very systematic and neat way. It is superior to any other typesetting language or set-up in this regard. I’ve used it for years to type up mathematics assignments (and in posts on this blog). A google search for “LaTeX tutorials linux texlive” ought to bring about good results if you want to learn how to use it.

# apt-get install texlive texlive-latex-extra texlive-math-extra

This gives all of the necessary command-line tools to use LaTeX.

PART 11: Installing gscan2pdf

This is a much better –well, perhaps more intuitive– GUI than Xine. It lets you scan directly to pdf, which I find highly useful when archiving paperwork onto my machine:

# apt-get install gscan2pdf

Using English OCR

If you want to use tesserect (Google’s open-source OCR) in English, then install this library:

# apt-get install tesseract-ocr-eng

PART 12: Setting up Wireshark

Wireshark (formerly known as Ethereal) is a network analyzer. I won’t go into the specifics about all the amazing stuff this program can do. You can read about it here:

Install via apt-get:

# apt-get install wireshark wireshark-common

Why I used the repository

The Debian Lenny repositories have the “old stable” (1.0.2) version of Wireshark. The latest stable build is 1.2.6. However, I only use Wireshark as a means of lightly inspecting network traffic –usually when I want to see what certain applications send and receive– and making sure torrents are handled correctly on my network. The old stable version is fine for this purpose.

PART 13: Setting up kchmviewer

This allows me to view downloaded .chm files on a linux box.

# apt-get install kchmviewer

PART 14: Setting up kernelcheck

UPDATE (April 1 2010): The patched file is no longer being hosted at the old link further down this section. Download it here instead:

###( ; This entire thread is very helpful. Pages 48 and 49 are probably most relevant)

###( ; Official documentation (pdf) )

Kernelcheck makes updating to the latest kernel an automagical experience. This was the LAST program I installed. Even then, it compiled the latest kernel (and added it to GRUB automatically too) without any hassle besides installing the Nvidia drivers again.

(April 1 2010: Download the file from link at top of this section)
Getting the PATCHED kernelcheck:

Extract the file and compile the .deb file:

user@location:~/$ unzip
# dpkg -i kernelcheck_1.2.5-4mlrepo3_all.deb

The GUI is very self-explanatory and makes installing the latest ( candella) kernel a snap. When you reboot, just make sure to reinstall your video drivers as in section 2. (The key thing will be reinstalling the appropriate kernel headers; the other programs are already installed.)

PART 15: Setting up Media Playback (DVD + mp3)

###( ; good explanation)

I make extensive use of VLC to play lots of different media (avi, x264, mpeg, etc). However, I still like to have mp3 and dvd support on the system. You can enable dvd playback and mp3 support by setting up the debian-multimedia repository and then installing some libraries.

Setting up the debian-multimedia repository

IMPORTANT: Be sure to create the /etc/apt/preferences file mentioned in section 1.5. This will ensure that you don’t break VLC when using the debian-multimedia repository.

First, add the following line to /etc/apt/sources.list (I use “nano /etc/apt/sources.list” at a shell to do the job) :

deb lenny main

Now, get the multimedia keyring so apt doesn’t complain about it:

# wget
# dpkg -i debian-multimedia-keyring_2008.10.16_all.deb

Finally, update apt:

# apt-get update

Installing the appropriate libraries

Install the following to have mp3 and dvd playback support:

# apt-get install gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-lame libdvdcss2

PART 16: Hardware Notes

IMPORTANT: These notes are under the assumption that you have used kernelcheck to upgrade to 2.6.32 kernel. However, I’d imagine that my hardware would have behaved the same on 2.6.22 as well; it isn’t bleeding edge equipment.


My model is a Logitech MX-518. It behaved as expected. The increase and decrease dpi buttons gave me the low, medium and high settings. The mousewheel behaved properly. The two side buttons (near the thumb) worked.


My model is a HP Officejet 5610 All-In-One. I plugged it in, but could not get it to work for the life of me. I did a cold reboot (shutdown completely, turn back on) and all the problems disappeared. The printer behaved flawlessly.


I use an analog Logitech microphone for use with Skype. I cannot for the life of me find a model number; it was sold at best-buys as being “for use with Skype.” Setting up the microphone for use with soundrecorder (and Audacity and Skype) required the following setup:

1.) Open volume control (right-click the audio icon in the top-right corner, click volume control).
2.) Go to preferences (edit->preferences) and be sure the following are enabled:

  • Master
  • PCM
  • Front
  • Line-In
  • cd
  • Microphone
  • Microphone Boost
  • Capture
  • Digital
  • Headphone
  • Input Source
  • Input Source
  • Input Source

You may or may not have each of these available depending on your setup. The key components however are the microphone, microphone boost, capture, and input sources.

Upon doing this, you should have four tabs in the volume control program: PLAYBACK, RECORDING, SWITCHES, OPTIONS. Go to PLAYBACK and ensure that microphone and microphone boost are enabled; I have the boost at 2/3 of max. Go to RECORDING and be sure that both capture and digital are enabled and maxed. For some reason that I cannot figure out, I could not use one and not the other. They appear to be linked and will not function separately. Then go to OPTIONS and select “Mic” for the first input source.

Varying capture levels with soundrecorder, Audacity, and Skype

For soundrecorder, I had to lower the microphone boost option. Setting it too high would just result in lots of distortion.
In Audacity, I needed the microphone boost to be at 2/3 of max to properly pick up voice. In Skype, 2/3 boost appeared effective as well.

PART 17: Conclusions

I highly doubt that EVERYTHING listed here is 100 percent accurate. I’m just a user, not a guru. If you try something here that doesn’t work, PLEASE leave a comment. I’ll do my best to help you or to fix whatever errors you’ve found in this blog post. I hope I’ve been of help to someone and would appreciate any comments indicating such.

February 21, 2009

Nifty Linux Knowledge

Filed under: Uncategorized — Tags: — aspensmonster @ 6:52 am

Flattr this!

I’ve been wanting to learn to write shell scripts for a while now. I always seem to find myself needing or wanting to download multiple files in sequence without having to sit in front of the computer screen for half an hour doing so. I have previous programming experience with Java, but never got around to shell scripting. Now I have. Here’s a simple example of what I’ve done.

# My first shell script

for (( c=0; c<=100; c++ ))
do echo "LOOPY $c!" >> /home/file.txt

This creates a text file with LOOPY 1! and 2 and 3 and so forth. This is particularly handy to do with URLs, since wget can download files in sequence from a text file:

wget -i /home/file.txt

Yeah. It’s handy. I’ll be putting up a post about LaTeX too, which I’ve been working with for the past 24 hours now.

« Newer Posts