Home Linux Community Community Blogs

Community Blogs

HOWTO: Install VMWare Server 2 on Debian Lenny, AMD64 (64bit)


Everybody knows about VMWare Server, now with stable 2.x version my favorite feature is 64bit host native support.

I don't need to run guest 64bit OSes (yet) but 64bit native support is fine if you've a recent CPU and you'd like to take advantage of new servers outta there, and most important you can use a stable and working real 64bit application on your 64bit Debian system.

I've just installed a Debian Lenny (v5.0) host with AMD64 flavor, so a 64bit compiled OS on a brand new Xeon Quad Core, a bunch of ram (8Gb), hw raid array with hot swap and spare disks as well; in short: HP Proliant DL180G5 machine, hp basic config with no fancy features but stable and fast enough for a Debian host. Lenny with AMD64 flavor is not a surprise, it's a well documented and a stable release, so proceed forward with a common installation, you don't need a lot of software, just proceed with a bare bone install (no X, no additional software), when it just boots you're set.


Let's start with VMWare

VMWare Server is now declared stable, at the date release 2.0.1 is available for 64 bit Operating Systems. No deb packages are available from VMWare Site, only .tar.gz source and RPM packages, just download the common .tar.gz, it's working and it's good for us. Take a look carefully at the download page and grab the 64bit version, 32bit on a 64bit system doesn't work at all (without 32 compat libs but we don't want them).
Login as root and start with the configuration


As a prerequisite you need to have these packages installed:

linux-headers-2.6.26-2-amd64 (or other version according to your installed kernel)

And install dependent packages as well, with them and with a bare bone install you're able to install vmware server v2

Optional: Create a non administrative user, useful and nice if you'd like to run the service without root privileges (user: vmware for my host), assign an home directory, we'll use that for local vmware storage


Download and Install VMWare

At the date this is what I've downloaded: VMware-server-2.0.1-156745.x86_64.tar.gz
AMD64 version, .tar.gz format

decompress it wherever you want:

tar -zxvf VMware-server-2.0.1-156745.x86_64.tar.gz
cd vmware-server-distrib/

And run


Reply to installer questions by choosing the default answer, these are common for a basic installation, you don't need to worry too much unless you know what you're doing. The only thing I've changed is VMWare virtual machine storage directory according to my unprivileged user (user: vmware)

When installation is complete you'll have vmware three more networks up and running: NAT, HostOnly and Bridged; networking autodetection and assignment is working fine and without troubles


Dirty hack on modules compilation (if needed)

If you've just installed GCC and you've a running debian system with a stock image (2.6.26-2 in my case) you'll run into troubles with VMWare modules compilation. VMWare installation script may complain about your running kernel compiled with GCC v4.1 and current GCC version (now 4.3), it refuses to go on until you switch to gcc 4.1.
As a little and dirty hack you only need to switch to gcc 4.1 for a while, compile vmware modules and go back to gcc 4.3 (or whatever version you've)

vmhost:/usr/bin# ls -la gcc
lrwxrwxrwx 1 root root 7 2009-07-13 09:20 gcc -> gcc-4.3
vmhost:/usr/bin# rm gcc
vmhost:/usr/bin# ln -s gcc-4.1 gcc
vmhost:/usr/bin# ls -la gcc
lrwxrwxrwx 1 root root 7 2009-07-13 09:20 gcc -> gcc-4.1


Remember to switch gcc back to 4.3 version when finished with VMWare

And that's it

Nothing more, installation is very easy and without troubles if you take a look at the compiler issue, license key version is provided when you download the package from the web site, write it down on a note and enter later in the installation script when asked, nothing more.

Next step is to disable web access console (ugly and slow for me) and leave VIC (VMWare Infrastructure Client) as your only and fast access.

Sadly if you've a Linux workstation like me you don't have a native Infrastructure client for basic configuration, VMWare provides Windows only clients, if you're upset like me please take a look at this thread and email directly VMWare for requests (I think they're flooded from Linux users like me); WINE emulation isn't stable enough to be used in a production environment


