Learn Linux the Hard Way
An anonymous reader writes "Here is a free interactive beta of Learn Linux The Hard Way; a web-based virtual Linux environment which introduces the command line and other essential Linux concepts in 30 exercises. It's written in the style of Zed A. Shaw's Learn Code the Hard Way lessons. The authors says, 'You will encounter many detailed tables containing lists of many fields. You may think you do not need most of this information, but what I am trying to do here is to teach you the right way to approach all this scary data. And this right way is to interpret this data as mathematical formulas, where every single symbol has its meaning.' Of course, my first entry was rm -rf /* which only produced a stream of errors. I wish I had discovered something like a long time ago."
...slashdotted immediately
Tubby or not tubby. Fat is the question
Who will be the first to make a Puppet tutorial running multiple networked Linux instances in your browser?
Learn Linux the Hard Way? I thought learning Linux, period, was the hard way!
blog
The hard way is saying NO to Google, fora, newsgroups ant the like, and saying YES to Manpages, --help options, txt files that came with the package using cat maybe accompanied by | grep or | grep -v :-)
That is how I learned it in the mid-90's. Heck, google wasnt even there yet!
Anyway, I am going to do the course, see what I make of it
rm -rf --no-preserve-root /
Note that this should not to be confused with Schrödinger's ass, the infamous non-deterministic pack mule known for delivering US weapons to either Afghanistan or Pakistan at any given time.
Linux From Scratch boosted my Linux knowledge about a hundredfold. I cut my teeth on a modified LFS 5.1. Following the instructions, while tedious, was doable and straightforward. What made it more difficult for me was that my host distro was a bit too old for the then-current LFS (5.1). With a slow and expensive internet connection, downloading an entire distro was out of the question. Downloaded the official tarballs, mixed and matched on my Celeron 366, and I eventually got it up and running.
Gentoo isn't hard, it's just time consuming. And not even your time, CPU time.
If that was your first step into Linux, my hat is off to you.
Sadly, the number of Admins who know how or have done a Linux From Scratch (or even can compile a package from source) are low these days. Personally, I think anyone who is a Senior Admin should have done this at some point.
I put on my robe and wizard hat..
Might have saved me the past two decades...
Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
There's an old Jack Tramiel quote about computer pricing (referring to Apple II prices):
"
We need to build computers for the masses, not the classes."
I believe that Linux can be for the masses as well:
Linux for the masses, not just those who have taken programming classes.
Things like this "Linux the Hard Way" is the last thing we need. We need better tutorials, better documentation in general, something "better" than crappy gnu info (there's nothing I hate more than a man page that directs me to use gnu info, how I hate that thing) Making Linux more non-nerd friendly makes it better for everyone. It even saves nerds time. I'm not just talking Ubuntu here, after all there was a time when Red Hat was considered the Linux Distro for the Masses. Personally in my Linux usage, I prefer to take the "Easy Button" way whenever possible, I have a "set it and forget it" philosophy and I like "reasonable defaults". Sure, some things are faster in a terminal, but even there I take the easy way by using mrxvt, and not the incomprehensible geek=favorite...gnu screen.
Site is down... someone is learning capacity planning the hard way.
Having your hodge podgey around your Windows is what makes it all GUI.
Every mans' island needs an ocean; choose your ocean carefully.
Linux From Scratch is now considered more organic -- you know, the small animal sacrifices and such required for a successful compile.
Every mans' island needs an ocean; choose your ocean carefully.
I installed Ubuntu for my father who is in his 80's. Not only does he know nothing about Linux, he doesn't even know that he is using Linux.
The website is intended for people who actually want to open the hood and learn the internals. The point is to learn skills that employers will pay for.
Personally, I train green students with a formatted HDD and a Gentoo ISO. A rigorous and relevant curriculum produces technicians who can earn money and support their families. Many go on to lucrative careers in Linux system administration.
Of course, my first entry was rm -rf /* which only produced a stream of errors.
Try it again as root. =)
/* No Comment */
Then use the "easy button" and ignore the other stuff.
Different interfaces are developed for people who think and operate in different ways. Graphical interfaces are great for some people, while command driven interfaces are great for other people. Making the assumption that "geeks" will find graphical interfaces as easy to use as command driven interfaces is just as elitist as the assumption that "the masses" are ignorant because they cannot handle command driven interfaces. There is not a single "right way" to do things.
If you can't do that you are not an Admin, you are an operator.
Linux desktop is a mess man. Nothing just works as intended - it almost forces you to learn to use a shell..
While I agree with your post I think you are combining two extremes of Linux. "Linux Distributions" should be easy but Learning Linux should be hard. The masses should be able to choose a distribution that easy and will work out of the box (ala RHEL, Ubuntu, Linux Mint...). Learning Linux itself (kernels, command line, compiling from source, customize it to your liking) will never and shouldn't be easy because of the sheer amount of information. While condescending elitism has no place in any subject, I don't think something as open and complex as Linux will ever be easy. The masses should expect that web browsing, word processing, email and the occassional light game of solitaire should be easy. Hackers should expect to roll up their sleeves, get their hands dirty and occassionally fubar the system. As far as documentation and tutorials... Good Luck getting programmers to write something outside of comments.
Which will of course mean Linux becomes useless for those of us not inclined to stick to the shiny buttons and poke at the screen.
I would rather have less users, than cripple what we have now.
A common ground can be found, but it is hard. It means remembering that every program should run fine without X(even VLC has text output video), that the display and the program may not be on the same machine and that the pipe is still a useful tool. Frontends are nice, but if you program requires it you are already going down the wrong path.
If we give up on the fundamentals we might as well all move to windows 8 with touchscreens only.
That is absolutely correct especially if one had already learned window's commands. I have been using a Ubuntu computer for several years now. I just recently purchased a SSD. I found it so difficult to transfer my programs from the hard drive to the SSD that I just ended up reinstalling all of them. In windows I could just right click on the hard drive directory and send the program to the desktop. I also tried to duplicate a hard drive to an external hard drive. The program I was using could not do that until I opened up a terminal and did some commands before executing the program. It had something to do with the root directory being ram memory. All of the devices were in the directory /dev or something like that. The funny thing about that was that I thought that a terminal was a program to communicate with another computer. I have used dos commands to get around a hard drive but commands like rd cd.. cd \, using a letter for all devices are not used in linux. I still do not know how to get how much free space there is on a device. Open up windows explorer and one can easily find that out. I recently installed Ubuntu 12.10 on a SSD. I found that it would lock my computer if it was inactive for a few minutes. I thought that was something to do with a screen saver so I tried to right click on the screen like I do in windows. After trying to search for screen saver in the help program and getting no help, I finally saw desktop locking but only after several minutes. I tolerate linux(Ubuntu) because I do not want to purchase a copy of windows(I purchase the components of the computer and made it myself so it never had windows).
So, the intro goes on about how you need to take the time to learn the details, even the little things that you think you can skip for the time being. The example given is the output of ls -l. We are told that we will never understand Linux if we gloss over the confusing bits. We must dive in and know what each element of the output means.
And to do so, we're given a full in-browser emulator that boots Linux including pages and pages of boot-time console messages. Where's the explanation for these? Why is it okay to gloss over them when it's not okay to gloss over parts of a directory listing? Wouldn't "the hard way" be to start with the very first console message and work through the boot process?
Or is this just the author's way of saying, "You need to learn all the details up to the level that I know them. But the stuff I don't know about, like all that console garbage, isn't important anyway."?
Chelloveck
I give up on debugging. From now on, SIGSEGV is a feature.
I still do not know how to get how much free space there is on a device. .
from the terminal, "df -k ." will show you the utilization of the current filesystem based on mountpoint.
. / . /
. /
/usr/bin /usr/lib / /cygdrive/c /cygdrive/e /cygdrive/f /cygdrive/h
/cygdrive/f/ /cygdrive/f
for example in Cygwin:
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
C:/cygwin 302329364 131551300 170778064 44%
and then you can always choose a different delimiter:
$ df -BM
Filesystem 1M-blocks Used Available Use% Mounted on
C:/cygwin 295244M 128469M 166776M 44%
OR
$ df -BG
Filesystem 1G-blocks Used Available Use% Mounted on
C:/cygwin 289G 126G 163G 44%
alternatively, removing the (dot) will show all filesystems/mount points, though many of them will hit the same place:
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
C:/cygwin/bin 302329364 131551492 170777872 44%
C:/cygwin/lib 302329364 131550980 170778384 44%
C:/cygwin 302329364 131550980 170778384 44%
C: 302329364 131550980 170778384 44%
E: 6828 6828 0 100%
F: 7837760 5767264 2070496 74%
H: 1181088748 832353144 348735604 71%
or, if you want to look at a specific mount without actually going there...
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
F: 7837760 5767264 2070496 74%
(aside -- damn you slashcode, and non-fixed-length font)
That needs to be in large bold caps. I've gotten a few of those "Google it. You can do this" comments, too, without even the courtesy of suggesting appropriate search terms. Obviously I don't know them, if my searches so far haven't done better than land me on that forum. Lack of an easy, fast clear way to find current answers is the biggest thing holding linux back.
I have had Linux From Scratch bookmarked for a couple of years now. Sadly I can never find the time to actually do it. In a world where every boy and his dog thinks that Linux starts and ends with Unbuntu, I feel if I want to know Linux, I have to start with rolling my own kernel and then building from there.
Most younglings wouldn't get it; they just want Stuff To Work, Right Now. Who do they think creates this Stuff in the first place?!
I'm also hindered by the fact that I am Windows Guru. No, a real one. I _know_ Windows, right now to the nuts and bolts like decompiling DLLs to work out why they crash. I'm a rare breed in that arena too, in fact the desktop Linux fanboi's are now all starting to sound a lot like the idiot 20-something 'Windows Admins' with spiky hair and loud suits that I have to suffer. :(
Grumble, Grumble, I'm back off to my cave.
-Jar.
Together, We Can Make Slashdot Better. I Do NOT Mod ACs. - Check Me Out
Installing Gentoo is not difficult per se, but it's certainly an effective way to learn low level system administration and a lot about the Linux ecosystem. Now of course it's entirely possible to install Gentoo and not take away anything from it (i.e. just mindlessly copy-and-paste from the Gentoo Handbook and never attempt to understand what's going on), but even if you just apply minimal effort, it's a great way to learn a lot about Linux.
For example, a typical Stage 3 install will involve manually partionioning (possibly even using RAID/LVM), formating a FS, loop back mounting, chrooting, compiling a kernel, installing GRUB, adding users/groups, networking, cron, etc. That's just off the top of my head. If you make a mistake (like I did installing GRUB manually the first time), you can learn a whole lot more when you try to fix it.
Gentoo also has excellent documentation and, by virtue of being an niche/ethusiast distro, a much more advanced user base compared to most Linux distributions. I'm not saying there aren't folks on other distros that know more than someone using Gentoo, but on average, most Gentoo users (especially those active in their forums) tend to be fairly advanced users.
Finally, Gentoo is extremely flexible, so if you really want to get down to the nitty-gritty, it's certainly possible. Although Stage 1 installs (where you bootstrap your compiler) are no longer officially supported, there's active threads in the official forums on how to do it. If you want to play in the embedded space, Gentoo has one of the best cross-compiling systems out there (a benefit of being source based).
The long and short of it is, installing Gentoo is a great way for someone sincerely interested to learn a lot about Linux.
Sadly, PS/2 was yet another victim of USB, which doesn't care what you plug into it, the electrical slut.
Learning, yes, the same way learning Windows is hard. However, installing and using both are not that different. The biggest one I think is that you don't have to visit 50 different sites hunting for that missing driver that didn't install automatically if you're using Linux...
This is blinging
The difference is, in Linux 80-90% of the commands stay the same for ages, while in Windows they change 80-90% of the stuff around all the time. ;-P
Actually, no. For instance, in RHEL, system-config-network is what one would use in order to configure networking, while service network restart would be what one has to do once it's done to get things up & running. But I've tried doing the same w/ other distros, and it just doesn't work. Not to mention that in Linux, different distros freely mess around w/ the locations of config files and others, so what you know from, say, RHEL can't easily be transferred to what you know in, say, Debian.
What you are thinking about is actually true in the BSDs, where commands that were known years ago in BSD Unix are still valid today.
I mean the hard was *is* the better way, I mean why use those pesky function keys or use the GUI slider, when you can
echo 7 | sudo tee /sys/class/backlight/acpi_video0/brightness
That's why my Kubuntu 12.10 has prevented the Fn keys or the brightness slider in the power option from *actually* performing any action. It's for our own benefit! The fact the they function in Lubuntu is clearly to our disadvantage, KDE is looking after our long term interest, unlike those pesky LXDE guys.
Vive le Linux!
----
Sarcasm side, I have nothing against learning bash commands or getting to know the depth of the the system,. I mean, who can argue that sudo apt-get whatever is faster and neater than going into synaptic or muon or whatever... But for humanity's sake, let us learn on *our* pace, don't force it down our throats, check if the god damn GUI works, even if *you* will never use it.
Let them decide, to use an example, if they want to sudo apt-get install && sudo apt-get update or want to click the system update button on the muon popup. See, I am a friggin' accountant, I am not even supposed to understand the word linux and yet here I am discussing some simple commands, but albeit those which I learnt on my *own* pace, I don't appreciate that for simple functions I have bring out the Konsole, and it's not one of those "we don't have the drivers" type excuses, acpi_video0 is a generic folder, not specific to any particular video card or screen (AFAIK), surely they could check to see if the damn slider works?
I am sorry for the rant, it's just that I had to remove an otherwise working Kubuntu install because of this and other minor niggles, let's see if the latest LM has these minor issues fixed...
You know what will be the year of Linux on desktop? When they make a distro that forgets to contain a console, and no one notices...
I am an ACCA student. Got a query on Accountancy/Finance? Maybe I can help!