Slashdot Mirror


Learning More About Linux?

teh moges asks: "From an administrator point of view, I know a lot about Microsoft Windows: where files are stored, where settings are, which registry keys to edit, how to change drivers, and so on. I made the initial switch to Linux a year ago. I now feel capable enough with using Linux, from an end user's point of view, so that when things go wrong, I can fix them. I now want to become even more familiar with Linux. Are there any great resources, such as websites, wikis or books for someone that wants to find out exactly how Linux works and how to fix and modify it?"

184 comments

  1. Only thing to understand... by fimbulvetr · · Score: 3, Insightful

    Linux is files. The entire OS is based on files. Things to run on startup? Files. Opening hard drives? Files. Drivers? Files. (kernel mods)

    No magical black box registry, windows drivers, etc. Once you understand this, other things will come easier.

    1. Re:Only thing to understand... by Timesprout · · Score: 5, Funny

      Double cut flat files? Nail files? Diamond files? Needle files? Machine files?

      Can you be more specific about the files please.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    2. Re:Only thing to understand... by twenex27 · · Score: 4, Informative

      Linux is files. The entire OS is based on files. Things to run on startup? Files. Opening hard drives? Files. Drivers? Files. (kernel mods) Not quite true, of course. Networking breaks the "everything is a file model". Arguably, device drivers do too (witness the hundred and one interfaces to control different devices).
    3. Re:Only thing to understand... by dpilot · · Score: 1

      Certainly better than being made of tubes...

      Are you sure Linux really isn't a series of tubes?

      On a slightly more serious note, many aspects of Linux are documented, perhaps a starting point for what you want is the "Filesystem Hierarchy Standard". The name has changed a time or two, and I don't exactly know the latest, or the acronym.

      --
      The living have better things to do than to continue hating the dead.
    4. Re:Only thing to understand... by pclminion · · Score: 1

      No magical black box registry

      Can you say, "sysconf?" Or the /proc filesystem? That's a "registry" if I ever saw one. Slightly more manageable than the one on Windows, but a registry nevertheless.
    5. Re:Only thing to understand... by dextromulous · · Score: 1

      Can you say, "sysconf?" Or the /proc filesystem? That's a "registry" if I ever saw one. Slightly more manageable than the one on Windows, but a registry nevertheless.

      I can't think of many ways that /proc is similar to Windows Registry... would you care to enlighten me? I can think of many ways they are not similar... The fact that userland programs do not store persistent information in /proc is the first thing that comes to mind.

      Even /etc/* is more like Windows Registry than /proc is.

      --
      There are two types of people in the world: those who divide people into two types and those who don't.
    6. Re:Only thing to understand... by schon · · Score: 2, Interesting
      I would say that you made a nice example of selective quoting, but you couldn't even get that part right. You probably should have said "no [...] registry".

      No magical black box registry

      the /proc filesystem? That's a "registry" if I ever saw one. Could you explain how it's a "magical black box"?

      And you know what? Everything in it shows up as (wait for it..) files - which was kind of the point of the message you replied to.
    7. Re:Only thing to understand... by Ant+P. · · Score: 1

      Plan 9 is an OS based entirely on files. *nix is not. `ls /dev | grep eth0` for an example.

    8. Re:Only thing to understand... by 313373_bot · · Score: 1

      Are you sure Linux really isn't a series of tubes?

      Well, you can build pipelines of streams (like files!) and programs, right? ;-)
      --
      ^[:q!
    9. Re:Only thing to understand... by RKThoadan · · Score: 1

      Considering how often I've recently had to figure out which of the thousand or so config files I needed to edit and where the heck it was hiding, I pretty much wish Linux did have a registry.

      The windows registry could certainly be much better, especially from a security and compartmentalization stand point, but at least I can find the darn thing (and by the way, the registry is stored in files, theres nothing particularly magic about it)

    10. Re:Only thing to understand... by Anonymous Coward · · Score: 5, Informative

      Not exactly, but it's a close enough first approximation.

      For the Ask Slashdotter: /bin stores essential programs. These tend to be very low level programs. /dev stores file-like interfaces to device drivers. You can read and write to them, just as you would a file. (Using C. You probably won't need to touch anything in there unless you're programming drivers. /etc stores configuration files. They're supposed to be text files. The syntax varies across them, so Google is your friend here. /home stores user directories. Each user gets a /home/ directory. /lib stores essential, low level libraries.

      There are a few others, but these guys are the important ones for what follows. There is also a /usr hierarchy, which has it's own bin, lib, (possibly etc). It's meant for "shareable, read only data". This is where globally installed programs usually go.

      GCC is your compiler. You probably won't have to play around with it much, but I'll talk about some tricks to give you more insight into Linux. Suppose there's a program you want to try. You create a dummy account called "dummy" for it (so your data won't be in harm's way if it's buggy). Now, when you compile the program, you'll probably have to write ./configure. But that sets up the compile so that it gets installed in the main hierarchy. That's not what you want. So instead, you use ./configure --prefix=/home/dummy/program. Now, when the program is done compiling, you issue the install command (make install) and make automatically generates /home/dummy/program/bin, /home/dummy/program/lib, and so on. You've basically just made a private /usr hierarchy. This can be very handy.

      Now, suppose you end up really liking the program, and you want to be able to use it from your account, but want to deny everyone else access. You can just mv /home/dummy/program to /home//program. Everything will (should, really) continue to work. Now you'll want to change the hierarchy's permissions so that only can run the program. You can do that with chmod -r 541 /home//program.

      Of course, you don't want to have to keep typing /home//program/bin/ to run it, so you have to add /home//program/bin/ to your PATH environment variable. You do this by issuing an export command of the form export PATH="/home//program/bin:/home//program/lib:$PATH"

      Now you can type the program's name from any location, and it will run. But only until you restart your shell. To make the change permanent, you'll have to edit your .bashrc or .bash_profile file. These are a lot like DOS batch files, but are written in "Bash", which is more flexible. Just stick the export command above in either of them, and the command will be run when you log in.

      There are a lot of magic numbers and constructs in my post. Think of it as an invitation to learn about what you're interested in.

    11. Re:Only thing to understand... by fimbulvetr · · Score: 1

      /etc. It's called /etc.

      If your distro doesnt put config files there, ditch it and get one that's worth a shit.

    12. Re:Only thing to understand... by fimbulvetr · · Score: 2, Insightful

      I can treat everything in proc like a file. Like cpuinfo, or net/arp or THM/temperature. I can echo things into them to change processor speeds, networking options, etc.

      Slightly more managable? You show me one time when proc corrupted simply by "being there" in a stable kernel and I'll give that assertion to you.

    13. Re:Only thing to understand... by JackieBrown · · Score: 1

      For system wide settings a good place to start is /etc and for user setting look in your home directory.

      I don't see how looking at the registry and seeing HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, and HKEY_DYN_DNA plus all the hidden config files scattered all over windows root and user directories is easier.

    14. Re:Only thing to understand... by Captain+Splendid · · Score: 1

      and seeing HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, and HKEY_DYN_DNA

      Which is why, in the Windows world, people who manually edit the registry are looked upon as gods. If you can sit and stare at that all caps shit for more than 5 minutes without your eyes bleeding, you're a freaking hero in my book.

      --
      Linux, you magnificent bastard, I read the fucking manual!
    15. Re:Only thing to understand... by cyphercell · · Score: 1

      Don't forget to mention that they are all "hidden" in your home directory and begin with ".*".

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    16. Re:Only thing to understand... by oatworm · · Score: 1

      Oh, it's not the all caps that's difficult to parse - heck, that's the easy part. It's when you need to pass such wonderful keys as "\HKEY_CLASSES_ROOT\Interface\{243368F5-67C9-3510- 9424-335A8A67772F}" and have to know what's really going on there. That said, the registry isn't all bad - it's kind of nice to be able to just do a quick CTRL-F and search for a particular value that I know needs to be changed everywhere (think server names when a new server comes on line, that kind of thing). I just wish it wasn't just marginally comprehensible.

    17. Re:Only thing to understand... by Anonymous Coward · · Score: 0

      No magical black box registry Not that it's actually that hard!

      But, if you really can't cope, Microsoft's new PowerShell presents a file-model view of the registry (amongst other things).

    18. Re:Only thing to understand... by Bloke+down+the+pub · · Score: 1

      Everything in it shows up as (wait for it..) files
      On what do you base that conclusion - that the expanding tree hierarchy looks a bit like windows explorer?
      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
    19. Re:Only thing to understand... by Anonymous Coward · · Score: 0

      X-Files

    20. Re:Only thing to understand... by jonadab · · Score: 1

      > Double cut flat files? Nail files? Diamond files? Needle files? Machine files?

      Flat files, definitely. The whole "system registry" thing never really caught on in the *nix world. Well, okay, there's Gnome, but apart from that, most things in the *nix world use flat files. As far as Linux is concerned, a file is just n random octets in a defined order. Interpretation is up to the application reading the file.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    21. Re:Only thing to understand... by marcosdumay · · Score: 1

      And don't forget that some buggy software, like Firefox and some Subversion clients put hidden files at places that aren't your home dir too.

    22. Re:Only thing to understand... by Anonymous Coward · · Score: 0

      Networking breaks the "everything is a file model"


      Ever heard about sockets? Everything in unix is a file, thats one of the very fundamental principles.
    23. Re:Only thing to understand... by mrchaotica · · Score: 1

      Exactly. If you really want everything to be a file, you need to use Plan 9 instead.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    24. Re:Only thing to understand... by mrchaotica · · Score: 1

      Since when did the output of ls look anything like Windows Explorer? And that's the point -- everything shows up as files in the sense that they can be operated on with normal utility programs that work on files, like ls, cat, grep, etc.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    25. Re:Only thing to understand... by harrkev · · Score: 1

      And that's the point -- everything shows up as files in the sense that they can be operated on with normal utility programs that work on files, like ls, cat, grep, etc.
      Does that mean that I can do a cp /proc /proc2 to turn my single-core processor into a dual-core? Somebody should tell Intel and AMD that it was that easy.

      Ohhh. The fun I could have copying the stuff in /dev. How many hard drives do I want...
      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    26. Re:Only thing to understand... by Intron · · Score: 1

      That's because you can't open the ethernet device for reading/writing. If you could, it would have a /dev/node.

      The people trying to ruin Linux are the Gnome folks doing gconf, which is basically a rehashed Windows registry.

      --
      Intron: the portion of DNA which expresses nothing useful.
    27. Re:Only thing to understand... by StarvingSE · · Score: 1

      Windows registry is a heirarchical database. I guess we can call it one gigantic file if we want to.

      --
      I got nothin'
    28. Re:Only thing to understand... by BobPaul · · Score: 1

      Does that mean that I can do a cp /proc /proc2 to turn my single-core processor into a dual-core?

      /# cp /proc /proc2
      cp: omitting directory `/proc'
      No. But /proc is a filesystem

      /# mount
      /dev/sda5 on / type ext3 (rw,errors=remount-ro)
      proc on /proc type proc (rw,noexec,nosuid,nodev) ...
      And I can get a snapshot of the contents of that filesystem

      /# cp -r /proc /proc2
      although a few files fail due to permissions, etc.

      Ohhh. The fun I could have copying the stuff in /dev. How many hard drives do I want... No, because the hardware does not exist because the file exists, rather the file is present because the hardware is present. cat /dev/random > /dev/hda is a good way to fill your drive with random data, just like cat /dev/random > /home/user/randomness is a good way to fill the file randomness with random data. Proc, like the rest of *nix can be operated on in this manner.

      cp /dev/hda1 /image will actually create an image of the first partition of your primary master IDE disk, although I'm not positive it'll be mountable. The cp command doesn't know that hda1 is an entire partion and thinks it's just copying a file. That's why everything in *nix is a file.
    29. Re:Only thing to understand... by harrkev · · Score: 1

      No, because the hardware does not exist because the file exists, rather the file is present because the hardware is present.
      Your problem is that you were taking me seriously. My post was so absurd, it was obviously meant to be a joke.
      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
    30. Re:Only thing to understand... by init100 · · Score: 1

      Well, okay, there's Gnome

      The Gnome implementation of a registry consists of a tree of XML files.

    31. Re:Only thing to understand... by init100 · · Score: 1

      The people trying to ruin Linux are the Gnome folks doing gconf, which is basically a rehashed Windows registry.

      Except that it is based on a set of XML files rather than a binary blob database.

    32. Re:Only thing to understand... by init100 · · Score: 1

      You can just mv /home/dummy/program to /home//program. Everything will (should, really) continue to work. I doubt that they do if the program depends on its own shared libraries, i.e. shared libraries that resided in /home/dummy/program/lib. Paths to shared libraries are often (always?) hard-coded into the program binary. Thus, in such a case, just moving the program directory hierarchy would probably not work. There are of course workarounds, such as using LD_LIBRARY_PATH, but you may not want to use such a method to run all of your privately installed programs.
    33. Re:Only thing to understand... by jonadab · · Score: 1

      > The Gnome implementation of a registry consists of a tree of XML files.

      Under the hood, yes. The Windows registry is stored in files too, although the format is rather ickier than XML. For that matter, MySQL and Postgres and Oracle and MS SQL Server also all store their data, ultimately, in files.

      However, applications don't treat it that way when they access it. They go through the API. So although there are flat files behind the scenes, it's not a flat-file API.

      This is in contrast to most configuration data on *nix systems. In most cases, the applications treat the config files *as* files, reading and parsing them (possibly using a parser library) in much the same way that they would a document (again, possibly using a parser library), only for a different purpose, namely, configuration.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    34. Re:Only thing to understand... by Anonymous Coward · · Score: 0

      the only device that is not a file in linux is the wifi device i don't know though why they did this and there seems to be a project with this idea

    35. Re:Only thing to understand... by Bloke+down+the+pub · · Score: 1

      Ah. I thought "it" meant the registry. You don't run ls on the registry, do you...?

      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
    36. Re:Only thing to understand... by mrchaotica · · Score: 1

      No, "it" was referring to the /proc filesystem.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    37. Re:Only thing to understand... by Anonymous Coward · · Score: 0

      > As far as Linux is concerned, a file is just n random octets in a defined order.

      Random...?

    38. Re:Only thing to understand... by jonadab · · Score: 1

      Arbitrary, then.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  2. Re:What distro? by corvair2k1 · · Score: 3, Insightful

    Sure thing.

    Get yourself a Haynes manual for your model vehicle.

  3. Roll your own distro? by 8-bitDesigner · · Score: 4, Informative

    I was in a similar situation about a year ago, and I found that the best way to learn about the guts of the system, so to speak, was to pick up Gentoo, which is something of a "Roll your own" kind of Linux distribution.

    Now, by no means do I recommend this for day to day use. I love Gentoo, but it breaks. Frequently. And unless you know a fair bit about how the system works, you'll end up breaking it quite often yourself. This is a good thing, and introduces you to the various configuration files, locations of critical items, how everything slots together, and how to compile your own kernel. The Gentoo documentation is excellent, and if you go about it with a certain goal in mind (web server, router, media center) you'll end up learning a fair bit about Linux in the process.

    1. Re:Roll your own distro? by nschubach · · Score: 4, Informative

      LFS (Linux From Scratch) is another way.

      Honestly though, like stated above, once you understand that Linux basically treats everything like a file... you can fix pretty much anything. As far as a good reference or tips site. Google. 99% of the time, a quick cut and paste of an error will direct you to the right place. (That is if you don't understand it right away.)

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    2. Re:Roll your own distro? by moexu · · Score: 1
      I would also recommend Gentoo. I used Mandrake for 2 years when I first started with Linux. It was a nice distro and everything just worked, but I didn't think I was really learning anything since I didn't have to mess with it. I tried Gentoo out and felt that I learned more in the first week trying to get it installed than I had in my previous 2 years of Mandrake. Another even more hardcore route to go would be installing Linux from Scratch.

      Aside from distro forums and Google I've found a couple of books to be especially helpful.
      --
      "Seek first to understand." - Socrates
    3. Re:Roll your own distro? by bersl2 · · Score: 2, Interesting

      While I agree that the Gentoo documentation is excellent, I can't say I liked the distribution. Maybe if I were to have installed it myself from scratch, instead of having inherited an installation, I might have understood why stuff broke as often as it does. But my one experience with Gentoo was on a production machine, and the first time I tried to update the system, the mailing system broke.

      My own advice to the submitter is to go between Gentoo and LFS with respect to automation and below both with respect to complexity and use Slackware. I've used it exclusively for my own machines for the several years I've used Linux, and in the process of taking a stable core system and trying to add onto it, compiling from source as necessary, I've broken and fixed things enough. The build scripts are available too, so you can customize as in LFS, but with the advantage of simple packaging.

    4. Re:Roll your own distro? by iabervon · · Score: 1

      I've actually had the opposite experience with Gentoo. I've done all sorts of wrong things with it, and had all sorts of things wrong, and the system has continued working perfectly despite that. (The main exception being qmail, which never fails to be running, but doesn't necessarily, you know, deliver mail.)

      It's often difficult to get things built and configured the way you want (what, I need the xml USE flag for php for this? Time to rebuild it... And I need to hand-edit an apache config file to have a https-only web app), but until things are set up, they're clearly not working, and once they're working, they stay working.

      My coworker's accidentally upgraded his Debian stable machine this week, and various things were actually not running for a couple of days, and he had to pay actual attention to working on the system for non-trivial amounts of that time, despite the fact that it had been working a few days before.

      The closest I've had to that level of breakage is when I accidentally lost a CUPS configuration in an upgrade because I didn't realize it was locally modified (by another co-worker). Next closest is having qmail-local not restart (actually, not stop so it could be restarted) when I switched from "qmail" to "netqmail", an operation which the system automatically put off until I told it to really do it, because I had an evening to spend getting it working again.

      On occasion, I've had new versions of things just not work (mostly drivers for my laptop). In these cases, the solution has been to mask the version that it just installed, and emerge again.

      I agree that Gentoo exposes you to exactly what's going on with the system a lot more than other distributions, and I don't know if that means I'm just not breaking things due to knowing what not to mess with, but it seems to me to just not break very much. And when it's going to break, it tells you it's going to break, and you can tell it not to (e.g., upgrading from mysql-4.0).

    5. Re:Roll your own distro? by mollymoo · · Score: 3, Informative

      Gentoo breaks as often as it does because portage's handling of dependancies is a bad joke. Actually, I don't know if it's portage itself or poor quality ebuilds, but "emerge --update world" breaks for me about 40% of the time (no, I'm not running the unstable ~x86). I'm not shitting you when I say it took me three days to bring a box which hadn't been updated for four months up to date. That wasn't all compile time, the damn thing just kept stopping. Portage apparently didn't know it would break before it started, despite the problems all being related to dependancies.

      When it breaks, portage doesn't tell you why, you basically have to search the Gentoo forums for an answer. In the inevitable thread(s) related to the problem I often find a response from a dev which says that you need to update X and Y together, so both X and Y block each other. Having the package management system manage packages for you is evidently too much to ask.

      I do like Gentoo's arrangement of config files etc. though. It's nice to work with, just shitty to update.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    6. Re:Roll your own distro? by fimbulvetr · · Score: 1

      The main exception being qmail, which never fails to be running, but doesn't necessarily, you know, deliver mail. Nope, that's just qmail. Nothing to do with gentoo. Nothing like software that "doesn't have security vulnerabilities" simply because the author can deny it.
    7. Re:Roll your own distro? by toadlife · · Score: 0

      heh.

      So it's true!

      (Mod me down. I deserve it)

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    8. Re:Roll your own distro? by harryman100 · · Score: 3, Insightful

      I'm not shitting you when I say it took me three days to bring a box which hadn't been updated for four months up to date. In my experience, updating a gentoo box infrequently is a bad idea. You should either update every week/month or not at all. The way I look at it, you either want a system with the latest everything, or you want a system which works. If you want the first, you should expect to spend a bit of time working on it. If you want the second - why on earth are you updating every four months.

      If I wanted a system to be stable, but not that far behind current stuff. I'd probably be updating once a year - you have to do a bit of work to fix some of the updates, but at least you only have to do it once a year.

      On the other hand, if I wanted a system that's always up to date, I'd be updating every other week. This is what I currently do on my two gentoo boxes, and I've very rarely had problems. (The last problem I had was when it upgraded mysql from 4 to 5, some of the defaults changed - I spent ages trying to work out why I couldn't connect from other machines.)

      One thing to note, if you're having problems when updateing world add the --deep flag to emerge, it will update all libraries that need it as well. Then follow the emerge with a revdep-rebuild, to check for things that have been broken by updated libraries (and fix them)
      --
      .sigs are for losers
    9. Re:Roll your own distro? by mollymoo · · Score: 1

      In my experience, updating a gentoo box infrequently is a bad idea. You should either update every week/month or not at all. The way I look at it, you either want a system with the latest everything, or you want a system which works. If you want the first, you should expect to spend a bit of time working on it. If you want the second - why on earth are you updating every four months.

      The box was previously updated frequently precisely because falling behind causes grief, but had lain unused for four months. Updating rarely is fine if you rarely install new packages, but I use the box in question for all sorts of things so fairly often install new stuff. Installng new stuff against old libraries etc. involves finding the old version of the ebuild which works with your install and using that. Keeping up to date means "emerge package" is much more likely to work without much hassle when you want it to. The fact that the choices are update frequently or fall behind and have serious pain when you do finally update or install something new really does indicate that portage isn't doing a very good job.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    10. Re:Roll your own distro? by baldass_newbie · · Score: 2, Interesting

      Running Linux is one of the best books for learning the overall structure of systems. Matt even notes the basic exceptions between Slackware and most other core distros in terms of structure and processing.
      Indispensible.

      --
      The opposite of progress is congress
    11. Re:Roll your own distro? by CastrTroy · · Score: 1

      My problem with Gentoo is that I could never get to a point where it was usable within a reasonable amount of time. I found it extremely frustrating going from Mandriva to Gentoo. In the end, they are all just as configurable. So I don't really see why I should go through the trouble of getting Gentoo to work. You can still mess around with the system just as much in Mandriva as you can in Gentoo. I don't really see the reason it should be hard to install a distro. They can't make it easy to customize every little option, you have to know what you're doing, but I don't see a reason why getting a system up and running should be that difficult.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    12. Re:Roll your own distro? by mrchaotica · · Score: 1

      In my experience, updating a gentoo box infrequently is a bad idea. You should either update every week/month or not at all.

      Then the Gentoo people ought to make it easy to have that happen automatically, so that I don't have to manually log in and do it all the time!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    13. Re:Roll your own distro? by harryman100 · · Score: 1

      Updateing without you knowing is a bad idea, on any operating system. But surely if you wanted to you could write a cron job which did it?

      What would be nice is if you could pass a flag to emerge to only compile packages, not fully merge them. (You can already tell it to do fetch only)

      That way, I could have an weekly script which downloaded and compiled all new packages, and then I could actually merge them when I was concentrating on what was happening (Ready to fix any issues). This would reduce the amount of attendance time required to update my system by quite a bit.

      --
      .sigs are for losers
    14. Re:Roll your own distro? by mrchaotica · · Score: 1

      Updateing without you knowing is a bad idea, on any operating system.

      I never said it couldn't notify me (e.g. by email), only that I shouldn't have to manually initiate it. The operating system is supposed to be "stable" (unless I was using ~, of course), so updating it shouldn't break anything.

      But surely if you wanted to you could write a cron job which did it?

      NO! See, that's the whole point of my post: as a user, I shouldn't have to write the thing myself! Instead, the Gentoo developers should write it and integrate it into Portage, so that it just gets emerged and added to the rc scripts during installation, like cron and ssh and whatnot.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    15. Re:Roll your own distro? by moexu · · Score: 1

      If ease of install is high on your priority list then I wouldn't recommend Gentoo. Something like Mandriva or Ubuntu would be much better - with those you just stick in the disk, click Next a couple of times, wait about 20 minutes, and you're done.

      I liked Mandrake. It recognized more hardware than any other distro I'd used, and it was so easy to deal with that it was a nice gentle introduction to Linux. But after using it a while I wanted to try something else where I could learn a little bit more about how things worked under the hood. Gentoo was the first distro I tried and I liked it so much I stayed with it.

      It's been argued that Gentoo is sort of a ricer version of Linux from Scratch. I can understand that point. I didn't use it thinking I was doing the same thing as rolling my own distro. I learn by applying things, by finding patterns and extending them to understand how other things work. Gentoo was perfect for me, because it handheld me through installing it and I got enough exposure to the inner workings to get a foundation of how the whole thing worked. So that later on when I was having some weird problem I could remember back to some file that I had copied and pasted from the installation instructions and realize that it was related to the issue I was having, where to find it, and why what I had done initially wasn't working anymore.

      I don't think that Gentoo is going to be the right distro for everyone and it certainly isn't Linux from Scratch. It's a fairly safe first start in that direction if you'd like to go there though.

      --
      "Seek first to understand." - Socrates
    16. Re:Roll your own distro? by harryman100 · · Score: 1

      NO! See, that's the whole point of my post: as a user, I shouldn't have to write the thing myself! Instead, the Gentoo developers should write it and integrate it into Portage, so that it just gets emerged and added to the rc scripts during installation, like cron and ssh and whatnot. Let me get this straight, you went through the entire gentoo installation process, and you're whinging about having to write a cron job?
      --
      .sigs are for losers
    17. Re:Roll your own distro? by Anonymous Coward · · Score: 0

      gentoo is perfect of daily use. If you have problems then its your fault. It doesn't "break".
      LOL

    18. Re:Roll your own distro? by mrchaotica · · Score: 1

      No, because it would have to be more than just a cron job. What it really needs to be is a script that would run emerge, dispatch-conf, revdep-rebuild, detect if the build failed and notify the user, etc. It wouldn't be a huge piece of software, but it wouldn't be trivial.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    19. Re:Roll your own distro? by jimicus · · Score: 1

      In my experience, updating a gentoo box infrequently is a bad idea. You should either update every week/month or not at all. The way I look at it, you either want a system with the latest everything, or you want a system which works. If you want the first, you should expect to spend a bit of time working on it. If you want the second - why on earth are you updating every four months.

      Not to sound too much like an AOL weenie, but you're absolutely right.

      I inherited a bunch of gentoo boxes, and I've kept everything on gentoo because it seemed easier than changing it and trying to maintain a bunch of different Linux distributions.

      On the one hand, it's fantastic. I never have to worry about major OS upgrades which I need to do because otherwise support (and hence security fixes) will cease to exist.

      On the other hand, I either update frequently (not ideal on a system which is business-critical) or I accept that a major change or update will cause so much breakage that I may as well rebuild the box from scratch and bring the data back from backup.

      In fact, I'm in exactly that position now. I need to migrate a box whcih hasn't had a major update in at least 2 years to newer hardware (the old hardware which I inherited is out of its service contract and doesn't have redundant power supply or disk - it works but I'd be a lot happier with at least two power supplies and RAID1).

      All the newer hardware I have available to me requires a newer kernel (this is Gentoo, "building your own kernel" hasn't quite become the archaic "why on Earth would you want to do that?" thing it is with other distributions). But the previous one was built with devfs, which has been dropped from modern kernels in favour of udev.

      So now I have to install udev. Which means I have to update the base system. Which means LDAP authentication breaks. Which means I have to rebuild OpenLDAP. Which means I have to restore my LDAP database from backup. Then I find some other obscure thing has broken so LDAP still doesn't work. Oh yes, and nscd is now crashing every 10 minutes for no apparent reason, leaving no logs or other trace. After 6 hours of this with no end in sight, I gave up and reverted back to the old hardware. It may not quite meet my requirements for reliable hardware, but at least the OS installed on it works.

      It would probably have been quicker just to install Debian or even Ubuntu Server LTS and migrate just the user data and configuration - which is quite likely what I'll wind up doing in the end.

    20. Re:Roll your own distro? by pilot1 · · Score: 1

      Gentoo breaks as often as it does because portage's handling of dependancies is a bad joke. Actually, I don't know if it's portage itself or poor quality ebuilds, but "emerge --update world" breaks for me about 40% of the time (no, I'm not running the unstable ~x86).

      You want emerge -uD world (or --update --deep). Without --deep, portage checks only the immediate dependencies as opposed to the dependencies for the entire portage tree. This is in the documentation, so you can't really blame Gentoo for it. I run both x86 and ~x86 on various machines, update no less than once every two weeks, and have never had any serious problems.

    21. Re:Roll your own distro? by mollymoo · · Score: 1

      I do actually use --deep, I just did't think I had to reproduce my entire command line to point out the problem with portage's dependancy handling, though "--deep" is relevant so perhaps I shouldn't have snipped that. I actually typically use "emerge --update --deep --newuse --ask world" then "revdep-rebuild" and "dispatch-conf".

      --
      Chernobyl 'not a wildlife haven' - BBC News
    22. Re:Roll your own distro? by turbidostato · · Score: 1

      "I don't know if it's portage itself or poor quality ebuilds"

      You can bet that for the most part it's because poor quality ebuilds. That shouldn't make Gentoo maintainers to rush, since it's the logic outcome of the way they decided to "make" their distribution. When you expend most of your avaliable manpower just fighting against dependency hell as it does happen when you just want to be bleeding edge on every package all the time, it's not only that no manpower rests for the not so easy task of integrating all those packages over there, but you are just not interested (version x+1 of the program for the ebuild you maintain it's already there, so it's time to focus on it and forget about all those nasty integration bugs with version x. If you are lucky maybe some of them vanished because the upgrade -of course a whole new lot will appear, and that's the point of it).

      "When it breaks, portage doesn't tell you why"

      Some other will tell you upon experience what I can say from common sense (I don't use Gentoo; all my experience on it comes from installing maybe twice or three times and suffering having to maintain a short number or "inherited" boxes): on such an unstable environment you need to upgrade the nearest of one package at a time as it's possible since interaction problems grow at a ceiling 2^n rate, that is, exponentially. Not because it's Gentoo but simply because it's a system with interacting units (each package becomes one).

      That means that you need to update almost daily to maintain the changeset low (thus being able to fastly find what broke this time). Of course this means too much babysitting to worth it but in very specific and narrow scenarios.

      All in all, Gentoo has a nice toolset over a nice idea (sadly, this isn't enough. Not for me, at least).

    23. Re:Roll your own distro? by turbidostato · · Score: 1

      "If I wanted a system to be stable, but not that far behind current stuff. I'd probably be updating once a year"

      I bet you didn't try. Except for the simplest scenarios this will probably mean reinstall from scratch is probably much easier and faster.

      "One thing to note, [...] check for things that have been broken by updated libraries (and fix them)"

      One thing to note: why on hell should one admin after another have to go through *exactly* the same bugfixings due to broken interactions when one developer/sysadmin can do it for once and hundreds benefit from this effort freeing a lot of manpower to expend on other cute things -that's what packages were invented for. This "gentooism" strongly remembers me the economic "broke window" myth.

    24. Re:Roll your own distro? by turbidostato · · Score: 1

      "The fact that the choices are update frequently or fall behind and have serious pain when you do finally update or install something new really does indicate that portage isn't doing a very good job."

      Portage has nothing to do with this (or at least, I can't see any evidence of portage being the culprit of its stability or unstability). The problem, if you want to consider this a problem (I do) is with Gentoo itself. I see no showstopper on portage so it's used to build a distribution as stable as, say, Debian just like I don't see deb/dpkg/apt/aptitude/you-name-it being the guardian of Debian's stability (just try Debian's unstable/experimental branches and you'll see what I mean). The main difference between Debian and Gentoo is not portage vs aptitude but the mentalitly and goals of their respective development teams.

    25. Re:Roll your own distro? by turbidostato · · Score: 1

      "so updating it shouldn't break anything."

      Do you reall thing Debian's people take *months* to stabilize a distribution because they are unkownledgeable, lazy or just too few? The fact is that if you have n packages there will be a number of interactions among them that will fastly tend to be 2^n (and then think about 8000 packages and do the math). Fixing integration bugs on a frozen package tree is a hard task; trying to do it on an ever evolving tree is just impossible.

      "as a user, I shouldn't have to..."

      You seem to forget that you are not a user. Since you know the root password you are a system administration (maybe not a for-the-money one, maybe not on a heavy duty or difficult environment, but that's what you are), take it or leave it.

      Anyway, Gentoo was still an open source-meritochracy based project last time I reviewed, so you just can offer your man power to take it wherever you prefer or look for a different project that better fulfills your interests and needs. Gentoo doesn't fulfill mines and I am not in mood to try to drive it to a different direction so I don't use Gentoo, but I'd never try to bash the efforts *others* are doing to try to reach their very own goals. I can offer my opinion, but that's all.

    26. Re:Roll your own distro? by mrchaotica · · Score: 1

      The fact is that if you have n packages there will be a number of interactions among them that will fastly tend to be 2^n (and then think about 8000 packages and do the math).

      Yes, that's the theoretical upper limit. However, for the most part spaghetti code went out along with Disco. Nowadays we have various techniques (abstraction, organizing into libraries, etc.) specifically for the purpose of reducing the number of those interactions. Therefore, the actual number should stay manageable.

      You seem to forget that you are not a user. Since you know the root password you are a system administration (maybe not a for-the-money one, maybe not on a heavy duty or difficult environment, but that's what you are), take it or leave it.

      Whatever. As an admin, I'm still at least a client of the developer, not a developer myself. Happy now? It still doesn't change anything, because you know damn well what I meant!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    27. Re:Roll your own distro? by turbidostato · · Score: 1

      "Yes, that's the theoretical upper limit. However, for the most part spaghetti code went out along with Disco. Nowadays we have various techniques (abstraction, organizing into libraries, etc.) specifically for the purpose of reducing the number of those interactions. Therefore, the actual number should stay manageable."

      It is manageable in fact: Debian does quite a good work, for instance. But still even if the base is 1.01 instead of 2, you would have 3.7^34 interactions, bazillions of them. For a more reasonable number let's imagine the average package links just to 3 others (a very conservative stimate -just try to install kopete in Debian to name one, after a barebones setup and see what happens), that makes 24000 links; truly manageable but still about 24 interactions to take into consideration by each developer on the Debian case. The fact that it's possible (and it is actually really possible) is almost a miracle. Still, not the kind of miracle you can expect from an everchanging environment like Gentoo.

      "Whatever. As an admin, I'm still at least a client of the developer, not a developer myself. Happy now?"

      Even if you are client you are still an administrator. Which on a unix-like environment means you must understand the lay-out of the system and have some basic script capabilities as a bare minimum. You maybe don't like it, and certainly nobody can or will force you to adopt it, but that's the way it is; if you still don't like it, there are other alternatives that maybe fit better to your taste.

  4. Three letters by i_should_be_working · · Score: 2, Interesting

    LFS

    1. Re:Three letters by kestasjk · · Score: 2, Funny

      Why not just buy a good book?

      --
      // MD_Update(&m,buf,j);
    2. Re:Three letters by dintech · · Score: 1

      Yes I don't why men have such problems just saying those three little letters to each other.

  5. Linux from Scratch by jomas1 · · Score: 3, Insightful

    Check out http://www.linuxfromscratch.org/livecd/ and http://www.linuxfromscratch.org/lfs/

    Try creating a distro of your own and you should get a handle on the mysteries of the OS. If you don't have spare hardware check out virtualbox.org and try creating your lfs distro on a virtual x86 computer

    1. Re:Linux from Scratch by mdhoover · · Score: 1

      Indeed, there is no better way of getting a grasp on how it all hangs together than by building it yourself by hand, gives you a good feel for where everything is. I can personally vouch for the LFS build method ;-)

      *blatant plug mode* Or if you feel a little more adventurous and want multilib support for your amd64 there is cross-lfs (http://www.cross-lfs.org), it is done by mostly the same guys as LFS but emphasis is more on cross-compile toolchains for shoving linux on whatever toys you have...

      If you have any issues just lob into #lfs-support on irc.linuxfromscratch.org or #cross-lfs on freenode and we'll sort you out...

    2. Re:Linux from Scratch by cyphercell · · Score: 2, Insightful

      The first time I went through LFS I purchased the book. I think it probably saved me a week or two. Also, I use LFS primarily as a sandbox, if I want to test something I use LFS, when I need to get some work done I currently use Debian. I feel it is absolutely imperative for a desktop system to be somewhat dependable. Go ahead and break your LFS system, reiterate over your LFS system several times experiment with package management, configurations, bootscripts, break it, fix it, and customize it. Currently I'm on my fifth iteration of LFS, it's really been the best thing I've found.

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    3. Re:Linux from Scratch by cobbaut · · Score: 0, Offtopic

      LFS is overrated for learning, cause you basically spend two days compiling stuff.

      A lot of bookstores however have very good Linux books, use those as a start and continue with manpages and google.
      The Linux Documentation Project is at tldp.org.

      It also helps to install different distro's in vmware to play with.
      System Administration of Red Hat servers is different from Ubuntu/Debian...

      http://www.redhat.com/docs/ is not too bad, but does contain errors :(
      (docs.sun.com can also be useful, even for linux)

      --
      European Linux user, living in Antwerp
  6. Break It. by Tragek · · Score: 4, Informative

    I've learnt oodles about all OSs by breaking them. Delete something. see how it changes the behaviour of the system. If it was somethign really important, you'll learn about system recovery, otherwise, trouble shooting.

    I'm serious.

    1. Re:Break It. by fimbulvetr · · Score: 1

      Exactly. I also learned a lot by overclocking. Not only do unstable speeds corrupt wierd things that I've seen time and time again in the real world, but even the hobby itself teaches you stuff about hardware.

  7. Use it. by PAPPP · · Score: 2

    Really. Just use it. Like many other things, the best way to become familiar with Linux is to use it for your daily tasks for a while, and find out how to fix any problems you run into. I've used a dual-booted machine for some time, and about 6 months ago I made the decision to switch my main OS over from WinXP to Linux, and relitively painlessly went from dabbling to a being well versed pro user in a few months.

    1. Re:Use it. by DaveCar · · Score: 3, Funny

      Err, he stated:

      I made the initial switch to Linux a year ago. I now feel capable enough with using Linux, from an end user's point of view, so that when things go wrong, I can fix them.

      Now I know it is de rigeur not to read the article, but there wasn't even an article to read here - did you even read the question?

    2. Re:Use it. by MadJo · · Score: 1

      You must be new here.

      The current MO is to read just the subject line and then skip right to the comments.

    3. Re:Use it. by DaveCar · · Score: 1


      Damnit, I've been wasting all that time reading the summary?

      No wonder I don't get any first posts :(

    4. Re:Use it. by alienmole · · Score: 1

      Now you know why the first posts so seldom say anything topical, and instead obsess about certain kinds of frosty liquids.

  8. No one answer. by normuser · · Score: 4, Insightful

    I dont have one magic answer.
    Forums are good for getting and sharing information on specific problems as long as the "google it yourself" crowd havent invaded. (how else would you have found the forum?). http://www.linuxquestions.org/ is a good start.
    There are varias wiki's specific to certian subjects.
    And I dont mean to sound rude with this, but please read the man page first. Weather or not you understand it at the time.

    On a side note the best way I have found to learn about something is to break it first. but maybe thats just me.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    XXX#######
    1. Re:No one answer. by cavemanf16 · · Score: 1

      I agree, linuxquestions.org is a great resource, but first you have to be breaking stuff to find it useful. Sooo...

      Install Gnome, KDE, XFCE, Fluxbox, and a bunch of other desktop related apps, upgrade your nVidia drivers, add Beryl, and really start trashing your /etc directory to see stuff break. Then go to linuxquestions.org or another resource online by copy-pasting your various error messages to start learning more about how to troubleshoot and find out what's screwing things up in your system. I'm no Linux expert, but I know enough now to run it at home for all my "get things done" activities (vs. just playing games in Windows). What helped me the most was, in order of importance:

      1. looking for error messages in forum posts online using Google (or lynx if I manage to kill X)
      2. reading up on and troubleshooting /etc/X11/ config file issues
      3. tweaking various config files in /etc and getting familiar with how various programs utilize config files in Linux (to me, this is the heart of the beast for us "Power Window Users" that run around the office everyday fixing our coworkers problems because we know enough about how Windows works to be dangerous, but we're not programmers)
      4. learning to use /var/log to research problems myself before whining about them on a forum
      5. installing and getting my own custom kernel to run without any significant problems at least once (I used Gentoo to do it all the way through successfully the first time on an old machine, but now I just rely on Ubuntu's standard kernel since I don't typically have time to recompile my own kernel every time a patch is released)
      6. installing experimental programs here and there that require the use of the whole './configure', 'make', 'make install' standard routine for installing programs in Linux because they're alpha or beta stage programs and don't have nice packages setup for easy installation (sure to cause you some library dependancy compiler warnings, errors, and other hijinks that will amaze and annoy! :)

  9. Wiki by Shinsei · · Score: 2, Informative

    I have found that http://gentoo-wiki.com/ is a great resource for knowledge about the basesystem itself of Linux. I do love my Gentoo of course, but you'll find resources on said wiki for Linux in general - and quite a few of them - and I've seen people from both the Debian and Ubuntu community also look to this Wiki from time to time.

    --
    God does not play dice - Albert Einstein
    1. Re:Wiki by Anonymous Coward · · Score: 0

      Who modded this flamebait? Frankly...

      I'm a Gentooist too, and guess what? It's one of the best communities around. I learned a lot installing, maintaining, troubleshooting and even *gasp* optimizing my system. Oh, and sometimes I do look around other distro's forums and wikis! And I heard users of other distros do look around Gentoo docs too! Heresy!!!

      Posting AC for obvious reasons: sarcasm sometimes is considered trolling.

  10. Real men by Anonymous Coward · · Score: 1, Informative

    use Chilton's

    1. Re:Real men by twistedcubic · · Score: 2, Insightful

      Bzzt! Real men use both. Sometimes pictures/illustrations/explanations are better in one than the other.

    2. Re:Real men by Anonymous Coward · · Score: 2, Funny

      I wish I could have modded this insightful AND off-topic! ;)

  11. Here's part 1 of how to fix Ubuntu Feisty Fawn by Anonymous Coward · · Score: 1, Funny

    Removing ekiga ...
    Removing evolution-plugins ...
    Removing evolution-exchange ...
    Removing evolution ...
    Removing evolution-common ...
    Removing evolution-data-server ...
    Removing evolution-data-server-common ...
    Removing f-spot ...
    Removing tomboy ...
    Removing libgnome2.0-cil ...
    Removing libgconf2.0-cil ...
    Removing libglade2.0-cil ...
    Removing libgtk2.0-cil ...
    Removing libgmime2.2-cil ...
    Removing libgmime2.2-cil from Mono
    Removing libglib2.0-cil ...
    Removing libmono-system1.0-cil ...
    Removing libgdiplus ...
    Removing libmono-cairo1.0-cil ...
    Removing libndesk-dbus-glib1.0-cil ...
    Removing libndesk-dbus-glib1.0-cil from Mono
    Removing libndesk-dbus1.0-cil ...
    Removing libmono2.0-cil ...
    Removing mono-runtime ...
    Removing mono-gac ...
    * Removing packages from mono
    Removing libmono-corlib1.0-cil ...
    Removing libmono-system-web2.0-cil ...
    Removing libmono-sqlite2.0-cil ...
    Removing libmono-system-data2.0-cil ...
    Removing libmono-sharpzip2.84-cil ...
    Removing libmono-data-tds2.0-cil ...
    Removing libmono-system2.0-cil ...
    Removing libmono-security2.0-cil ...
    Removing libmono-corlib2.0-cil ...
    Removing libmono0 ...
    Removing mono-jit ...
    Removing mono-common ...
    update-binfmts: warning: no executable /usr/bin/cli found, but continuing
    anyway as you request

    In part 2 we'll be looking at installing XFCE and removing the embarrassment that is Gnome. Until next time...

    1. Re:Here's part 1 of how to fix Ubuntu Feisty Fawn by Russellkhan · · Score: 1

      Umm, Why didn't you just install Xubuntu in the first place?

      --
      Information doesn't want to be anthropomorphized anymore.
    2. Re:Here's part 1 of how to fix Ubuntu Feisty Fawn by QuantumG · · Score: 1

      Or, if your needs are so minor, use OpenBSD or something.

      --
      How we know is more important than what we know.
    3. Re:Here's part 1 of how to fix Ubuntu Feisty Fawn by penp · · Score: 1

      You left out the part where you trash your Ubuntu disc and go get one for Debian.

    4. Re:Here's part 1 of how to fix Ubuntu Feisty Fawn by Oriumpor · · Score: 1

      Or you could just install off the Server CD and then apt up to whatever you really want...

  12. No substitute by Anonymous Coward · · Score: 0

    If you really want to know this stuff, there's no substitute for Linux From Scratch. You build the entire system piece-by-piece.

  13. SOme input by TheRealMindChild · · Score: 2, Informative

    Here is what I got, take it for what it is worth.

    See 'man Linux Filesystem Hierarchy'. In case for some reason that doesn't work on your system, here is a link -> http://tldp.org/LDP/Linux-Filesystem-Hierarchy/htm l/

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  14. heres a few by drfrog · · Score: 3, Interesting

    http://tldp.org/

    this is the linux doc proj the one place i found indispensable while learning slackware back in the day

    lately http://www.debuntu.com/ is a god send as well

    and of course , unlike windows software, most linux software readme files are actually filled with useful information

    othjer than that either a quick google on a specific question or jump onto irc will usually get you some help

    --
    back in the day we didnt have no old school
    1. Re:heres a few by spiritraveller · · Score: 1

      your second link pulls up a page with nothing but sponsored links.

      Did you mean to spam or was this perhaps a typo?

    2. Re:heres a few by drfrog · · Score: 3, Informative

      oops sorry

      it should be debuntu.org

      --
      back in the day we didnt have no old school
    3. Re:heres a few by Kandenshi · · Score: 0, Offtopic

      huh? You got my hopes up, but that looks like a normal Debian/Ubuntu tips page to me.

      I was hoping for boobies =(

      Perhaps you made a typo of your own? Or have some sort of naughty malware on your computer?

  15. Do what I did by stinerman · · Score: 3, Insightful

    I fancied myself a Windows "power user" and then GNU/Linux was foisted upon me because of a hardware crash. My backup system wasn't good enough to run XP, so I tried Red Hat 9. It certainly was a bitch, but I leaned GNU/Linux by doing the same thing I did when I was learning Windows: poke and prod at the system and see what changed. Doing is the best way of learning.

    Don't really worry too much about a specific distro. I went from RH9 to Fedora Core to Ubuntu to Debian over the span of about 4 years. Once you learn enough, you can pick up any distro without too much hassle.

    My best advice is to pick a distro and dual boot with XP/Vista. Every day try to use your GNU/Linux distro a bit more each day. Be sure to try to fiddle with settings. Just make sure you have a backup ready for any important data. For awhile there, I was reinstalling the OS weekly. Don't be afraid to experiment.

    1. Re:Do what I did by stinerman · · Score: 1

      Err...mod me down. Maybe I should RTFS every once in awhile.

    2. Re:Do what I did by NeverVotedBush · · Score: 1

      You forgot Christopher Pike...

  16. O'Reilly by Anonymous Coward · · Score: 0

    O'Reilly publishes any number of books that will suit your needs, covering everything from the basics on down to the most esoteric.

  17. Read a general introduction to Unix by Ivan+Raikov · · Score: 3, Informative

    First of all, you should have in mind that Linux is just a kernel, and what you are probably more interested in are all the userland programs that comprise your typical Linux distribution. I think it is best to start with a general Unix introductory text, because the fundamental principles have not changed in 25 years, and it is much better to understand the core Unix system utilities and how they plug together to accomplish complex tasks, rather than waste time with all the modern Windows-like interfaces that are fashionable in Linux distributions today.

    There is one "classic" Unix introduction book that I can strongly recommend, and that you can probably buy used for a dollar: Exploring the Unix System by Stephen Kochan and Patrick Wood. Make sure to get the paperback edition that is about 400 pages. Also, apparently the authors are going to release an updated version of that book -- check http://www.kochan-wood.com for updates.

    Once you learn the fundamentals of Unix systems, then you would be ready to learn the modern tools available in Linux distributions. Remember that is much more important to learn the principles and philosophy that Unix was built upon, rather than attempting to memorize arcane details.

  18. this might sound insane at first by http · · Score: 1

    issue the following commands
    part 1:
    $ cd /bin
    $ for binary in * ; do man $binary ; done
    $ cd /usr/bin
    $ for binary in * ; do man $binary ; done
    $ cd /usr/local/bin
    $ for binary in * ; do man $binary ; done

    part 2:
    $ su -
    Password:
    # cd /sbin
    # for binary in * ; do man $binary ; done
    # cd /usr/sbin
    # for binary in * ; do man $binary ; done
    # cd /usr/local/sbin
    # for binary in * ; do man $binary ; done
    # exit

    Don't take a long time doing this, and more specifically DO NOT ATTEMPT TO MEMORIZE EVERYTHING. Just skim the man pages. You'll get a feel for what programs are available. Then read the man page for apropos so you can jog your memory later.

    --
    If opportunity came disguised as temptation, one knock would be enough.
    3^2 * 67^1 * 977^1
    1. Re:this might sound insane at first by CrankyOldBastard · · Score: 1

      Or you could try:

      for dirs in / /usr/ /usr/local ; do
      for prefix in '' 's' ; do
      cd ${dirs}${prefix}bin
      for binary in * ; do
      man $binary
      done;done;done

      You shouldn't need to su to root to see in the various sbin dirs, only to run the apps. for example, on my system (debian etch) /sbin has permissions 755.

      One of the "best practice" ideas for any unix-like OS is spend as little time as root as possible.

    2. Re:this might sound insane at first by JackieBrown · · Score: 1

      If you run KDE (or use Konqueror) type man:/

  19. Start with Slackware. Seriously. by SadGeekHermit · · Score: 3, Insightful

    Your best bet is to start with Slackware 11, it's a manual distribution which will force you to actually get involved with it and learn how things work under the hood.

    For example, you have to write your own iptables firewall script. But by doing this, you'll be able to understand the output of "iptables --list" on any distro out there and see what it's doing behind the scenes (for instance, amusingly, what holes does it leave open if any?).

    You can download the distro here, for free:
    http://www.slackware.com/
    (my favorite mirror is: http://slackware.cs.utah.edu/pub/slackware/slackwa re-11.0-iso/)

    There's a good book on it available here: http://www.slackbook.org/

    Think of it this way (using a car analogy like the other guy, but more seriously):

    If you learn to drive in a car with a five speed stick and a clutch, you'll be able to drive almost any wheeled vehicle on Earth with very little futzing around. It's almost like having a superpower.

    But if you start out driving an automatic, you'll ONLY be able to drive automatic until somebody teaches you manual. And you won't have any reason to learn it, so you'll miss out on a potentially important skill.

    It's better to start out with something challenging and switch to the easy stuff later.

    Go Slackware, be a nerd like us! You'll thank me later.

    --
    NO CARRIER
  20. By the way, here's a nice iptables firewall script by SadGeekHermit · · Score: 1

    Just for you, my very own iptables firewall script! If anyone notices anything I left out, please let me know and discuss!

    (start here):

    # Script by SADGEEKHERMIT, based on an earlier script I wrote for FreeBSD/ipfw.
    # This firewall script should be placed in /etc/rc.d and named "rc.firewall".
    # Assumptions: you're using iptables, and your computer is a workstation
    # which isn't making any services available to the web. Also you're paranoid.

    # First, clean out the current ruleset.
    iptables --flush

    # Now for the initial admin part.

    # Policies (what isn't explicitly allowed is automatically denied):
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT DROP
    # Allow all local, loopback traffic:
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    # Block malformed "XMAS" and "NULL" packets:
    iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
    # Block ping:
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
    # Permit DHCP!!!
    iptables -A OUTPUT -p udp ! -o lo --dport 67 -j ACCEPT
    iptables -A INPUT -p udp ! -i lo --sport 67 -j ACCEPT
    # Permit DNS:
    iptables -A OUTPUT -p udp ! -o lo --dport 53 -j ACCEPT
    iptables -A INPUT -p udp ! -i lo --sport 53 -j ACCEPT
    # Permit ICMP type "destination unreachable":
    iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

    # Now for our internet access rules. These will explicitly permit
    # web browsing, passive-mode FTP, etc.
    # The way this works is, for every TCP port you want to use,
    # you add these two lines (replacing N with the port number):
    # iptables -A OUTPUT -p tcp ! -o lo --dport N -j ACCEPT
    # iptables -A INPUT -p tcp ! -i lo --sport N -m state --state ESTABLISHED,RELATED -j ACCEPT
    # For a workstation/home computer, you'll want to make these ports available:
    # 80 (HTTP), 443 (HTTPS), 110 (POP3), 143 (IMAP), and 25 (SMTP).
    # NOTE: Doing it this way means we don't have to explicitly block anything.
    # If we don't allow it, it's blocked. For example, if you're not on the loopback
    # interface (localhost, lo) you can't access X at all (tcp ports 6000-6020).

    # Internet access rules:
    iptables -A OUTPUT -p tcp ! -o lo --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -p tcp ! -o lo --dport 443 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -p tcp ! -o lo --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 110 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -p tcp ! -o lo --dport 143 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 143 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -p tcp ! -o lo --dport 25 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 25 -m state --state ESTABLISHED,RELATED -j ACCEPT

    # FTP RULES:
    # FTP is a special case. You would NEVER allow non-passive FTP, because
    # then you'd have to open up all YOUR high ports from 1024-65,535. Why even HAVE
    # a firewall? On the other hand, passive FTP is a lot safer; you're allowing traffic TO
    # port 21 on the remote server, and traffic TO and FROM high ports on the remote
    # server. This doesn't open up ANY local ports on this machine; it just means you
    # can talk to high ports on the remote machine, which isn't all that bad.
    # So here are the rules for PASSIVE MODE FTP:
    iptables -A OUTPUT -p tcp ! -o lo --dport 21 -j ACCEPT
    iptables -A OUTPUT -p tcp ! -o lo --dport 1024:65535 -j ACCEPT
    iptables -A INPUT -p tcp ! -i lo --sport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

    --
    NO CARRIER
  21. Keep Reading Reading & Reading by TheInvisiblePinkUnic · · Score: 1

    If you are on a linux system:
    $man man

    If you are on the web:
    http://tldp.org/
    http://en.wikipedia.org/wiki/Linux

    --
    Cogito, ergo sum
  22. DO'H!!! DISCLAIMER: I'm NOT affiliated with them. by SadGeekHermit · · Score: 1

    I'm just a nerd, not part of the Slackware project per se, and although I dearly love Slackware, this opinion is purely my own and not designed to benefit anyone or any distro or anything except YOU who might really dig it.

    Just thought I'd mention that!

    Sorry for all the posts. :)

    --
    NO CARRIER
  23. Old school, learn Unix by dru · · Score: 3, Informative

    When I was learning about Linux, back in the mid-90s, the most valuable resource I found was The Internals of the 4.3BSD Operating System by McKusick, Quarterman, Leffler and Karels. This book acquainted me with the design goals of unix-like operating systems, and the issues of implementing these patterns.

    Also, I'd pick either Aileen Frisch's Essential System Administration or UNIX System Administration Handbook by Evi Nemeth.

    Fast forward to the 21st century, I now spend the bulk of my time using FreeBSD.

    Linux is great, but remember that the thing that makes it great is that it's a unix-like OS. Learning the skills to be comfortable on Linux, Solaris, *BSD, HP-UX, AIX, or whatever the flavor of the day, will take you further than limiting yourself to just one.

    Good luck!

  24. Define please by Anonymous Coward · · Score: 0

    exactly how Linux works and how to fix and modify it?

    When you say 'linux' do you mean

    The Kernel?
    A kernel + userland?
    A kernel + userland + other programs that run in that environment?

    The USPO says that Linux is a branding for soap, so is that what you seek?

  25. One possibility by petrus4 · · Score: 1

    Linux From Scratch. This is a project which maintains and outlines the knowledge of how to manually compile a Linux system from source code. In other words, it's about as fundamental as you can get.

    The project is also run by some really awesome people...probably the most decent that I've come across in the Linux community.

  26. Gentoo isn't that hardcore... by krovisser · · Score: 1

    A lot of people say that Gentoo is compiled for your system and thus results in a massively faster system. This only has some truth to it. They also say that Gentoo allows for a much deeper understanding of linux and how their computer works. This is even less true. There used to be a site up making fun of gentoo users who think they are bad ass by using gentoo, but I believe it is MIA now. You can browse this thread to get the jist of what it said: http://forums.gentoo.org/viewtopic.php?t=181330&po stdays=0&postorder=asc&start=0 I'll admit that Gentoo is far harder to get running then say, Ubuntu, but by no means does it make you an expert. At the least, it makes you really efficient at copying-pasting errors in google... at the most... ??? Although, I run it on my laptop, and it took a bit of time to get everything working. Would I switch distros? no, I like it a lot.

  27. Rute's tutorial by b1ufox · · Score: 1
    here is the link to rute's excellent guide for linux.http://rute.2038bug.com/index.html.gz.

    Read man pages or if you are on a Red Hat/Fedora system info and pinfo are great.

    Choose a distro you feel comfortable with, see what you can change and how this affects the system.

    Good luck

    --
    -- "Genius is 1% inspiration and 99% perspiration" - TAE --
  28. Just read this by swillden · · Score: 2, Interesting

    There are probably some good books out there, and I hope you get some recommendations for them, but there is one key thing that you should learn about Linux that will get you 99% of everything you'll ever need to know about how your system works: How it boots.

    If you understand how everything gets started you'll understand how it all fits together, and, even better, you'll have the starting point you need for tracking down anything else you need to figure out. And the great thing is that it's simple enough to described reasonably completely in one brief slashdot post.

    The boot process consists of the following steps:

    1. The boot loader loads the kernel
    2. The kernel mounts the root file system and finds and runs /sbin/init, the first userspace process
    3. /sbin/init finds and reads /etc/inittab, which tells /sbin/init what shell script to run to kick everything off (/etc/init.d/rc, usually).

    That's it. All you have to do is go read that shell script and you'll find out how absolutely everything running on your system gets started, from the file systems that are mounted to the network devices that are configured to the graphical user interface. Of course, along the way, you'll run across dozens of commands and hundreds of configuration files that you'll have to look up, but with 'man' and a little persistence you will gain an understanding of each major component, where it lives, what it does, how it gets started, restarted, killed and modified.

    Even better, you don't have to worry about understanding it all at once. Once you find the /etc/init.d/rc script, and see how it executes all of the other scripts in /etc/init.d, you'll be well equipped to track down the answer to any question you have about how your system works. Sometimes getting an answer will mean traipsing through a few levels of indirection, but all the information is there. No magic, nothing hidden, all there for your perusal and/or modification.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    1. Re:Just read this by Knuckles · · Score: 1

      Except that distros begin to migrate away from sysinit. Ubuntu uses upstart, which works differently: http://upstart.ubuntu.com/

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    2. Re:Just read this by Knuckles · · Score: 1

      sysvinit

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    3. Re:Just read this by swillden · · Score: 1

      Except that distros begin to migrate away from sysinit. Ubuntu uses upstart, which works differently: http://upstart.ubuntu.com/

      But Ubuntu still uses init, and inittab, and /etc/init.d/rc to launch upstart, so the same starting point applies, and you can still follow the threads in the same way, it's just that they follow a different route.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    4. Re:Just read this by Knuckles · · Score: 1

      True, but that's just because they didn't get around to change it in Feisty. Originally the plan was to lose the sysvinit compatibility layer in Feisty and start to use upstart's features extensively. Sooner or later, sysvinit will go away, at least in some distros.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    5. Re:Just read this by swillden · · Score: 1

      True, but that's just because they didn't get around to change it in Feisty. Originally the plan was to lose the sysvinit compatibility layer in Feisty and start to use upstart's features extensively. Sooner or later, sysvinit will go away, at least in some distros.

      None of which will eliminate init, or inittab, or the script that launches upstart. Take a look at how OS X launches launchd.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    6. Re:Just read this by Knuckles · · Score: 1

      Take a look at a Feisty install, which doesn't even have an inittab. What OSX does with launchd has little effect on what ubuntu does with upstart.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  29. Use the source luke, use the source ! by pruneau · · Score: 2, Informative
    Well, for starters, never forget two things:
    • even if it's not documented, you _have_ access to the source
    • even if you do not have time to access/read the source, the problem are usually in the open, generally discussed by someone else you could easily locate. If you are the first one, someone is usually going to answer you.
    On linux, most of the configuration is done in _text_ files, and most of the system set-up is done by sh/bash shell script. Get familiar with shell scripting (it's a minimal requirement anyway), and you usually can read you way through. For example, it's a very good way to understand how the system starts, in details.
    Of course, RTFM/RTFMan is always a good idea, but usually, a " --help" gets you through most of the time.
    Now, of course, not everything is a shell script, and you do not have the time to study the manual pages or the documentation. Make sure that you have various tracing tools (system/network/etc):
    • strace : for system calls
    • lsof : for system calls and file/network access
    • tcpdump/wireshark : for network tracing
    • /procs : can do some of this all, but whithout real-time tracing.

    Using those tools on misbehaving/unknown programs is going to give you some insight on how they work, and _what_ exactly they are doing. Their output can really be intimidating, but once you get some minial knowledge about protocols and other inner workings
    And of course, having some basic idea in programming in the langague of you main applications is going to be helpful, but that really depend on how much time you want to devote to it and how programming-inclined you are.
    Never forget that the unix philosophy is not about monolythic applications, but rather distributing tasks to smaller utilities. So learn about all those funny commands that are displayed when you press any keyboard letter and . You are going to be surprised: did you know that linux has "cut" and "paste" has commands ?
    --
    [Pruneau /\o^O/\ warranty void if this .sig is removed]
    1. Re:Use the source luke, use the source ! by Anonymous Coward · · Score: 0

      >"You have access to the source"

      Oh hi mom, what that ? You've got a problem with %APPNAME%

      Just look at the source you'll soon work it out. See ya.

  30. Total Immersion by Anonymous Coward · · Score: 0

    The best way to learn a foreign language is total immersion. It's the same with GNU/Linux. Pick a distribution and start using it for everything. You'll pick it up soon enough.

  31. In my opinion the best way... by XenoBrain · · Score: 2, Informative

    Is to take a class at your local college or University. That's better than any book you could buy or forum you could visit. It really makes you process and apply what you learn, as well as making sure your education is well rounded. The UNIX classes at my college have no prereqs, and cater to career professionals in atmosphere, attitude, and availability and applicability. I'm sure you can do just as well if you take a look.

  32. Slackware by pilsner.urquell · · Score: 1

    The De Facto credo of Slackware is KISS, Keep It Simple Stupid.

    ALL configuration file are plain text files that can be eddited manualy.

    Slackware always uses a plain vanilla Kernel, never pached.

    Slackware has a policy of incorporating only stable releases of applications, standing mainly for design stability and aims to be the most UNIX-like Linux distribution. Doug McIlroy summarized the UNIX philosophy in three simple rules:

    Write programs that do one thing and do it well.

    Write programs to work together.

    Write programs to handle text streams, because that is a universal interface.

    Slackware Linux does not have a complex package manager like RPM or dpkg. Packages are normal tgz (tar/gzip) files, often with an additional installation script and a package description file. For novice users tgz is much more powerful than RPM, and avoids dependency problems.

    Slackware uses BSD style init scripts, while most other Linux distros use System V style init scripts. Basically, with System V style each runlevel is given a subdirectory for init scripts, whereas BSD style gives a single init script to each runlevel. BSD style advocates say that it is better because with this system it is much easier to find, read, edit, and maintain the scripts. System V advocates say that the System V structure for the scripts makes them more powerful and flexible.

    It is worth noting that System V init compatibility has been incorporated into Slackware, starting with version 7.0.

    Thea way I put it is that Slackare is is lean, mean ant to built to stay that way.

  33. Another great website: Librenix.com by KWTm · · Score: 2, Interesting

    From time to time I'll visit http://librenix.com/, a "linux tutorial" aggregator site where people collect various tips about Linux and its various applications. This is often how I will hear about various applications, methods to secure your computer, tricks for administering Linux, etc. For example, as of this writing, among the first page list of articles we have a tutorial on installing VirtualBox in Linux, emacs essentials, how to install dual monitors, etc. Most articles are good, although the styles can vary since Librenix just points to various web pages; they weren't created for Librenix itself.

    Recommended.

    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
  34. Thanks by teh+moges · · Score: 1

    Thanks for the replies, it seems I have alot to read. I am going to head off to Linux From Scratch and start with what they have there, and see how that goes. Depending on how that goes, I'll go to Slackware and see what it has. Thanks also for the suggestions for books. Despite what is available on the net, theres always something extra when reading it from a book.

    1. Re:Thanks by Budenny · · Score: 2, Informative

      They are very good suggestions, but I would start somewhere a bit simpler.

      Scott Graneman Linux Phrasebook
      -- this isa fairly small but amazingly comprehensive and very clear book on using the command line. The OReilly Pocket Linux is also good but much more limited.
      Ward How Linux Works
      -- fairly discursive, but once you've read it, you understand how it all works and the detail will slot into place
      Schroder Linux Cookbook (or actually, anything she writes)
      -- well, she's brilliant, doesn't cover everything, but what is covered is clear, detailed and after you work through it, you can do it, and you understand it.
      Linux in a Nutshell
      -- this is a sort of paper version of man, Graneman's book is a subset with more examples. But if you have this you can find every option in every command in an instant. Have it for reference.

      I agree about slackware. Install slackware and work through their brilliant documentation. This is a good accompaniment to Ward's book.

  35. Avoiding Surprises by cyphercell · · Score: 1

    P.S. OSS is usually a moving target, in that it actually gets updated and things change, avoid "new" unless you need it, stay in the package tree. Use OSS and I'm saying this from a pragmatic view. Review hardware against your kernel, version of X, desktop environment, and your distribution. Make sure there's accurate documentation if you get into trouble, prefer hardware that releases their specs. Ask questions and go to a Lug meeting every once in a while. Buy Crossover office, don't try messing with Wine it's a PITA and I think they get more out of your money than your bug reports. Learn how to build rpm and deb packages, then you can go outside of your package tree, still avoid closed source 3rd party crap though, unless you install it with crossover. Finally, trust me, yes it's really worth it, it will even make you a better Windows user/admin. Of course this is what I've learned and what has been important to me, YMMV.

    --
    Under the influence of Post-Cyberpunk Gonzo Journalism
  36. Books by Knuckles · · Score: 3, Insightful

    BOOKS:
    Essential System Administration By Æleen Frisch
    http://www.oreilly.com/catalog/esa3/index.html

    Unix Power Tools By Shelley Powers, Jerry Peek, Tim O'Reilly, Mike
    Loukides
    http://www.oreilly.com/catalog/upt3/index.html

    Running Linux By Matthias Kalle Dalheimer, Matt Welsh
    http://www.oreilly.com/catalog/runlinux5/index.htm l

    The UNIX Systems Administration Handbook by Evi Nemeth, Garth Snyder,
    Scott Seebass, Trent R. Hein, et al.
    http://www.amazon.com/UNIX-System-Administration-H andbook-3rd/dp/0130206016/ref=pd_bxgy_b_text_b/104 -2587738-8696715?ie=UTF8&qid=1176522696&sr=1-1

    The Practice of System and Network Administration by Thomas A.
    Limoncelli, Christine Hogan
    http://www.amazon.com/Practice-System-Network-Admi nistration/dp/0201702711/ref=pd_sim_b_4/104-258773 8-8696715?ie=UTF8&qid=1176522696&sr=1-1

    Martin F. Krafft: The Debian System: Concepts and Techniques
    http://debiansystem.info/

    Benjamin Mako Hill, Jono Bacon, Corey Burger, Jonathan Jesse, Ivan
    Krstic: The Official Ubuntu Book
    http://www.amazon.com/Official-Ubuntu-Book-Benjami n-Mako/dp/0132435942

    --
    "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    1. Re:Books by Neolith1982 · · Score: 1

      Hmmm.... The Best books about Linux I have read so far are unfortunately German ones, but if someone knows English Versions of theese Books, feel free to add For the start, and to reread the Basics: Michael Koffler - Linux, Instalation, Konfiguration, Anwendung (roughly in English: Linux - installation, configuration, using) For deeper understanding of the system (all by Helmut Herold) Linux/Unix Grundlagen ( in English: Linux/Unix Basics) Linux/Unix Shells (in English the same ;)) awk & sed lec & yacc make Linux/Unix Systemprogrammierung ( in English: Linux/Unix Systemprogramming)

      --
      How shall I know what I think before I read what I wrote?
    2. Re:Books by mardigras · · Score: 1

      The UNIX Programming Environment by Brian W. Kernighan and Rob Pike

      This book explains the philosophy behind Unix and consequently Linux. Kernighan was one of the founders of Unix at Bell Labs and Pike came on board shortly afterwards. The book is definitely dated, having been published in 1984. However, I still feel like I have a better understanding of the Linux environment having read it.

  37. Why not do the most obvious thing? by Eggplant62 · · Score: 4, Informative

    Find and join your local Linux Users Group. Start here on GNU.org's List of Linux User Groups and see what you can find. Most of everything I know from Linux is either:

    1. What I learned from my local LUG
    2. What I learned from my best friend, the Linux Guru
    3. What I learned from reading a multitude of books and websites
    4. Through classwork at the local business college with a Linux-friendly IT program

    Interact with people who know about Linux. Ask questions. Read HOWTOs. Get reference books and read them.

    1. Re:Why not do the most obvious thing? by Hognoxious · · Score: 1

      Don't forget usenet. And before asking questions on any forum, read this.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  38. slashdot, of course by quakehead3 · · Score: 1

    Come to slashdot everyday. You'll learn a lot about linux that way :)

  39. Tools are the key by simm1701 · · Score: 4, Informative

    The real key to unix (any unix) is knowing how to use the tools that you get installed with the OS to make your life easier.

    First things first is the terminal (xterm, kterm whichever it doesn't matter) use it. Forget the GUIs, use the shell.

    That brings us onto the shell itself. Pick one and stick with it for a while. On linux most people prefer bash, its a good choice as even though its not on all unixes by default its not difficult to obtain (just don't try to set the root users default shell to bash on solaris)

    Learn the language of the shell, pipes, redirects, command line interpretation of special characters, handy tricks like tab complete, loops, variables, tests and use these all on one liners - progress to script files and also learn about functions - shell scripts are usually going to be fairly primitive tasks but they are the key to an easy life as an admin.

    Man is your friend - and should always be the first place you turn for help, then google, then forums.

    Learn the basic commands, ls, mv, cp, rm, learn their options and understand the justifications for using them (-i? -f?)

    Pick an editor and learn to drive it - this is a long process but well worth it. Don't bother with a GUI one, consider that later. On a default linux install you will probably have vim and emacs - try them both, see which you like and use it. Check out guides on how to customise them until they behave just how you want them (I have a 10 line .vimrc file I can create from memory that makes vi behave just as I like) - ok yes vim != vi, but to shock vi purists I like to be able to use the cursor keys while in insert mode!

    learn atleast the basics of the other important tools - at the very least find and grep. Awk and sed should certainly be on the list as you will encounter many scripts that use them, atleast some basic knowlege of perl would be handy (I prefer to use perl instead of awk and sed but thats my preference not everyone would agree)

    Set up services and experiment, run a webserver, database server, mail server and learn as much as you can stand to about iptables to secure your box.

    Keep backups, don't be afraid to break things, fixing what you broke (after finding out what you did to break it) is some of the best education yuo can have

    All in all

    Have fun!!

    --
    $_="Slashdotter";$syn="OTT";s;..;;;sub _{print shift||$_};s!ash!Perl !;s=$syn=ack=i;tr+LLEd+BLAH+;_"Just Another ";_
    1. Re:Tools are the key by stan_freedom · · Score: 1

      Great advice by the parent post. In particular, learn the basics of vi/vim (or emacs) ASAP. Next (or concurrently), write some simple shell scripts. This will force you to learn some CLI tools. Use "man" extensively. Near the bottom of most man pages are lists of related commands, which is a good way to find new tools.

      In addition to the previously noted CLI tools, spend some time learning how to use the "find" command. The -exec option of the "find" command is a powerful way to perform a task on a large set of files. It's also a good way to destroy your system, but if you never play with fire, you'll end up a vegan. The "screen" command is another handy little tool, especially if you are remotely connected to a system.

      Finally, learn how to create aliases for commands you frequently perform. Example: alias netg="netstat -pan | grep -i " allows me to type "netg ssh" to list all open secure shell connections.

    2. Re:Tools are the key by simm1701 · · Score: 1

      Ah yes almost forgot to mention screen - I take it far too much for granted these days.

      Also never under estimate the usefulness of screen -x

      (if you never tried it then do so, open up 2 xterms, start screen normall in on, and run screen -x in the other, 2 xterms, 1 set of shared screen sessions)

      --
      $_="Slashdotter";$syn="OTT";s;..;;;sub _{print shift||$_};s!ash!Perl !;s=$syn=ack=i;tr+LLEd+BLAH+;_"Just Another ";_
    3. Re:Tools are the key by turing_m · · Score: 1

      Good advice by both parents.

      Some vim specific advice:
      1) Understand that there is a learning curve. However, within a short time you are thinking what you want to do and your fingers are implementing it, with a minimum of RSI. Contrast with notepad.exe.
      2) Don't type vim, first off. Type vimtutor, and keep going with it.

      Also, better to type "updatedb" and then whenever you want to find something, do "locate file". You will need to type updatedb if you think the file is new since you last typed it. Much faster.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
  40. excellent point by CaptainNerdCave · · Score: 0
    you should be doing this with everything that you want to get better at/learn more about - essentially, put yourself into situations that you wouldn't normally (well, you don't think you would) get yourself into; this is a rehashing of the "sink or swim" philosophy. fight your way out of all the wet paper bags you can get into, be prepared to reinstall, don't keep anything important on the install/boot partition (just keep all of your important things on your personal fileserver). move things around, change permissions, delete things willy nilly (ie without the package manager or apt-get/emerge/etc) and you'll start to see things happen that you don't want to happen... sometimes the distro will tell you what is wrong and you can fix it by booting up with a livecd or into a safe configuration; if that isn't the case... then just make sure nothing valuable will be lost by reinstalling.

    i don't even want to count the number of times i've reinstalled xp (or on how many machines), but eventually i learned that putting all of my goodies on a single partition was making my life much harder. with knoppix, (a couple of differents forms of) gentoo and ubuntu (which i stick with because it is the easiest to get new users into, so i must know it) i have done so many reinstalls and have learned a lot about each os through the random changes i have made and the various problems that arose due to stuff that i didn't realize i had done.

    best advice ever: keep your important data safe and secure somewhere. once you've done that... play. the odds are almost zero that what you do wrong will be irrepairable. my favorite thing to tell everyone that asks me to teach them how to handle something better: "i can only show you what i do, what i know works and doesn't; i can't teach you to be reckless, random, cautious and experimental."

  41. You can't be serious... by joto · · Score: 0, Flamebait

    If you have trouble finding explanations for how linux works, it's quite remarkable that you are able to grok how windows works AND being completely unable to use google. In fact, I don't believe you. If you had said you didn't want to learn something new, because you already had invested a lot of time in windows, I'd believe you. But that you can't find more about linux on teh Intarweb is far beyond disbelief. Either you must have absorbed your windows knowledge through osmosis or some other process not involving intelligence; or you have recently suffered a stroke or something that damaged your brains ability to work; or you are simply a troll. My money is on the latter. Because stuff to learn about linux is just a click away.

    1. Re:You can't be serious... by Anonymous Coward · · Score: 0

      And that sort of attitude is why it's hard to find good Linux references for newbies. Good job!

  42. Linux? by dintech · · Score: 1

    You must be new here.

  43. Good question, and some worthy responses. by FoamingToad · · Score: 1

    I'm sure there's a lot of early *nix users who will find the information in this thread particularly helpful.

    F_T

  44. "How Linux Works" No Starch Press by flotationIsGroovy · · Score: 2, Informative

    How Linux Works describes the inside of the Linux system for systems administrators,
    whether you maintain an extensive network in the office or one Linux box at home.

    Some books try to give you copy- and-paste instructions for how to deal with every
    single system issue that may arise, but How Linux Works actually shows you how the
    Linux system functions so that you can come up with your own solutions.

    After a guided tour of filesystems, the boot sequence, system management basics,
    and networking, author Brian Ward delves into open-ended topics such as development
    tools, custom kernels, and buying hardware, all from an administrator's point of view.

    With a mixture of background theory and real-world examples, this book shows both
    "how" to administer Linux, and "why" each particular technique works, so that you will
    know how to make Linux work for you.

  45. I had the same problem by Stu101 · · Score: 1

    All I did was find a a social interest group that re purposes IT kit for use by charities and the like, strips it down, rebuilds it and installs Linux on it, and servers too. It does two things, firstly, it keeps computers out of landfill and secondly it helps people less fortunate than myself learn and use computing, kinda like freegeek, but for charities! Just think of the massive array of different kit you could get to play with!

    --
    http://www.writeitfor.us - Writing IT for the IT generation.
  46. Amen by matt+me · · Score: 2, Insightful

    If it ain't broke, break it. Fix it. Understand it.

    Here's some things to try:
    Compile mplayer. Build a firefox package for your distro. Download, patch and compile a kernel. Add a cronjob to delete some files at random. Forget about it. Try and restore them. (ext2 does not delete file pointers in inodes). Create an LVM group. Siphon disk space between disks and partition. Try a file system written by someone suspected of murder. Post on a linux-devel list and join Linus in slagging off Gnome. Try KDE and XFCE and decide no-one needs a desktop environment. Try some ultra minimal *box window manager. Live in the terminal for a week. Log in to your computer using SSH from afar and wonder why when you play music you can't hear it. Rsync something. Write your own superior syncing script. Write some perl scripts. Python. Add a RAID. Try an old 2.4 kernel..

  47. Expose yourself to a variety of setups. by jonadab · · Score: 1

    One thing I've found useful is to expose myself to a variety of different distributions. A lot of the stuff you want to know for system administration is subtly different from one distro to another, and so switching distributions will call your attention to it. Startup and daemon-control scripts, for instance, are not quite the same on any two distributions, but after you've used about twelve different ones, you'll get a feel for the things that *are* the same about them through all the different systems.

    I'd recommend making sure you've used at least one rpm-based distro, at least one apt-based distro, at least one binary-package distro that doesn't use rpm or apt, and at least one source-based distro. Oh, and also, run off a live CD for a month or so sometime.

    Also, use it for a variety of things. Each couple of months, make yourself a little "project" for learning to do some new thing with it -- set up a web server, a file server, a firewall, a print server, ... when you are starting to feel comfortable with that, then you can move on to a new project.

    Finally, get yourself a copy of Programming Perl and an account on perlmonks. It is really amazing how useful Perl can be for system administration.

    --
    Cut that out, or I will ship you to Norilsk in a box.
    1. Re:Expose yourself to a variety of setups. by endianx · · Score: 1

      What is a "binary-package distro"? And could you please give an example of one of these?

    2. Re:Expose yourself to a variety of setups. by jonadab · · Score: 1

      > What is a "binary-package distro"? And could you please give an example of one of these?

      A "binary-package" distro is any distribution based around binary packages, i.e., packages that contain precompiled binaries. As opposed to a source-based distro.

      Distributions that use either rpm or apt are usually binary-package distributions, but there are also ones that do not use those package formats, but something else. These are the ones I was talking about. One example is Slackware, which uses a package format based on gzipped tarballs, with a particular directory structure inside.

      The reason the packaging mechanims is so important is because of the "borrowing" that goes in within families of distributions. (There is borrowing across the family lines too, of course, but less.) For instance, most apt-based distributions consider Debian an upstream source of packages, so there are fewer differences between them than there would be between one of them and an rpm-based distribution. Most rpm-based distributions either do now or at one time did consider RedHat (or Fedora) an upstream source of packages, so they inherit a lot of the way RH does things, and that makes them different in some significant ways from Debian. And so on. Slackware has its own history, so it is yet different from either Debian or Fedora. And then there are the source-based distributions, like Gentoo. (Finally, there's LFS, if you want to go totally hardcore. I never have. Instead I started messing around with BSD, which is different in another whole set of ways from all of the above.)

      --
      Cut that out, or I will ship you to Norilsk in a box.
  48. linuxfromscratch.org by i.r.id10t · · Score: 1

    Go back in time, and get a copy of the LFS howto/book when it was in its infancy - version 1.1 or so ought to do... Very well documented, but you do it and you learn it.

    --
    Don't blame me, I voted for Kodos
  49. Re:Start with Slackware ... I did! by pbhj · · Score: 1

    I'm a slack user since 7, IIRC.

    >>> "... you have to write your own iptables firewall script."

    This simply isn't true. And in my poll (http://www.linuxquestions.org/questions/showthrea d.php?t=530208&highlight=firewall) of just over 100 slackers (not statistically significant but hey) there were slightly more using script generators than writing their own scripts.

    I like firestarter (http://www.fs-security.com/) and it seems others do too.

    FWIW.

    Oh and re the car analogy - having driven a stick shift since 17 at 26 I learnt and passed my test on a full geared motorbike, the first time I got on the fully-automatic twist-and-go scooter I crashed. My first proper crash. This pretty much mirrors my use of "easier" linux distros, which I find harder to use.

  50. have you tried ... by pbhj · · Score: 1

    Your question is a bit vacuous .... what do you want to achieve?

    Anyhow, have you tried installing something like dvd::rip (or a LAMP environment or KDE) from scratch - ie download the source code, configure-make-and-compile and fix any problems along the way.

    You can consider with dvd::rip you've been successful when you rip a section of dvd with sub-titles and burn it to a CD that runs in your dvd player (or eg for LAMP, you're serving a DB driven site, like a CMS, from your own box).

    IIRC dvd::rip gave me problems because at the time decss was hard to find and transcode was a pain to install; it was also my first use of cpan (yeah I wasn't looking for a challenge so I used cpan to install the perl stuff).

    ---

    You could also hang out on a linuxquestions board (me @ Slackware!) and research and solve peoples problems. I had a good one the other day when I accidentally removed the tar package ... which is relied on to install packages - moreover all source packages are tar.gz-ed ... how to reinstall!? [fixed it now btw].

  51. Some useful books by progprog · · Score: 1, Informative

    "Are there any great resources, such as websites, wikis or books for someone that wants to find out exactly how Linux works and how to fix and modify it?"

    Understanding The Linux Kernel is a good resource. For more conceptual stuff, Modern Operating Systems is great.

  52. Just keep using it by drinkypoo · · Score: 1

    And don't resort to any other operating system to do things unless it's a matter of life and death, or job and no job, or some other such decision which should be easy to make. And get some more machines and just play with the things you want to play with. Set up some competing types of VPN. Set up distcc, with cross compilers if you are on different architectures. Actually accomplishing real tasks will do more to teach you how to solve problems than anything else you can possibly do.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  53. Where is the fucking windows 2 linux translator??? by Sodade · · Score: 1

    Where is a damn link or book or whatever that explains Linux admin concepts from a Windows perspective? I have been using windows since 3.0 - I know how to admin windows. It has become intuitive and second nature to me. Everytime I give Linux a spin, I end up frustrated and blowing it off. Mostly because I find it incredibly time consuming to relearn simple shit like downloading and installing an app.

    Where is the link that tells me: "Windows Way of installing an app - go to website, download latest version, extract and 2x click on setup.exe click next next finish. Linux Way of installing an app - blaa blaa whatthefuckever"

    Whoever writes this rosetta stone and promotes it will be the root cause of a lot of people running Linux on their non-gaming boxes.
    I fully expected to find a link like this when I clicked on this article, but instead I see crap like - create your own distro - you'll learn it all. Well no fucking shit sherlock, but if running Linux really requires that hefty of a time investment then it won't make serious inroads to the windows marketshare.

    Note - this is not a troll (even though I am pissed) - I am seriously asking for help. I have four boxes in my house that I use for music, movies and web browsing that are all running Win2K - conceptually, running Linux on these would be great, but not if it is going to take me hours to figure out how to install a damn app...

  54. Re:Where is the fucking windows 2 linux translator by Aeon+Infinitus · · Score: 1

    I think this is a good indicator of where Linux is at in a lot of ways. It's promising and a great alternative--except that it's still not especially friendly for anyone who isn't an uber-tech. I'd like to run Linux on my desktop and laptop but I get frustrated trying to configure things every time.

  55. You forgot part 0 by tknd · · Score: 1

    part 0:
    $ man man

  56. Great free book by scruff6119 · · Score: 1

    Here is prob the best online resource: http://rute.2038bug.com/index.html.gz - The Rute User's Tutorial and Exposition. IMO, It's every bit as good as anything off the shelf. Have a look at the table of contents and you will see how wide the coverage is. You can also download it in HTML or PDF for local viewing.

  57. Read log files by Netino · · Score: 0

    There are no magic. The first thing you must to do is to read log file /var/log/messages. For mail server, read: /var/log/maillog For Apache server, read: /var/log/httpd/error_log The best tool to read recent errors is: tail Use: "tail -f /var/log/messages", to read continouslly that log file, and find errors, so you can correct them.

  58. Get an OS book or take an OS course by tknd · · Score: 1

    Do yourself a favor and first learn how operating systems (in general) work. The problem with linux is many people will start off just by saying "run this command that then do this and it will work" but when that's all done you fixed the problem but have no clue on why it worked or what the commands were doing to make it work.

    As an unexperienced undergrad CS student, I tried running redhat, mandriva, and even a really simple Freesco floppy distro (router distro), but at the end of the day I was still having a lot of trouble when something went wrong. It wasn't until I took my CS OS course that things really started to make sense.

    For example, let's look at the file system works. The file system will typically divide the disk into blocks of equal sizes of say 4096 bytes per a block (in most file systems you can choose a different block size and the default size is different). Obviously there's a problem with this: files typically aren't 4096 bytes in size so if the file is smaller, we wasted space (you can only have one file per a block), or if the file is larger we need some kind of method of allocating and keeping track of which blocks make up a file. All of these details are up to the file system and there are different methods and approaches to accomplishing this (hence why we have different file systems). This also explains why on some file systems, if you create a file that has a really tiny amount of data, it still consumes 4kb of disk space because the file system reserved an entire block to store that data. It also explains why when you go out and buy a hard disk, divide by 1024 to get the actual number of bytes, plug it in and format it, but when you look at the available disk space, it's still lower compared to your original calculation. That's because the file system used up blocks to index your files and when it was done calculating the necessary space it needed, it subtracted those blocks from the disk to show you the actual usable disk space. Some of these parameters and pieces of information vary depending on the file system and OS.

    It's really a lot of knowledge and then some if you want to learn something about networking (I had to take another class for that). But once I really understood how computers and OSes worked (not just linux itself), I really felt like I understood what I was doing and I could actually interpret what the commands where telling me. For example, the next time you issue the 'df' command to see how much disk space is free, the default option typically shows the number of free blocks not the amount of free space. Now you know why (and hopefully why the number of free blocks is actually important). If you don't want to take a class, you could probably also get by by buying the same books required by the class and just reading the book, but my TA was actually a BSD guy so he gave us some other insight that you probably wouldn't find in the books. But the main idea is to first understand how the computer and OS work in general, then start reading about the specific commands and details specific to a particular OS.

  59. That right there is your issue. by Ayanami+Rei · · Score: 1

    Linux just isn't like that. Most of the time you don't go off downloading an app to "do something" unless it's like a web browser or office package or something. For most things it's all about configuration of what you have to make services available. Most stuff is installed when you installed the OS in the first place. If not, it's usually a completely managed process.

    Installing apps on Linux is a process that goes something like this:

    Prep:
    0) Find out how your linux distro of choice installs software. (Is it APT or Synaptic? Yum? Other?)
    1) Make sure you can install or update software using that tool. Follow examples on the websites specific to your distro to get used to this.

    Getting Software:
    1) Find the software that does what you want it to do. Read about people's experiences with it; often there's some choices instead of one defacto thing so you need to research if you don't want to be a guinea pig. This takes some web searching.
    2) Check to see if the software is in your distro's repository already. It probably is. Use the tool from the prep-steps to install the software by name.
    OR
    3) The software might be in an outside repository not supported by your distro. These repositories are your friend because they eliminate the potential configuration management nightmares of trying to support one-off-software and their dependancies on your own. For example, one popular 3rd party repository of software for Fedora is called LIVNA. There are many cool thing in there, and they manage all the little bits that make those cool things work.
    4) Follow the instructions on the website for whatever repository to add that to your software installation tool so it can pull stuff from there. As in step 2, you can then just install that software by name.

    OR

    5) Take a chance, and download an RPM or DEB file from the software page directly. These will probably not install on their own, and require you to install other things to make them work. Or you might get lucky and they work out of the box. Give it a shot.

    6) ./configure, make, make install. But that's probably not for you.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  60. What I did to learn... by wolf31o2 · · Score: 1

    When I was first getting into Linux, I picked specific things that I wanted to learn to do, and focused on those. How do I setup a DNS server? RADIUS? DHCP? MySQL? I find it a bit easier if you have a goal set when trying to learn, rather than just trying to "learn more" about the system. During the course of working on these services, you'll learn more about the system. The secret is to not try to do the simplest installation/setup you can do, but the most interesting. Don't just setup RADIUS, setup RADIUS with a MySQL back-end. You'll quickly learn how different parts of different software operate and will get a better grasp of how things work. The basics really are the most fundamental thing to learn, since everything builds on them and most things in Linux are a combination of smaller, simpler tasks. For example, setting up a LAMP server is really, 4 tasks: Linux, Apache, MySQL, PHP. Of course, that's a bit oversimplified, but you get the idea.

    The distribution doesn't matter. Your best method is to try as many as you can that are fundamentally different. Don't try Debian and Ubuntu and Knoppix. Try Ubuntu and Red Hat and Gentoo. Use systems that are as different from each other as you can, and you'll start quickly picking up on the differences and the similarities. This is what will make you a coveted administrator, since your skill set will be varied and you'll be well-versed in working in unfamiliar territory and good at resolving issues where you don't already know the answer. Also, definitely look into learning bash, and probably perl, too. You don't need to be an expert on them, but you'll definitely want to be familiar with them and be comfortable with them if you ever decide to become a Linux Administrator.

    I hope this helps and welcome to the wonderful world of Linux.

  61. Correcting myself by swillden · · Score: 1

    None of which will eliminate init, or inittab, or the script that launches upstart.

    I have to correct myself. upstart does indeed replace init. That doesn't invalidate my suggestion, though, it just changes it. On Ubuntu the thing to do is to dig through your upstart configuration file and the scripts that it runs. There's still no magic, and you can still use it as the starting point to understand how everything on your system fits together.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    1. Re:Correcting myself by Knuckles · · Score: 1

      That's why I implicitly agreed to your post, "except" for the fact that increasingly it isn't sysvinit :)

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  62. Re:Start with Slackware ... I did! by SadGeekHermit · · Score: 1

    Firestarter? Umm... Ok, my bad, I didn't know about that. I ended up writing my own...

    Well...

    Still, you have to admit, it's not bad experience to write your own script... Um... Hey, look, over there! Is that free pizza?

    (hides)

    --
    NO CARRIER
  63. Tutorials by sciop101 · · Score: 1
    Simple

    http://www.linux-tutorial.info/index.php/

    Dry

    O'Reilly Books

    "Understanding the Linux Kernel" == A thousand pages about just the kernel.

    http://www.oreilly.com/catalog/understandlk/#top

    --
    The only thing new in this world is the history that you don't know.[Harry Truman]
  64. Simple tips by gilesjuk · · Score: 1

    /etc contains all the settings /etc/init.d is like services

    In the bootmanager if you add s to the list of parameters this is like your Windows safe mode (Single user mode). /var/log contains all your logs about various things

    Running dmesg will show you what was happening at bootup.

  65. Re:Start with Slackware ... I did! by pbhj · · Score: 1

    Free pizza ... where!?

    Oh and I'd probably have written the script too if I could understand it all without having to read the flippin' man pages.

  66. Re:Start with Slackware ... I did! by SadGeekHermit · · Score: 1

    Ugghh.... The man pages... Boy, did THAT take a long time. I was reading docs from all over the place, from security faqs to howtos to man pages...

    What an ordeal. But it was kinda fun. And I like my script! :)

    --
    NO CARRIER
  67. Re:Where is the fucking windows 2 linux translator by Bambi+Dee · · Score: 1
    Installing software is the best part of using Linux to me, or rather of using Debian-based Linuxes though other popular distributions are similar.

    Ubuntu example:

    1. Run synaptic (or kpackage or adept or whatthefuckever, but synaptic seems easiest to me). If this is your first time running synaptic, you may want to visit the "Settings" menu and activate some of the deactivated repositories, or add new ones if you know what you're doing. After changing the repositories, click "Reload package information" in the "Edit" menu.
    2. Then use the "Search" button or dig through the categories in the sidebar to find the packages you need, and mark them for installation. If any of the packages depends on additional packages to function (e.g. libraries), a dialogue box will pop up, list them, and ask you for permission to install those as well.
    3. Click the "Apply" button. The packages will be downloaded and installed automatically. Most likely, you will not be asked any questions (where to install them, who to install them for, etc.). If nothing seems to happen, though, click "details".
    4. Exit synaptic. You can now start your new apps by typing their name (no PATH tweakery necessary). Usually, they've also been added to the "start menu" equivalent of your desktop environment.
    If you already know the name of the package, you can just type
    1. sudo apt-get install packagename
    To uninstall:
    1. sudo apt-get remove packagename
    (Or use synaptic again.)

    Other distributions are similar.

    Sometimes, though, there's no ready-made package in any of the repositories, and you'll indeed have to download something from a website.

    It may be ready-to-run (just extract it and copy it wherever you want), it may have a very Windows-like installer script, or you may have to bite the bullet and compile it from source.

    Allegedly, compiling from source is as easy as typing "./configure", then "make", then (with superuser privileges) "make install" in the source directory, but I've found that it tends to require additional packages so some time may be spent on this. :/

  68. Re:Where is the fucking windows 2 linux translator by Oriumpor · · Score: 1

    System Components:
    Windows: Start->Control Panel->Add/Remove Programs
    Ubuntu: System->Administration->Synaptic Package Manager
    Debian: $dselect
    (Open)Suse: yast2

    Commonly used packages:
    Windows: Download package from some site (possibly Sourceforge, possibly some spyware ridden godawful adsite) unzip/execute and follow prompts to install.
    Ubuntu: System->Administration->Synaptic Package Manager; with possible alternative of downloading and using .debs manually or .rpms with alien.
    Debian: $dselect; with possible alternative of downloading and using .debs manually or .rpms with alien.
    (Open)Suse: yast2

    Typical Bleeding Edge Software installs:
    Windows: Double Click Zip file, hunt and peck for a README, extract to a location, run an AV or two against any executables and double click while crossing fingers. Find ini/registry import and manually hack it till you get it right.
    *Nix: tar -zxvf $tarball.tar.gz; cd $tarball... Hunt and peck for README...run ./configure;make; test the app, edit some config files and make install.

    I'm sure there's a fedora/rhe easy way as well, but I haven't used them seriously in over 4 years.

    On a side note, this shit ain't as hard as it used to be; you probably haven't tried Ubuntu/Knoppix et al in years.

    Only time I've had to go to command line at all is for installing custom BS that most won't be doing anyways. I spend more time in the Registry and in a CMD shell at work than I do in a bash shell on my fully driver supported Ubuntu lappy.

  69. Read Debian Policy by Ramses0 · · Score: 1

    The Debian Policy Manual codifies the whys and hows of basic unix operation. Some of it is debian-specific, but debian is a pretty big chunk of "the world of linux" and their policy manual reflects a whole bunch of that common / shared knowledge. What goes in "/var"? How to be sane with "/etc/foo" v. "~/.foo/"? Cron + Init. Basically if a package does something "not in the debian way", then their policy documentation is designed to be able to point to a section and say: "we'd really prefer something like the following..."

    It's a great resource. Also if you really feel like a challenge, grab an older version of debian and do an install. I thought I knew my PC until it blew up back in '99 and I (being tired of windows) installed debian. And proceeded to have to take out every piece of hardware (including memory sticks and floppy drives), putting them back in one by one until I could figure out what was causing XYZ to work or not work. Good times, and you learn a lot.

    --Robert

  70. Gentoo by MrNormS · · Score: 1

    Gentoo.org

  71. Re:Where is the fucking windows 2 linux translator by Anonymous Coward · · Score: 0

    Linux for Windows Administrators (Mark Minasi) may be what you're looking for.
    http://www.amazon.ca/Linux-Windows-Administrators- Mark-Minasi/dp/0782141196/ref=sr_1_3/701-7362000-3 966705?ie=UTF8&s=books&qid=1177438579&sr=8-3
    or http://tinyurl.com/3b8ug8

    Your complaints are very similar to my own and it's the reason I keep giving up on Linux. I know Windows so well that it is extremely frustrating when a simple problem pops up in Linux that is very complicated to fix but could be fixed within seconds on Windows. I realize that's not necessarily Linux's fault but that still doesn't ease the frustrations. I recently bought this book (have yet to read it though) but am hoping it will come in handy, especially now that I am giving Linux another chance and have just installed Ubuntu. The book focuses on Redhat but I am hoping that it will translate well enough that it will still be usable on Ubuntu.

  72. Resources by stangernet · · Score: 1

    Two of the best resources out there are: IBM Developerworks LPI certification preparation material: http://www-128.ibm.com/developerworks/linux/lpi/ VCampus preparation material: http://www.vcampus.com/lpinama