I'll come back with web access configuration for the next blog
Stay tuned

New episode: HOWTO: VMWare Server 2, Disable Web Server Interface
Check it out



enKryptic observations - How Linux is like Star Trek

Linux...The Final OS. These are the voyages of the Linux distributions. Its 5-year mission: to explore strange new commands, to seek out open source and new freedoms, to boldly go where no Microsoft developer has gone before

Who here remembers the original Star Trek? Yeah, that's right, the original James Tiberius Kirk makin' it with the green ladies while Spock stared into some tiny optical view master and the Enterprise running full speed ahead with photon torpedos and phasers blasting away Star Trek. Each episode usually placed the crew into some new frontier, planet or gaseous expansion (gaseous...a humorous word) that forced them to analyze, communicate, learn and deploy a new method to overcome some challenge. Now I can't say that Linux has defeated any hissing green Gorn lizards, but I can say that I really have come to the conclusion that Linux is alot like Star Trek. Here's why...

Star Trek blasted onto the scene in the not much fan fare. Well I should say visible fan fare. In a way when Linus released his 1991 kernel it too released with not much fan fare. Again...I should say visible fan fare. Linus himself was particular low key by stating "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones." The big corporate cigar-smoking fat cats at NBC ultimately dismissed Star Trek just after three seasons, never realizing the huge fan base that quickly developed around the concepts of freedom, exploration, peace through strength, the prime directive and the aspect that everyone can contribute to the success of the community. Microsoft too ultimately dismissed Linux as a tinker toy. Just as NBC missed the realization of what Star Trek was, most of the IT industry missed what Linux was about. 

Linux has become the Genesis Device. It exploded and has created not just a revolutionary new operating system, but also a methodology of community. Just like Star Trek, the Linux fan base has exploded into a community that believes exploration, freedom and that any person can/should contribute is the way of advancing man's technical capabilities. As Linux has matured and more users,  developers,  and corporate sponsors have joined the "Linux Federation", our favorite operating system has mushroomed into various distributions.

So we now have Linux TOS, Linux the Next Generation, Linux Deep Space 2.6, Star Trek: Linuxager, Star Trek: Penguinprise. Ok, maybe that sounds a bit silly. But think about it. We now have Red Hat, Debian, Ubuntu, SUSE, Slackware and the list goes on as more and more fans begin to create their own distribution. 

This is the only concern I have at the moment about my beloved OS. I've begun to notice that as more corporate entities have begun to get involved, the direction of the starship has begun to drift. The marks and bearings change depending on who the perceived captain is at the moment. Although I hear talk (and efforts are in place) of standardizing directory structure and libraries, it is slow at best in adoption. In fact I'd say with corporate entities jumping into the pool (think of them as the necessary but bureaucratic Starfleet Command) things have begun to retard actually and slow us engineers down. I am currently fighting with very large companies who say they support Linux, but in actuality they have only half heartedly decided to support the OS. Even more so, they have decided that they support only one distribution and that if you cannot instantly get their software to run on your other distro, well then it just can't be done cost effectively. 

Example? I was recently told that a particular 32 bit application from Cisco would only run on 32 bit Red Hat. Period. No way could it run on a 64 bit Red Hat let alone any other distribution their support people said. Well, after looking at some code and where the application was looking for libraries, a few work around links that did not require hacking original code and poof, proof of concept shows you can get said application to run on a 64 bit OS. 

The problem are the business units. Those who do not understand Linux are beginning to make technical decisions that they have no business making.  Essentially by BUs making decisions they are pitting Linux distributions against each other. It's just like that classic fight between Kirk and Spock in "Amok Time" (yeah yeah, I know...I'm a geek). The music kicks in and you have two Starfleet friends...being forced to fight each other. 

In the back ground while that music is playing (dun-dun DA DA DA DA DA DAH DAH DAH DA dun-dun-dun-dun-dun) I'd offer that the community needs to do a better job of educating the business managers of our companies we work for and interact with daily. They are forgetting that Linux is the kernel. The distribution is the various packages wrapped around the kernel. Think of it like the warp engine. Even though the class of ship  and purpose of the ship is still powered by the same warp engine.

