Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Fatherhood.Org

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents
Up to --> Linux Basics

· What Linux is All About
· Guided Tour
· What Linux is Made of
· What Linux Does
· What goes with Linux

Glossary
MoreInfo
Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
FAQ
Copyright Info
Terms of Use
Privacy Info
Disclaimer
WorkBoard
Thanks
Donations
Advertising
Masthead / Impressum
Your Account

Communication
Feedback
Forums
Private Messages
Recommend Us
Surveys

Features
HOWTOs
News
News Archive
Submit News
Topics
User Articles
Web Links

Google
Google


The Web
linux-tutorial.info

Who's Online
There are currently, 211 guest(s) and 4 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here

  
Linux Tutorial - Linux Basics - What Linux is All About - What Linux is Made of
  Guided Tour ---- What Linux Does  


What Linux is Made of

There are many aspects of the Linux operating system that are difficult to define. We can refer to individual programs as either utilities or commands, depending on the extent of their functions. However, it is difficult to label collections of files. Often, the labels we try to place on these collections do not accurately describe the relationship of the files. However, I am going to try.

Linux comes with essentially all the basic UNIX commands and utilities that you have grown to know and love (plus some that you don't love so much). Basic commands like ls and cat, as well as text manipulation programs like sed and awk are available. If you don't come from a Unix background, then many of the commands may seem a little obscure and even intimidating. However, as you learn more about them you will see how useful and powerful they can be, even if it takes longer to learn them.

Linux also comes with a wide range of programming tools and environments, including the GNU gcc compiler, make, rcs, and even a debugger. Several languages are available, including Perl, Python, Fortran, Pascal, ADA, and even Modula-3.

Unless you have an extremely low-level distribution, you probably have X11R6 in the form of XFree86 3.x, which contains drivers for a wide range of video cards. There are a dozen text editors (vi, emacs, jove) and shells (bash, zsh, ash, pdksh), plus a wide range of text processing tools, like TeX and groff. If you are on a network, there is also a wide range of networking tools and programs.

Even if you have been working with a Linux or any UNIX dialect for a while, you may have heard of certain aspects of the operating system but not fully understood what they do. In this section, I'm going to talk about functions that the system performs as well as some of the programs and files that are associated with these functions. I'm also going to talk about how many of the system files are grouped together into what are referred to as "packages," and discuss some of the more important packages.

To install, remove, and administer these packages on a Slackware-derived system, use the pkgtool tool, which is actually a link to the shell script cpkgtool. This tool can be called from the command line directly or by the /sbin/setup program. Each package comes on its own set of disks. These packages are:

  • A Base Linux System
  • AP various applications that do not need X
  • D Program Development (C, C++, Lisp, Perl, etc.)
  • E GNU emacs
  • F FAQ lists, HOWTO documentation
  • I Info files readable with info, JED, or emacs
  • IV InterViews Development + Doc and Idraw apps for X
  • N Networking (TCP/IP, UUCP, Mail, News)
  • OOP Object-Oriented Programming (GNU Smalltalk 1.1.1)
  • Q Extra Linux kernels with custom drivers
  • T TeX ,text processing system
  • TCL Tcl/Tk/TclX, Tcl language and Tk toolkit for X
  • X XFree-86 3.1 X Window System
  • XAP X applications
  • XD XFree-86 3.1 X11 Server Development System
  • XV XView 3.2 (OpenLook Window Manager, apps)
  • Y games (that do not require X)

Why is it important to know the names of the different packages? Well, for the average user, it really isn't. However, the average user logs on, starts an application and has very little or no understanding of what lies under the application. The mere fact that you are reading this says to me that you want to know more about the operating system and how things work. Because these packages are the building blocks of the operating system (at least in terms of how it exists on the hard disk), knowing about them is an important part of understanding the whole system.

Plus one of the key advantages that Linux has over Windows is the ability to selectively install and remove packages with much finer granularity. For example, you can add and remove individual programs to a greater extent with Linux than you can with Windows. Further there are fewer groups of programs in Windows (such a group of programs is often called a "package" in Linux. This allows you to pick and chose what you want to install to a greater extent. Therefore, knowing where each package resides (or at least having a starting point) is a big a help.

To be able to do any work on a Linux system, you must first install software. Most people think of installing software as adding a word processing program or database application; but any program on the operating system needs to be installed at one time or another. Even the operating system itself was installed.

Earlier, I referred to the Linux operating system as all the files and programs on the hard disk. For the moment, I want to restrict the definition of "operating system" to just those files that are necessary for "normal" operation. Linux (at least Slackware) has defined that set of programs and files as the Base Linux System, or Base Package. Although there are many files in the Base Package that could be left out to have a running system, this is the base set that is usually installed.

Many versions of Linux are now using the Red Hat Package Manager (RPM) format. In fact, RPM is perhaps the format most commonly found on the Internet. Most sites will have new or updated programs as RPM files. You can identify this format by the rpm extension to the file name.

This has proven itself to be a much more robust mechanism for adding and removing packages, as it is much easier to add and manage single programs than with Slackware. We'll get into more detail about this when I talk about installing. You will also find that RPM packages are also grouped into larger sets like those in Slackware, so the concepts are the same.

Although most commercial distributions use the RPM format, there are often a number of differences in which package groups there are and which programs and applications appear in which group. For example, later SuSE distribution has the following package group:

  • a1 - Linux Base System (required)
  • ap1 - Applications which do not need X
  • ap4 - Applications which do not need X
  • d1 - Development (C, C++, Lisp, etc.)
  • doc1 - Documentation
  • doc4 - Documentation
  • e1 - Emacs
  • fun1 - Games and more
  • gra1 - All about graphics
  • gra3 - All about graphics
  • k2de1 - KDE2 - K Desktop Environment (Version 2)
  • n1 - Network-Support (TCP/IP, UUCP, Mail, News)
  • perl1 - Perl modules
  • sec1 - Security related software
  • snd1 - Sound related software
  • spl1 - Spell checking utilities and databases
  • tcl1 - Tcl/Tk/TclX, Tcl-Language and Tk-Toolkit for X
  • tex1 - TeX/LaTeX and applications
  • x1 - Base X Window System - XFree86\tm
  • x3d1 - 3D software for X11 and console
  • xap1 - X Applications
  • xdev1 - Development under X11
  • xsrv1 - Several X Servers (XFree86)
  • xsrv2 - Several X Servers (XFree86)
  • xsrv3 - Several X Servers (XFree86)
  • xsrv4 - Several X Servers (XFree86)
  • xv1 - XView (OpenLook, Applications)
  • xwm1 - Window managers and desktop environments
  • yast1 - YaST Components
  • zq - source packages

Note that in the case of SuSE, when you are in the administration tool (YAST), the names of these groups will probably appear somewhat different. For example, there are two groups of applications: those that need X-Windows and those that do not. When you are in YAST, there are two dozen application groups, such as spreadsheets, math and databases. The groups listed above are how you might find them on the CD and date from a time when you did not have many applications and there were few distributions. Most people got Linux from the net and these package groups were pretty convenient.

Today, SuSE is on several CDs and just to make things easier, you are also given a DVD or two depending on which package you get. Also the package groups have changed as you see in the following figure:

If you compare the previous list to the groups you see here, you will notice that the groupings are similar but not identical. Tools like YaST are able to determine what other packages are required and today there is really no need to group packages to make downloading easier. Typically, you will either order or download them. There are a number of places where you can download complete packages, but you have to spend the time downloading ISO images and the burnign the CDs or DVS. Or, you can save yourself time and money by ordering them from places like OS Heaven.

 Previous Page
Guided Tour
  Back to Top
Table of Contents
Next Page 
What Linux Does


MoreInfo

Test Your Knowledge

User Comments:


You can only add comments if you are logged in.

Copyright 2002-2009 by James Mohr. Licensed under modified GNU Free Documentation License (Portions of this material originally published by Prentice Hall, Pearson Education, Inc). See here for details. All rights reserved.
  

There are several different ways to navigate the tutorial.


Login
Nickname

Password

Security Code
Security Code
Type Security Code


Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!


Amazon Wish List

Did You Know?
You can get all the latest Site and Linux news by checking out our news page.


Friends



Tell a Friend About Us

Bookmark and Share



Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.30 Seconds