Restart the Windows system and choose Fedora Core 3 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 Fedora Core 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.
Shortly after the welcome message, the screen will clear and Fedora will go into a GUI display. It will show a progress bar as the system boots. You can click the "details" button to have the GUI boot display show the startup progression. 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.
Fedora Core 3 can be set to use the traditional command line boot (not boot graphically) by editing /boot/grub/grub.conf and removing the characters rhgb from the grub boot stanza.
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. In 2004, the XFree86 project changed their license to be more restrictive. As a result, many developers left XFree86 and joined X.org, using the last truly "free" XFree86 release as a starting point. Since that time, X.org has replaced XFree86 as the de facto standard for X Windows on most Linux distributions.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, scroll-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. Each window manager or desktop can be made to look differently depending upon which theme is chosen.
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 using a theme called Blue Curve. Regardless of whether the user picks GNOME or KDE, the GUI looks 95% identical. Fedora has continued to build on Red Hat's Blue Curve development.
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 boot screen in Fedora Core 3 is now a GUI. 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 Red Hat icon | System Tools | Terminal
Other things you can do:
Open konqueror by clicking the Red Hat icon and then 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.”
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.
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/.
Historically, kernels were released in "stable" and "development" versions. Kernel versions were numbered so that the second part (between the first and second decimal point) determines if the kernel is stable or development. Stable versions were always even numbered: 2.0.7-3, 2.2.12, and 2.4.9-13 are all stable kernels. Development versions were 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. Additionally, this flexibility has allowed for the creation of the popular and prolific "Live CDs" and DVDs which allow you to boot your computer to run Linux without touching your hard-drive. Also, as a system administrator for a server, you can fully optimize the kernel code for what your server does.
Insert a floppy disk and then mount it in a console window
Notice the addition of the fat and vfat modules from before and after the mount command. The kernel knew it needed the device driver and dynamically added it to the running system.$ /sbin/lsmod $ mount /media/floppy $ /sbin/lsmod
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 /media/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 |
| /mnt or /media | D:, E: or next drive letter | Where removable media, like floppys, CDs, DVDs, USB, SD, Flash, and the like are mounted |
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. 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.
| 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 |
Look at the password file in a console window
$ cat /etc/passwd
In the Konqueror window navigate to the /etc/group file and open it
List the password file in a console window
Your output should look similar to this:$ ls -l /etc/passwd
-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 |
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. Here is Red Hat's own description of their distribution, from the v6.2 "Getting Started Guide."
Early distributions included (but weren't limited to) Slackware, Yggdrasil, and Debian. Even Red Hat has a long history of over 10 years. The primary distributions in the U.S. today are Fedora, which branched from Red Hat, and the venerable Red Hat. The primary distribution in Europe today is SUSE, which was recently purchased by Novell. Other major distributions include (but again aren't limited to) Mandrake (which is based on Red Hat), Gentoo (source code based), YellowDog (for PPCs), and both Debian and Slackware still survive today. 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.
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
Red Hat Linux, as well as several others, use RPM, the Red Hat Package Manager. Software on these systems is bundled in a "package." RPM refers to both the package management program and to the packages. 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. RPM, the software application, is all that is needed for managing the installation, updating, deletion and querying of packages.
RPM 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. Software packages include the source code, possibly some patches, and a specification (.spec) file detailing how to build the software, install, and possibly even configure it. 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) |
yum was originally designed as a simple front-end to the --update features of rpm. yum uses RPM commands behind the scenes and has grown to include the ability to install, update, remove, and report on RPM packages. One of the great things about yum is that it actually understands the pre-requisite information in RPM package. If you ask yum to install a package, it will discover all prerequisites and install all needed parts at one time without any additional help. Much easier than the old way of tracking down RPM pre-requisites by-hand. yum also supports a very simple way of querying RPM repositories to discover new software and updates.
Here are a few yum command examples:
| Command | Description |
|---|---|
| yum | display brief help |
| yum check-update | update headers and display any updates the current system needs |
| yum update | check for updates and apply them interactively |
| yum -y update | check for updates and apply them with |
| yum update <package> | check for updates and upgrade the specified package(s) only |
| yum info | similar output to a rpm -qai |
| yum info <package> | information about a specific package |
| yum list | lists all available packages |
| yum list <package> | list individual package(s) |
| yum list installed | list all installed packages |
| yum list available | list all packages not installed |
| yum list update | list all packages that need to be upgraded |
| yum list extras | list all installed packages that are not available from any of the defined yum resources (defined in the /etc/yum.conf file) |
| yum clean | delete any rpms in the yum cache and remove any unneeded headers |
| yum install <package> | install the package |
| yum remove <package> | delete the package |
| yum provides <file> | find out what package provides a particuar file |
| yum search <string> | searches for packages containing the string in their name or header info |
Check for new updates
$ yum check-update
To demonstrate software installation, we are going to install a package called Neverball. This package is not part of the Fedora Core 3 software distribution. It has a prerequisite that is also not part of the default distribution. Don't worry. yum makes this easy. We are going to replace our /etc/yum.conf with a new one that tells yum to look in the special START II repository.
Replace /etc/yum.conf
$ su - # cd /etc # mv yum.conf yum.conf.org # wget http://fedora.lsu.edu/dist/start/fc3/yum.conf # vim -d yum.conf yum.conf.org :q :q
Install the neverball game
After a Windows installation, the first thing you need to do is update the system with security patches. Similarly, after a Linux OS installation you need to apply critical updates. With yum installed and configured, the process to update a Linux system is the following:# yum install neverball
Please visit the local yum web page for more information about yum and using LSU local mirrors.# yum -y update
| 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 VLC |
| 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 |
| Math | Matlab | Octave |
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
“...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.
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.From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Free minix-like kernel sources for 386-AT Keywords: 386, preliminary version Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI> Date: 5 Oct 91 05:41:06 GMT Organization: University of Helsinki Lines: 55 Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all- nighters to get a nifty program working? Then this post might be just for you :-) As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it. Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu. ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix. The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info. I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have. I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code. Linus PS. to PHIL NELSON! I'm unable to get through to you, and keep getting "forward error - strawberry unknown domain" or something.
Many resources exist at LSU and across the Internet to make using GNU/Linux easier. Here are just a few.
LSU has a number of Linux resources available thanks to OCS, CCT and the Department of Mathematics. Here is a brief list:
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:
These links provide for a little history and more documentation on some distributions.