Star Trek recently released a new movie that has proved to be immensely popular and has reignited interest in the space adventure. My hope is that somehow we can engineer a marketing campaign that not only ignites even more interest by the corporate world in the superiority of Linux and the community method, but passes along an understanding of what Linux is and what it can do. Windows did not dominate the world's IT infrastructure by being the better did it by effective marketing. Google wrote good, smart code...but they effectively marketed themselves. Watch how they will market Chrome. We need to do this with Linux.

Now before you claim "Damnit Kryptikos, I'm an engineer not a marketer!" just stop and think about it. It's our job as engineers and developers to guide the starship safely to destinations. We do that by telling the captain what the ship can and cannot do. It's the classic conversation between Scotty and Kirk: "Scotty, you're as good as your word." -- Kirk, "Aye sir, the more they overtech the plumbing, the easier it is to stop up the drain." We need to do a better job of marketing our OS (regardless of distribution...although like everyone I have my favorites) and keeping the business units from overteching. The overteching stops up the drain which then causes the end user to think the starship is not worth its weight. 

Ultimately I think Linux will continue to grow and build muscle. It may be a while before IT shops change out all of the blue screens for the penguin, but with effective marketing and proof of concepts we'll have our little bird at lightspeed in the time it takes Linus to say "Make it so".

Cheers - Kryptikos



Get Ready ! Pardus 2009 Is Coming !

Pardus 2009 is coming !   Pardus developers are really working hard to make the release of the Anatolian Leopard "Pardus". This release will be the best distro release in 2009, its system managers are well  integrated to KDE and its effortless and easy installation, speed and the power of its polished package manager Pisi will be the best parts of this release, also newest version of the major programs are already waiting for you at the repos, like Firefox 3.5 , OOo 3.1 etc. Also the buildfarms were like hungry monsters, they compiled over 2.000 packages in last weeks, and they still contunue.

And the best thing, the annoying tiny details of your distro experience are handled by Pardus developers very carefully. 

It is effortless, fast,easy to use,and you will never want to leave Pardus ;)

Just wait and see :)

I wasn't able to post but here is the release announcement (11 july) of Pardus 2009 RC2


Latest testing release of Pardus 2009 is ready ! Like always you can
download this release from Pardus FTP servers at

For a smooth installation experience, please verify the checksum of
the ISO files after you have downloaded, use quality CD's and burn the
CD in DAO mode with 16x speed.

The International CD of RC2, containing 11 languages to choose from,
is also available in FTP.

The new release contains many bugfixes and enhancements after the RC
release. New release comes with i mproved hardware support for
printers, scanners, webcams, wireless adapters and DVB devices.

Pardus 2009 RC2 has also been improved graphically in every part of
the distribution. All the splash systems from bootloader to login
screen has been improved. Pardus' icon theme, Milky, created from
scratch by Banu Önal is now available for our users. New wallpapers
from Gökhan Özkan are also available.

Migration tool, allowing users of Windows to migrate their personal
data now comes with the installation CD.

The new test version of Pardus 2009 contains up to date packages like

KDE 4.2.4
Linux kernel
Mozilla Firefox 3.5
Gimp 2.6.6
K3b 1.66
Xorg 1.6.2
Python 2.6.2

and many more in just one CD. Pardus repositories are growing larger
and larger everyday, with the main repo over 2000 packages.

Known issues of Pardus 2009 RC2 are as follows;

- If you select a theme from Kaptan, the icon set is set to Oxygen.
To use the default icon theme, Milky, you can either skip the theme
selection in Kaptan, or change the icon theme to Milky through System
Settings tool.

- Migration tool pops up even if there is no Windows system detected.
You can safely pass the Migration tool by pressing cancel or closing
the application.

We remind you that this is the second testing release for Pardus
2009. Not all of the features and optimizations of the final release
are ready in the beta release. As this release is within the fast
developement cycle, there will be lots of package updates towards the
stable release.

