DesktopLinux
Home  |  News  |  Articles  |  Forum  |  Polls  |  Blogs  |  Videos  |  Resource Library

Keywords: Match:
Apt-get remove SUSE; apt-get install Etch
by Rick Lehrbaum (updated June 5, 2007)

Ever since comparing seven Linux distributions on my "old thinkpad" testbed, I've remained impressed with the flexibility and ease-of-maintenance of Debian-based Linuxes. In my followup article on using Etch as a desktop OS, I pondered converting my primary desktop from SUSE to Debian. I've done it.

Here's my tale...

Preparations

Spread the word:
digg this story
To set the stage, the system I'm migrating Etch to is a several-years-old Sony Vaio laptop, the PCG-FXA59. Its processor is a 1.3GHz Mobile AMD AThlon XP 1500+ with 256KB of L2 cache, 512MB of SDRAM, and an ATI 3D Rage Mobility-M1 graphics chip. It also has a 30GB hard drive, CD-RW/DVD-ROM drive, dual PCMCIA slots, dual USB 1.10 ports, a parallel printer port, an internal modem, and a 15-inch LCD display. For my daily work desktop purposes, I use this laptop in conjunction with a ViewSonic VA902b external LCD monitor along with an external USB keyboard and mouse.

I run an rsync-based script frequently, to back up my /home/ directory to a Debian-powered fileserver located on my home network. So naturally, before blowing away my SUSE Linux Enterprise Linux Desktop 10-based desktop Linux system and installing Debian on it, I ran my backup script one last time, to ensure that I had a mirror image of my /home/ directory on the server in case anything went awry.

Next, I went went to Debian.org's CD image download area to grab an ISO from which to start my upgrade.

Which ISO to use? I decided to try to build up a full-function, multimedia-enabled, KDE-based Debian system beginning from the Debian 4.0 (Etch) network-install CD. Yes, I realize that there is an available KDE-based CD -- but I checked that one out and really didn't care for the strange and somewhat random selection of applications that were included on it. So, I decided to make this more of a DIY project.

I therefore downloaded this 159 MB file (direct link to download), and burned it onto a CD using K3b on my SUSE 10 desktop.

Here is what I did next -- perhaps you have a spare system around and would like to try it too?

Base system installation

Insert the Debian 4.0.0 net install CD in the system's CD-ROM drive and reset the sytem. At the initial prompt, type "installgui" (to use the graphical installer rather than the text-based default) and then hit Enter, to begin the installation process.

The installer will now present various screens with prompts for selection of: language, keyboard, name of system, domain (left blank), partition method, write-to-disk, time zone, root password, user name/password, and so on.

Eventually the process or downloading packages for the base system begins. When asked whether to use a network mirror, respond with "Yes."

After a while, the installer wants to know what package groups to install. In my case, I selected "Standard System" and "Laptop," and deselected all others including "Desktop." My reason for deselecting Desktop is that Debian's standard desktop environment is GNOME, but I prefer KDE. You'll install KDE separately, once the initial installation is complete. After making these selections, hit the Enter key to complete the base system installation.

Pay attention to the questions that are asked during this seemingly mindless install. Nearly all the defaults provided are the likely choices, so you can get lulled into blindly hitting the Enter key to move on to each next step. but, I ran into one "trick question" where the system warned me about the lack of a swap partition and asked me if I wanted to continue without one -- and it preset the default answer to "yes" instead of "no." Fortunately, I noticed the undesired preselection, and changed it to "no" before hitting the Enter key to continue the installation process.

Here's what the Debian Etch net-install CD's graphical installation process looks like...

Graphical installer screen photos -- click each to enlarge

Graphical installer screen photos -- click each to enlarge


Once the selected package groups are installed, the installer will indicate that it is ready to reboot the system.


Time to boot up Etch on the system!
(Click to enlarge)

After the system has booted, it will prompt you for your login username (and password). Type your username and hit Enter; it will ask for your Password -- enter that and hit Enter again. This should bring you to a command prompt.

Now that the skeletal system installed, it's time to add meat to the bones. Here is what to do.

Please Note

In the instructions that follow, Linux commandline expressions that are typed as the "root" user (after you use the "su" command to become root) are indicated in red type, while commands that are typed as the normal user appear in green type.


