Teaching Linux

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
21,607
Location
I am omnipresent
If you had 40 hours of classroom time with a Linux expert (er... that's me, in this case), is there anything in particular you'd want to take away from your time in class?

Found out I have to teach a Linux+ certification class starting tomorrow. I looked at the objectives and passed the test last week, but to be honest I don't know how to present what's going to boil down to 40 hours of working at a command prompt to a bunch of guys I'm not even completely sure have a working knowledge of WINDOWS.

So I know there's lots of guys with limited Linux experience here, and if I step away from the certification part (honestly I don't think any of them will do it), I'm kind of wondering - what did/do you want to use it for, and what major stumbling blocks you had.
 

sechs

Storage? I am Storage!
Joined
Feb 1, 2003
Messages
4,709
Location
Left Coast
If you have to start with "this is a mouse, this is a keyboard," then it may be some time before you get to Linux....

I found it really useful at first to know how to use key Unix commands and combine them. Piping and redirection are your friends.

If you can get past that point, maybe you can teach them to fork processes and use XWindows!
 

Buck

Storage? I am Storage!
Joined
Feb 22, 2002
Messages
4,514
Location
Blurry.
Website
www.hlmcompany.com
The few times I've stepped out to use Linux, I look for something that is similar to Windows and can easily be navigated through a GUI. Running the commands at a prompt is neat, but I'd rather use a simple GUI to . . . let's say . . . set a Samba share.

Also, for those Linux moments, I'm usually setting up a file server. Thus I would be interested in setting up local accounts, Samba shares, sharing folders, and permissions. Also, it would be helpful to teach remote administration of a system through something like RealVNC. Oh, and it just came to me that teaching the concept of using folders instead of drive letters for a drive would helpful.
 

time

Storage? I am Storage!
Joined
Jan 18, 2002
Messages
4,932
Location
Brisbane, Oz
It's impossible to say without knowing what the focus of the course is supposed to be and at what level the students are.

Like Sechs said, I guess stdin, stdout, stderr and redirections are a good start. Plus practical uses for grep, although this is just basic UNIX stuff.

How to configure a GUI shell / app-of-your-choice by editing config files?

How to program a shell script?

I guess partitioning and drive mounting are relevant.

Sorry, I'm already out of ideas. I just stick with GUI interfaces. :)
 

time

Storage? I am Storage!
Joined
Jan 18, 2002
Messages
4,932
Location
Brisbane, Oz
What Buck said. :)

Permissions are a biggie. Most people don't seem to understand them properly.
 

ddrueding

Fixture
Joined
Feb 4, 2002
Messages
19,530
Location
Horsens, Denmark
My total Linux experience is 2 GUI-based installs and prompt formatting due to inability to configure sound and video to my taste or install anything at all. If your students are at my level, my condolences. I'd like a class to start with:

1. Installation basics
...partition management
...install methods
...install options
...installing new hardware/device drivers
...installing applications
...removing applications
2. Navigation basics
...wheres the control panel? My Computer?
...multitasking
...configuring the GUI

etc.
 

Buck

Storage? I am Storage!
Joined
Feb 22, 2002
Messages
4,514
Location
Blurry.
Website
www.hlmcompany.com
Include what David said. :lol:

Ironically, many of these instructions we're discussing that involve the GUI are not related as much to Linux as they are to the distribution.
 

Handruin

Administrator
Joined
Jan 13, 2002
Messages
13,741
Location
USA
Since I'm no linux expert, I'll ask you the question I have, and maybe it will help the people you have to teach if you could if you had topics about them. I also agree the basic tools like more, grep, ls, vi, etc are also important fundamentals to using the OS.

1.) What is a basic installation layout of linux. What are the typical folders, and what are they used for? (specific details and examples for each type)
2.) What is an optimal way to store personal data? Which directories, under a user account? Is it best to store files in /usr/home/?
3.) Permissions. What is the best way to share files between different users on the same system? Everyone says not to use the system as root, so do I make a non-root user and place him/her in their own group?
4.) Installing packages. Fedora/redhat have RPM's, but I still find it hard to manage the install of a component when there are interdependencies between packages. What other types of software installation and package management are there?
5.) Installing Linux. What components should I select for an optimal install? What components should I avoid to reduce bloat?
6.) Install file systems. What is an optimal configuration of file systems? How large should I make each one, and which ones should I make as partitions rather than having them all on the same partition?
7.) What's the difference between xwindows and the other desktop variants such as gnome and KDE? Do the latter use xwindows to operate?
8.) How do I make linux have better quality fonts?
9.) Environment variables. Where does Linux store them, and how would a person manage setting them?
10.) How does linux manage starting services? Is there a proper way to start applications (such as MySQL/apache), or do they work best in some type of profile?
11.) Compiling applications. I figured out how to do this the hard way using GCC, but I don't understand everything I did to compile things like apache, php, and mysql. I tried following instructions to use "./configure", then "make". Is "configure" a script within most applications to add options to the source? What the heck does "make" do? Does it actually do the compiling with GCC?