We welcome you to report us the bugs you encounter and feature
requests in our bug tracker



Disable IPV6 on Debian Lenny (quick howto)

Here's a very quick howto on disabling IPV6 on Debian (Lenny), this is not a new argument and neither an unknown solution, it's just how to disable IPV6 on Debian with less impact as possible on your machine config in "the debian way".

Sometimes you don't need IPV6: you've an already existing IPV4 net and you're happy with it,  you don't want to waste memory or cpu cycles, you'd just like a very basic networking and setup.

There're a lot of way to do this, this mode is more "debian friendly".

Just place a file named for example "00local" in your /etc/modprobe.d directory, it should look like mine:

luke:/etc/modprobe.d# cat 00local
alias net-pf-10 off
alias ipv6 off 

These two aliases should disable IPV6, this is a quite common config used in other distro as well, easy to port if you upgrade frequently or change from a major common release to another one.


Hope it helps



My turn to weigh in on Google OS

The buzz all last week and weekend has been about Google OS.  With more than just one pundit going on and on endlessly about how silly it is for Google to introduce a second OS for NetBooks when they were all ready getting traction with Android blah blah blah blah.  Try this one on for size

Android is Google OS.  Always was. Always will be.

You see Android in it's current form is an excellent platform for smartphones.  However last time I checked you and I want a lot more out of our Netbooks than we do out of our phones.  (though I have to confess I can't find enough ways to explain how much having a smartphone has improved my life.)  But it doesn't replace my netbook or notebook.  So then how can I say that Android is Google OS.  Simple, let's look at what Android really is, even more so, what is any Linux "OS". 

Android is, as any "Linux OS" a kernel with a collection of tools on the backend.  In other words no matter how you stack things on top of the kernel it's still Linux.  Most Linux Distro's are really a combination of the Linux Kernel and GNU tools backed up by X.  Android is the Linux kernel, with GNU tools, backed up by Dalvik JVM.  In short to go from Android to Google OS you need to change drivers, change the compile options (x86 arch instead of ARM)  remove things like dialers and utilities specific to the phone world and poof.  You have GoogleOS. 

Browsers?  Google already has it.  It's chrome.  Office Suite, Google docs.  on and on all those things that so many mistakingly think are part of their OS Google already has.  What Google was and is missing is the one thing they thrive on. Data. The only way to get that data is, as it always has been to poke at the world around them and see what happens.

Since Google announced rather surreptitiously, that there would be a GoogleOS, pundit's have been climbing the walls with their critics of the design of something that existed only in a blog.  In other words, if Google ever wanted to know how best to create a NetBook OS for the masses, they needed only to put out a hint and let the masses design it for them.  

In the end GoogleOS needs only the kernel, toolset and windowing system from Android, and they will be off and running.  In the end the name changes but the players remain the same.  So now you know.  Android is really a Transformer ;)


Script for Nautilus

Without any desire to go deep into Nautilus architecture we want to do some scripting which will make our life easier. For example, we want to open terminal in our current working directory or maybe in the selected directory, or maybe if more directories are selected we want a single terminal with a tab for each directory. So, when we right click in Nautilus, we want those thing to happen depending on what is currently selected.

To open terminal we execute gnome-terminal, it will start a new instance of gnome terminal and --working directory will be default $HOME. In order to start it elsewhere we pass path to that elsewhere. Finally, to start new terminal with two tabs, each in different directory, we do this:

gnome-terminal --tab --working-directory=$HOME/Documents --tab --working-directory=/home/`whoami`/Desktop

Diversity is not required, I used different ways of building path to illustrate how usually we have more than a single option. Also, it comes in handy to mention environment variables. For example

echo "You are $USER and your home is "$HOME"."

If you want to see what else is available execute env in terminal, it will print quite a few of those environment variables.

