Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Linux Software

Teaching Linux/Unix Basics to Microsoft Junkies? 570

flupps asks: "I've been asked to hold a two-day crash course in a class of students that currently are studying to become MCSD certified. I'm looking for ideas how to set this up. I was thinking about starting with some general file system descriptions, where to find what files, the man pages, the tab-button, etc. After that move on to some of the daemons and just explain what they do." He's got at least one idea to start with (below), but what must-have skills or demonstrations would you add?

I also plan to set a database program in VB (one of the certificates in the MCSD suite) against a MySQL or Postresql db and show that there are free alternatives that works as well as SQL server.

What would you think could be a good addition to teach them?

This is in no way meant to be a very advanced course, but I want to show some of the excellence of *nix and why you sometimes can save time and stability and maybe make them interested and read up more by themselves afterwards.

Any suggestions very welcome.

This discussion has been archived. No new comments can be posted.

Teaching Linux/Unix Basics to Microsoft Junkies?

Comments Filter:
  • by DrPascal ( 185005 ) on Sunday April 14, 2002 @02:59PM (#3339601) Homepage
    Although I think the sadistic tone of your post is very funny, it's realistically a bad angle.

    One thing that Windows based users think of Linux users is that they are pretentious and cocky when it comes to using computers ... quite frankly, because that is how the [insert most appropriate word like "majority" here] of them are.

    By zooming around and doing the amazing things one can do in Bash (I am a big fan), you simply alienate them, and push them away. It almost says to them "ha, ha, you CAN'T DO this." That's poor teaching. The message you want to convey is "You can do this too, and it's not too tough."

    Another angle (!): Ever tried installing Cygwin/SSH on a Windows 2000 box? I have it running on a machine or two, and if you have the HOME set to /Documents And Settings/$USER, it really makes remote access beautiful. Maybe you can have them try this as well, and it might be a stepping stone.
  • SSH/X-forwarding (Score:3, Interesting)

    by OblongPlatypus ( 233746 ) on Sunday April 14, 2002 @03:00PM (#3339604)
    Just show them the beauty of ssh and X-forwarding. It never fails to impress my Win/Mac-using friends when I run the latest version of our Java project application directly from the unix server at school.
  • A few thoughts. (Score:5, Interesting)

    by mrsam ( 12205 ) on Sunday April 14, 2002 @03:13PM (#3339644) Homepage
    Here are a few random suggestions, in no particular order.

    * Open a relatively complicated page in MSIE, the same page in Mozilla-win32, and the same page agin in Mozilla-linux. Go to a bunch of annoying web sites, with Mozilla's pop-up/pop-down filters enabled.

    * Use ssh to log in to a box halfway across the world. Demonstrate some simple system administration tasks, and the fact that anything you can do at the console you can also do remotely, via ssh.

    * Run either Gnome or KDE. Change the themes, a couple of times, demonstrate the customizable UI. Switching between one of the mac Aqua-like themes, some star trek theme, and one of the Winxx-lookalike themes should be very effective.

    * Install a distribution in server mode (no X11). Demonstrate the extreme modularization of Linux, such as you can complete get rid of all GUI support, and use only the disk/network services to turn a box into a network appliance.

    * Install Windows and Linux on the same box. Boot into Linux; then mount and browse Windows partitions. Make a casual remark that Windows cannot browse Linux partitions in the same way.

    * When the Linux box boots up, and is busy going through the initscripts, starting all the services, explain that if one service fails to start for some reason the boot process will continue and the machine should still be mostly usable. Ask if anyone experienced a situation where a Windows driver kept croaking during the boot process, and what happened alter.

    I recall an incident about three years ago when UMAX shipped a buggy driver for their scanners. The driver was faulting on machines with USB ports, and CPU speeds over 400 Mhz (something about some timing loop), forcing a complete crash during the Windows boot cycle, with the subsequent reboot falling back into safe mode.

    The Linux equivalent for this would be something like SANE, which runs completely in user mode, and therefore cannot crash the entire OS.

    * Use samba to browse the local windows network neighborhood.

    * If you have a fat pipe, forward X11 over ssh, and run remote X applications on the local terminal.

    * Install a base distribution package right out of the box. I'll use Red Hat 7.2 as an example. Apply all the errata to bring the box up to date, except for the kernel, without rebooting. Even install a new version of glibc (the equivalent of msvcxxrt.dll) without rebooting the box. Install a new kernel on the remote machine, make sure that LILO or GRUB is all set up, then remotely reboot the box into the new kernel.
  • An excellent book (Score:4, Interesting)

    by SpookComix ( 113948 ) <spookcomix@@@gmail...com> on Sunday April 14, 2002 @03:17PM (#3339661) Homepage Journal
    I was born and raised in Microsoft land (MCSE since 1999), and although I've been playing with Linux for several years out of curiosity, I didn't get serious about it until a year ago. I've seen hundreds of books on Linux, and own several myself, but the one I recommend hands down over all the rest, especially in your case, is "Linux Administration: A Beginner's Guide" by Steve Shah. [barnesandnoble.com] It's written specifically with your kind of users in mind. From the blurb:

    Steve Shah writes to the millions of people who are familiar with Windows (and perhaps NT and/or 2000) but not with *nix. (He's even provided a 16-page blueprint section comparing how to perform common tasks in Linux and Windows 2000.)

    It helped me over the hump when I became serious about learning Linux, and I use it as a resource still today. Even if you don't use it as a guide for your class, I'd highly recommend that you mention it to your students.

    --SC

  • by mikeb ( 6025 ) on Sunday April 14, 2002 @03:42PM (#3339754) Homepage
    I'm sure that many of the posters here suggesting teach-this or teach-that mean well, but most seem to me to be missing the point. You don't start teaching a class or course without an objective, unless you are naive or dumb. The first two things you have to know with any class are a) what do they know when they come in and b) what should they know when they leave. Ok, for this group we have a fair idea of what they know coming in (but all the same, it helps to know if they are CS grads, MIT professors or high school dropouts :) ).

    So the next thing is the outcome you want. Why are they being taught? Whose idea was it? Is it just for information, or are they supposed to be able to DO something with this new knowledge they are supposed to be acquiring? Is it just a general awareness class or what? If you don't know that, you haven't a chance in hell of getting it right.

    Once that's known you can figure out what you want to introduce them to. There are some materials you might care to use free for download from http://www.linuxtraining.co.uk if that helps you with some training notes.

    As someone who makes part of his living from Unix and Linux training (the former for 25 years, the latter for 5 years) I'll happily share my experiences of introducing Microsofties to things like the command line and the intricacies of Linux.

    They will be impressed by networked X - I save that for the last couple of hours, since people typically remember most about the last thing they saw and you want to leave a good impression.

    The filesystem won't be hard for them, neither will NFS. They will keep asking about domain authentication, but I'd steer clear of NIS :)

    The most important thing I can say is that they will HATE HATE HATE anything command-line oriented. The fastest way to lose them is to start harping on about it. The really bright ones will pick that up for themselves later, but for the introduction, use something like SWAT for Samba admin - webmin will do that and most other things too. I can't emphasise that enough, it's based on real-life experience.

    The rest of the class plan you will have to pick when you know what you are trying to get them to do when they leave.

    Finally, don't try to teach too much. Two days is VERY limited, the best you are likely to do is get them interested and reduce the fear level. To get people through even basic stuff like LPI 101 and 102 is around ten days of classroom and exercise sessions. In two days they can only get a taster. If you haven't taught in this kind of situation before, you will be astonished how little can be covered in two days from a standing start :(

    Best of luck!

    Mike
  • Re:A few thoughts. (Score:2, Interesting)

    by graf0z ( 464763 ) on Sunday April 14, 2002 @04:25PM (#3339906)
    I have to give 2d apache/linux crash-courses regularly to admins, which are mostly MS-only with none up to medium network knowledge (yes, they are admins in their companies ...). Most of the suggestions of mr sam work, espacillay the ssh stuff, but they have to do it on their own! If they manage to do all these nice gimmicks, you got them! So: show them what you want to show and then let them do the same (but free choice of details like pathnames and such). So let admins...

    • install a linux distri on their own (i use RH)

    • edit "index.html", start preinstalled apache and ask their neighbor how do you like my new homepage?(this is the second point after installing, just to impress)

    • set up useraccouts, start sshd and then change places for going on administrating their boxes remotely

    You get the idea ... there should be similar tasks for coders. But a warning: they will get it slowly. The command line (you will do all the importing things only in bash, don't you?) is absolutely new to them, so you will have to explain over and over again (ext2, absolute/relative path (although it is the same in win)). emacs/vi it definitely necessary, but it's a showstopper.

    Another thing: Some facts you can tell them over and over again like "do not use telnet, it's fucking unsafe, use ssh", but if you do not demonstrate it or let them explore it, they won't understand the importance. So proof your statement using tcpdump (they will love it!).

  • by iq in binary ( 305246 ) <iq_in_binary AT hotmail DOT com> on Sunday April 14, 2002 @04:26PM (#3339911) Homepage
    One of the things that gets me interested in things and makes me want to learn more about it is when I see something really useful or cool or whatnot done with what I want to learn about. Take electronics for example, my electronics teacher got me interested on the first day by pulling out a mic/transmitter array that could be used for very devious purposes (say, room tapping). This caught my attention quick (I'm 16, what d'ya expect). A good way for you to teach them, especially in crash course format, would be to get them to want to be able to do something "up there", like piping
    • very
    certain data from an often used program on your server to, say, a log file or even another program. Try to make it look as easy as possible, emphasise that it can be done with any program, any file. Stuff like that cannot be done with any microsoft OS unless the programs are written or re-written specifically for the purpose.

    On top of that, when you have them doing something on their own, be doing something on your own computer (X running, blah blah blah) that would amaze a windows user. Use enlightenment with a really good theme while doing something that has to do with class or even just burn time. On the off chance they see what you're doing, they might start looking at Linux as being more and more attractive;)

    Of course, this might not work, the students having less care for anything else other than Microsoft, their souls having been sold to them and all :-P

  • ESR's Drag.NET (Score:2, Interesting)

    by bemis ( 29806 ) on Sunday April 14, 2002 @04:53PM (#3340032) Homepage
    check this out. [tuxedo.org]

    ESR did this piece about setting his wife (a windows-junkie-lawyer) up under Linux/KDE ... it's amusing, not entirely serious, but might prove helpful.

    bemis

    -The fellow who thinks he knows it all is especially annoying to those of us who do. - Harold Coffin
  • cat is not useless (Score:2, Interesting)

    by 0x0d0a ( 568518 ) on Sunday April 14, 2002 @05:05PM (#3340075) Journal
    I don't understand why people *care* unless they're writing something that's absolutely performance-critical (and then I suspect it'd be in perl, not in shell).

    Yes, cat causes a bit of overhead. However (and I have a PII/266), it serves one excellent purpose -- if you habitually use cat, you don't have to worry about the syntax of the next command in the pipeline. Maybe it accepts a file, maybe it doesn't, maybe it's some wrapper script that doesn't accept a file...for one liners, using cat is a *good* habit to be in. You don't have to constantly check man pages, documentation, or "try it and see if it works".

    I think most of the "useless use of" complaints in UNIX that USENET people like to mention to show off their UNIX leetness are just stupid. Skimming down this page [helsinki.fi], I see:

    Useless Use of kill -9: Okay, you should always use TERM first. However, spending more of your valuable time trying three or four other signals before kill -9 is just stupid, however (unless it's netscape, which oddly enough can sometimes be axed with QUIT).

    Useless use of echo may be more legitimate *but* you may be planning to do something more extensive:
    command -options `echo $variable|seds/foo/bar/`, for example. You can't do that with just
    command -options $variable

    The useless use of ls * really is useless, IMHO, because it frequently has unwanted side effects...you'd need ls -d * to get equivalent behavior to ls.

    They get cranky about using grep foo |wc -l instead of grep -c foo. Who *cares*? Frequently grep is not the last element in the pipeline. If you're in the habit of using wc -l, you don't have to worry about the preceding item, even if you decide to insert a new item into the pipeline before grep and wc.

    The complaint about using grep + awk is just stupid. grep is significantly faster than awk, anyway.

  • by quintessent ( 197518 ) <my usr name on toofgiB [tod] moc> on Sunday April 14, 2002 @05:06PM (#3340079) Journal
    BTW:

    * In XP, tab completion is on by default.
    * There's also a built-in utility called findstr, which offers many options that find does not.
  • by bytewize ( 324814 ) on Sunday April 14, 2002 @06:17PM (#3340396)
    I've been giving linux courses to windows nerds.

    The first time I used Redhat 7.2. It turned out to be a mistake. The next time I used mandrake 8.2 and that worked well.

    The graphics seems to impress more than the cli.(Unfortunately) Things that you as a unix person are impressed by dont work well for windows people. This was a real problem for me as I use the cli for most of my work. You have to learn to use the kde tools like konqueror and kwrite.

    In 2 days you wont be able to do much more that show them the power of Linux. You need at least a week.

    Here are some of my tips based on the experiences that I have had.

    Make them install mandrake with a full graphics install with dual boot.

    Show the wizards and control center

    Show them X -query and rdesktop.

    Windows people seem to prefer kde to gnome but dont forget to show them choice. Install both so you can show them evolution.

    Also the web admins really impress them. (Swat, webmin and cups)

    Mandrake has a beta of Staroffice (silverclub members only). Get it. (email me if you want it)

    Dont even bother showing vi. Somehow it doesnt work for windows people.Use kwrite instead.

    Make sure you install all the games. During my course the games really got them going.For some strange reason "frozen bubble" was a big hit.

    Teaching the students the cli with commands like grep, cut etc. didnt impress much until they wrote their first script. I had them write a simple menu to start different commands. Then they understood the power of unix.

    Get them to run ssh to each other. For windows admins this is very impressive. Installing kiofish in kde is also impressive.

    If you want my course material, I'll be happy to send it to you. Its in swedish and not that good but you could send it through babelfish and get som ideas. Its for the cli so it wont be useful unless you can increase the course to at least 5 days.

    These are some of my experiences. Hope they help you.

    Regards kenneth karlsson
  • No need to reboot (Score:2, Interesting)

    by craybob ( 573635 ) on Sunday April 14, 2002 @06:24PM (#3340418)
    I've been working with our new systems guy and he only knows Windows administration. His biggest hangup is that he tries to reboot my server 4-5 times a day when he changes anything. I try explaining that before he got here it had an uptime of over 2 years and he can't comprehend it.
  • by Merkins ( 224523 ) on Sunday April 14, 2002 @07:26PM (#3340680) Homepage

    I have been teaching myself how to use Linux over the last week.

    I have been running Ipcop as a firewall for a few months and getting into the shell and poking around finally got the better of me and I decided to give Linux a good go.

    My goals were :

    1. Get it installed and running
    2. Get X working.
    3. Figure out the difference between a desktop and a window manager ;)
    4. Get Samba running
    5. Get apache running
    6. Get PHP and Postgress SQL running to learn them and get a simple web app together (I am a SQL Server / ASP developer by day ....yeah ok ok, shut up... not all of us a morons, just most unfortunately)

    SO far I am doing well. I had some Red Hat 7.1 CDs and have that running. Gnome and Enlightenment work for me, although I am mainly using enlightenment as it is a pretty crappy machine. I got Samba to work so I have a share set up in my Windows workgroup. I have Apache running. I have VNC Server and SSH running so I can do it all from my Windows Laptop using PuTTy and VNC (the only spare monitor I had was really crappy).

    The only thing I have left to do is configure PHP and a database and I am happy.

    But I do have a point....

    The most important thing I have learned. Is Google Groups search is your best friend. There are so many little quirks and pitfalls for someone setting this sort of stuff up by themselves for the first time. No tutorial can cover them all. Teaching people how to find answers is the best lesson of all. Especially when it is 1am and they have just managed to completely stop something from running (Samba, X etc), it is important to know how to get an answer when you have no one holding your hand.

    End of the story....I am loving it! If most of my computer use didn't involve SQL Server I could see myself switching.

  • by daveman_1 ( 62809 ) on Sunday April 14, 2002 @08:09PM (#3340838) Homepage
    Don't

    Even think about compiling anything.

    Hello? These people are studying to be MCSD? They are developers! This is what I would concentrate on. Show them the power of Unix development tools! They will be utterly amazed at how much flexibility the Unix development tools give them if they are used to using Visual Studio.

    My suggestion:
    Basic Commands and their syntax
    File permissions
    Text editor(probably emacs, vim scares a good many newbies, even though it is superior. ;o)

    And for god sakes, show them the difference between compiling code in windows vs unix and how much more control they have over the process. Show them how writing code yourself actually is a good idea! I cannot stress enough that this is the type of stuff an MCSD should be getting queued in to. It is likely to be what would really interest them about unix.
  • best project (Score:3, Interesting)

    by psych031337 ( 449156 ) <psych0@@@wtnet...de> on Monday April 15, 2002 @03:37AM (#3341915)
    OK... I am a guy that has seen DOS, 4DOS, numerous Redmond products. I currently am stuck to W2K and I probably will be for quite some time as it is damn reliable. Linux was never a issue to me, mainly because I have to eat (and therefore earn bucks admin'ing Win OSes).

    But what really fused my interest and admiration for linux was configuring a dedicated router on outdated hardware. There are quite some "linux router on a disk" projects out there, look for Coyote, FreeSCO or FLI4L (which is maintained by bunch of german guys).

    Get your people to setup a working design for a linux router. The beauty of the project is that they can just make a boot disk, reboot the box they are working on and test it for real. The simplicity of the projects has quite some advantages - it takes out the "cluttering" some distros have (as in having /bin, /sbin, /usr/bin, /usr/local/bin, ...) . The systems generated by (say) FLI4L are full linux systems, but without most of the fuss.

    These systems are probably all you need to teach the basics of piping and redirection, the /var and /proc concept, shell scripting and automating/streamlining processes, blah blah. To me the FLI4L is the essence of linux - a small thing to get the job done, with no waste of resources. On the other hand, there is basically nothing you CANNOT do with FLI4L - install a SMB server and print servies, control LEDs hanging off the serial port, httpd, ftpd, telnetd, mount NTFS, you name it.

    Excuse me for praising FLI4L here, other router distros are probably just as good, but FLI4L has the flexibility to astonish even people like me.

Always draw your curves, then plot your reading.

Working...