I'm sure I can think up more. I'm learning a ton, and I've been able to guess at most of what I asked, but I'd like to learn more about those items.
 

RWIndiana

Learning Storage Performance
Joined
Oct 19, 2004
Messages
335
Location
Nirvana
Well, what I would ask is - how do I recover a username and password for Linux from a hard drive I got off of ebay? Probably not the typical question, I know.
 

Bozo

Storage? I am Storage!
Joined
Feb 12, 2002
Messages
4,396
Location
Twilight Zone
I'd want to know: (as a Windows users first crack at Linux)


How do I install Linux
How do I adjust the monitor to my liking
How do I connect to a network
How do I connect to the Internet
How do I install/remove programs
Does Linux have utilities like Defrag and chkdsk


I'd avoid the command prompt

Bozo :mrgrn:
 

sechs

Storage? I am Storage!
Joined
Feb 1, 2003
Messages
4,709
Location
Left Coast
Okkay, GUI-bound users:

What do you do when XWindows fails to start due to some issue with the aforementioned hardware or configuration?

You'd be looking for some command line skills right at that point.

Furthurmore, how will these people write shell scripts if they never use the shell? This is a pretty basic *nix skill.

I say we start at the base of the pyramid, rather than trying to figure out how to put the casing stone on.
 

The JoJo

Wannabe Storage Freak
Joined
Jan 25, 2002
Messages
1,490
Location
Finland, Turku
Website
www.thejojo.com
I agree with pretty much everything said here, and noticed that most of this stuff is exactly what is in some learning linux / guide to cert books. Seems like a pretty logical flow of information in them, so why not look at the TOC of a few of those books?

1. what is linux, who makes it, different distributions
2. installing it (filesystems, partitions, directories, files, networking etc...)
3. CLI
4. GUI
5.....

The other problems is that if the level of their knowledge is at the level you're hinting/afraid of, getting all the info presented in 40h hours to them (with all their problems and questions) will be an ....interesting experience.
 

Fushigi

Storage Is My Life
Joined
Jan 23, 2002
Messages
2,890
Location
Illinois, USA
Expanding a little on sechs' comment, another thing that I think is vitally important for the students to realize is that the GUI is not a part of the OS itself; it's a bolt-on app just like Apache, etc.

After covering issues like partition management and installation methods, I'd say cover at least the basic shell commands and even some light scripting. Once there's some familiarity with the command line utils, discuss the various GUIs and only then pick one to install. Maybe make it a classroom exercise to eval the properties of the various ones that are available and then install the one they think is best.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
21,607
Location
I am omnipresent
Couple things:

1. The way the certification exam goals read, there is no need to interact with a GUI at all. None, zero, zip.
So I'm setting up a linux box, and I'm just going to have them telnet into it (yes, ssh is better. No, I don't feel like installing an ssh client on my classroom PCs).

2. They're getting knoppix as a take-home. That way I don't have to deal with the nightmare of "Linux ate my windows install". Knoppix has a beautiful KDE desktop, but I took them to runlevel 3 this morning, showed them that the same shell is still there etc. Later, I'll probably have them install something on a PC, but knoppix is a good, functional start.

2.5. The "classroom server" will probably be Fedora or Slackware, if anyone is wondering. RedHat is still the most common "business linux" and Slack doesn't do anything for you, which is good from a learning standpoint.

3. The books are fine for learning the 16 billion commands and options. The shell programming stuff is part of the exam. They'll get it, but truthfully they'll probably never use it. But someone who doesn't necessarily know much about Linux as an OS is probably going to have a hard time understanding WHY they need to know these things (the point and drool mentality). Which is why I was trying to think of a project or activity one might use Linux for (one that's occurred to me since is PVR, or even just adding drives to a Tivo) that would require lots of command-line tomfoolery.
Buck's "configure Samba" idea is good, too.

RWIndiana - if the disk has linux on it, and you'd just like to access the data, boot to single user mode, passwd and overwrite the old one. Or mount it on another linux PC (knoppix if need be) and just read the data you want. Or run crack and spend the rest of your life guessing it.
 

sechs