Edit repositories

Become root by typing "su" at the command prompt, and typing the system's root password when prompted to do so. In my case it looks like this:

su
Password:


After responding to the request for the root password, there should be a root prompt, which looks like this: #

Then, use the "pico" editor to edit the system's repositories list:

pico /etc/apt/sources.list

Delete the uncommented line that begins with "deb cdrom" and add "contrib non-free" at the end of each line. When you're finished, your sources.list file should contain the following four lines:

deb http://ftp.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.debian.org/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free


Once that's done, exit pico with Ctrl-x.

Now, update your repositories, and request any available upgrades that apply to the software newly installed on your system:

apt-get update
apt-get upgrade


Install X Window System and KDE

Run:

apt-get install x-window-system-core kde kdm

These will take a while to download and install. During the first portion (the X Window System installation), you will be prompted with a blue text-menu to select/deselect video modes. At that point, I generally deselect all but the highest resolution of my system's screen.

After the above packages install, run:

apt-get install alsa-base gtk2-engines-gtk-qt industrial-cursor-theme

After all this, it's time to test the results of your X and KDE installation.

Now, logout from your root account and then launch X/KDE:

exit
startx


The first of these commands will make you leave root status and become your normal user. The second should launch the X Window system and KDE. When KDE loads its desktop, it should automatically begin running its initialization wizard.


KDE's setup wizard welcomes you to your new KDE desktop
(Click to enlarge)

Go through the half-dozen or so simple steps that are presented by the wizard -- the defaults are generally fine for starters; you'll be able to modify everything later, using the KDE Control Center.


This is what the default KDE desktop looks like
(Click to enlarge)

These are some screenshots of the default KDE menus:


Now it's time to verify that your system reboots ok, loads the desktop login screen (KDM) automatically, and enters KDE after prompting you to log in.

Reboot your computer using KDE and your mouse:
    Kmenu > Log Out > End Current Session
This will return you to your login prompt.

From there, type "su" to become root (followed by your root password), and then type "reboot" and hit the Enter key. This should reboot your system, and bring you automatically to the desktop login window (KDM). Enter your username and password, and you should arrive back on the KDE desktop.

Now, it's time to install more software.

Install "genuine" Firefox, Thunderbird

OK, I don't want to get political about this, but quite frankly I think that Firefox and Thunderbird have become so popular among average computer users that their brand and desktop icon identities are too successful to mess with. Therefore, I have no intention of using Iceweasel and Icedove as my browser and email client. Not only that, but I really like to have the ability to install the very latest from Mozilla.com as soon as they release it. Hence, my first act on a new Linux system is to install the "genuine" articles: unadulterated Firefox and Thunderbird, straight from Mozilla.com.

Here's how I do that.

From KDE, run Konqueror (Kmenu > Internet > Konqueror), and navigate to the Firefox download page on Mozilla.com. Download Firefox in gzipped tar format, by clicking on the appropriate link on that page. Download it to your home directory.

Now, do the same thing for Thunderbird, by navigating to the Thunderbird download page on Mozilla.com and clicking the link to start it downloading.

Once you've downloaded those two files, open a console window (Kmenu > System > Konsole Terminal Program), and type "su" to become the root user, giving your root password when requested to do so.

Now, as root, run these commands (substituting your home directory name for "rick"):

cd /usr/lib/
tar -zxvf /home/rick/firefox-2.0.0.3.tar.gz
tar -zxvf /home/rick/thunderbird-2.0.0.0.tar.gz


Firefox and thunderbird will now be located in /usr/lib/firefox/ and /usr/lib/thunderbird/, respectively.

Next, create symbolic links in /usr/bin/ to the executables for each of them:

ln -s /usr/lib/firefox/firefox /usr/bin/firefox
ln -s /usr/lib/thunderbird/thunderbird /usr/bin/thunderbird


And add a library that your KDE-based system most likely requires to run genuine Firefox and Thunderbird:

apt-get install libstdc++5

Now, create mozilla plugin directory in /usr/lib/:

mkdir /usr/lib/mozilla
mkdir /usr/lib/mozilla/plugins/


Next, exit root and create another plugin directory in your home directory:

