Reddit reviews How Linux Works, 2nd Edition: What Every Superuser Should Know
We found 34 Reddit comments about How Linux Works, 2nd Edition: What Every Superuser Should Know. Here are the top ones, ranked by their Reddit score.
No Starch Press
We found 34 Reddit comments about How Linux Works, 2nd Edition: What Every Superuser Should Know. Here are the top ones, ranked by their Reddit score.
> had any tips for solidifying the foundations.
I strongly recommend the book How Linux Works by Brian Ward, at No Starch Press. 392 pages.
Update: Here's a sample chapter Disks and Filesystems
While published in 2015, most of it is still very relevant. Page for page, it's the best Linux book I've encountered. Topics range from simple to complex, and intuitively organized as well. I found it applicable, of course, to most of Arch.
Good luck.
Here is a "curriculum" of sorts I would suggest, as it's fairly close to how I learned:
Generally you'll probably want to look into IA-32 and the best starting point is the Intel Architecture manual itself, the .pdf can be found here (pdf link).
Because of the depth of that .pdf I would suggest using it mainly as a reference guide while studying "Computer Systems: A Programmers Perspective" and "Secrets of Reverse Engineering".
Of course if you just want to do "pentesting/vuln assessment" in which you rely more on toolsets (for example, Nmap>Nessus>Metasploit) structured around a methodology/framework than you may want to look into one of the PACKT books on Kali or backtrack, get familiar with the tools you will use such as Nmap and Wireshark, and learn basic Networking (a simple CompTIA Networking+ book will be a good enough start). I personally did not go this route nor would I recommend it as it generally shys away from the foundations and seems to me to be settling for becoming comfortable with tools that abstract you from the real "meat" of exploitation and all the things that make NetSec great, fun and challenging in the first place. But everyone is different and it's really more of a personal choice. (By the way, I'm not suggesting this is "lame" or anything, it was just not for me.)
*edited a name out
”How Linux Works” is one of the better in depth explanations of Linux I've read.
It's written in a way that anyone can read and understand it, but it gets pretty deep into Linux under the hood.
Tanenbaum's textbook is par for the course THE best low-level exploration of the fundamental concepts of operating systems. It is, however, HIGHLY theoretical, and requires a solid base of knowledge prior to even starting it. It also is not useful for learning specifics about every day tasks.
This is a phenomenal introduction to the concepts and some of the practice of Linux:
http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676/ref=sr_1_1?ie=UTF8&qid=1454103950&sr=8-1&keywords=how+linux+works
And here is a practical-first exploration of how to use Linux:
http://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/ref=sr_1_3?ie=UTF8&qid=1454103950&sr=8-3&keywords=how+linux+works
I would highly recommended reading these two books, then picking up a copy of Tanenbaum's, and finally this:
http://www.amazon.com/s/ref=nb_sb_ss_i_2_9?url=search-alias%3Daps&field-keywords=unix+and+linux+system+administration+handbook&sprefix=linux+sys%2Caps%2C204&rh=i%3Aaps%2Ck%3Aunix+and+linux+system+administration+handbook
If you actually study and practice implementing the topics discussed in these four books then you will have a far better understanding than 90% of the Linux users I've interacted with.
This is the best book. Sets a firm foundation that you get nowhere else.
How Linux Works, 2nd Edition: What Every Superuser Should Know
https://www.amazon.com/dp/1593275676/
How Linux Works was suggested on another thread. I picked it up, and while I am only on chapter 2, it seems like a good primer.
It depends on what you already know.
​
Do you have any prior programming experience? If not, start there. My no. 1 recommendation here would be Allen B. Downey's free Think Python book. Others might come along and recommend something like SICP, which is a good book, but perhaps a bit hard for an absolute beginner. Downey also has a version of his book that uses Java, so if you know for a fact that this is the language your introductory programming class will be using, then that could be a better option (Python is a simpler language, which makes it easier for you to focus on the actual concepts rather than the language itself, but if you know that you'll be using Java, you might as well kill two birds with one stone).
​
If you do have prior programming experience, you have all sorts of options:
​
Regardless of whether or not you have programmed before, I would also recommend doing the following:
​
if you have any questions about my above suggestions, let me know, and I'll see if I can point you in the right direction.
​
Good luck!
The fact is that there aren't that many things to learn IN DEPTH that are specific to Manjaro aside its package manager (which came from Arch btw).
But you can, of course, learn IN DEPTH GNU/Linux itself, and you'll be able to apply this knowledge to every distro you'll end up with any time soon. There is a book, which can help you understand GNU/Linux better: How Linux Works. I can't recommend it enough, it's just so good.
But if you want to learn something for free I recommend Linux Fundamentals series. It's one of the best introduction articles out there, but even if you are experienced user, you may find it useful anyway. These 4 articles will help you understand the system much better.
And, of course, don't forget about ArchWiki.
For that purpose I can highly recommend the book How Linux Works. I thoroughly enjoyed it and it'll give you plenty of info.
Just to stack hands and echo what was said before, reading about will keep it in your brain for a day. Doing it keeps it there forever though.
Some info on distro differences:
A few book recommendations: (books are generally the way to go)
A few online resources:
Videos/courses:
Some great past reddit threads I've saved for reference:
Just get these 2 books(all you'll need, peep the reviews for proof) and thank me later
Linux Command Line
How Linux Works
This book will answer a lot of your questions.
I recommend How Linux Works and The Linux Command Line. Those will take a total beginner and take you through the basics up to shell scripting.
The Linux Command Line is a work book where you type what it says and follow along. How Linux Works is more of an explanation with less hands-on. I went through both at the same time as the chapters align very well, particularly at the beginning.
That is prepping for the Linux+ right?
I haven't done this course or the exam, but I've been using Linux for a decade. I think for Linux in general - if you are coming into it from scratch then you really need to practice setting up a system, configuring services, compiling software, use a variety of package managers, writing some basic bash scripts and so on. Then you'll have a framework for a lot of the arbitrary stuff they want you to memorize - all the various flags, switches and options. At that point you probably want to do heavy flash-carding for the real arbitrary stuff.
Basically I'm not sure there is a way around simply using it - unless you are great at memorizing stuff without relating it.
I don't know if this book covers the objectives better than the course material, but I found it excellent back when I first got into Linux (I used the 1st edition). http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676
It was the kind of book that you could simply read through, play with what you learned in each section and it made a lot of sense. A real learning guide rather than a dictionary/reference.
Oh and if you want to learn a lot of really useful command line tips and tricks, this memrise was super helpful: http://www.memrise.com/course/50252/shell-fu/
If you master that memrise it'll make you super productive when working in a linux environment.
https://debian-handbook.info/ is super high quality (and free! although if you have the money I think it's well worth donating and / or purchasing a hard copy)
I also like https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/ and https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/
"How Linux Works." It gives a really solid explanation of what an operating system fundamentals.
We just kind of think of them as managing things in the background, but this book really goes into what that means.
It totally changed the way I view programs.
I just bought "How Linux Works" published by no starch press.
Excellent so far, and while I was familiar with all the topics in the book to begin with, I still learn something new every chapter. It's listed as an "Intermediate" level book, but there is a wide range of topics from absolute beginner to some more advanced stuff, all with easy to understand explanations. The topics build on themselves nicely, so you aren't just dropped into a chapter having no idea what the author is talking about.
Supposedly most of the no starch press books are great. /u/C0rn3j mentioned "The Linux Command Line" as well.
How Linux Works - What Every Superuser Should know
I can relate to your attitude and desire to learn Linux, I've felt the same.
I highly recommend this book: https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/ref=sr_1_2?keywords=how+linux+works&qid=1558200935&s=gateway&sr=8-2
I read about a chapter or two a day with some coffee. It's fun and interesting. I think it's right up your alley.
For me, there's two types of Linux learning. Things I learn for fun, and things I learn because I have to or my stuff doesn't work. I started with a lot more things I learn for fun, but now most things I learn because I have to.
I do web development on a Manjaro machine using KDE. I love the distro, but I didn't try any others. I don't need to. It's fine. I use Debian on a lot of the webservers, that's fine too.
My feeling is, all these distros you're looking at have much more in common than not. If you set up a Desktop Environment, a popular one like GNOME or KDE on ANY distro, it's gonna be pretty similar. If you just want to use the shell on any distro, well, you can install whatever shell you want, use of that shell on any distro will be pretty similar.
IMO, you should focus MUCH more on deciding what DE/WM and shell you'll be using. This is going to play a much bigger role in your daily use than what distro you use. I think you should look up youtube videos and online tutorials of different people using different shells, scripts, WMs, VIM, etc, and see what excites you.
You can install Arch, step by step, using the wiki, and it's not that hard. It feels scary and weird at first, but you're just cooking, you're following a recipe, and if you mess up a step, a bunch of people have messed that step up too, google it.
Don't think too much. Just jump in.
How Linux Works 2nd ed. is a great book for learning the overall concepts. It also goes into enough depth so that it’s a great read for those who already have a good bit of Linux experience but want insight into what’s going on underneath the hood.
https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/
Go to https://linuxjourney.com/
or read this book
Very much not a recipe book, but I think a good fit for deeper understanding: How Linux Works
This book https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676 seems pretty good.
I like this book as a starting point.
How Linux Works, 2nd Edition: What Every Superuser Should Know
https://www.amazon.com/dp/1593275676/ref=cm_sw_r_sms_apa_i_GWiNDb5HH68D6
You learn linux by using it, and trial and error. No joke. Just dive in when it comes to Linux. Get a book like http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676/ref=sr_1_4?s=books&ie=UTF8&qid=1418113534&sr=1-4
Use it as a reference at first, or even start reading if you like. Then whenver you have the opportunity, take the hard road and try to accomplish your task using command line tools.
As far as networking, check out securitytube as someone mentioned, maybe go for network+ to get the basics.
You may want to read the more in-depth answer I gave a similar question here: http://www.reddit.com/r/hacking/comments/2oljm2/looking_for_a_good_starting_point/cmokwtg
Good luck!
Okay then. I'm glad that you have a can-do attitude and sound hungry. First let's get something settled. You're nearly as high up in the certifications chain as you can be with Microsoft and you're noticing it's not getting you the places you need to go. This is a supply and demand problem. Employers can get people like you on the cheap from contracting agencies, and often they needn't even be in the united states. You need to increase your value. Here's what you do, you're going to dive in head first. There are two distributions of Linux that are widely known to have some level of enterprise support, which means enterprises (the companies that will pay you lots of money) will be attracted to them. These distrubutions are Red Hat Enterprise Linux (RHEL) and Ubuntu Server Edition. I recommend that you start with Red Hat, but not necessarily because it's a better distro but because they have a well-designed certification program.
Books
Start drilling yourself. There's another less impressive certification called the LPIC which has three tests, there's sample tests all over the web for free, i recommend taking them often and when you don't get a question correct go into your VM and use what you were asked
Pick a language, I recommend first getting really good at BASH then Python.
Don't stay at jobs. We get raises by moving to new companies. Your median stay should be about 18 months if it seems like you've topped out. Don't be afraid to GTFO of Florida. I stayed close to home for too long and wasted a lot of time limiting myself in the Midwest. If you are able to relocate and have an RHCE i guarantee your salary will double in 3 years. DOUBLE. And it will keep increasing. And you'll be working on way more interesting stuff.
How Linux Works, 2nd Edition: What Every Superuser Should Know https://www.amazon.com/dp/1593275676/ref=cm_sw_r_cp_api_i_vm5YCb4B6GH8X
Load it onto an old computer and play with it.
Checkout this book: How Linux Works: What Every Superuser Should Know https://www.amazon.com/dp/1593275676/ref=cm_sw_r_cp_apa_fQ1MybTDN9VRP
Checkout this book: The Linux Command Line: A Complete Introduction https://www.amazon.com/dp/1593273894/ref=cm_sw_r_cp_apa_pR1MybNQRR2FK
Read Books: I recommend this, this and this.
This book is freakin awesome, i've used it and it's an amazing start and teaches you all sorts of stuff. I don't know how much information you actually know about the command line but this has helped me a lot. This book I have heard was pretty good but I unfortunatly haven't made my way to reading it. besides those two and actually installing and forcing yourself to use it everday there isn't much else you can do.
TL;dr sorry. +1 chillysurfer: "How Linux Works" 2nd ed. (yes, ok for a HiIQ_n00b)
http://amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676
Please @JAU, let me know what you think of it (via Amazon 'Look Inside' or AllITeBooks etc)
If you'd like further reading on this topic, I enjoyed reading How Linux Works: What Every Superuser Should Know. I didn't really understand what a kernel is until I read that.
also if you determined to use Linux/Ubuntu w/e I highly recommend the following references, they have been invaluable to me.
Many people may disagree with me, but as a Linux user on the younger side of the spectrum, I have to say there was one thing that really worked for me to finally switch for good- books.
There's tons of wikis and forums and of course Reddit to ask questions, but it is hard to get good answers. You may end up paying for books (unless you look on the internet for books) but it doesn't beat having a hard copy in front of you. It boils down to a time vs money trade off. The only wiki I would follow is one directly from the developers that act as documentation, not a community wiki. Also worth nothing certain wikis are more tied to linux and the kernel than others, meaning some are comparable/interchangable with the distro you may be using. Still, a novice would not easily put this together.
Forums are also useless unless you have the configuration mentioned in the post or that forum curates tutorials from a specific build they showcase and you as a user decided to build your system to their specifications. There's way too many variables trying to follow online guides, some of which may be out of date.
This i've realized is very true with things like Iommu grouping and PCI Passthrough for kernel based virtual machines. At that point you start modifying in your root directory, things like your kernel booting parameters and what drivers or hardware you're gonna bind or unbind from your system. While that does boil down to having the right hardware, you have to know what you're digging into your kernel for if you dont follow a guide with the same exact parts that are being passthrough or the cpus or chipsets are different.
Books are especially handy when you have a borked system, like you're in a bash prompt or an initramfs prompt or grub and need to get into a bootable part of the system. Linux takes practice. Sometimes its easier to page through a book than to search through forums.
Another thing about being an intermediate or expert Linux user is that you don't care much about distros or what other users or communities do. It wont matter as under the hood it's all the same, spare the desktop and the package managers. Once you're out of that mentality you just care about getting whatever you want done. I'm not one of those guys that's super gung-ho FOSS and open source. I just use what gets the job done. Also from a security perspective, yes Linux is in theory MORE secure but anything can be hardened or left vulnerable. It's more configuration tied than many uses and forums or threads lead it on to be.
My workload involves talking to servers and quite a bit of programming and scripting, in a variety of capacities. That's what led me to linux over the competitors, but I'm not so prudent to never ever want to use the competitor again or have a computer with it. With understanding Linux more, I use it more as a tool than to be part of the philosophy or community, though that enthusiasm pushes for new developments in the kernel.
I'm assuming you're a novice but comfortable enough in linux to get through certain things:
In any computer related thing, always TEST a deployment or feature first- From your linux system, use KVM or Virtualbox/vmware to spin up a few linux VMs, could even be a copy of your current image. This way any tweaks or things you want to test or try out is in an environment you can start over in.
The quickest way to "intermediate-expert" Linux IMO is learning system administration.
My go to book for this is "The Unix and Linux System Administration Handbook 5th edition"
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/ref=sr_1_1?keywords=The+Unix+and+Linux+System+Administration+Handbook+5th+edition&qid=1564448656&s=books&sr=1-1
This edition is updated recently to cover newer kernel features such as could environments and virtualization. This book also helps when learning BSD based stuff such as MacOS or FreeBSD.
Another good read for a "quick and dirty" understanding of Linux is "Linux Basics for Hackers" It does focus on a very niche distro and talks about tools that are not on all Linux systems BUT it does a good concise overview of intermediate things related to Linux (despite being called a beginners book).
https://www.amazon.com/Linux-Basics-Hackers-Networking-Scripting/dp/1593278551/ref=sr_1_3?crid=396AV036T1Y0Q&keywords=linux+basics+for+hackers&qid=1564448845&s=books&sprefix=linux+bas%2Cstripbooks%2C119&sr=1-3
There's also "How Linux works" but I cannot vouch for this book from personal use, I see it posted across various threads often. Never read this particular one myself.
https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/ref=pd_bxgy_14_img_2/137-6604082-4373447?_encoding=UTF8&pd_rd_i=1593275676&pd_rd_r=feffef24-d3c3-400d-a807-24d8fa39cd1e&pd_rd_w=8GX0o&pd_rd_wg=3AMRB&pf_rd_p=a2006322-0bc0-4db9-a08e-d168c18ce6f0&pf_rd_r=WBQKPADCVSABMCMSRRA1&psc=1&refRID=WBQKPADCVSABMCMSRRA1
​
If you want a more programming oriented approach, if you're confortable with the C language, then you can always look at these books:
The Linux Programming Interface
https://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=zg_bs_3866_1?_encoding=UTF8&psc=1&refRID=5YN3316W22YQ4TSMM967
Unix Network Programming VOL 1.
https://www.amazon.com/Unix-Network-Programming-Sockets-Networking/dp/0131411551/ref=sr_1_1?keywords=Unix+Network+Programming+VOL+1.&qid=1564448362&s=books&sr=1-1
Advanced Programming in the Unix Environment
https://www.amazon.com/Advanced-Programming-UNIX-Environment-3rd/dp/0321637739/ref=zg_bs_3866_2?_encoding=UTF8&psc=1&refRID=5YN3316W22YQ4TSMM967
These books would take you to understanding the kernel level processes and make your own and modify your own system.
As many have mentioned, you can go into these things with "Linux from scratch" but it's also feasible to do Linux from scratch by copy/pasting commands. Unless you tinker and fail at certain things (hence do it on a vm before doing it to the main system) you won't learn properly. I think the sysadmin approach is "safer" of the two options but to each their own.