Storage? I am Storage!
Joined
Feb 1, 2003
Messages
4,709
Location
Left Coast
That would not, in fact, involve Linux.

Wait until he tells them that Linux is just the kernel!
 

.Nut

Learning Storage Performance
Joined
Jul 30, 2002
Messages
229
Location
.MARS
sechs said:
...you have to start with "this is a mouse, this is a keyboard," then it may be some time before you get to Linux...

"This is a mouse, this is a keyboard, and this is a cup holder..."



Wait until he tells them that Linux is just the kernel!

"This is the kernel, and we interact with the kernel using something called the korn shell.

One of the many reasons we need to keep our systems clean is because hungry viruses will be attracted to the aroma of the korn shell and then try to attack the kernel..."
 

CityK

Storage Freak Apprentice
Joined
Sep 2, 2002
Messages
1,719
No, no, no. Kernal Korn was a bumbling character from Hogan's Heroes. His side kick was the inept Sgt. Samba --- I know not-ting!
 

.Nut

Learning Storage Performance
Joined
Jul 30, 2002
Messages
229
Location
.MARS
This is an E-mail application. The e-mail application uses protocols to send and receive e-mail messages.

The POP protocol is what the e-mail application uses to send e-mail messages back home to your parents. Another protocol, the S&MTP protocol, is, well, the protocol that your e-mail application uses to receive pr0n.
 

Bookmage

What is this storage?
Joined
Jun 24, 2004
Messages
95
Location
VA
Website
www.bookmage.net
Mercutio said:
If you had 40 hours of classroom time with a Linux expert (er... that's me, in this case), is there anything in particular you'd want to take away from your time in class?

If all you're teaching is cli, then probably teach the basics and most used commands. Possibly include something along the lines of installing in text mode, adding users & groups, permissions, configuration of everything, and installation and configuration of Xwindows and stuff if needed. A run through of services and how to add, remove, and config them. Then, how to add and install new programs from sourceforge, rpm, apt-get or whatever. also, configure, make, make install is your friend. So is google.
I'm sure there could be a whole hour dedicated to vim and all it's shortcuts too :p
 

Adcadet

Storage Freak
Joined
Jan 14, 2002
Messages
1,861
Location
44.8, -91.5
sounds like learning how to ssh into a remote Linux server, setting it up, getting the files on the server, etc etc would be a very nice thing.
 

blakerwry

Storage? I am Storage!
Joined
Oct 12, 2002
Messages
4,203
Location
Kansas City, USA
Website
justblake.com
Merc, I'm taking a 2 part Linux class at a Junior college right now, it is aimed at preparing students for the Red hat Certification.

I have basically completed the 1st semester/half of the course and could provide you with a syllabus to give you an idea of what is being taught. I've been incredibly busy lately. Perhaps I'll have a chance to post it tomorrow.
 

RWIndiana

Learning Storage Performance
Joined
Oct 19, 2004
Messages
335
Location
Nirvana
Okay now that I'm not as clueless as I was and am now running Linux almost exclusively for everything I do, I would say I agree that file permissions are a good thing to teach. And basic commands, of course. Writing scripts, understanding runlevels. And perhaps that ext2 and ext3 filesystems almost never need defragged and other things that differ from Windows.

Other stuff like installing and removing programs varies too much between distros, but I like Debian's system the best.

Sorry this came about a year and a half late. I had to learn Linux before knowing what questions I should probably ask.
 

Sol

Storage is cool
Joined
Feb 10, 2002
Messages
960
Location
Cardiff (Wales)
When I first started with Linux I knew how to do a couple of basic things and I could use a couple of basic tools, but picking up new tools was a major pain in the arse. It took hours just to figure out which tool I would need for a particular job just so I could actually find the man page for it...

I'm not entirely sure how you would go about cutting down the time people need to be able to find thier own answers with Linux, perhaps familiarising them with the way a lot of tools typically function. Showing them how to look through the bin directory to find an executable that sounds about right then checking the man page... You can probably come up with something a little better, but at any rate I think in a system as complex as linux can be, the ability to find your own answers is probably the most useful skill you can have.
 

Mercutio

Fatwah on Western Digital
Joined
Jan 17, 2002
Messages
21,607
Location
I am omnipresent
I started learning with a short list of commands and a general idea of things I wanted to do. I started learning on the command line though and I'm still most comfortable there. Stay out of the GUI when you're learning. Stay out of the config tool (linuxconf, Yast etc). Set a goal (I want to make Linux serve SMB) and follow the recipes online for doing that.
Learn to use an editor well, and understand files and the philosophy of a UNIX directory tree.
 
Top