LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   The secret to understanding Linux! (https://www.linuxquestions.org/questions/linux-newbie-8/the-secret-to-understanding-linux-4175490919/)

Ribo01 01-11-2014 05:48 AM

The secret to understanding Linux!
 
Hello Y'all and good to be here again, firstly i wish all forum members and moderators a prosperous new year.

For many years, have been a
windows professional developing myself more on windows system, putting any Linux/Unix on the side, i later found out that you can't choose to be an IT professional as i intended to and not just love and understand Linux/Unix OS. Now i just have to understand and master the Linux OS.

From my study and reading, i realized that the Linux OS is entirely different from the windows structure to a large extent, which am very familiar with?

Quote:

I want to be corrected if am wrong "To be a successful admin, you need to understand and know the different configuration files of Linux in the /etc directory and know how to make best use of them ??"
correct me if am wrong please ??

Also can any one tell or give me a list of the major config files and their different uses???

jamison20000e 01-11-2014 05:57 AM

Hi. Some from the first one in my signature and this link may help: http://www.tldp.org/LDP/intro-linux/...ect_03_01.html to start, best wishes and have fun. :)

sycamorex 01-11-2014 06:17 AM

The following link gives you an overview of major linux configuration files:
http://www.ibm.com/developerworks/li...rary/l-config/

Bear in mind that it might differ in some cases depending on a distro.

IMHO, however, it'd be better to approach the problem from the other end. Learn how to accomplish particular tasks in Linux (and you'll learn associated config files), as opposed to studying config files without much purpose. In other words, research how to configure eg. a web server, find out how to connect to another linux machine, etc.


Last but not least, if you haven't already read it, you should read a timeless article called 'Linux is NOT Windows'.
http://linux.oneandoneis2.org/LNW.htm

Ser Olmy 01-11-2014 06:38 AM

I think one of the big differences between Windows and Linux is that most people who use, install, deploy and develop for the Windows platform knows precious little about what's going on under the hood. And this is no coincidence, as the Windows platform is specifically designed to shield users from the inner workings of the OS.

If you take a look at any of the Windows forums, including Microsoft's own groups, you will come across posts from quite knowledgeable people saying a problem of some sort cannot be fixed unless you are prepared to reinstall the service in question, or even the entire OS. This is obviously never actually true; if you could locate the actual file, registry setting, permissions setting, account or Active Directory object causing the problem, that component could certainly be replaced or repaired. Unfortunately, even Windows professionals don't know enough about the inner workings of Windows to properly troubleshoot many issues.

Linux is different in a way that makes it simultaneously easier and a lot more difficult to use. It's more difficult in the sense that "wizards" that guide you through a setup procedure and default settings that work "out of the box" aren't even nearly as common as they are in the Windows ecosystem[*]. As a result, you'll find yourself spending a lot of time reading documentation (of varying quality). In short, you'll have to know quite a bit about how something works before you can using it.

But it's also a lot easier in many ways (at least from a system administrator's point of view), since you know exactly which component does what, and how. Troubleshooting each component in a complex environment isn't all that difficult, and there's an excellent chance you'll be able to locate the exact component or product responsible if something malfunctions.

You mention the /etc directory, which is where Unix and Linux systems keep their configuration files. This directory has much the same function as the Windows registry, except each file is clearly labeled (the file name basically tells you what it does) and can easily be edited and backed up separately from all the other files. An average Linux administrator can make sense of each and every file in /etc with regards to what it does and the settings it contains. I don't think that's even remotely true for the Windows registry database.

So yes, you will need to read and edit files in /etc if you're running a Linux system. Technically, you don't have to know much about advanced registry settings to be a Windows administrator, but in my opinion that's because the bar is set pretty low on that platform. Even Microsoft will advise people to reinstall entire servers because, say, WSUS isn't working or some .NET component fails to install or uninstall. Even at Microsoft, very few people know enough to troubleshoot or fix such issues. (Did you know, for instance, that a lot of important logs in Windows cannot be accessed through Event viewer?)

I was a Windows (and Cisco and Novell NetWare) admin/consultant for years before I started taking an interest in Linux, and I've really come to appreciate the "Unix way" of doing things. The learning curve may be significantly steeper at first compared to Windows, but it quickly pays off. It certainly did for me.

And the fact that heaps of wonderfully advanced software is available under extremely permissive licenses is just a bonus.


[*] Inside Red Hat there's an initiative that has among its goals to introduce default settings for every system component. The developers of systemd believe that ideally, the /etc directory should be empty. If systemd gains widespread acceptance, the contents of /etc may shrink significantly, possibly at the cost of making a Linux system as opaque as Windows, perhaps even more so.

rubyyarn 01-11-2014 08:20 AM

What an article!
 
Quote:

Originally Posted by sycamorex (Post 5096000)
The following link gives you an overview of major linux configuration files:
http://www.ibm.com/developerworks/li...rary/l-config/

Bear in mind that it might differ in some cases depending on a distro.

IMHO, however, it'd be better to approach the problem from the other end. Learn how to accomplish particular tasks in Linux (and you'll learn associated config files), as opposed to studying config files without much purpose. In other words, research how to configure eg. a web server, find out how to connect to another linux machine, etc.


Last but not least, if you haven't already read it, you should read a timeless article called 'Linux is NOT Windows'.
http://linux.oneandoneis2.org/LNW.htm

Just finished the 'Linux is not Windows' article. I know I am a newbie, and I really appreciate the GUI interface that came with Mint. I would like to learn more, and will, eventually. I keep hearing about 'read the manual.' Where can I put my hands on one of those? I'm working my way through a couple of tutorials and taking notes. Is this the best way to learn?