exit
mkdir /home/rick/.mozilla
mkdir /home/rick/.mozilla/plugins/


Now, close Konsole.

Back on your KDE desktop, create desktop shortcuts to each Firefox and Thunderbird. (Right click on desktop > Create New > Link to Application). Make the name of the shortcuts Firefox and Thunderbird, and make their Commands firefox and thunderbird. For the Icon, go to "Other icons > Browse" and specify the following for each, respectively:
  • Firefox icon location: /usr/lib/firefox/icons/mozicon50.xpm
  • Thunderbird icon location: /usr/lib/thunderbird/icons/mozicon50.xpm
Now, briefly test both applications by clicking on their newly created desktop shortcuts. Don't worry at this point about testing whether plugins work -- you'll be adding various plugins for Java, Flash, and multimedia in the steps that follow below.


The genuine dynamic duo

While you're initially trying out Firefox and Thunderbird, there's one small configuration thing you should be sure to do in each of these two programs:
  • Firefox -- go to "Edit > Preferences > Main" in each program, and find the line that says "Always check to see if Firefox is the default browser on startup" -- and, click the button that says "Check Now."
  • Thunderbird -- go to "Edit > Preferences > General" and do the same thing you did with Firefox.
This should ensure that, when you attempt to email a web page link from Firefox (File > Send Link), it opens up a Thunderbird email with the URL ready to send, and that when you click on a link in a Thunderbird email, it opens a Firefox browser window or tab. Try both after you've performed these two minor configuration steps.

OK, now, it's time to install some plugins, multimedia tools, and other assorted goodies using Automatix2.

Install and run Automatix2

Open up a Konsole window, become root, and add getautomatix.com to your repositories:

pico /etc/apt/sources.list

From within the pico editor, add the following line to sources.list:
    deb http://www.getautomatix.com/apt etch main
Then exit pico and run:

wget http://www.getautomatix.com/keys/automatix2.key
gpg --import automatix2.key
gpg --export --armor E23C5FC3 | apt-key add -


Assuming the above goes smoothly, run:

apt-get update
apt-get install automatix2


After Automatix2 installs, exit Konsole and run Automatix2 from your KDE desktop (Kmenu > System > Automatix2).

On first time startup, Automatix goes through an automated configuration process for a few moments, and eventually opens up its graphical wizard.


Automatix2 makes it easy to install multimedia support, plugins, and more
(Click to enlarge)

Now, select packages from the among the various categories, and then instruct the program to install the selections.

