eddorre

Found 14 posts tagged with 'linux'

Twonky Media Server 5.05 Up and Running

February 28, 2009 — 0 Comments

A year ago I posted an article on how I stream videos and music to my Xbox 360 using Linux and PacketVideo’s TwonkyMedia DLNA server.

In the year and a quarter since I posted the article a few things have changed. I picked up a PS3 which also allows me to stream music and videos to it and the new version of the TwonkyMedia server software was released. Unfortunately, the new version, version 5, broke my existing setup. So much so that I had to revert back to using 4.4.11.

After upgrading to the latest version, I setup the content directories that I wanted it to scan and it would never pick up anything and therefore no streaming. This afternoon, after poring through their forums (their actual support is terrible), I downloaded their beta release of 5 (version 5.055 to be exact) and tried to get it running again. No go.

I gave up, uninstalled version 5 and went back to version 4.4.11; at least for a couple of hours. Fortunately for me, my determination to solve problems is almost otherworldly.

In my instance, the problem was occurring because I had my media in the /var directory (/var/media/music and /var/media/video to be exact). For some reason, version 5 of the software refused to read any media from this location. Quite irritating.

The server was reading media from other locations and that was my clue that the server was working, just not reading from the /var directory. Moving all of my media from one location to another would be a pain in the ass, so using a tip from a forum poster I tried creating a symlink (aka alias) from my media directories to my home directory with the following commands:


ln -s /var/media/video /home/carlos/video

Once that was done, I put in the new content directories into Twonky (/home/carlos/video and /home/carlos/music) and then restarted the server. After restart I told it to re-scan the content directories and it finally recognized my media.

Now if only it could stream Hulu…

Using SSH Keys for Remote Logins

March 27, 2008 — 0 Comments

When I had Windows servers at home, I would use the Remote Desktop tool to remotely login and manage everything from my Windows workstation.

Now that all of my servers have been converted over to Linux, I use the time honored tradition of using SSH to login and manage everything from my Macs (iMac and MacBook). Although with 5 Linux servers, it gets quite tiring typing in your password to authenticate each and every time I want to connect. Above and beyond that, password-less SSH logins come in handy when you have backup scripts running or when you’re deploying applications using Capistrano.

You can avoid pitfall by using SSH keys that are generated on your workstation and then stored on your servers.

I should note that this method doesn’t make your systems more secure, in fact it makes security weaker. If someone were to get a hold of your private keys, they could automatically login to any servers that use this method! Use at your own risk.

As I’ve said, I’m using my Mac as a client (specifically OS X Leopard) so these instructions are written with that client in mind. With that being said, I’m sure that the instructions can easily be ported to Linux or *BSD with minimal effort.

Open up a terminal window and type in “ssh-keygen -t [rsa|dsa]”. You can choose either RSA encryption or DSA encryption. As to which one is better, that’s open for debate. For my application, either one is equally suitable. One thing seems to be certain in my cursory research; RSA key generation is slower that DSA, but RSA is faster when verifying. For the rest of the example, I’ll be using an RSA key pair.

Once you run the ssh-keygen command, it will start generating a public and private key pair. You’ll be prompted to save the private key, I would choose the default which would normally be something like this: /Users/[username]/.ssh/id_rsa.

After choosing the directory where the private key is stored, you’ll be prompted for a passphrase. This is the passphrase for the private key and as such you’ll want to choose a strong passphrase. Something like, “I wouldn’t vote for Hillary for all of the tea in China!” Again, make this as strong as possible and DO NOT FORGET IT!

Once that has been completed, you should have two files in the directory that you chose earlier; a public key (id_rsa.pub) and a private key (id_rsa).

This public key now has to be copied to the server. You can do this with one command: "cat .ssh/id_rsa.pub | ssh [username]@[servername] “cat >> .ssh/authorized_keys”. Since the public key hasn’t been copied, you’ll have to enter in your password for the remote server. This should be the last time that you’ll need to do that if everything has gone well.

One last thing, if you want a deeper understanding of encryption, decryption and public key cryptography the book, Cryptography Decrypted, is an excellent resource.

Linux to Xbox 360 Audio and Video Streaming

September 04, 2007 — 0 Comments

