Return to top of page
Restart the Windows system and choose Red Hat Linux instead of the default Windows
After the BIOS checks the hardware, it reads the Master Boot Record (MBR) from the first Hard Drive (HD) in the machine. GRUB, the GRand Unified Bootloader, is the preferred boot loader for Red Hat Linux. LILO, the LInux LOader, was the dominant predecessor to GRUB. When booting, the first thing you see after the BIOS is done is the GRUB menu. The menu allows you to select which operating system, Windows or Linux including kernel versions (SMP, UP, hand-compiled, etc.), to load. GRUB then initially loads and transfers control to the operating system.For Linux, GRUB then loads the kernel which immediately starts detecting hardware and loading drivers. As soon as the kernel is fully loaded and initialized it starts the init process which displays the Welcome to Red Hat Linux message. Newer versions of init allow you to press "I" to enter an interactive mode, letting you choose which services to start or not start, similar to jumping into Extension Manager on a Macintosh system, or pressing F5 at boot on a DOS/Windows system.
As each service is started, its name is echoed on the left of the screen. If the service starts successfully, a message [ OK ] appears on the right. If the service failed to start successfully, a message [FAILED] appears on the right.
Once all of the services have loaded, indicating init has finished, the login prompt appears.
The X-Window system grew out of the Athena project at MIT.
Most commercial UNIXes provide proprietary X-Window servers for their version of UNIX. The free UNIX world has concentrated on XFree86 as the primary X-Window server, though the "86" refers to the Intel x86 architecture, XFree86 has been ported to numerous architectures.Besides the X-Window server, the X-Window protocol requires a window manager to display the windows. The window manager controls the overall look and feel of the windowing environment (minimize, maximize, close, scrooll-bars, borders, colors, title bars, etc.). The two currently dominant window managers in the free UNIX world are KDE and GNOME (but there are dozens of others to choose from like fluxbox, fvwm, etc.). KDE was developed by an independent group of programmers and was inspired by the commercial CDE environment. GNOME development was started under a free license by Red Hat. Red Hat, as of their v8.0 release, has taken a giant step forward, according to some people. They have developed a common, consistant, interface called Blue Curve. Regardless of whether the user picks GNOME or KDE, the GUI looks 95% identical.
Running an X-Window server and window manager on a machine provides a familiar graphical interface. As is typical, in the free UNIX world the user has a choice.
The computer mouse was invented in 1968 by Douglas Englebart while at Stanford University.
The initial login screen is a text screen, however, since these systems are configured to automatically start X-Windows, they quickly switch to a graphical login. The login screen allows users to chose which style of desktop they want, provides for the ability to restart or shutdown the computer, and allows users to change their default language.
In order to interact with the machine users must have a valid ID and password. As you will learn, this ID and password may or may not be stored on the local machine. The name space (users and groups) can be maintained on another server somewhere on the network.
Login as student
Open konsole by clicking on the LCD-screen icon
Other things you can do:
Open konqueror by double-clicking the "Home" icon
Other things you can do:* “UNIX is a registered trademark of The Open Group in the United States and other countries.”
Return to top of page
In 1987 Andrew S. Tanenbaum -- a professor in Amsterdam, the Netherlands -- created MINIX as a teaching aid for his Operating Systems class.
Linus soon realized that the project was a huge undertaking so he decided to start by writing a kernel, utilizing the tools being developed by the GNU project (shells, compilers, editors, etc.).In 1984 and 1985, Richard M. Stallman started GNU and founded the Free Software Foundation.
As Linus made early progess, he made copies of Linux available to other people via the Internet. Suggestions for improvement and fixes for bugs started flooding in and full Internet collaboration on the kernel project started.Today, Linux is composed of a kernel and other supporting applications layered around it. The development of Linux would not have been possible without the software provided by the GNU project and developers from all over the world and the use of the Internet.
Return to top of page
Because of its modularity and open source nature, anybody can add functionality to the kernel. However, Linus has final authority over what is officially added to a kernel release. The "official" kernel can be found at http://www.kernel.org/.
Kernels are released in "stable" and "development" versions. Kernel versions are numbered so that the second part (between the first and second decimal point) determines if the kernel is stable or development. Stable versions are always even numbered: 2.0.7-3, 2.2.12, and 2.4.9-13 are all stable kernels. Development versions are always odd numbered: 2.1.4, 2.3.5-2, and 2.5.1 are all development kernels. After freezing enhancements and bug fixes to a stable kernel, a new development kernel tree starts. When a development tree becomes stable enough, it gets renumbered as a new stable release.
A final benefit of Linus' open source, modular kernel is the user's ability to remove or include only the parts of the kernel they want or need. This has resulted in full blown router engines and firewalls that fit on a floppy disk. Also, as a system administrator for a server, you can fully optimize the kernel code for what your server does.
Insert a floppy disk, then in the console window, type:
lsmod
mount /mnt/floppy
lsmod
Notice the addition of the fat and vfat modules.
Return to top of page
Open the Konqueror window and navigate to the /dev directory
The mount command is used to perform the grafting or to show existing grafts.
In the console window, type mount to see a list of currently mounted (grafted) filesystems. Notice the /mnt/floppy item you mounted (grafted) earlier.
Even if several hard disks are in a system, all access to the disks will be through /. This is unlike the Windows world where separate disks/partitions are accessed via different drive letters (C:, D:, etc.).
| Path | Windows Equivalent | Description |
|---|---|---|
| / | C: | The start of the filesystem (or main drive in Windows) |
| /home | My Documents or Profiles or D: | User's private files |
| /usr or /usr/local | Program Files | Installed software |
| /dev | Windows or Windows\System | Device drivers |
| /etc | The Registry or .ini files | Application and operating system configuration information |
| /tmp | Windows\Temp | Temporary system files |
| /bin or /sbin | Windows | System executable files |
Open the Konqueror window and navigate to the /etc/sysconfig/network-scripts/ifcfg-eth0 file
It is important to note that of the many filesystems Linux supports, the Microsoft NTFS system is among them. Currently Linux has the ability to read NTFS filesystems. While there is a project to enable Linux systems to write to NTFS, it is currently unreliable and can cause corruption of the filesystem.
Demonstration of reading NTFS
Like other modern operating systems, Linux can access remote filesystems across the network. Windows calls this "Sharing". UNIX calls it NFS (Network File System). Similar to Windows, which can both serve and access Shares, Linux using NFS can export and mount filesystems. Samba is a software project to allow Linux (and other UNIX-like OSes) to mount and export filesystems the same way a Windows system "shares" directories.Use konqueror to browse the SMB share Music on the host //ropers.lsu.edu
| Command | Description | DOS/Windows Equivalent |
|---|---|---|
| awk | File processing and report generating | N/A |
| cat | Show contents of a file | type or double-clicking a file |
| cd | Change directory | cd or double-clicking a folder |
| cp | Copy a file | copy or dragging a file |
| file | Determine file type | file extension or right-click properties |
| find | Find a file | Windows Explorer Find |
| grep | Find lines in a file | N/A |
| ln | Link a file to another file | Create Shortcut |
| ls | Display files in a directory | dir or Windows Explorer |
| mkdir | Create a directory | mkdir or creating a folder |
| more | Display a file one page at a time | more |
| mv | Move or rename a file | rename or dragging a file |
| rm | Remove a file | delete or deleting a file |
| rmdir | Remove a (empty) directory | rmdir or deleting a folder |
| sed | Stream editor | N/A |
| vi | Edit a file | edit or notepad |
| wc | Count words, lines and characters in a file | N/A |
Return to top of page
In the console window, type cat /etc/passwd
In the Konqueror window navigate to the /etc/group file and open it
In the console window, type ls -l /etc/passwd
Your output should look similar to this:-rw-r--r-- 1 root root 1755 Mar 10 13:48 /etc/passwd
The first dash is a flag specifying the type of file. The next three characters are the permissions for the user who owns the file. The next three characters are the permissions for the group associated with the file. The final three characters are the permissions for any user who is not the owner of the file nor belongs to the group associated with the file.
Each of the permissions has a different meaning depending on whether it is set for a file or a directory:
| Type | r | w | x |
|---|---|---|---|
| File | Can read the file | Can change the contents or delete the file | Can execute the file |
| Directory | Can see a listing of files in the directory | Can create new files in the directory or delete files from the directory | Can change into that directory |
Return to top of page
This early development resulted in a large number of Linux distributions being created. Suddenly, one version of Linux was not required to be everything to everyone, unlike with Windows. This flexibility allowed Linux to grow and prosper.
Early distributions included (but weren't limited to) Slackware, Yggdrasil, and Debian. The primary distribution in the U.S. today is Red Hat. The primary distribution in Europe today is SuSE. Other major distributions include (but again aren't limited to) Mandrake (which is based on Red Hat), Gentoo, YellowDog (for PPCs), Debian, and Slackware. Visit Distro Watch for a nearly complete list of Linux distributions.
Another current trend is putting a Linux system on a CD. This approach has the benefit of not destroying data on the systems hard drive and allows users to experiment with Linux without modifying their current installations. One implication is that you can boot a machine and have a working system (from the CD) that can help you recover or analyze data on the local hard drive. The primary Linux-on-CD distribution today is Knoppix.
It is important to note that the kernel is completely seperate from any distribution. Kernel development and releases continue on their own schedule. When a new kernel is released, distributions take time to get their configuration and tools working with the new kernel (by adding and removing code to and from the kernel).
Even though most (usually all) of the software in a distribution of software is free (money-wise), distributors still sell Linux. Purchasing Linux usually provides you with printed manuals (books), installtion support, and sometimes commercial software. However, almost every distribution allows you to download a CD ISO image.
It should be noted that there are three major Windows "clones," namely Lycoris, Lindows, and Xandros. Their goal is to create a Linux system that looks and acts just like a Windows system.
Return to top of page
Red Hat Linux uses RPM, the Red Hat Package Manager. Software on Red Hat systems is bundled in a "package." A package includes all of the binary data for the software, rules detailing prerequisite software, and possibly scripts to be executed before, during, and after installation.
Packages come in either source or binary form. Binary packages are architecture-specific (i.e. Intel uses i386, i486, i586, and i686; PowerPC uses ppc, SPARC uses sparc, etc.) and can only be installed on the appropriate hardware. The package manger command is rpm, and it sports a wide array of features. Here is a table of commonly used rpm commands and what they do:
| Command | Description |
|---|---|
| rpm -qa | List all installed packages |
| rpm -qi package | Show information about an installed package |
| rpm -qil package | Show information about an installed package including all files in the package |
| rpm -qip package | Show information about an uninstalled package |
| rpm -qilp package | Show information about an uninstalled package including all files in the package |
| rpm -qf file | Determine which installed package a file belongs to |
| rpm -Uvh package | Install or upgrade a package |
| rpm -Fvh package | Update an installed package (freshen) |
| rpm -e package | Uninstall a package |
| rpm --verify package | Verify the integrity of an installed package |
| rpm --help | Get help on rpm (there are many more options available) |
Install the tuxracer game
After a Windows installation, the first thing you need to do is update the system. Similarly, after a Linux OS installation you need to apply critical updates. Windows provides a website to obtain updated software. Red Hat also provides a website to do the same. LSU mirrors updates locally for several versions of Red Hat at http://redhat.lsu.edu/.As an example, to change the DNS servers on a Windows machine you have to get to the Network Control Panel applet and navigate through several panels, make the change, and (depending on your Windows version) reboot the machine. In Red Hat, all you have to do is edit the /etc/resolv.conf file.
Use Konqueror to edit the /etc/resolv.conf file
Use Konqueror to navigate to the /etc/rc.d/rc3.d/ directory
| Category | Commercial Example(s) | FOSS Example(s) |
|---|---|---|
| Productivity | Microsoft Office WordPerfect SmartSuite StarOffice | OpenOffice AbiWord Gnumeric |
| Graphics | Photoshop | Gimp |
| Document Layout | Acrobat PageMaker Quark | xpdf Scribus |
| Web Browsing | Internet Explorer | Mozilla Firebird Lynx Links |
| Instant Messaging | MSN ICQ AIM Yahoo! Trillian | GAIM Silc |
| Music and Video Players | Windows Media Player QuickTime WinAmp | Xine XMMS MPlayer Noatun |
| Video Authoring | Premiere AVID | Cinelerra kino |
| CAD | AutoCAD | qcad |
| Programming | Microsoft Visual C/C++/Basic Intel Compilers Portland Group | GCC Eclipse |
| Web Server | IIS | Apache |
| Web Applications | ASP | PHP Perl |
| Database | DB2 Oracle SQL | MySQL PostgreSQL |
It should be noted that many of the packages above can also run on non-Linux operating systems. Additionally, some of the FOSS applications listed above do not have a commercial equivalent.
Open various applications
Return to top of page
"...the number of UNIX installations has grown to 10, with more expected..." - Dennis Ritchie and Ken Thompson, June 1972
While on sabbatical in 1978, Ken Thompson helped student Bill Joy write the Berkeley Software Distribution (BSD). AT&T's UNIX became a stable commercial product while BSD's became a research project and teaching tool. This split between AT&T UNIX and BSD UNIX remains today. However, most commercial and free UNIXes are a blend of both.
It should be pointed out that the first operating system that Microsoft sold in August of 1980 was Xenix their UNIX-like OS that ran on both Intel and Motorola processors. Microsoft did not sell their first version of DOS until 1981.
In 1987 Andrew S. Tanenbaum, a professor in Amsterdam, the Netherlands, created MINIX as a teaching aid for his Operating Systems class. This was one of the first complete implementations of a "free" UNIX-like OS, although you had to buy Dr. Tanenbaum's book to get it.
Starting in the early 1990's there were several projects that branched from BSD. The NetBSD and FreeBSD projects both started in 1993. In 1995 a disgruntled NetBSD contributor left and founded the OpenBSD project.
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.In 1994 he released a v1.0 kernel and the associated GNU tools as the first widespread public GNU/Linux distribution. Unlike MACH, the Linux kernel is a monolithic or macrokernel where most of the functionality is implemented in the core of the operating system.
Return to top of page
Many resources exist at LSU and across the Internet to make using GNU/Linux easier. Here are just a few.
OCS's High Performance Computing group maintains the system redhat.lsu.edu to support on-campus users. This system sports a number of features:
The Linux Documentation Project has been around a long time and is one of the most valuable resources around. This project includes many different documents that will ease the use of GNU/Linux. Here are a few examples:
Return to top of page