Nautilus is the GNOME File Manager, that is the program which we are using to browse our files. Places -> Home Folder will show us content of our $HOME directory. Now, by default Nautilus will not show hidden files, in order to see them press Ctrl+H. Most of those hidden files have names which starts with '.'. One of special interest to us is .gnome2/nautilus-scripts, that is the place where we can place our scripts and nautilus will then allow us to call them from the context menu. So let's try one:


gnome-terminal --working-directory=`pwd`

Copy, paste, remove ' ', save in .gnome2/nautilus-scripts as terminal_here and chmod it to be executable. In previous instalment I explained ' ' story and how to deal with it.

Now nicely open some directory in nautilus, right click and select from context menu Scripts -> terminal_here. Voila. Now we do not have to cd anymore.

In order to get the selected path from nautilus we will use this script:


IFS=$' '



if [ -d "$filename" ];then

if [ -L "$filename" ]; then

zenity --info --title="Debug" --text="Selected dir $filename."


zenity --info --title="Debug" --text="Selected sym $filename."



zenity --info --title="Debug" --text="Selected is not dir $filename."



Save it as whatever you like in .gnome2/nautilus-scripts, check for ' ' and chmod. IFS originaly contains space as well and that will cause some problems where path contains spaces. Next we may have a problem with sym-link. Select few directories, files and sym-links, holding Ctrl and clicking on them and from context menu execute the script above.

When you are happy with how it works you may uninstall it - just delete it from .gnome2/nautilus-scripts.

IFS hack will later cause parameter parsing problems, and to avoid that we will add double quote to IFS. That will later cause a problem if the selected path contains double quote. So without further ado here is the script:


IFS=$'" '

declare -a paths



if [ -d "$filename" ];then

if [ -L "$filename" ]; then

zenity --info --title="Debug" --text="Selected $filename is symlink."





zenity --info --title="Debug" --text="Selected is not dir $filename."