jamison20000e 01-11-2014 08:53 AM

Here are some more: http://www.linuxquestions.org/questi...ux-4175488284/
but I agree with jumping in.

sycamorex 01-11-2014 09:34 AM

Quote:

Originally Posted by rubyyarn (Post 5096057)
Just finished the 'Linux is not Windows' article. I know I am a newbie, and I really appreciate the GUI interface that came with Mint. I would like to learn more, and will, eventually. I keep hearing about 'read the manual.' Where can I put my hands on one of those? I'm working my way through a couple of tutorials and taking notes. Is this the best way to learn?

Yeah, just DO things. When you are stuck at some stage, then you read the manual so solve your problem.

Manuals of standard linux commands can be accessed via the command line, for example:

Code:

man sed
It will display the manual for the command sed.

More information on efficient manual use can be found, for example, on the pages of Slackware Documentation Project:
http://docs.slackware.com/howtos:gen..._efficiently?s[]=manual

When it comes to custom applications that you install, if the man pagae is not available, there will be documentation on the projects website.

Generally, there are lots of tutorials online that might in many cases be more useful than man pages.

suicidaleggroll 01-11-2014 09:35 AM

Quote:

Originally Posted by rubyyarn (Post 5096057)
I keep hearing about 'read the manual.' Where can I put my hands on one of those?

If you're referring to "man" pages, then open a terminal and type "man <name of command>" to learn more about what it does and how to use it. For example, if you want to learn more about the rsync command, you would run "man rsync". You can even run "man man" to learn more about the man command itself.

Habitual 01-11-2014 10:06 AM

Code:

man -k <keyword>
is useful too.

rubyyarn 01-11-2014 11:29 AM

Many thanks!
 
Thank you everyone! I appreciate all of the links and the 'man' command. (Man = manual. Duhhh...) At least I know where to start. Mint will allow me to do most of the stuff I did in Windows while allowing me to learn the nuts & bolts of Linux.

Thanks again :)

metaschima 01-11-2014 12:02 PM

I think the secret is to try and to persevere. Most people don't even try, or give up right away. Self-confidence is very important, for Linux as well as many other things.

greatbear 01-11-2014 12:19 PM

As with anything, there are some very good books about linux and also some very poorly written ones. I would go to a university library and see what they have before buying any books. I am very serious that there are a lot of bad book choices.

The major linux distributions get in your way (when you want to learn configuration files) by automating things too much. Their configuration files are fragmented across multiple directories. What was intended for simplicity becomes a challenge, but if you change the way their system works, then you are no longer compatible with their installation system. For that reason you cannot easily 'Learn linux' on any major distribution. Each major distribution handles network configuration differently, and often it is down to the window manager you choose. Minor distributions, on the other hand, are simpler to learn with but rarely install correctly. You will probably need to try a few or install one into a virtual environment inside of a major distribution.

Linux has a lot of cool networking capabilities. Networking is its strongest point, so don't waste any time learning the basics.

Selenix is a topic all by itself, so avoid configuring it until you have learned most basics.

Su is a topic as is sudo. These are the tools which allow a middle area between super users and limited users.

The kernel can be configured by anyone, however the way that you configure it depends upon the distribution you are using.

BASH programming is time consumming. Learn the commands available, but avoid programming in BASH unless you intend to do a lot of it. Instead choose a scripting language such as Perl, Python or Ruby. (Use python) Only use BASH for simple, single line operations unless you simply like it. It requires a lot of memorization and Bash scripts are hard to read sometimes.

All linux flavors come with compilers, however it isn't easy to figure out how the toolchains work, where they put object files etc. Some systems use 'Make' files, but others use derivatives of make, clones of make, or alternatives to make. To do any compiling on a major distribution you will need to learn how to run virtual environments, so that you can compile without messing up your running system. You will also need to learn how to read make files.

Do install a major distribution and do install WINE. Install a windows executable with it (such as Evernote or MS Office) just to see how it works.

Ribo01 01-12-2014 01:07 AM

Hey y'all. personally, this forum is the best and its ROCKS!!! Cant thank yo guys enough, everyone's post was so so so helpful the needed answers was obtained plus a lot more. honestly, cant do without u guys. much appreciated. cheers!

rubyyarn 01-12-2014 10:31 AM

Programming from scratch
 
Hi, Greatbear,

I couldn't tell if you were talking to me or to the original poster. I am a clueless newbie to Linux and have done well to install Mint to my system. You talk as if I plan to create an operating system from scratch or at least go into the guts of Mint and mess around. I would love to be that good with Linux! Maybe someday...but today is not that day :)

Right now I need to learn enough to be able to understand answers in this and other forums. I also don't want to damage the system I've got.

To make use of your suggestions, I would probably need to dedicate a separate computer to 'compiling' and 'virtual systems' and these other strange new terms.

When you refer to a 'major distribution', do you mean Debian or one of those? I take it that Mint is a 'minor distribution'?

DavidMcCann 01-12-2014 11:03 AM

Quote:

Originally Posted by rubyyarn (Post 5096681)
Right now I need to learn enough to be able to understand answers in this and other forums. I also don't want to damage the system I've got.

Just stick to the golden rule: never alter a configuration file without first making a backup. That way, even if your system won't boot (and we've all been there) you can restore things using a live disk.

I'd also endorse the view that the best way to learn is to just do things. If you're on a course you need a syllabus, but if you're learning for pleasure or to get things more to your taste, then poking around teaches you a lot.


All times are GMT -5. The time now is 01:33 AM.