|
|
Linux Training and Tutorial
- Linux
Survival :
If you would like to learn the basics of Linux quickly, try this entertaining online Linux tutorial. You don't need any browser plug-ins and you don't need to install it on your computer. Best of all, it's free! Just click one of the module links below to load it. The module should take between 5 and 25 seconds to load, depending on the speed of your Internet connection.
You have two choices for starting Linux Survival, depending on which operating system you are currently running.
- Why
use Switch to Linux:
Linux is more than a hip buzzword in computing. It is more than the latest fad. It was modeled on the Unix operating system first developed by Dennis Ritchie and Ken Thompson at AT&T. Unix was developed to run the largest network in world, the AT&T telephone system, and it did. The Unix operating system was designed to be scalable, reliable, modular, secure and portable with network
extensibility. The development of Unix eventually led to the POSIX standard which defines much of the Linux architecture. Unlike many single user desktop console based operating systems, Linux is a multi-user, multi-tasking, network enabled operating system accessible from anywhere on the network. Multiple users can access a Linux computer remotely, each running their own individual desktop instance, all at the same time. The Linux/Unix X-Windows network enabled multi-user windowing system allows full remote access.
- Linux
Device Drives:
The goal of this chapter is to write a complete char device driver. We'll develop a character driver because this class is suitable for most simple hardware devices. Char drivers are also easier to understand than, for example, block drivers or network drivers. Our ultimate aim is to write a modularized char driver, but we won't talk about modularization issues in this chapter.
Throughout the chapter, we'll present code fragments extracted from a real device driver: scull, short for Simple Character Utility for Loading Localities. scull is a char driver that acts on a memory area as though it were a device. A side effect of this behavior is that, as far as scull is concerned, the word device can be used interchangeably with "the memory area used by
scull."
- Linux
Init Process:
This tutorial covers the PC boot process and the Linux Operating System inititiation of background applications (daemons/services). The sequence, configuration and administration of the Linux boot process is covered. This tutorial is Red Hat and Fedora specific. Other distributions and commercial versions of UNIX often use different run level assignments and/or different script names.
Also see the YoLinux Tutorial on Recovery and Boot disks.The init process is
the last step in the boot procedure and identified by process id
"1". Init is responsible for starting system processes as defined
in the /etc/inittab file. Init typically will start multiple
instances of "getty" which waits for console logins which spawn
one's user shell process. Upon shutdown, init controls the sequence and
processes for shutdown. The init process is never shut down. It is a user
process and not a kernel system process although it does run as root.
- Linux
Newbie:
We are relative Linux newbies (with Linux since Summer 1998). We run mostly RedHat and Mandrake -> the solutions might not be directly applicable to other Linux distributions (although most of them probably will be). Hope this helps; we try to be as practical as possible. Of course, we provide no warranty whatsoever. If you spotted a bad error or would like to contribute a part on a topic of your choice, we would like to hear from
.A complete reference for new Linux users who wish to set up and administer
their own Linux home computer, workstation and/or their home or small office
network. The answers are meant to be simple, with just sufficient
detail, and always supported with a readily usable example. The work
is still in progress, but we hope the Guide can be helpful already. We
welcome your corrections, advice, criticism, links, translations, and
CONTRIBUTIONS. Pls note that there are no ad banners on our pages.
- Linux
Kernel:
Like any time-sharing system, Linux achieves the magical effect of an apparent simultaneous execution of multiple processes by switching from one process to another in a very short time frame. Process switch itself was discussed in Chapter 3, Processes; this chapter deals with scheduling, which is concerned with when to switch and which process to choose.The chapter consists of three parts. The section "Scheduling Policy" introduces the choices made by Linux to schedule processes in the abstract. The section "The Scheduling Algorithm" discusses the data structures used to implement scheduling and the corresponding algorithm. Finally, the section "System Calls Related to Scheduling" describes the system calls that affect process scheduling
.
- Linux/Unix
Tutorial:
This document is meant to be a crash-course in using the UNIX operating system, with Linux being an example. It is not meant to be an in-depth reference. Beginners are taken through the system concepts and commands. If you're an experienced user, this is probably not for you, though you may find some new tricks.
For further information on the Linux operating system, I highly recommend the following:
Running Linux by Matt Welsh and Lar Kaufman. This book takes you through the setup, management and use of Linux.
Linux in a Nutshell by Jessica Perry Hekman. This is a good quick reference for commands and environment settings.
- Recovering
Linux System:
A dreadful time has come, a Linux system no longer boots up properly. Whether this was caused through our own curiosity, hardware failure, a friend or co-worker "helping out" is the past. This article will you bring back precious data or functionality of a Linux machine. We can no longer access valuable data and services that our hitherto always available Linux system used to provide. Our intended audience is fledgling administrators, but we might have a trick or two for the old school guru as
well. The first task is simple: determine what you want to bring back. Generally this means restoring the ability to get to a shell prompt, all file systems mounted and network connectivity restored. This functionality is usually provided by runlevel 3. For more information on runlevels, read man page for init, section 8 (shorthand is man:init(8)). The more specific the recovery goal, the simpler our planning. We'll walk through diagnosing the problem, some specific fixes, and refer to documentation for additional information.
- Linux
Software Encyclopedia:
This is an alphabetized and annotated list of links to various ``freely available'' software amenable to installation and use on computers running the Linux operating system. Some of the software is available in source form, some in binary form, and some in both. Currently (9/99) all of the software listed can be used on Linux Intel platforms, and many of them (except of course for those packages available only in binary form) can also be used on Linux Alpha, Sparc, PowerPC and other ports. I would also venture to guess that it is the rule rather than the exception that the packages are usable on most other UNIX platforms, with the exceptions becoming even fewer in number as the various UNIX flavors become more conformant with the POSIX standard
.
- Linux
Monitoring :
Linux is a popular open source operating system and is based on UNIX. The Linux Management feature helps optimize Linux system performance, delivers comprehensive management reports, and ensures availability through automated event detection and correction. Applications Manager also monitors processes running in a Linux
system. Applications Manager provides Linux system monitoring. In-depth monitoring of popular flavors like RedHat Linux, Debian Linux, Fedora Linux, Suse Linux etc are provided. First, Applications Manager discovers each Linux system and then monitors the CPU usage, memory utilization, and other critical system statistics.
- Linux
Standard Base:
The LSB specification is made up of several components, known as modules. The base specification consists the of Core, Graphics and CXX (C++) modules. The specification is further extended with the Desktop set. Each module might be subdivided into a common document plus architecture-specific documents (in some cases the division is not needed). A complete binary standard for a particular processor architecture consists of the set of necessary common documents plus the matching set of architecture-specific documents.
Some of the components are further subdivided into functional units. For convenience, the functional units may be used for review purposes. For example, if your interest is in packaging, you may wish to review the packaging "individual specification" by itself. The individual specifications (sometimes called "books") are not released by the LSB project on a standalone basis, only rolled up into the specification modules.
- RTLinux
API:
Those of you who have used real-time systems before know that every system has a "special" API, where "special" is usually replaced with a more colorful term. RTLinux's API, however, is based on POSIX PSE 51, which is a standard designed for embedded real-time systems. This capability enables developers to use the standard pthread_* calls within a real-time environment. This means that all of the POSIX calls, such as pthread_create(), are available to real-time code, along with all of the mutex calls, condition variables, etc. For cases that introduce nondeterminism and are not covered by the standard, RTLinux provides extensions to make life easier for the developer.From the user-space perspective, the nonreal-time code is exactly like any other Linux process. Once the real-time components have been abstracted out, the remaining code is free to behave like any other application, without fear of interfering with real-time operations
.
- Linux
Online:
Welcome to our Linux Online lessons
section. If you're new to Linux and want to find out how to use the fastest
growing operating system today, all you have to do is take our beginner's
course and you'll be ready to go! If you're already an experienced Linux
user and want to get more power out of your system, we also offer an
intermediate level course. This higher level course is geared toward those
who want to learn more about Linux system administration.Linux Online's
course are available 24 hours a day, 7 days a week and so you can access
this page whenever you like. Feel free to do the lessons as quickly or as
slowly as you like - as many times as you want.
- Learning
Debian GNU/Linux:
Learning Debian GNU/Linux guides the new user of Linux through the installion and configuration of Debian GNU/Linux. Debian is the purely Open Source Linux distribution, crafted and maintained by a worldwide network of volunteers. Windows users will gain a gentle introduction to this exciting computing world guided by Bill McCarty in Learning Debian GNU/Linux.Learning
Debian GNU/Linux assumes only that its readers have a bit of Windows or
Macintosh experience, are willing to learn, and aren't afraid to do a little
experimenting. From there, it provides a complete introductory-level
explanation of installing and using Linux and the GHU suite of tools,
focusing on the Debian 2.1 distribution to the extent that it differs from
other flavors of Linux. Because it ships with a bootable CD-ROM that
contains Debian 2.1, this book represents a complete Linux starter kit (and
a reasonably priced one, at that).
- Linux
Dynamic linking:
Applications in Linux are linked to an external function in one of two ways: either statically linked at build time, with static libraries (lib*.a) and having the library code include in the application's executable file, or dynamically linked at runtime with shared libraries (lib*.so). The dynamic libraries are mapped into the application execution memory by the dynamic linking loader. Before the application is started, the dynamic linking loader maps the required shared object libraries into the application's memory or uses system shared objects and resolves the required external references for the application. Now the application is ready to
run.
- Linux
Dll Functions:
Linux provides four library functions (dlopen, dlerror, dlsym, dlclose), one include file (dlfcn.h), and two shared libraries (static library libdl.a and dynamic library libdl.so) to support the dynamic linking loader.
The library function are:
dlopen opens and maps into memory the shared objects file and returns a handle
dlsym return a pointer to the requested entry point
dlerror returns either NULL or a pointer to an ASCII string describing the most recent error
dlclose closes the handle and unmaps the shared objects
- Linux
Client:
Like many users of PCs, you may be
considering the switch to Linux. You've heard all the arguments about the
economic viability and cross-platform compatibility of open source software
in general and Linux in particular, but you may still be intimidated by the
prospect of changing environments. IBM's Mark Chapman give you the benefit
of his own experience as a Linux newbie as he seeks to change over to Linux.
He addresses many of the issues involved, including software availability
and support.Mark tests the conventional wisdom that Linux is not "ready
for prime time" as anything but a network operating system. He seeks
out commercial, shareware, and freeware programs for Linux to replace the
existing applications he currently uses with Windows for his office and home
systems.
- Linux
Unicode:
A multi-byte character representation
system for computers, Unicode provides for the encoding and exchanging of
all of the text of the world's languages. This article explains the
importance of international language support and the concepts of designing
and incorporating Unicode support in Linux applications. Unicode is not just
a programming tool, but also a political and economic tool. Applications
that do not incorporate world language support can often be used only by
individuals who read and write a language supported by ASCII. This puts
computer technology based on ASCII out of reach of most of the world's
people. Unicode allows programs to utilize any of the world's character sets
and therefore support any language.
- Learning
Linux :
In this article, Daniel introduces you to the
concepts behind Linux LVM (Logical Volume Management) and shows you how to
get the latest kernel patches and tools installed on your system. LVM allows
you to create logical volumes out of the physical storage resources on your
machine. However, unlike physical volumes, the logical volumes can be
expanded 0and shrunk while the system is still running, providing Linux
system administrators with the storage flexibility that they've until now
only dreamed of .
- Linux
Hardware:
One of Linux's claims to fame is its legendary stability. However, the most stable operating system in the world won't do you any good if your hardware is defective or misconfigured. In this article, Daniel Robbins shows you how to diagnose and fix CPU flakiness, as well as how to test your RAM for defects. By the end of this article, you'll have the skills to ensure that your Linux system is as stable as it possibly can be.
Many of us in the Linux world have been bitten by nasty hardware problems. How many of us have set up a Linux box, installed our favorite distribution, compiled and installed some additional apps, and gotten everything working perfectly only to find that our new system has an (argh!) fatal hardware bug? Whether the symptoms are random segmentation faults, data corruption, hard locks, or lost data is irrelevant -- the hardware glitch effectively makes our normally reliable Linux operating system barely able to stay afloat. In this article, we'll take an in-depth look at how to detect flaky CPUs and RAM -- allowing you to replace the defective parts before they do some serious damage.
- Slackware
Linux 101:
Joe Brockmeier examines the Slackware Linux init sequence. He talks about how the system initializes services, what the various runlevels are and how to add or remove services from the default install to customize your system.
Linux users are increasingly becoming power-users, which means they want to configure their system to do exactly what they want. But these days Linux distributions usually come with autoconfigured devices and start services, like Sendmail or Apache. What distributors don't take into account is that running services like Apache with their default settings intact -- unknown to the user -- is open season for crackers and script kiddies. And it eats up system resources that could be put to better use -- like more processor time for Quake or your favorite compiler. Since lack of control is a Bad Thing, let's look at what happens when a Linux system boots during the init process, at the various runlevels this involves, and how to customize your system or switch between runlevels while your system is running
.
- The
Linux Show:
Welcome to the home of The Linux Show!!. "TLS" as many of our community of listeners now call it, is the oldest, longest running and without question most listened to webcast focused on Open Technology in the known universe. We have had a long and colorful history, too long to go into here. For the whole story please feel free to check out the TLS Staff Page on the navigation Menu. The short story is that we have now been broadcasting for seven years, just starting our eighth, covering the issues important to the people who make up the Linux and Open Technology movement. You never know who is going to show up on TLS as many people in the Linux and Open Source leadership know the Studio phone number and just call in. Some say that was a mistake, it absolutely makes for chaos, but very interesting chaos.
- Debian
Linux Distribution:
The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian GNU/Linux, or simply Debian for short.
An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs.
Debian systems currently use the Linux kernel. Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide.
However, work is in progress to provide Debian for other kernels, primarily for the Hurd. The Hurd is a collection of servers that run on top of a microkernel (such as Mach) to implement different features. The Hurd is free software produced by the GNU project.
A large part of the basic tools that fill out the operating system come from the GNU project; hence the names: GNU/Linux and GNU/Hurd. These tools are also free.
- Linux
Desktop:
IBM's upcoming release of Lotus Notes for Linux is, according to Novell survey responders, among the most eagerly anticipated events in Linuxdom. And rightly so.Notes for Linux will allow shops already running Lotus Domino Server on Linux to adopt the same platform for its integrated client. Notes provides e-mail, instant messaging, calendar and scheduling. It includes personal information management utilities, discussion forums, teamrooms and reference databases with basic workflow. And it's all based on a desktop platform that encourages collaborative applications.Luckily for IBM's Lotus team, millions embrace the current version of Notes. But continued success doesn't accomodate standing still. Microsoft is blatantly stalking the Notes/Domino combo with its upcoming feature-rich Office/Exchange 12 on Vista.
- Linux
Focus:
After such a long delay, we had loved to present you a completely everything-new everything-better site... and now you're thinking: They reduced everything, is this progress? Well, in a way, it is: We're now on a new server, kindly hosted by great ibiblio and therefore independent of a single individual's server. On the other hand, this means that lots of LF's internals had to and will have to be rewritten or, at least, adapted. Gradually, we will do our best to improve what can be improved and to re-integrate the good things that are not available now.
However, all this takes (volunteer) time, and as we don't want to keep you waiting forever, we put up this site containing "articles only". More than ever, our success depends on your articles, translations and ideas. This magazine has always been, and will continue to be yours. If you're interested, drop a line to Viktor. Thanks!
-
Linux
resources :
I teach computer repair class at a high school and have almost no experience in Linux. My students have been assembling computers from used parts to give to students who do not have a computer at home to use for school work. We are using Linux and Open Office because we don't have Windows OS software that we can put on these computers. The problem has been that with these old parts (Pentium II vintage CPU and cards) we have not yet been able to find drivers for the video or audio cards we have that are Linux compatible.
-
Linux
GNU operating system:
Many computer users run a modified version of the GNU system (18k characters) every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is more often known as ``Linux'', and many users are not aware of the extent of its connection with the GNU Project.
There really is a Linux, and these people are using it, but it is not the operating system. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in a combination with the GNU operating system: the whole system is basically GNU, with Linux functioning as its kernel.
-
Linux
XFree86:
The XFree86 Project, Inc is a global volunteer organisation which produces XFree86®, a freely redistributable open-source implementation of the X Window System. XFree86 runs primarily on UNIX® and UNIX-like operating systems like Linux, all of the BSD variants, Sun Solaris both native 32 and 64 bit support, Solaris x86, Mac OS X (via Darwin), SGI's Irix as well as other platforms like OS/2 and
Cygwin.
XFree86, provides a client/server interface between display hardware (the mouse, keyboard, and video displays) and the desktop environment while also providing both the windowing infrastructure and a standardized application interface (API).
-
Linux
cluster manager:
Linux Cluster Manager 2.20 released. LCM is a graphical tool for monitoring and managing multiple Linux systems from a central location. Features include real time monitoring and status information, remote command execution, and a range of imaging features.
Linux Cluster Manager has many useful administration and monitoring features:
- Easy to use GUI for all operations
- Real time status information for all nodes
- Connect to individual nodes via a user specified protocol (ssh, rsh, rlogin, etc)
- Report on running processes across the cluster
- Image nodes over the LAN with either a file or block based image
- Can image non Linux based systems including Windows
- Imaged nodes have IP and host name information changed automatically
- Run scripts across the cluster or on select nodes without a client agent using a command line or GUI interface
-
The
Atlanta Linux:
The ALS organizing staff would like to thank everyone who attended the Atlanta (Annual) Linux Showcase. For five years ALS was the place for the Linux Community to meet, learn what was going on, and to just plain have fun.
Unfortunatly due to economic events, the ALS organizing staff decided not to continue to the Event. ALS had a 5 year run that educated and entertained roughly 12,000 people from over 40 countries. The momentum of the Linux movement and the hard work of many (Volunteers, Vendors, Speakers, etc) helped to carry ALS from 500 to 4000 attendees in 3
years.Our special thanks go out to our exhibitors whose presence supported this community run event, our speakers for contributing to a top-notch program, and to the Linux Enthusiasts who volunteered so much time to make this show happen.
-
Socket
Programming:
Sockets are interfaces that can "plug into" each other over a network. Once so "plugged in", the programs so connected communicate.
This article discusses only simple aspects of stream inet sockets (don't worry about exactly what that is right now). For the purposes of this article, a "server" program is exposed via a socket connected to a certain /etc/services port number. A "client" program can then connect its own socket to the server's socket, at which time the client program's writes to the socket are read as stdin to the server program, and stdout from the server program are read from the client's socket reads. This is one subset of socket programming, but it's perhaps the easiest to master, so this is where you should start.
-
About
Linux:
The Troubleshooting Crisis is more than lack of Troubleshooting Process. A big contributor is non-modular systems, with a popular operating system leading the way. Can we constantly change our Troubleshooting to keep pace with ever more complex, non-modular and obfuscated systems? Do we want to?
Enter Linux, a well built, well documented, modular operating system which can remain "up" for weeks. It may not be the best choice for word processing (or maybe it is -- read on), but many see it as an "ISP in a box", a "network in a box", an "engineering workstation in a box", or possibly the most intriguing, a "supercomputer in a box".
And it's getting more corporationally correct. Recently DBMS Superpower Sybase made their Adaptive Server Enterprise technology available on the Linux platform. Guest author Michael Peppler has created a Perl interface to Sybase, and writes about it in this magazine. Oracle Corporation, another heavyweight in the DBMS industry, recently announced it would be creating a Linux compatible Oracle.
-
Linux
Screenshots
The following assumes a Linux box named servername and a user named username, with which you do your examples for your documentation.
From the console, log into your xserver as the same user as you're doing your Samba testing with (username)
Make sure you're at the screen resolution and color depth specified by your publisher, or greater. Best images occur when the screen resolution and color depth *exactly* match your publisher's specification.
Close all windows, move all buttonbars to the side.
From another box, open a telnet into your Samba server, using user username. This can also be done with a virtual terminal.
Run the program for which a screenshot must be taken, from the command prompt in the telnet session. The trick is to use the display option, i.e. ----
$ netscape -display servername:0 &
Note that unless you have more than 1 keyboard or 1 monitor attached to the server, the display is always boxname:0
On the server X console, do whatever you need to do to get the shot lined up. This includes setting exactly the right window as active, putting the mouse pointer out of the way or pointing to a menu selection, etc.
From the telnet session, logged in as username (this will fail otherwise), take your screenshot with this command:
$ import -window root -display servername:0 myfile01.pcx
Repeat the preceding steps for all your screenshots, using different filenames
-
Linux
DNS:
Bind (the protocol behind DNS) has gone from version 4 to version 8. A version 4 setup WILL NOT work with version 8 bind (a version 8 named program). When moving up to version 8, your best bet is to start from scratch, using your old setup files only as a guide to IP numbers and host/domain names.
Here is what we're assuming:
Linux server, eth0 hard IP at 192.168.102.3, is being used as a local DNS server.
Machine's domain name is mydomain.cxm
Machine's hostname is linuxhost.mydomain.cxm, or linuxhost for short
Virtual IP 192.168.200.140-149 are hung off the loopback (lo) (linuxconf::config:networking:server tasks:IP aliases forvirtual hosts:lo)
Virtual IP 192.168.200.146 points to /usr/doc/postgresql-6.3.2 (the PostgreSQL docs) via code in /etc/httpd/conf/httpd.conf
Virtual IP 192.168.200.148 points to /usr/doc/LDP/nag (the Network Administrator Guide) via code in /etc/httpd/conf/httpd.conf
http://192.168.200.148/ is browsable in Netscape from any machine on the 192.168.100 subnet (ip forwarding...)
-
Linux
Pre-Installation:
With modern installation programs, a clean Linux install is pretty easy. The tough part is making it into the server or workstation you want it to be. The purpose of this document is to make that easier. This document is based on the Red Hat 5.2 Linux distribution.
Back up everything you'll need to make things easier on the new machine. At a minimum this includes:
The /etc tree, to have a copy of your original configuration. Recommend use Linux's included zip program.
/var/named (or wherever you keep your DNS). Recommend use Linux's included zip program.
Any Linux additions or upgrades in .gz or .rpm or whatever format (newer Samba, dnswalk, dbi:dbd, etc.)
Anything you don't have on distribution media
|
|
|