if [ ${#paths[@]} -eq 0 ];then

gnome-terminal --working-directory=`pwd`




for dir in ${paths[@]}





gnome-terminal $termparams


Now copy, paste yada yada yada …


Transparent dynamic reverse proxy with nginx

A while back I wrote about using Apache as a dynamic reverse proxy. Anyone who has done even minimal research into web servers knows that Apache is the swiss army knife. It trys to be everything for everyone, and like a swiss army knife may not be as good as a more refined too at least as far as efficiency is concerned. (Read More)

–ø–µ—Ä–≤—ã–π –ø–æ—Å—Ç

–°–µ–≥–æ–¥–Ω—è —Ö–æ—Ç–µ–ª –æ–∂–∏–≤–∏—Ç—å —Å—Ç–∞—Ä–µ–Ω—å–∫–∏–π –∫–æ–º–ø –¥—Ä—É–≥–∞, –∫–∞–º–µ—à–µ–∫ —Ç–∞–º 3 –ø–µ–Ω—ë–∫ –∫–∞–∂–∏—Å—å 500mhz –ø–æ—Å—Ç–∞–≤–ª—é —Ç—É–¥–∞ –ª–∏–Ω—É–∫—Å –∏ —Å–¥–µ–ª–∞—é –≥–µ–π—Ç–∏–∫ –¥–ª—è –¥–æ–º–∞—à–Ω–µ–π —Å–µ—Ç–æ—á–∫–∏. –ù–æ —á—Ç–æ —Ç–æ –Ω–µ –ø–æ–ª—É—á–∏–ª–æ—Å—å. –í—Ä–µ–º—è –Ω–µ —Ö–≤–∞—Ç–∏–ª–æ. –ó–∞–π–º—É—Å—å –∑–∞–≤—Ç—Ä–∞.


Journey to Android programming (hell?) Heaven. Part II

Arrrrrrghhh.   I've got past having the basic environment installed.  I've said hello to the world with and without a picture on the screen.  I've run through a tutorial that has me putting little red dot's on a horrendously green background. I've not a clue what in the hell I've done. 

One of the hassles of OOP is that there is a lot of background magic that happens.  Most OOP programmers understand the basics of the incantations.  But can't explain it.   I understand why they can't, because frankly they don't think about how they do it.  They just do it.

It's a lot like walking, or even more so, learning to walk.  As kids we don't have the tools to think about how to walk.  We only have the desire to go upright like all of the other humans around us.  We do it but 'we never actually think about HOW we do it.'   People, whom as an adult, need to relearn walking are often hindered by their increased cranial capacity, as they often spend too much time thinking 'what was it I used to do' instead of just doing it.  

In many ways I'm in that same position.  I'm spending too much time worried about cause and effect of my actions, and too little time just doing it.  I'll admit, like any other Admin out there, I love poking things with sticks and rationalizing the results.  OOP doesn't always behave rationally.  Oh I'm sure that class and the methods it invokes where rationally created, at the time of creation, but for me,  it all still seems irrational, and will continue to be so until I learn how to think like a programmer.

Right now I'm cursing at Eclipse, and ADT.  If I launch the emulator manually with the -scale option I can scale the emulator really nice (fit's my little 4G monitor just fine.  However for the life of me I can't figure out where to put the necesary option into Eclipse 3.5 such so that it passes it to the emulator launch commad.  *sigh*.  You'll know I've got it right when I blog it as a how to for sure.  Until then, OOP's




Debte Over Mono

I found this blog post at which led me to this great rant. It very nicely presents some points that seem to make sense. I don't know which side of the debate it right, I just like having a wide variety of applications for the Linux desktop.




Extending Hello World

In previous installment I was claiming how shell is powerful, but instead of demonstrating that power I was busy explaining why exclamation sign is causing problems. Now I must show how shell is capable of calling installed software. For example, we introduce personalised version of Hello World where script will call whoami and provide us with personalised greeting.

echo "Hello Mr. `whoami`."

Those 'single quotes' are actually back-ticks, back-tick is in top left corner of the keybord. Then we can add more in the similar fashion:

echo "Hello Mr. `whoami`. Your current directory is "`pwd`" and current date and time is `date`."

It is somehow nice to have path quoted, so that is the reason why we escaped pair of double quotes around pwd. Instead of using back-ticks we may do this:

echo "Date is $(date)."

OK how do we go about interacting with the user?

echo "Hi, please type in your name and hit enter."; read yourname; echo "Hello $yourname, have a nice day."

Here we introduced variable yourname. Function read reads user's input (who would expect that?) and stores it in yourname, to access content of that variable we added '$' in front of it.

From shell we can use GUI dialogs, they are coming from GTK+ and package which we are going to call is called zenity. That is very simple, here is the example:


myname=`zenity --entry –title="Hello dialog" --text="Hi I am HAL9000. What is your name?"`

if [ -z "$myname" ] ; then

echo "User's name is empty string?"



zenity --info --title="Greeting" --text="Hello $myname."

Here we check if the user entered anything into the first dialog, if not, we use user's login and finally greet the user.

If you copy and paste this from a web page, odds are that you will have as a new line and when you try executing script it may produce the following:


bash: ./dialog3: /bin/bash^M: bad interpreter: No such file or directory

What does it mean? Linux can't find /bin/bash . To remove evil ' ' and keep good ' ' do this:

tr --delete ' ' < dialog3 > dialog4

Again, the procedure to create script is open gedit copy, paste, save as dialog3 in Documents. In terminal we do:

cd Documents

chmod a+x dialog3


If ' ' problem appears, then

tr --delete ' ' < dialog3 > dialog4

chmod a+x dialog4


Now is a good moment to take a better look at zenity. I will let you do that at your own pace. The best starting point is zenity man page:

man zenity

Further, there is zenity web page where we can find few examples on how to use it.

Next time we will take a look at some Nautilus scripts and try to create one or two on our own. In no time our Shell-Gnome productivity will be soaring.

Page 123 of 171

Upcoming Linux Foundation Courses

  1. LFS220 Linux System Administration
    30 Nov » 03 Dec - Virtual
  2. LFS416 Linux Security
    07 Dec » 10 Dec - Virtual
  3. LFD411 Embedded Linux Development
    07 Dec » 11 Dec - Atlanta

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Linux Training / Board