At this point, I like to select:
  • Codecs and Plugins -- most of these, including Firefox plugins Java and multimedia (but don't bother with the Adobe Flash plugin)
  • Media Players and Editors -- Real Player
  • Miscellaneous -- Extra Fonts
  • Office -- Adobe Reader
  • Web Browsers -- Opera Browser
  • Chat Clients -- Skype
You can return to Automatix2 later, after the basic install is complete, for other packages.
Note: Assuming you installed "genuine" Thunderbird as outlined above, don't request Automatix2 to install "Icedove" from the Email Clients section.

The installation can takes quite a while, depending on how many packages you have chosen to install.

The process may prompt you for inputs. In this case, use your keyboard cursor left/right keys or tab key to highlight (it becomes shaded red) the desired response, and then press the your keyboard Enter key to proceed.


Some Automatix screenshots -- click each to enlarge

After this process completes, exit Automatix2.

Now it's time to deal with two Automatix2 deficiencies, at least relative to this installation process...
  • Issue 1 -- For some reason, Automztix2 does not install the Java plugin in the proper place for this system setup, so it's necessary to create a symbolic link to it. Open up Konsole and do:

    ln -s /usr/lib/mozilla/plugins/libjavaplugin.so /home/rick/.mozilla/plugins/libjavaplugin.so

  • Issue 2 -- Automatix2 seems to be unable to install the Adobe Flash plugin available through its Codecs and Plugins section properly on Etch when installed this way. It's not a big problem, though, since the Flash plugin can easily be installed using apt-get. Login as root now, and do:

    apt-get install flashplugin-nonfree
Configuring KDE, installing more software

Next, open up KDE's Control Center (Kmenu > Control Center) and adjust KDE's desktop configuration settings to your liking. Areas that I customize right away are Appearance & Themes, Desktop, and Sound & Multimedia.


KDE's command center lets you customize your desktop to your heart's content
(Click to enlarge)

Over several years of using KDE, I've evolved a series of favorite settings that I always make as soon as have KDE running on a system. There are many settings that you can use to make your KDE desktop unique. One suggestion: go to the "Peripherals > Mouse > Cursor Theme" area in the Control Center and select a cursor theme and click the "Apply" button on the bottom of that configuration panel. That should modernize the look and feel of your KDE cursor including the "busy cursor" mode when you have clicked on something that has not finished accomplishing its task.

Now, it's time to install more software on the system. I like to use Adept as my software manager from within KDE. To install Adept on the system, open up a Konsole window, become root (use the "su" command followed by your password), and after that type:

apt-get install adept

Then close Konsole and start "Adept Installer" from your KDE desktop (Kmenu > Add/Remove Programs).

Adept is very easy to use, and it lets you choose from among more than 18,000 packages that are available in the Debian main, contrib, and non-free repositories -- provided you have your /etc/apt/sources.list configured as described earlier.


Adept helps you find and easily install thousands of Linux apps

Select/install whatever your heart desires. My top choices include: Gaim (soon to be renamed to Pidgen), Gimp, OpenOffice, Kaffeine, and Bluefish. I know, I know, pretty boring!

At this point, the system should be quite usable. However, there are a few areas that are worth checking out, to be sure everything works as desired.

Sound

Let's verify that sound is working. On the KDE desktop, navigate as follows: Kmenu > Control Center > Sound & Multimedia > Sound System. Click the "Test Sound" button, and listen for sound coming out of your system's speakers. No sound?

Assuming the "Enable the sound system" check box has an "X" in it, it may be the default setting of KDE's audio mixer. To check this, open up KMix (Kmenu > Multimedia > KMix Sound Mixer) and see how it is configured. In my experience, the defaults are not right, and I have to make two changes to the settings of the vertical sliders on the Output tab of KMix: (1) slide the Master slider up to near maximum, and click the green dot at the top to make it "light up"; (2) slide the PCM slider up to above half-way, and click the green dot at the top to make it "light up". Then, click the "Test Sound" button in the KDE Control Center again -- there should now be sound.

Another sound test is to play a CD on the system. After inserting an audio CD in the system's CD drive, open up KsCD (Kmenu > Multimedia > KsCD CD Player) and start playing CD. No sound?

Provided you performed the step above to be sure the system's sound is working, you're probably experiencing another of KDE's default configuration "features." In my experience, KsCD, like KMix, has a less-than-desirable default setting. To fix it, click the stop button on KsCD so that the CD stops its soundless playing, and then select "Extras > Configure KsCD" to get to the KsCD's Settings & Behavior configuration screen. Now, click checkbox labeled "Use direct digital playback" and "arts" from the "Select audio backend" drop down menu, click the "Apply" button at the bottom of the KsCD configuration screen, and then click the "OK" button just to its left.

Now try playing that CD again. It works, doesn't it? I thought it would.

Plugin tests

Assuming you installed Java and Flash plugins as described above, you should now verify that they are working. To do this, first open up Firefox. Then do these two tests:
  • Java plugin test -- go to Sun's Java test page. Do you see the strange-looking character dancing around below where it says "Test your JVM"? If so, the Firefox Java plugin is working.


    Checking to see if the Java plugin is working
    (Click to enlarge)

  • Flash plugin test -- go to Adobe's Shockwave and Flash test page. Does it say "Experience Powerful Results" and "Create See About" directly below where it says "Adobe Flash Player"? If so, the Firefox Flash Player plugin is working.


    Verifying Flash plugin functionality
    (Click to enlarge)

If either the Java or Flash plugin is not working... oh, I don't know... try MEPIS? ;-)
  • Streaming media -- finally, go to NPR's website and click "Hourly News Summary" at the top of the page. Do you hear the news?
Accessing Windows shares

KDE has a handy built-in Samba client that allows you to browse Windows shares on your local network. To try it, open up Konqueror (Kmenu > Internet > Konqueror) and on the Location (URL) line, and type "smb:/"




Accessing Windows work group shares using KDE's samba client
(Click each image to enlarge)

You should see your local windows "work group" and be able to navigate into your windows shares (if there are any). In my case, I have mp3 files on a local samba-shared server (running Debian, of course!), and can navigate in with Konqueror, click on a file name and it starts to play in Real Player.

If you want more samba capabilities on your system, you'll need to install the package. To do this, open up Konsole and, as root, do:

apt-get install samba

Specify your local windows workgroup name when the installation process prompts you to do so, then press the Tab key on your keyboard to highlight the "OK" in red, and then press Enter on your keyboard to proceed. The default ("no") for the next question works for my situation.

Now, you can use various samba commands to mount samba shares and access them as though they were local drives on your system, print to network printers, and so on.

Printer

Now is a good time to setup your local printer. Begin by installing the CUPS printing system:

apt-get install cupsys cupsys-bsd foomatic-filters foomatic-db-engine

Now, from your KDE desktop, go to "Kmenu > Settings > Printers". Then, click the "Administrator Mode" button at the bottom of the Printers configuration, and supply your root password when prompted for it. Now, in the menu at the top of the box click "Add > Add Printer/Class", and then click "Next" when the Add Printer Wizard pops up. In my case, I select "Local Printer", then "Next," then select your printer, which hopefully has been detected by the wizard, and then click "Next" again to generate a list of available drivers. Once the driver list loads, go the manufacturer (left area) and model (right section) of your printer, select it, and click "Next" a few times to move through the remainder of the Printer Wizard's screens. After clicking "Finish," it's time to test the printer to see if this process was successful. To do that, select your printer from the main Printer configuration screen, right-click your mouse, and select "test printer" from the drop-down options. Another way to test your printer is to try printing from an application, for example a page viewed in Firefox.

Once you have configured your system's printer, go to the starting screen of KDE's printer control wizard (Kmenu > Settings > Printers), click on the "Printer" dropdown menu, and click "Set as Default" and "Set as User Default." These settings should make it possible for all (most?) applications to recognize the printer your configured printer as the device to use for printing. (I was unable to print from MS Word running on CrossOver Linux until I performed these selections.)

In my case, I have to download, compile, and install support for my printer. That's another story! The detailed process for doing that is described here. It's not pretty, but, amazingly enough, it works like a charm!

One of the requirements to perform the tasks described on the driver download page is the ability to compile a program on the system. That requires that the gcc development tools be installed. In case you'd like to have those available on your system, this is what is required:

apt-get install gcc cpp binutils libc-dev g++

I'll spare you the steps I needed to go through to download, compile, and install my printer's driver. Suffice to say, Linux printing is not in the 21st Century... yet.

WiFi

Speaking of driver hassles, that brings us to WiFi card installation and test. Wireless is another area in which Linux driver headaches abound. I got so tired of nothing supporting my old LinkSys WPC11 Ver.4 PCMCIA WiFi card that I finally went out and bought a new card -- this time, I checked the Linux wireless card compability listings first, a good move for sure! I ended up getting a card based on an Atheros chipset, the D-Link AirPug G DWL-G630. So far, that card has worked out well. Still it requires me to ilnstall something called "madwifi" on my system.

Here is how I download and install madwifi (instructions are available here)...

Open up Konsole and, as root, do:

apt-get install madwifi-source
apt-get install madwifi-tools
m-a prepare
m-a a-i madwifi
modprobe ath_pci


Next, plug in the WiFi card and check the system's syslog file to find out if the card has been recognized and installed. As root, do:

tail /var/log/syslog

Look for evidence of WiFi installed, e.g. lines mentioning "wifi0" and "Atheros", in the text that the tail command displays. If the card is recognized there will be a bunch of lines indicating activity around "wifi0" or something like that.

Assuming the card is getting installed by the system, it's time to install a KDE tool that will make it easy to configure the card for operation on whatever WiFi networks you come in contact with.

In Konsole, as root, do:

apt-get install wlassistant

Now close Konsole and, from KDE, run wlassistant (Kmenu > Internet > Wireless Assistant Wireless LAN Manager) and configure a WiFi connection -- it's easy! The options I use are "Automatic (DHCP)" and "Open System," and then I enter my WEP key and click Next.


Wireless Assistant simplifies WiFi discovery, configuration, and connection
(Click to enlarge)

Assuming it gives a successful connection status (mine does), test the new wireless Internet connection by removing the system's ethernet cable.

You should be able to simply open up Firefox at this point and start browsing.

If Firefox doesn't connect with anything, open up Konsole and, as root, do:

ifconfig

You should see wifi0 configuration showing up. To switch from eth0 (your ethernet connection) to wifi0, try this (still as root):

ifdown eth0
ping google.com


You should now see pings with google. If you don't, try:

ifconfig wifi0 up
ping google.com


Did that work?

Dialup modem

Now it's time to get dialup Internet working. Before proceeding, one comment: I may have been slow to trash my nasty old Linksys WPC11 ver4 WiFi card, but I long ago learned to steer clear of built-in WinModems; I know it can be done, but several years ago I acquired a trusty PCMCIA modem card and I've been totally free of Linux modem difficulties ever since (they're essentially a serial port-interfaced modem tucked inside a PCMCIA card).

I like to use wvdial as a sensing tool to find out what device my system understands my PCMCIA modem card to be, and then I use that device name when I configure KPPP, my preferred dial-up client.

To install wvconf, open up Konsole and, as root, do:

apt-get install wvdial

Then, as root, run wvdialconf:

wvdialconf

Notice the assignment of the modem device discovered by wvdialconf -- /dev/ttyS1, in my case.

For establishing a dialup connection, you can run the wvdial program from the command line, but before that can work, you will need to edit its text config file (/etc/wvdial.conf). However, that has the problem of only holding a single dialup number (as far as I know) and it also would contain the username/password you use for accessing your ISP, in unencrypted form.

Instead of using wvdial, I prefer kppp, which has a nice UI and is easy to use. Except, there are two issues, both of which can quickly be circumvented:
  • Issue 1 -- Kppp (Kmenu > Internet KPPP Internet Dialup Tool) won't run as from the menu that you'll find in the Kmenu tree (well, it won't for me). Instead, create a desktop shortcut for it with the command line "kdesu kppp" -- it works fine that way. Then, use the modem device assignment discovered using wvdialconf (above process) to configure the required modem info in KPPP's configuration process.

  • Issue 2 -- on attempted connection to my ISP, kppp achieves a "CONNECT" status, but then it immediately disconnects with an error message along the lines of: "pppd daemon died unexpectedly." This turns out to be due to the contents of a configuration file that you can easily fix. To do this, open up Konsole and make a small change to the kppp-options file using the pico editor. As root, do:

    pico /etc/ppp/peers/kppp-options

    Once inside the file, delete the "#" at the start of the line: #noauth. Then, save the file and exit from pico.
Now, disconnect your broadband connection (ethernet or wifi), and open up Kppp (Kmenu > Internet KPPP Internet Dialup Tool). Before you can dial out, you need to set up your modem and establish an ISP and dialup phone number.

One small configuration tip: I use the wizard option in kppp's ISP setup to establish a dialup account (I use the first one in the list provided), and then edit that account to have the name of the desired ISP (Earthlink, in my case), delete the default phone number and add an appropriate one, and select the protocol to be "PAP/CHAP" (which seems to work for Earthlink).

It should now work fine (it does for me, anyhow).

After hanging up the modem. If you want to return to using ethernet without restarting your system, you can open up Konsole and (assuming your ethernet port is "eth0"), as root, do:

ifup eth0

Can you ping google successfully now?

Conclusion

Well, that's the story of my do-it-yourself Debian Etch desktop. I hope you enjoyed it! I've been on this new system -- and totally off SLED 10 -- for about two weeks, and am finding it to be solid, flexible, easy to update, and easy to maintain. Plus, I don't have to worry about being stuck with some half-baked, non-working package manager (ducks).

Here are before and after photos of my desktop:




My desktop before (above) and after (below) switching from SLED 10 to Debian Etch
(Click each image to enlarge)



-- Rick Lehrbaum is the founder and executive editor of DesktopLinux.com.



Talk back!



Join the discussion here



Related Stories


(Click here for further information)



Home  |  News  |  Articles  |  Forum  |  Polls  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2011 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.