I’ve been wanting to build a file server that would centralize all of my media files so that I could play them from anywhere on my home network. In the old days, I would have picked a version of Windows Server as the Operating System for the PC, but I’ve been steadily moving forward with plans to go Windows free and that wouldn’t have fit in the plans.

Since I’ve standardized all of my other servers on Debian Linux, I decided that I would do the same for the new file server as well. During the time that I was buying components for the new PC, I bought an Xbox 360 Elite to go with our new HDTV (Sharp Aquos 46").

Shortly after, I found out that you could stream audio and video to the Xbox using XP or Vista. “Well, damn”, I thought to myself. “I might have to go with Windows after all.” However, one look at the price of Windows Vista or Windows Server changed my mind. I started researching alternatives that would work on Linux.

It turns out that all you need is software that provides UPnP media devices (which the Xbox is) with information on available multimedia files and there are plenty to choose from.

Xboxmediacenter.com has a list of both commercial and free offerings on their site under the entry of UPnP Sharing.

After a bit of research and some trial time, I decided on TwonkyVision’s TwonkyMedia software. While the software is not free, at 29.95 € (euros) it’s something that is palatable to my financial tastes.

The DLNA certified software runs on Mac, Windows, Linux. It also supports a large number of media formats and it’s easy to install on Linux. In addition to that, it comes with a web-based administration console making a snap to add your media.

There are some issues that I’ve experienced. First, it doesn’t seem to work in a routed environment. I think that this might be more of an issue with the UPnP protocol than the software itself though.

I have also encountered some buggyness streaming music to the Xbox. Songs appear to keep playing but no sound comes out and eventually (if left to its own devices) the Xbox will start periodically making a horrible buzzing sound. With that being said, I haven’t ascertained if that’s related to the Xbox itself, my wireless network dropping the stream or the actual TwonkyMedia software.

I did make one modification that seems to have alleviated the issue. In the web-based console, I changed the buffer size from 16384 (the default value) to 96000.

Overall, I’m pretty pleased with the software and I’d recommend it to anyone that is looking for a low-cost, Linux based UPnP server.

Webmail for Linux

September 02, 2007 — 0 Comments

Ever since I got rid of Exchange Server as my email server I’ve been sans webmail client.

For a time, this didn’t bother me. I’ve been able to read my email remotely using IMAP (although that’s not really secure) but sending email remotely was an issue. To overcome this, I setup OpenVPN to securely connect to my network (and therefore my email server) at home.

Eventually, I set up the same OpenVPN connection for Dear GF on her work computer so that she could read email and send it as well.

While this worked, it was clunky. To complicate matters, Dear GF got another job at another company where installing the OpenVPN client is out of the question.

So it was time that I started looking at webmail clients for Linux. I had two in mind. Squirrelmail and Roundcube.

I loaded up Debian on a virtual machine on my Mac (using Parallels) and gave Squirrelmail a shot. The install is easy. Install a web server (I used Apache2), PHP, and then run the command “aptitude install squirrelmail” and it’s installed (well you do have to configure Apache2 to point to squirrelmail, but I digress).

The beauty of this is that it’s a Debian Stable supported package and that means that any security vulnerabilites that are found in the future are automatically back-ported to the stable package. In short, you don’t have to worry about security as long as you are installing the updates from Debian.

The client is also very stable and works like a charm but it’s very, very mid-1990s web application. This was before people started caring about <abbr title=User Interface">UI, design, and before AJAX was even invented. I could use it, but I wouldn’t like it. With that, Squirrelmail was out.

So I took a look at RoundCube. At first, I was a little hesitant about it because it requires more than just a web server and the software itself. It requires a database server (either MySQL, Postgres, or SQLite) and in addition to that, it’s not a Debian Stable supported package. You can’t just install it using aptitude and you have to pay attention to security updates and apply them separately. I was having my doubts about it.

Eventually, I decided to test it out and install it into another virtual machine. The install is definitely more complicated that Squirrelmail, but if you’ve installed software on Linux before (without automated tools) then it’s really not that difficult.

Here are the steps that I followed (from a clean Debian install):

Installing Necessary Software to Support Roundcube

Note: I’ll assume that your IMAP server and MTA are on another machine or they have been already installed properly.

  • Remove Apache 1.2 if installed
    • aptitude purge apache
  • Install Apache 2
    • aptitude install apache2
  • Install MySQL Server (5)
    • aptitude install mysql-server-5.0
  • Install PHP5
    • aptitude install php5
  • Install php5-mysql
    • aptitude install php5-mysql (this isn’t in the docs, but without this, I could never connect to the database)

Installing Roundcube

  • Create a “roundcube” directory at /var/www/
  • Download roundcube stable from their website. I downloaded the tar file
  • Unpack the contents of the folder to /var/www/roundcube
  • Remove the .dist extensions from the files in /var/www/roundcube
  • Create a database called roundcube in MySQL
    • CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    • GRANT ALL PRIVILEGES ON roundcubemail.* to roundcube@localhost INDENTIFIED BY ‘[password]’; (obviously you’ll want to supply a good, secure password to that user)
  • Import SQL script to create database tables
    • mysql roundcubemail < /var/www/roundcube/SQL/mysql5.initial.sql

Setting up Apache

Since this will be accessed over the Internet, I want to use SSL instead of plain old HTTP.

  • Create an self-signed SSL certificate
    • openssl req $@ – new -x509 [number of days] -nodes -out [path to file ] -keyout [path to file] (note: This requires OpenSSL to be installed (aptitude install openssl))
  • Have Apache listen on port 443 instead of port 80
    • Edit /etc/apache2/ports.conf and replace “Listen 80” with “Listen 443”
  • Enable SSL Support in Apache
    • a2enmod ssl
    • /etc/init.d/apache2 force-reload
    • /etc/init.d/apache2 restart

Configuring Apache website for SSL support

In your Apache web site config, you’ll want to have these values listed (in addition to the rest of your config):

  • SSLEngine on
  • SSLCertificateFile [path to file] (use the same [path to file] as when you used to generate the SSL certificate

Configuring Roundcube

  • Point Roundcube to the database
    • In the file /var/www/roundcube/config/db.inc.php change the database connection value:
      • Example: $rcmail_config[‘db_dsnw’] = ‘mysql://roundcube:[password]@localhost/roundcubemail’;

You’ll also want to setup your mail server options in the main config file (/var/www/roundcube/main.inc.php), but these are self explanatory, so I won’t detail them.

With that, you should have a valid working RoundCube install that’s available over HTTPS.

RoundCube isn’t perfect, but it’s still being actively developed and it addresses my needs. It’s gonna work for me (and Dear GF).

Remote Network Access - Part II

April 24, 2007 — 0 Comments

Things are looking up on the OpenVPN front. I’ve successfully connect both my MacBook and my Vista machine to it from a remote network.

I also understand why my MacBook started to overheat. More on that at the end of the post.

A normal PPTP VPN works by assigning your computer an IP address on the remote LAN.

OpenVPN has two modes of operation; brigding mode and routing mode. Bridging mode works exactly like a standard PPTP VPN server. It assigns an IP address from the remote LAN to a virtual TUN adapter.

Routing mode is very different. Using routing mode, the server assigns a private, non-routable address to a virtual TAP adapter on both the client machine and the server machine. This address is not on the private network that the server resides on.

For example, let’s say that your server has an IP address of 192.168.1.2. Using your SOHO router you forward port 1194 (UDP) to the VPN server.

The TAP adapter created on the server, using the default configuration, would receive the IP address of 10.8.0.1 and the client machine would receive the address of 10.8.0.5.

At this time, a private tunnel has been created and you can communicate with the server and only the server. In order to participate on the local remote LAN (192.168.1.0/24) you have to alter the routing table on the client machine.

OpenVPN can alter the routing table for you by including in the client config file. What this does is route all information that is destined for the 192.168.1.0/24 network through the virtual TAP adapter (10.8.0.5).

If this wasn’t enough, you still can’t communicate to the remote LAN. You have to setup IP Forwarding on the OpenVPN server and setup a static route on the SOHO router that routes anything on 10.8.0.0/24 through 10.8.0.1.

Whew. Understandably, bridging mode is the easiest of the two. After this has been completed, you should be able to access machines on the remote LAN.

I haven’t really explained why my laptop was freaking out. I had an idea, but I didn’t confirm it until yesterday.

To simulate coming in from a remote network, I was using my MacBook wirelessly. My wireless network is behind its own router that is behind my SOHO router (see diagram of network).

The short of it is that in my client configuration, I was initially connecting to the OpenVPN server at 192.168.1.8 but then when the server pushed the routing information, that said to send all information destined to 192.168.1.0/24 down the VPN tunnel.

I essentially create a huge network loop. My poor MacBook never had a chance.

I can make it work the way the old configuration did, I just have to switch from routing mode to bridging mode.

Remote Network Access

April 22, 2007 — 0 Comments

After completing my previous project (read The Warhawk Flies), I embarked on my next project; remote access to my network.

Previously, I was using Windows 2000’s RRAS to create a PPTP VPN and it served me well for years.

Eventually, all good things come to an end and so it was with that VPN server. Windows 2000 is already in extended support with Microsoft and soon it won’t be supported at all. Seeing the writing on the wall, I decided that this was the time to retire it and move onto something else.

I decided to set my sights on OpenVPN, a free, open-source “”Secure Sockets Layer">SSL" based VPN.

Instead PPTP or IPSec, OpenVPN makes use of public key cryptography (you know the same thing that your bank uses to secure your transactions over the web) via the already established OpenSSL libraries to encrypt the data that is being sent to and from the remote host and the VPN server.

I’m in the final testing phases of the implementation and what I’ve seen isn’t encouraging. Using Debian Linux as my server, installing and configuring OpenVPN was simpler than I thought.

The initial connection to the server was simpler than I thought too. Unfortunately, this initial connection only allows me to communicate to the server without being able to communicate to the machines behind it. In order to do that, I instruct the server to “push” some static routes to the remote machine.

This should work much like my old PPTP implementation did (read How to Setup a PPTP Encrypted Wireless Network). I’m not sure what causes it, but as soon as the server instructs the client to add the static routes to its routing table, the log starts to fill up with error messages.

The error message reads: “write UDPv4 [ ]: No buffer space available (code=55)”

More disturbing than the log filling with errors is the performance of my client machine (MacBook 1.83 Intel Core 2 Duo with 1 GB of memory using Tunnelblick as the OpenVPN client) after the errors start appearing.

After 30 seconds to a minute, the CPU will start to go haywire and the fans will turn on to try to prevent the CPU from overheating. My normally cool CPU, which runs at ~50 degrees celsisus (122 degrees F), will jump to the ~78 degree celsius (172 degress F!!) range. I haven’t stood around to see what happens if I let things run. Usually when I hit this point, I usually just reboot the Macbook (stopping the Tunneblick process didn’t seem to do anything).

The ultimate test comes tomorrow when I attempt to connect to the server from outside my own network. We’ll see what happens.

The Warhawk Flies

April 17, 2007 — 0 Comments

This weekend, after copious amounts of reading, preparing, rigorous testing, and plenty of cursing, I decided that I was prepared enough to replace the 75 lb steel server that was playing the role of my Exchange Server.

The new system (codenamed warhawk) is faster, smaller, and a whole lot quieter but above and beyond it’s also running on a completely different platform. Gone are the days of Exchange Server on Windows – this new system is running Debian Etch (now stable), Postfix, Cyrus IMAP with a dose of SpamAssassin and Razor for good measure.

All in all, I think it went pretty well. I did have a little problem migrating some of my mailboxes over to the new server, but once I found what the issue was it’s been smooth sailing ever since.

Two things saved my hide during the whole process. First off, The Book of Postfix is an invaluable resource for understanding everything that there is to know about Postfix. I don’t think I would have even attempted this project without this book at my side. The second thing is documentation; my own. During testing, I wrote down every little command that I ran to make the server run. Without this, things would have easily been hopeless.

I’m pretty happy with the end result. Postfix runs like a dream as an MTA and the multitude of anti-spam features are a breath of fresh air. I’m amazed at how much spam I stop at SMTP time” without it ever hitting my inbox.

What spam does make it through gets whacked by the tag-team of SpamAssassin and Vipul’s Razor. SpamAssassin neatly appends the string “SPAM” to the existing subject line, wraps up the message in an attachment and then attaches it to a new report email detailing why it marked it as spam.

Exchange and Postfix

February 13, 2007 — 0 Comments

As I alluded to in a previous post, I’m going to replace my Exchange Server with the open source MTA Postfix. However, since I’m so very green at Postfix, I wanted to make sure that I had all my ducks in a row before deploying it.

So here is where the conundrum takes place. I want to have both the Exchange Server working while I’m testing the Postfix server. I have only one public IP address and my router is forwarding connections on port 25 (the default port for SMTP) to the Exchange Server. Because of this the Postfix server, can’t listen for incoming email.

It’s still possible to solve this problem, though. What’s the solution?

The solution is namespace sharing. For this to work, you’ll need two domains registered by a domain registry. Using your domain registry’s DNS management tool, point the MX records for both domains to the public IP address. So for example, I have the MX records for eddorre.com and phxindesign.com pointing to the same public IP address.

I want email that is destined for eddorre.com to go to the Exchange Server and email that is destined for phxindesign.com to go to the Postfix server.

Using namespace sharing, you have the Exchange Server accept mail for the phxindesign.com domain and then it forwards it onto the Postfix server beside it (beside it means logically, not physically). So in essence, both the Exchange Server and the Postfix server are sharing the phxindesign.com namespace/domain.

This is nothing new nor miraculous but it’s the first time that I’ve set this up. Microsoft has a Knowledge Base article with instructions on how this can be done with an Exchange 2000 or 2003 Server.

I should note that I did make some modifications to the instructions. I found it cleaner not to modify the Default Recipient Policy. Instead, I created a different Recipient Policy for the shared domain.

Also, the instructions say to check the option for “This Exchange Organization is responsible for all mail delivery to this address”. I found that this creates NDR when attempting to send email to an account in the shared namespace.

Now I can continue to use the Exchange Server while testing the Postfix server in an Internet environment.

Starting X on Debian with a G4MX440-T

March 12, 2006 — 0 Comments

I’m in the middle of the final phase of our Exchange 2003 Server migration at work. Unfortunately, this is very boring. Select some mailboxes to move over and then wait while it completes.

In order to entertain myself, I decided to install Debian on our penetration testing server (I knew I should have brought my PSP). The workstation/server has a GeForce4 MX440-T card in it and it wouldn’t start X. Probably the worst thing that can happen when setting up Linux.

Checking on the Internet, I found this thread with no answer. I would answer the poor soul and anyone else looking for the answer, but I’m not going to register for that garbage. So I’ll just post the answer here instead.

Here is what I did:

  • vi /etc/X11/XF86Config-4
  • Find the section titled Section “Device”
  • Change Identifier to read “G4 MX440-T”
  • Change Driver to read “nv”
  • If missing add section for “VideoRAM” and make that value 6400
After saving the file, I was able to start X.

Linux Books

December 10, 2005 — 3 Comments

Work is still continuing on migrating this site from ASP.NET to Ruby on Rails. The reasons why aren’t really the basis for this post, so I’ll exclude them from it.

The majority of Ruby on Rails sites run on Linux or a form of UNIX, so I figured that I would take the plunge and do so as well. I consider myself to be a pretty accomplished Windows administrator, but in the realm of Linux, I’m but a wee young lad.

With that in mind, I’m browsing Amazon.com to see if there are any books that might help to soothe the learning pains.

In addition to learning Linux (the right way), I’m also interested in learning Linux web servers the right way as well. Probably the most popular web server for Linux is the Apache server, but I know that LightTPD is starting to gain ground especially amongst Ruby on Rails developers.

Imagine my surprise when I couldn’t find any books on LightTPD. Now, I know that this is a fairly new web server, but I’m used to technical books being written on alpha and beta releases, so it was quite a surprise.

Too bad I don’t know more about it or I would write my own. I think it would sell like hotcakes (if written right).

Follies Installing Linux and Ruby on Rails

October 25, 2005 — 1 Comment

This past Saturday, I was determined to get Ruby on Rails
installed…in Linux. I could have gone the easy route and installed in
Windows, but I wanted…well I want to branch out from the standard
Windows world that I know.

It turned out to be a 12 hour exercise in frustration. All I can say
is, thank god for VMware. Without it, I would have lost my sanity.

I first started my little exercise with OpenSuse10. It’s a brand new
free version of Suse…and looking back with hindsight, I’ve come to
the conclusion that it might be too much on the bleeding edge.

Whenever I tried to compile Ruby, it would give me an error. Everytime
that I thought I was getting closer to the solution, it would blow up
in a different fashion. So I deleted the virtual disk (the virtual
equivalent of tearing your hard drive out of your machine and flinging
it off a 10 story balcony) so I tried one of the other Linux
distributions that I had downloaded; Kubuntu (the KDE version of
Ubuntu). I’ve used quite a few distributions of Linux over the years
(and have always come back to Windows), but this one has to be one of
the worst ever.

The install of Kubuntu was fairly easy. Too easy. Not only did it not
ask me for a root password, it didn’t ask me to create a user. I went
to create a directory on /var/tmp and naturally you have to use the
root account to do (sudo mkdir /var/tmp/carlos). When it asked for a
password I was flabbergasted. I didn’t give it one. I tried a null
password and the word password. When it didn’t take the second one, I
shut off the virtual machine and deleted the virtual disk. Time to
install another distribution. This time I tried Fedora Core 4.

I had to reinstall it twice because I’m such a newbie, but on the
second time I was able to download Ruby and Rails and succesfully
install them.

If I can recommend one thing for the Ruby and Ruby on Rails community,
it would be to make the install easier. If you think I’m out of my
mind, read this blog entry.
If that doesn’t make you frustrated with the install then nothing will.
His documentation is one of the reasons that I stuck through what I
did. I knew that there was a light at the end of the tunnel, even for a
Linux newbie like me.

I hope that your install goes better than mine, but here is what I did:

This is unrelated, but I thought that I would post it here. When you
install Suse10, Fedora Core 4, and any other OS into a virtual machine,
it’ll complain that the VMware tools are missing. Installing from the
RPM does nothing. You actually have to do this:


  1. On the VMware window itself, click on VM and select Install
    VMware tools. This should automatically mount the DVD to
    /media/<name of device>. In my case, it was in my DVD burner so
    the entire path was /media/dvdrecorder.

  2. I copy the tar.gz file to that temp directory (although I found
    out that the location of that temp directory might not be a good idea,
    but that’s a tale for another post). Using this command (at this point
    I’m su’d as root which is this command: su root) mv
    /home/carlos/Desktop /var/tmp/carlos/.

  3. Then I unpack the files using tar -xzf  /var/tmp/carlos/<name of file>

  4. And then finally I change into the newly unpacked directory cd
    /var/tmp/carlos/<name of new directory> and run a
    ./vmware-install.pl.

  5. Answer all of the questions and then choose my resolution.
    Unfortunately, to take effect, you’ll have to reboot and that command
    is, well, reboot. Finally I can see virtual machine at 1024*768.

Installing Ruby:
Note: During both installs, I had su’d to root. Command is su root.


  1. Download the latest verison of Ruby (at the time of this writing it’s 1.8.3).

  2. Move the tar.gz file to the tmp directory or your could unpack it
    there. The command that I used was mv /home/carlos/Desktop/<name of
    file> /var/tmp/carlos/.
  3. Unpack it: tar-xzf <name of file>.
  4. Change into the newly created directory: cd /var/tmp/carlos/<newly created directory>.
  5. Run this command: ./configure.
  6. Run this command: make.
  7. Run this command: make install.
  8. If the gods have smiled upon you, then Ruby has been installed.

Installing Rails:


  1. Download the latest version of Rubygems. At the time of this writing it’s 0.8.11.

  2. Move the .tgz file to the tmp directory. The command is: mv. /home/carlos/Desktop/<name of file> /var/tmp/carlos/.

  3. Unpack it: tar -xvf /var/tmp/carlos/<name of file>.

  4. Change into the newly created directory and run the command ruby
    setup.rb. NOTE: This is where it would fail to install on OpenSuse10. I
    could never get past that point with that OS.

  5. Run the command gem install rails —include-dependencies.

  6. If the gods have smiled upon you, then Rails has been installed.

Have a beer, you earned it.

Linux and Windows in the Enterprise

November 10, 2003 — 0 Comments

Over the past 5 years or so, Linux has slowly crept into the enterprise workplace. Its insurgence has been sped up by anti-Microsoft geeks and Sysadmins looking for solutions that Microsoft couldn’t provide cheaply.


I’m a Sysadmin, and the majority of the systems that I work with are Windows-based systems. However, with that being said, unless Microsoft does something creative, I firmly believe that in 5-10 years there will be more people that can administer Linux rather than Windows Servers.


Back in the 90’s Microsoft got a strong foothold in the enterprise from Novell and older UNIX based servers by offering ease of use for administrators with their release of the NT 4.0 Operating System. There are countless other reasons as to why Microsoft has succeeded in the enterprise, but there is one reason that isn’t so obvious.


At the time, there was no such thing as Product Activation and this allowed burgeoning Sysadmins to install NT 4.0 Server at home (albeit illegally according to Microsoft) and gain experience administering such systems. Contrast this to UNIX which is nigh impossible to have installed at home.


With Microsoft attempting to exterminate piracy with its Product Activation it virtually eliminates something that made them so popular in the beginning. How are young adults going to become experts in Windows Servers if they can’t actually get hands on training with them? Microsoft Certification classes are too expensive for most young adults to finance. Most Universities and Community Colleges offer Windows based training, but students are probably going to flock to something that they can install at home rather than going to the lab all the time to finish their assignments. Granted, Microsoft does offer a trial version of Windows Server 2003 which supposedly lasts for 180 days but in my experience, it only lasted 18 or so.


The fact that most young adults can install Linux, play with it, gain huge amounts of experience with it before they even leave High School or Middle School is something that Microsoft will be hard pressed to combat. It will be interesting to see how things unfold.

Carlos != Linux Killer

July 17, 2003 — 0 Comments

Well I finally figured it out. After killing Linux two nights in a row, I finally solved my conundrum. I was trying to change the resolution of the Linux install in my VMWare 4.0 virtual machine. Every time I used the SuSE YaST program to change the resolution, it would kill the VMWare session and I would have to “end task” it. If I attempted to restart it, it wouldn’t even try to start the virtual machine. I had to kill it and create a brand new virtual machine and re-install Linux. Tonight I found the answer. Below are the steps that I followed. NOTE: I’m using SuSE 8.2, so if you are using Red Hat or something else, it will be different.



  1. Create a new virtual machine
  2. Start virtual machine and install Linux
  3. Once installed, login as root
  4. Open the YaST control center
  5. Click Install remove software
  6. Click the selections dropdown menu and select search
  7. Search for “kernel”
  8. Check kernel-source and install it
  9. Run the command “init 2”. This will place you at the command prompt with no GUI
  10. Click on File and select Install VMWare Tools on the VMWare parent window
  11. Accept the warning
  12. Type in “mount /dev/cdrom /tmp”
  13. Type in “cd /tmp”
  14. Type in “tar zxf /mnt/vmware-linux-tools.tar.gz”
  15. Type in “umount /mnt”
  16. Type in “./vmware-install.pl”. Accept all the bs it asks for
  17. Once that is complete, type in “startx” and it will start your X session at a higher resolution that 640*480

Sooo Tired

July 14, 2003 — 0 Comments

I’m having one of those days where you are so tired that you get nothing accomplished. Even the slightest task at work seems so energy draining that I might collapse onto my keyboard. Hopefully, I will get a surge of energy before I hit the gym today or it might be a lackey weakling workout day and I hate those.

Good news is that I found my missing Office 2003 Beta 2 CDs at work. I was looking for the CDs this weekend and I only found the beta CDs that I didn’t want to install (Front Page, Publisher, OneNote). Now if only I can find the Red Hat Linux CDs that I burned a little while ago. After I find those, I will install Linux onto a VMWare 4 virtual machine. The last time that I installed Linux into a virtual machine (3.0), it couldn’t detect the video card and I was left with console only. Reminds me of the early days of Linux when I had Caldera and it would never detect my video card. VMWare 4 has better support for Linux though, so hopefully I will actually be able to see a Linux GUI that isn’t 5 years old. The keyword is hopefully.