Installing and Using Linux
{LANG_NAVORIGIN} Operating System Linux
Colin Sauze
06/13/2005
This article focuses on the practicalities of actually installing running a Linux system. It is only intended to be an outline of the issues at hand.
Installing Linux
Most Linux distributions have graphical installers which work by simply having you insert the first CD-ROM as your computer starts up. These installers will take you through several stages including deciding how much space you want Linux to take and where on your hard disk its going to be placed, which programs you want to install, configuring your hardware and setting up any users you want to add to the system. This section helps to explain some of the issues during Linux installation, but doesn't focus on any particular distribution.
Partitioning and File system types.
In order to install most Linux distributions you will need to split up or partition your hard disk. Many people have their entire disk in one large partition and (hopefully) have a bit of free space in that partition. Partitions must take on a “file system”, Windows (NT/2000/XP) supports 4 different kinds of filesystem. FAT12 (Old MS-DOS standard), FAT16 (Newer MS-DOS standard), FAT32 and NTFS. Linux supports both FAT and NTFS but usually Linux is installed to a partition type of its own. Linux has several common file systems, these are ext2/ext3, ReiserFS, JFS and XFS. Ext2 is much older and has been used for many years. Ext3 is backwards compatible with ext2 but adds a feature known as journaling which helps you to recover data when your computer is not shut down properly. ReiserFS, JFS and XFS also offer this feature but are not compatible with ext2/3. Each filesystem has its own merits but it is beyond the scope of this article to discuss them. Most Linux distributions will use ext3 or ReiserFS by default and unless you have very specialist performance requirements either of these should be more than adequate. Linux also uses another type of partition known as a swap partition, this is used to store data which has been “swapped out” of RAM and is being stored on disk temporarily. Windows uses a similar concept but it creates a swapfile (usually on drive C:) instead of using a dedicated partition.
Traditionally repartitioning was a “destructive” operation and would result in you loosing everything on your computer. Fortunately this is no longer the case, there are now several programs in existence to resize partitions without altering the files on them. The most popular commercial program to do this would probably be Partition Magic. This can resize both FAT (Windows 95/98) and NTFS (Windows NT, 2000 and XP) partitions. A free program called FIPS ships on many Linux distribution CDs and can be used to resize FAT partitions, you will usually find both a Dos/Windows and a Linux version. To make life even easier many modern Linux distributions (e.g. Mandrake) offer to resize your existing partitions during installation so you don't have to make any preparations in advance. If you are installing Linux on a machine onto which you later intend to install Windows (or any other operating system) most installers will also give you the opportunity to prepare partitions for this.
If you are installing a system from scratch the installer will help you partition the disk. In this case there is no need for repartitioning as there is no data to preserve. Most Linux installers can also create partitions for Windows if you are intending to install both Linux and Windows.
Boot Loaders
In order to start Linux when you switch on your computer you must install a program called a boot loader. The boot loader is typically installed in the boot sector of the hard disk. The boot sector is the first sector of the hard disk and the BIOS which runs when you first turn on your computer will load this sector into memory and run whatever program is there. Once run, the boot loader starts the Linux kernel and passes any options to the kernel which it requires. Most boot loaders also let you choose which Linux kernel to start if you have more than one installed, they also let you start other operating systems such as Windows.
There are 2 common boot loaders that ship with Linux, Grub and Lilo. Most Linux distributions ship with both and give the choice at install time. Grub is the more elaborate boot loader and is capable of reading the kernel direct from most partition types. Lilo is more simplistic and in order to change the configuration a file must be edited on the Linux partition and the Lilo program has to be re-run before the changes are applied. Most installers will configure the boot loader for you and if you already have Windows installed they will add Windows to the list of options.
If you are running Linux on a platform other than x86 (486, Pentium, Xeon, Athlon, Duron etc) such as a PDA, Apple Machintosh or Sun UltraSparc you may find that there are other boot loaders available to you (and that lilo/grub aren't available).
How much space to allocate to Linux?
A full desktop target Linux distribution such as Fedora, SUSE or Mandrake can take up several gigabytes of space. This often comes as a shock to many Windows users as Windows typically takes under 500 megabytes. However most Linux distributions will install just about every application you could want and the applications are fully fledged ones unlike the stripped down applications (e.g. Wordpad) which come with Windows. A guide would be to give Linux at least 2-3 gigabytes of space, more if you want to use it for software development. In addition to this space you'll also need a Swap partition, a typical guide value for this is double the size of your RAM. If you have a lot of RAM (e.g. A gigabyte or more) and you aren't going to be running too many programs then you can get away with less.
The layout of the Linux Virtual Filesystem.
Under Windows each disk has its own letter such as A: (floppy drive), C: etc. Linux works using a very different principle, everything is layed out in what appears to be a single drive. This drive has no name and just begins at a path /, this can be thought of as the equivalent to the “My Computer” level in Windows. This is known as the root of the filesystem. Typically there are then several top level directories, these include /bin, /dev, /etc, /home, /proc, /sbin, /tmp, /usr, and /var . When another drive is “mounted” it can be mounted to any directory that already exists. This should be a blank directory or else everything that directory contained will be inaccessible until you unmount the drive. This can be somewhat confusing as its difficult to tell when one drive begins and another ends. Unlike Windows where each program typically creates its own sub-directory in “c:program files”, Linux programs tend to spread themselves across several directories. So all executables end up together in a few directories, configuration files end up elsewhere as so does documentation. The Linux filesystem can be somewhat confusing as there is often more than one logical place for a file to go. Efforts are underway to make the filesystem layout more logical, however they haven't got very far yet. The current layout actually dates from the Unix systems of the 1970s.
The table below describes what each directory on the root filesystem is for:
| Path | Purpose |
| /bin | Stores programs needed by all users on the system to perform everyday tasks.
|
| /dev | This directory contains files which represent each device on the system. For example the sound card is often (not always) “/dev/dsp”. Sound files can be played by writing the sound data to this file. Sound is recorded by reading from this file. There are different classes of file, each supporting different operations that are specific to that type of device (e.g. Setting the audio type with a sound file). You should not create(or remove) any files here unless you know what your doing.
|
| /etc | Configuration files for programs and the system itself are stored here. Also scripts (small program) which are run during bootup are stored in “/etc/init.d”.
|
| /home | Contains users home directories, these are where individual users should save their own files too. By default users cannot access each others files.
|
| /mnt | This where other file systems (e.g windows partitions, cdroms, floppy disks, network drives etc) are typically mounted to. They don't have to be mounted here and can be mounted to any directory anywhere.
|
| /proc | This directory contains a series of files which represent the state of the system. Files in this directory can also tell you information about the type of hardware you have. For example “/proc/cpuinfo” displays the type of CPU you have, “/proc/meminfo” tells you how much RAM you have and much is free. Some files can be altered to adjust certain system parameters. You should not alter, create or remove any files here unless you know what your doing.
|
| /lib | This directory contains library files which provide common features to several executable programs. They are similar to DLL files in windows.
|
| /sbin | This directory contains programs that are only to be run by the super user (root). These are usually related to administering the system.
|
| /usr | This directory contains user programs, most programs install themselves here. There are usually several sub directories in “/usr”. “/usr/bin” is for executables files. “/usr/share/doc” is for documentation, “/usr/etc” is for configuration files. “/usr/lib” is for libraries for these programs.
|
| /tmp | This is for temporary files to be stored. “/tmp” is often cleared automatically so don't store anything you want to keep here. Each user should be able to write to here but should not be able to overwrite or remove another users files.
|
| /var | This is where programs store either log files (/var/log) or files relating to their current state.
|
| /opt | This directory is often not present but used to a popular place to put user programs instead of “/usr”. You are more likely to encounter it on older linux machines. |
Linux Users and Groups
Linux is a multi-user operating system and you must always be logged on as a user. By default all systems include a super-user called root who has the ability to modify the permissions of any file, run any program etc. This is similar to the administrator user in Windows. You should not use root as your everyday user, you should instead create another user for day to day use. Most Linux distributions will require you to logon when the system has finished starting up, some can allow you to automatically login as a pre designated user. A Linux system also contains a number of users who's sole purpose is to run a given program, e.g. many systems include a user called apache or www to who just runs the apache web server. This is for security reasons, if programs don't run as root and somebody manages to hack into the system using a vulnerability in this program they will only gain the permissions of the user running the program instead of full permission to do anything. Do not try and login as one of these users (you can't) or delete them, this may stop certain programs from running. Each user is also the member of one or more groups, this provides an easy way to setup policies to a large number of users.
File Permissions
Every file in Linux has a user who owns it and a group who owns it. There are 3 sets of permissions, those for the user, those for the group and those for everyone else (often referred to as “world”). If for example a file is set so the user has read and write permission, the group has read permission and everybody else is denied access then the owner of the file can delete it, read it and modify it. Anyone in the group can read the file but do nothing else and nobody else can touch it. For each of the 3 sets of permissions there are also 3 options that apply, if the file can be written, read and executed by this user. Directories are treated as files but in order for you to list the contents of a directory you must have execute permissions for it. The ls command which lists files has an option (-l) to display file permissions, its output usually looks like this:
-rw-r--r-- 1 fred users 5942 Aug 12 03:28 hello.txt
drwxr-xr-x 4 bill everybody 4096 Aug 12 02:34 stuff/
The leftmost text is the file permissions, it is split into 4 sections. The first character is a “d” if this is a directory or a “-” if its not. The next 3 letters are the permissions for the user who owns the file.
Any permission which isn't set is replaced by a “-” and they are in the order read, write execute, so a file with full read, write and execute permission will say “rwx”, “r--” means read only, “rw-” means read and write etc. The next 3 letters determine the permissions for the group and the final 3 for everybody else. The next column tells you how many files are in a directory or contains 1 for a file. The next column is the name of the user who owns the file, the next is the group. The next column is the size of the file in bytes, this value is rather meaningless for directories. The next column is the file's modification or creation date, the final column is the files name.
When KDE's Konqueror (equivalent to Windows explorer) list files in details mode they display a very similar format to the ls -l format shown above. See the references section for more on file permissions and how to set them.
Performing Everyday System Administration Tasks with Linux
Please note the following describes the “hard way” to do these tasks. There are many applications that will help you with most of these tasks, however these tools vary dramatically from one Linux distribution to another as most Linux distributors create their own administration tools. The “hard way” is usually a lot more common between Linux distributions and learning it will help you get a wider appreciation for how the system works underneath. If you find it too hard you can always take the easy route and use the easy to use graphical tools.
Common Linux Commands (this is only a quick guide, see the references section for links to more in depth guides).
./ - write this before typing the name of any program which isn't in the path but is in the local directory.
cat – displays the contents of a file. Similar to type command in Dos/Windows. Just type cat followed by the name of the file and it will be displayed on screen.
cd – changes directory to the specified directory. Same as cd command in Dos/Windows.
chmod – changes a files permissions. To add permissions used chmod + and either r (read), w (write) or x (execute) this changes permissions for the user, group and everyone else. To just change the user permissions use “chmod u+r”, w or x (e.g. “chmod u+r” adds read permission), use g instead of u for group permissions and o for other users. You can take permissions away by using – instead of +. Permissions can also be specified with 3 digits but this is more complex.
chown – changes the owner of a file (root only). Simply use “chown username” filename, e.g. “chown fred afile” will make fred the owner of “afile”.
cp – copies a file. Similar to copy under Dos/Windows.
df - tells you how much space is free on your mounted drives. Run “du -h” for a “human readable” version which will display thing like 1.2G instead of 1235232.
du – tells you how much space the current directory (if one isn't specified) or the specified directory is using. Also uses -h option.
echo – display a single environment variable. For example “echo $PATH” will display the current system path.
env – display all the environment variables in the shell. Similar to the set command in Dos/Windows.
export – used to export a global environment variable (e.g. The system path). Use “export PATH=$PATH:/newpath” to add a new directory to the path. “export PATH=/newpath” will overwrite the old settings. Use ‘set’ just to set one locally.
file – report the type of the specified file. Pretty much the same as the ‘stat’ command.
gzip/gunzip – compress and uncompress a single file using gzip compression. Gzip compression is similar to zip compression, you typically gzip a tar file (which is then called a .tgz or .tar.gz file).
ls – lists the contents of a directory, equivalent to dir in Dos/Windows. “ls -l” lists details such as times and dates, permissions and ownership.
Man – gives you help on a given command, e.g.” man mkdir” tells you about mkdir.
mkdir – makes a new directory.
mv – moves and/or renames a file. Similar to move and rename under Dos/Windows.
pwd – displays the current directory name.
rm – removes a file. Similar to del in Dos/Windows. “rm -rf directoryname” removes all sub directories and doesn't prompt for approval. Rm -f doesn't prompt for approval. “rm -r directoryname” removes sub directories but asks you if you're sure on every file.
rmdir – removes an empty sub directory.
tar – create an archive file. This is the Unix equivalent to a zip file but it has no compression or encryption capabilities. To create a tar file use “tar cvf tarfilename” files. To extract a tar file change to the directory where you wish to extract the files and run “tar xvf tarfilename”. If the file is gzipped a shortcut is to do “tar xvfz filename”. This will run gunzip for you.
touch – creates an empty file or changes the timestamp of an existing file to the current time.
Zip/unzip – Create and decompress winzip compatible zip files. Use “unzip filename” to unzip and “zip –r -9 zipfile.zip files” to create a zip.
Sharing a directory with other computers
Under Windows directories can be shared with other computers by right clicking on them in explorer and choosing “Share”, the effect of this is to make the directory available with a protocol called SMB (Also known as NetBIOS, Lan Manager or CIFS). Under Windows the share then becomes accessible through the Network Neighbourhood (older versions of Windows) or My Network Places (Windows XP). Linux also has the ability to do this with a program called samba. A directory shared with Samba will be accessible by Windows machines as if it was shared by a Windows machine. A new share can be created by making sure samba and samba-server packages are installed and editing the file “/etc/samba/smb.conf”. A new share definition must be added to the end of this configuration file. Here is an example share definition which shares the directory “/mnt/photos” for read only access and allowing anybody access. This share will appear under Network Neighbour hood/My Network Places in Windows. Another line in the configuration file “netbios name” determines what name this machine will appear as to others and the line “workgroup” determines which workgroup it appears in.
[photos]
browseable = yes
writeable = no
guest ok = yes
path = "/mnt/photos"
Adding a new user:
Type “adduser” or useradd followed by the name of the new user. To set their password run passwd followed by the user's name. This must be done as root. You can get a list of users by looking in the file “/etc/passwd”.
Changing your password:
Type “passwd”. You will then be prompted for your current password, your new password and a confirmation of the new password. Depending on configuration some passwords (e.g. Dictionary words) may not be allowed.
Installing software:
With Mandrake if you know the name of the program and its on the mandrake CD simply type:
“urpmi programname” so for example to install the mozilla web browser we type: “urpmi mozilla”
This will then prompt you for the correct CD or install from the network (if you've configured this).
In Debian you can do something similar by typing:
“apt-get install programname”
In SUSE type “yast” and you will be presented with a selection of programs to install. In Mandrake type “rpmdrake”, in Debian type “dselect”. These will all present you with a selection of packages which can be installed.
If you download an RPM file in Suse/Mandrake/Fedora (or anything with RPM installed) you can install it by typing
“rpm -i rpmfile” or “rpm -u rpmfile” (this upgrades if a previous version exists)
In Debian you can install DEB files by typing
“dpkg -i debfile”
You can convert DEBs to RPMs and vice-versa with a program called “alien” which comes with most distributions.
Figure 1 - rpmdrake, Mandrake's graphical software installer, similar to add/remove programs in Windows.
Some programs ship as “source code” which means you much compile them first. To do this you need to have installed a compiler (e.g. GCC) and the necessary libraries first. Most programs which you compile from source require 3 steps (there is usually a README or INSTALL file which tells you what to do). The first step is to extract the program as its usually a gzip compressed tar file. This is done by running tar xvfz filename. Now change into the directory the program created (you can work this out from the output of tar) and type “./configure”. This will check you have all the correct libraries installed, if you don't use the above methods to install them. If it succeeded run make, this will actually compile the program and can take anything from seconds to hours depending on the program and speed of your computer. Now run “make install” to install the software. Please note it can be difficult to uninstall programs which install themselves this way. Its usually easier trying to download DEB and RPM files before building programs from source.
Remote Logins
You can connect to another Linux machine and run programs as if you were using it locally through several means. The most popular of these is the secure shell more commonly known as ssh, which encrypts all data you send. A great feature of SSH is that it automatically transports X Windows data so if you run a command on a remote machine which brings up a graphical window, this windows should automatically appear on the machine your using (note: this doesn't always work). SSH replaces the older rsh and telnet programs which offer similar functionality but without encryption. To SSH to a remote machine simply type “ssh username@host” where username is the name of the user on the remote machine and host is the machines name (like mymachine.mydomain.com) or IP address (e.g. 192.168.1.1). The username you specify must exist on the remote machine, SSH usually prompts you for a password, so you must also know the password for that user. The password is the same password you would use if you logged onto that machine locally. Most Linux distributions include and automatically configure both the SSH server (which is needed if you want to login to the machine remotely) and the SSH client for logging into other machines.
Isn't there an easier way???
Yes there is!
Most distributions ship with a number of configuration tools that will make the above a lot easier. Mandrake Linux has its “Control Center” program and SuSE has YaST, both of these can be equated to Windows Control Panel and provide facilities to control most aspects of the system. Many distributions also include a program called Webmin which presents you with a web based interface that lets you manage all sorts of aspects of Linux via your web browser (from either your own computer or another one). There are also lots of extra modules for webmin to extend its functionality.
Figure 2 - Webmin, a web based interface to configuring Linux.
Common Desktop Software
Most Linux distributions ship with hundreds of desktop applications. Both KDE and Gnome also include many small utilities to help you, these include calculators, text editors, image viewers etc. Here is an overview of some of the common programs you'll find on your Linux desktop, some distributions may not include or install all of these, URLs where you can download them (if your distribution doesn't include them) are available in the references section.
The GIMP – An image manipulation program similar to Adobe Photoshop. It is very useful for editing digital photos and can interface to many scanners and cameras directly. It works with just about every graphics file format there is including Windows bitmaps, JPEG files, PNG files and in some versions GIF files (the GIF format is patented, but the patent has expired in some countries).
Mplayer – This is similar to Windows Media Player. It plays most AVI files, RealMedia files, MPEG files, DVDs, VCDs as well as many audio files. It can also be used to record from a video capture device such as a TV card or webcam. It also works (albeit not very well) as a viewer for video capture devices. It can use Windows DLL files to help it decode some formats such as the latest versions of Quicktime. The version of Mplayer which ships with most Linux distributions will not play encrypted DVDs (probably well over 99% of DVDs are encrypted) as the code for decrypting DVDs is supposed to be licensed only to industry approved manufacturers (who've paid for it) and the Mplayer project cannot afford to do this. You can however get around this by installing a library called libdvdcss or libdecss. If you compile mplayer from its source code these libraries are included. It is illegal in many countries (e.g. USA) to use such technology, however most people consider it reasonable to use such unlicensed technology to play DVDs which they have paid for and legally own. Criminal charges were dropped recently against the author of the decss software in his home country of Norway, the court claimed it was reasonable for someone to attempt to break the encryption on a DVD that they legally owned.
Xine – Xine is another popular DVD playing prorgam, like Mplayer it is not officially supposed to play DVDs.
XMMS – This program is similar to Winamp and allows playback of sound files such as MP3 files. Several plugins are available, to allow it to play other kinds of files such as OGGs (an mp3 alternative), MPEG videos and WAV files. WMA files can be played with a specialist plugin, however mplayer will actually play them without such a plugin.
Gphoto2 – This program interfaces with many common digital cameras, especially those which are based around the PTP protocol (e.g. Sony, Kodak and HP cameras). Many other cameras are already supported in the Linux kernel through USB mass storage drivers.
Sane – This program provides scanner access to other programs such as the Gimp and supports many common scanners.
Gnomemeeting – this is a video conferencing program which will work with NetMeeting on Windows. However in order to work NetMeeting users must install a small program available on the Gnomemeeting web page (or else they won't have any sound). Gnomemeeting can also be used to make cheap phone calls by routing international or long distance portions of the call over the internet. The makers of Gnomemeeting will even sell you a little phone to plug into your PC.
XPDF – This is a PDF viewer similar to Adobe Acrobat. KDE also ships with a built in PDF viewer that will should open when you click on a PDF file.
OpenOffice – This the main Open Source alternative to Microsoft Office. It features a very capable Word Processor, Spreadsheet, Presentation maker and Drawing package. It works well with most Windows files. Another alternative is Koffice which is designed around the KDE Desktop, at this point in time Open Office has more feature than KOffice but also takes more memory. If all you do is word processing there is a very small word processor called AbiWord which ships with most Linux distributions, it too can read most Microsoft Word files. If you are looking for a lightweight spreadsheet application have a look at Gnumeric, this is a simple gnome based spreadsheet.
Figure 3 - The OpenOffice Word Processor running on SuSE Linux.
Gaim – Gaim is a multi-protocol instant messaging client. It works with MSN Messenger, AOL Instant Messenger, ICQ and Yahoo messenger and many others. You can simultaneously login to several different instant messaging services and communicate with friends. At this point in time it doesn't support video conferencing or some of the more advanced features that many of the official clients support although work is underway to add them.
Kopete is another instant messaging client with very similar features to Gaim but a slightly different user interface. It also lacks some of GAIM's more advanced features like MSN file transfer.
K3B is a CD/DVD burning program somewhat similar to Nero Burning Rom or Adaptec EasyCD Creator. It allows you to create CDs simply by dragging and dropping files and then clicking burn.
VNC – VNC (Virtual Network Computing) is a cross platform system for controlling graphical displays. Most Linux distributions include both a VNC Client and Server as well as a web based client written in Java which allows you to control your PC from a web browser! VNC is available on countless other platforms including Windows, Windows CE and MacOS. This allows you to control just about any graphical system from any other.
Mozilla – Mozilla is a web browser based on Netscape, formerly the most popular web browser in the world until Internet Explorer took over. At the peak of its demise Netscape released the source code for their browser as open source and created the mozilla project. Today it has evolved into a very high quality web browser. The main version of mozilla includes a browser, email client, address book and web page editor. It is also available in a stripped down version known as FireFox which is the browser only. Most Linux distributions ship with the full version.
Figure 4 - Mozilla, a web browser based on Netscape Navigator.
Some Useful Linux Tricks and Shortcuts:
- Ctrl+Alt+F1 or F2,..,F6 gets you a new command line login, F7 gets X (if running) back.
- Selecting some text and then pressing the middle mouse button is a quick way to copy and paste.
- Pressing Ctrl+PgUp at the command line scrolls up, Ctrl+PgDn scrolls down.
- Press Ctrl+Alt+Escape in X Windows and your cursor changes to a skull and cross bones, click on a window to kill that application. Press Ctrl+Alt+Escape a second time if you don’t want to kill anything. Pressing Ctrl+Escape in KDE gives a process list like Windows Task manager.
- Pressing Ctrl+Z temporarily halts a command line program, typing bg puts it in the background and lets you do something else, typing fg brings back control. Jobs lists all backgrounded tasks. Also appending an & to the end of a command starts that command in the background.
- Pressing Ctrl+C at the command line kills a program (by sending SIGTERM). Pressing Ctrl+alt+backspace kills X Windows and everything else you running, if they are still responding to an appropriate level.
Running Linux alongside Windows:
Many people who install Linux still need to run Windows programs, here are a few ways to do this.
Dual boot:
Most Linux distributions when installed will not remove Windows (unless you tell them to) and will actually give you a menu at boot time to allow you to choose between Linux and Windows. This type of setup is very common amongst Linux users who still require use of Windows. The main drawback of this approach is that you can't necessarily run Linux and Windows programs at the same time (see references to Wine and coLinux).
Use Wine:
Wine stands for Wine Is Not an Emulator and allows you to run many Windows programs under Linux. Although it doesn't work with 100% of programs it will let you use most programs. A company called Codeweavers have produced specially made versions of Wine targeted at running Microsoft Office and Windows based games under Linux.
Use an emulator:
It is possible to run Linux within Windows (or vice versa) using software which emulates a whole PC. Two popular programs are the freely available bochs which will emulate a Pentium processor regardless of what processor you have (so you could run Windows on a Mac) but its very slow. The other is VMWare, a commercial program which runs faster than Bochs but only on Intel x86/Pentium and AMD processors. A free demo is available. It runs on both Linux and Windows.
Use Cygwin:
Cygwin is a Linux like environment which sits on top of Windows. Cygwin allows you to recompile most Linux software and run it under Windows. It will not let you run Linux software straight off though, but most popular Linux programs are now available for Cygwin. Cygwin offers much better performance than using Wine, Bochs or VMWare.
Use a loopback filesystem:
A loopback file system is where a file system is mounted from a file rather than a physical device. There are some Linux distributions which can run from a loopback file system with the file existing on a Windows partition. Mandrake Linux actually supports this feature with a utility called Lnx4Win, this can be installed by inserting the 1st Mandrake CD-ROM while running Windows. Beware that filesystem performance is reduced when using loopback filesystems.
Use VNC or Remote Desktop:
VNC is a program which allows you to control a remote Windows machine from Linux (or another Windows machine). Remote Desktop or Terminal Services are available in Windows XP Professional and Windows Terminal Server, there is a Linux client available for these called rdesktop, see the references section for a link to it. You could also do this in reverse using X Windows as was described in part 2 of this series.
Securing Linux:
Just like Windows, Linux is not 100% secure even if its made out to be by the press and Linux distributors at times. Due to the relatively low numbers of people using it there are few Linux viruses, but there are still some. There have been many cases of “vulnerabilities” in the Linux kernel itself and software that is often shipped in Linux distributions. As with windows you should update your software regularly to reduce the chance that you are running programs with known security flaws. Especially if you have a permanent internet connection (e.g. DSL or cable) you should be running a firewall to reduce the chance that someone can remotely “hack” into your computer. Linux kernel 2.4 onwards includes a very powerful firewall system called netfilter or iptables. Unfortunately it is not the most user friendly program, but most Linux distributions have utilities (SuSE YaST and Mandrake control center let you configure it) to make configuring it much easier. If you don't have any such utilities see easy firewall generator link in the references section.
References
Linux Configuration References
http://www.tldp.org/docs.html#howto – The Linux Howto Documents, describing how to perform various tasks with Linux ranging from setting up networking to having Linux control your coffee machine! Most Linux distributions also include a copy of these documents and install them in /usr/share/doc/howto.
http://www.tldp.org/HOWTO/DOS-Win-to-Linux-HOWTO-4.html – More information about Linux file permissions.
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/index.html – The Linux file system Hierarchy, a document detailing more about the layout of the Linux filesystem.
http://www.hideaway.net/iptables – A web page that will generate IP Tables firewall scripts for you, also see
http://www.linuxguruz.com/iptables/howto and
http://iptables-tutorial.frozentux.net/iptables-tutorial.html (not for the faint hearted!) for a general look at Linux firewalls.
http://safari.oreilly.com/?XmlId=1-56592-390-1 – An online copy of an old edition of O'Rielly books “Learning the Unix Operating System”, a good reference for general command line working. For a more update to date reference get yourself a copy of Linux in a Nutshell 4th edition, ISBN 0-596-00482-6 (
http://www.oreilly.com/catalog/linuxnut4). Another good book is Linux for Dummies 5th Edition, ISBN 0-764-54310-5, this includes a Linux distribution with it as do many other Linux tutorial books.
Common Software References
http://gaim.sourceforge.net – Gaim is a multi protocol instant messaging client that lets you use ICQ, AOL, AIM, MSN and many other instant messaging systems. Its available for Linux and Windows.
http://gimp.org – Gimp is a Photo Editor similar to Adobe Photoshop. Its available for a number of platforms including Linux and Windows.
http://kopete.sourceforge.net/ - Kopete is an instant messaging client similar to Gaim.
http://mplayerhq.hu – Mplayer is a video player that plays all kinds of file formats, DVDs, Video CDs and provides video capture facilities.
http://www.xmms.org – XMMS is an audio player similar to Winamp or Windows Media Player (but only very basic video support is included).
http://www.openoffice.org – OpenOffice is an office suite similar to Microsoft Office (but without an equivalent to the Access database). Its available on a variety of platforms including Linux, Windows, FreeBSD, MacOS and Solaris.
http://www.mozilla.org – Mozilla is a web browser originally based on Netscape Navigator. It exists in 2 versions ordinary Mozilla which includes an email client, address book and web page editor and Mozilla firefox which is a slimmed down version with only the web browser, it also includes extra privacy features like popup blocking. Both versions are available for Linux and Windows as well as numerous other platforms.
http://www.abisource.com - Abi Word is a lightweight word processor for Linux which is compatible with MS Word.
http://www.gnome.org/projects/gnumeric - Gnumeric is a lightweight spreadsheet which is compatible with MS Excel and Lotus 1-2-3.
http://www.koffice.org - Koffice is an office suite similar to Open Office.
Linux Distributions
http://www.mandrake-linux.com – Mandrake Linux is an easy to use Linux distribution originally based on Redhat. Its available as a free download or with extra software and support for a fee.
http://www.suse.com – SuSE is another easy to use Linux distribution targetted at both new and experienced users of Linux. It too is available a free download or on CD with extra software and support for a fee.
http://www.redhat.com/fedora – Fedora is the desktop version of Redhat Linux and
http://www.debian.org – Debian Linux, a very stable but always out of date Linux distribution, not the easiest thing to configure.
http://www.knoppix.org – A Live CD that uses the KDE desktop.
http://www.gnoppix.org – Another Live CD, similar to knoppix but uses Gnome instead.
http://www.gentoo.org – Gentoo Linux, installs itself entirely from source code which results in a more optimal system than other distributions.
Linux and Windows Interoperability
http://ashedel.chat.ru/ext2fsnt - A program to let you access your ext2 and ext3 partitions from Windows 2000/XP if they were Windows drives. Only allows read access.
http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm – Another utility that allows ext2/3 partitions to be accessed from Windows, this works on most versions of Windows and presents your filesystem via its own interface, this won't let your everyday
http://www.winehq.com – Wine allows you to run some Windows programs on Linux.
http://www.codeweavers.com/ - Codeweavers ship customised versions of Wine to allow certain Windows programs to run on Linux such as MS Office, Internet Explorer and DirectX.
http://bochs.sourceforge.net/ - Bochs is an emulator that lets you run any PC based operating system including Dos, Windows, Linux and many others on any platform. Its rather slow but can be useful for running simple Windows programs or old games. It is available for both Windows, Linux , MacOS and can be made to work on a variety of other platforms.
http://www.vmware.com/products/desktop/ws_features.html – VMWare is another emulator similar to bochs, but it is a commercial program and only works on x86 (Intel 486, Pentium etc and AMD K5,K6, Duron/Althon/Operton ) processors. It is significantly faster than bochs and is available for both Windows and Linux.
http://www.colinux.org/ - CoLinux allows you to run Linux under Windows, its quite a new project and doesn't support all linux software yet, but looks very promising.
http://www.rdesktop.org – Rdesktop, a tool to allow you to connect to a Windows Terminal Server or Windows XP Professional machine remotely from Linux.
http://www.realvnc.org – VNC also allows you to connect to other computers remotely, it does not perform as well as rdesktop but works with virtually all versions of Windows and Linux as well as many other operating systems.
E-Mail Link
Your IP address will be sent with this e-mail