Good Books for learning Linux

Completely new to Linux, can anyone recommend any good books? I prefer Books>web because theyre easier to read. Many thanks TS forums

Linux isn't something that you can learn by reading books... get your hands dirty.

I'm going to recommend the Arch wiki and try installing Arch Linux on an old PC for virtual machine then configure it. It'd be a decent start. Alternatively you can try out Linux From Scratch or Gentoo as well

Ive tried that, not going too well so far, and especially seeing as there is so many different variations. /:

Thanks :) yea i installed it as a dual boot on my main pc, at least i got that managed lol

Decide for one and stick with it. They're all the same under the hood.

I can recommend a few books that will help you on your linux journey. The following books are a good starting point for CISA certification and beyond.

RHCE Red Hat Certified Engineer Linux Study Guide (5th Edition). Michael Jang. ISBN: 9780072264548

 Linux Phrasebook. RScott Granneman. ISBN: 9780672328381

Linux Essentials. Roderick W. Smith. ISBN: 9781118106792

Linux Bible. Christopher Negus. ISBN: 9780470929988

Advanced Guide to Linux Networking and Security. Ed Sawicki. ISBN: 9781418835392

Arch linux will be a very bad choice for a beginner..

For server i can recommend CentOS or debian.

For desktop i can recommend: Linux mint, debian or maybe even ubuntu since there are alot of help in there forums.

And the best way to learn linux is to install it and try it out. And then set some simple goals like setting up a webserver with php, or creating a samba share etc. And go on from there to maybe setting iptables to match your needs. There are alot of thing to do, and i dont think books is the way to go, google/irc/forums is the way on linux.

I've havent read any linux books but all my servers run linux these days.

I started with a ubuntu desktop (back when it was good), then moved to debian. And for servers i started with debian and now i ether run centos, debian or freebsd depending on what it should be used for.

Linux can't be learned from a book, the Linux kernel and the GNU/Linux operating systems are constant works in progress, they are not feature freeze "let's kill all technological advancement for 20 years and ask ever more money for old tech" kind of software, they evolve constantly. So if you buy a book now, with the time it takes for the book to be published, it'll maybe cover kernel 3.4 or something if it's a really new book, and that's a really old kernel. The current kernel has a completely different feature set. Also a very new book might cover a one year old GNU/Linux distro, which has a different feature set than a current GNU/Linux distro.

There is only one way to learn linux: by using it and learning from the open source community. Fair warning: you'll lose all your windows-indoctrination-prejudices, and you'll discover true powerful and free computing, and you'll be interested again in computing and will get a sense of doing something with it other than commercial consumption of prechewed content, and you'll want to contribute to the open source community to realize you own goals, get help from others in realizing them, and help others whilst realizing them.

Using a mainstream GNU/Linux distro is easy, because it's very stable and has an easy to use GUI, but that doesn't mean that you "know linux". I'm not going to lie, Linux/GNU/Linux is a very powerful system, with exponentially more possibilities and features and performance than any closed source software console like Windows or OSX, and that means that it's also more complex, and that in order to truly understand it, you need to know a lot more, and have a deeper understanding of how things work, and that doesn't come overnight. The best way to acquire deeper knowledge is to join an open source project. The can use people that are not computer specialists yet, but want to learn, and can start out doing other stuff. If you invest your work in the project, you'll be repaid a thousandfold with pure invaluable knowledge about computers and about real operating systems and software. Open source is a "do ut des" system, you don't have to invest your time studying in books for yourself, but you have to invest your time in the community, and the community will give you what you need much faster and more thoroughly and correctly.

If you really want to read books about linux, read some 1970's books about UNIX, or some very recent books about advanced IPv6 networking and programming in C. Studying theoretical mathematics also helps a great deal. Do not read commercially available books about linux written while linux already existed, because these books are all written by book salesmen, not by computing specialists, and those book salesmen are mostly also Windows or Mac users, and have maybe used Ubuntu a few times just to be able to write the book.

Other books are syllabi for certification exams. They only provide practical knowledge, which is not efficiently handled by the human brain, which is capable of incredible associative queries and parallel processing, and is much better off fed with low-level knowledge instead of prechewed technical fact listings. To be able to solve certain problems when implementing a linux system or to be able to get started, these certification books are definitely worth taking a look at. I've posted the freely available syllabi of the LPI on the forum in the past. You can even print them out, they are not that big.

Just don't forget that what is printed about linux today, will need a correction or appendix tomorrow, because linux will always be a constant work in progress and will always follow every bit of hardware and software innovation and evolution.

The main reason I have been looking into Linux is because I ideally want to create my own OS later on down the path. Currently in the process of designing my house, and configuring alot of electronics to be built into it. Currently, I have 3 rooms that light up based on the photon count in the room, combined with ultrasonic motion sensing. The unfortunate thing about this, its done with Arduino, and as a result, I have a separate board per room, and ideally, I want to be able to control it all via serial on a single computer. Thanks a bunch for your insights.

As of this moment, I am using Ubuntu. Can you recommend any good sites that teach how to modify that?

Creating an own OS is useless.

Look for a distro that suits your plans. Specifically look at the init system (sysv, systemd, upstart), updates (relases, LTS, rolling), package management (deb, rpm, ...) and other essential software. Then just adapt the system to your needs (e.g. remove/install applications, configs, settings) and backup the changes.