Reddit mentions: The best computer network administration books
We found 604 Reddit comments discussing the best computer network administration books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 98 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. UNIX and Linux System Administration Handbook, 4th Edition
- New
- Mint Condition
- Dispatch same day for order received before 12 noon
- Guaranteed packaging
- No quibbles returns
Features:
Specs:
Height | 9.25 Inches |
Length | 7.25 Inches |
Number of items | 1 |
Weight | 3.62439958728 pounds |
Width | 1.75 Inches |
2. Learn Windows PowerShell in a Month of Lunches
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.38 Inches |
Number of items | 1 |
Weight | 1.33600130772 Pounds |
Width | 0.78 Inches |
3. The Linux Command Line: A Complete Introduction
- No Starch Press
Features:
Specs:
Height | 11 Inches |
Length | 8.5 Inches |
Number of items | 1 |
Release date | January 2012 |
Weight | 2 Pounds |
Width | 1.09 Inches |
4. How Linux Works, 2nd Edition: What Every Superuser Should Know
- No Starch Press
Features:
Specs:
Color | Multicolor |
Height | 9.25 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | November 2014 |
Weight | 1.66 Pounds |
Width | 0.91 Inches |
5. Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Developer Reference)
- Book is in excellent Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.75 Inches |
Number of items | 1 |
Weight | 4.4 Pounds |
Width | 2.25 Inches |
6. Linux in a Nutshell: A Desktop Quick Reference
- O Reilly Media
Features:
Specs:
Height | 9 Inches |
Length | 6 Inches |
Number of items | 1 |
Weight | 2.75 Pounds |
Width | 1.65 Inches |
7. Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale
- O Reilly Media
Features:
Specs:
Height | 9 Inches |
Length | 7.3 Inches |
Number of items | 1 |
Release date | June 2016 |
Weight | 1.55646356972 Pounds |
Width | 0.93 Inches |
8. Crafting the InfoSec Playbook: Security Monitoring and Incident Response Master Plan
O Reilly Media
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | May 2015 |
Weight | 1.02294489568 Pounds |
Width | 0.63 Inches |
9. Windows PowerShell 3.0 Step by Step (Step by Step Developer)
- Used Book in Good Condition
Features:
Specs:
Height | 9 Inches |
Length | 7.38 Inches |
Number of items | 1 |
Release date | February 2013 |
Weight | 2.48240507012 Pounds |
Width | 1.57 Inches |
10. The Linux Command Line, 2nd Edition: A Complete Introduction
- DC 5V 30A POWER SUPPLY - Input: AC 110/220V Switchable; Output: DC +5V (Adjustable±10%)30A ;Maximum Power:150Watts
- High-QUALITY RAW MATERRIALS - Pure Copper Inductors, High-performance Transformers, Dual-capacity Electrolytic Capacitors is The Guarantee of High-quality Power Supply;
- MULTIPLE PROTECTION - With Over-voltage Protection, Overload Protection, Overheating Protection and Prevent Short Circuit;
- TESTING & CERTIFICATION - This Power Supply is Finished After 48 Hours Burn-in , and Passed The CE and FCC Certification;
- WIDELY USED - High quality Switch Power Supply Widely Used in LED Strip, LED Display, Audio Power Amplifier, LED Lighting, Light Box Billboard, etc
- From raw materials procurement to SMT electronic motherboards, and then to the assembly of finished products, We implement a unified ISO9001 quality management system.
Features:
Specs:
Color | Multicolor |
Height | 9.2 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | March 2019 |
Weight | 2.1 Pounds |
Width | 1.4 Inches |
11. Shell Scripting: How to Automate Command Line Tasks Using Bash Scripting and Shell Programming
Specs:
Release date | September 2015 |
12. FreeBSD Mastery: ZFS (IT Mastery Book 7)
- Material: Metal
- Color: Silver
- Brand: Espresso Supply
- Place Into Portafilter To Backflush Machine
Features:
Specs:
Release date | May 2015 |
13. CommVault Concepts & Design Strategies
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 2.2 Pounds |
Width | 1.19 Inches |
14. VMware vSphere PowerCLI Reference: Automating vSphere Administration
Specs:
Height | 9.200769 inches |
Length | 7.2988043 inches |
Number of items | 1 |
Weight | 2.54413450348 pounds |
Width | 0.79917163 inches |
15. Linux for Beginners: An Introduction to the Linux Operating System and Command Line
- Material: brass
- Color: golden
- Length: 100mm
- Diameter: 2mm, 2.5mm, 3mm, 4mm, 5mm,6mm, 8mm
- Package included: 18pcs brass rods
Features:
Specs:
Release date | December 2013 |
16. Core Data: Data Storage and Management for iOS, OS X, and iCloud
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 1.11994829096 Pounds |
Width | 0.62 Inches |
17. Learning Chef: A Guide to Configuration Management and Automation
- O Reilly Media
Features:
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | December 2013 |
Weight | 1.37127526964 Pounds |
Width | 0.83 Inches |
18. System Center 2012 R2 Configuration Manager: Mastering the Fundamentals, 3rd Edition
Specs:
Release date | August 2014 |
19. The Docker Book: Containerization is the new virtualization
Specs:
Release date | July 2014 |
20. Linux System Programming: Talking Directly to the Kernel and C Library
- Used Book in Good Condition
Features:
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Release date | June 2013 |
Weight | 1.6 Pounds |
Width | 1.1 Inches |
🎓 Reddit experts on computer network administration books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where computer network administration books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Sorry for getting all dramatic, but for me you're asking a red pill/blue pill question. I applaud your curiosity and can only recommend you follow your gut and take the red pill. The truth is by asking the question you already know what to do next. Just keep going. However I'll give you a few ideas because you got me excited.
OSX Terminal
Underneath the shiny GUI surface of your mac you have an incredible unix style OS just waiting to be played with and mastered. A few tips to get you going.
Download iTerm 2. Press cmd-return, cmd-d and command-shift-d.
Congrats. you now have a hollywood hacker style computer
Copy and paste this line into your terminal and say yes to xcode.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Awesome you now have homebrew. A linux style package manager.
May as well get cask too.
brew install caskroom/cask/brew-cask
Now you can install programs by typing a couple of words.
try
brew cask install virtualbox
Get Linux ASAP
Linux is relatively easy to get up and running and awesome fun. try any of these options
If any of the above seems slightly daunting don't sweat it. Be confident and you may just surprise yourself at how much you can learn in such a short amount of time.
Learn the command line
The command line opens up the wonderfully powerful and creative world of unix. Push on.
Play, Play, Play
Do what gets you excited.
I got a big kick out of learning ssh and then pranking my friends with commands like
say hello friend, i am your computer. i think your friend two-gun is very handsome. Is he single?
or
open -a "Google Chrome" https://www.youtube.com/watch?v=X0uYvQ_aXKw
Do what you find fun. Oh and check out Richard Stallman. He's a good egg.
Enjoy.
edit-0
forgot iTerm link
edit-1
Wow! Gold! Ha! Thank you. This is so unexpected! I'd like to thank the academy, my agent, my mom...
A few of my favorite books I reference and recommend. Just a note, many of these are older and can be purchased used for much less. Also if you can afford it, get a Safari subscription. I use my work Safari subscription but this alone has saved me from my book buying habit. Now I only buy "must have" books. :)
Official Ubuntu Server book - I really like this book as the writing style helped me "get it" with Linux. Kyle Rankin has a very good method of showing you the technology and then a quick run down to get the server working, followed by some admin tips. It's a just scratching the surface type of book but it's enough to get you started. I rarely use Ubuntu now, but this book helped me understand DNS and other topics that were IMHO harder to grasp from other books.
As a bonus, this book also has an entire chapter dedicated to troubleshooting. While this sounds obvious, it's a great read as it talks about dividing the problem, how to approach the facts, etc. Stuff a seasoned admin would know but might be hard to explain to a new admin.
The Linux Command Line: A Complete Introduction - You can read this book for free on the site, but having a paper copy is nice. As mentioned, you should have a very solid understanding of the command line. In my experience, I have seen co-workers struggle with basic shell scripting and even understanding how to make a single line for loop. This book covers the basics, moving to shell scripting and I think it's a good solid reference guide as well.
DevOps Troubleshooting: Linux Server Best Practices - This book is referenced a few times here but I'll throw another comment for it. Another book from Kyle Rankin and has the same straight to the point writing style. It's very quick reference and simple enough that you could give this to a new sysadmin and he or she could get started with some of the basic tools. While the book covers a good selection of basic services and tools, it's easy to get deeper into a chapter and find it's only discussing a handful of troubleshooting steps. The idea with this book is it's a quick reference guide, and if you want to get deeper into troubleshooting or performance, take a look at other books on the market. Either way, this is a great book I keep on my desk or reference through Safari.
UNIX and Linux System Administration Handbook (4th Edition) - Another popular book based on the comments here. This is a pretty big book, thin pages, but it's like a small brick of UNIX/Linux knowledge. While it's starting to get dated, it does give a great reference to many topics in the system administration world. The chapters can dive deep into the subject and offer more than enough information to get started but also understand the technology. The e-mail chapter I thought was great as well as the DNS. I think of this book as a overall guide and if I want to know more, I would read a book just on the subject, that's if I need more information. One thing to point out is this book makes use of different OS's so it's filled with references to Solaris, different UNIX versions, etc. Not a problem but just keep in mind the author may be talking about something outside the scope of vanilla Linux.
Shell Scripting: Expert Recipes for Linux, Bash and more - I found this book to be a good extenstion of the Linux Command Line book, but there are many many other Bash/Shell scripting books out there. The author has many of the topics discussed on his site but the book is a good reference for scripting. I can't stress enough how important shell scripting is. While it's good to know a more formal language like Python/Perl/etc, you are almost certain bash will be on the machine you are working on.
Systems Performance: Enterprise and the Cloud - I can't comment on this book beyond the first chapter, I'm still reading it now but it's reading similar to Brendan Gregg's site, and that's a great thing. If you don't know who this guy is, he's one of the top performance guys in the Solaris and now Linux world. He has some great infographics on his site, which I use for reference.
Use method for Linux
Linux Performance
Example of Linux performance monitoring tools
Hope this helps!
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!
When I was 15, my uncle got me a summer job on the landscaping crew for the hospital he worked at. At six feet and two hundred twenty pounds I was physically capable, but I was still a kid out there with the grown men. The summer was full of hot, sweaty triple digit days with lots of lawn mowing, weed eating, raking, gardening, and planting. It sucked. Many time I'd hear the men I worked with say, "You'll never catch me in any office! I love being out here in the fresh air!" Frankly I thought they were nuts. This was about the moment in my life when I decided my future work environment was going to have full time A/C, a water cooler, a big comfy office chair, and unmonitored break times. My uncle did me a solid that summer, and that's what I'll try to for you now.
​
If your goal is a paying job in cybersecurity, here is your blueprint for the first two to three years. Advanced math and programming skills are definitely not needed, math was my worst subject in school by far. College degree also not needed, my best friend is literally a high school dropout and he makes $150K as an AWS cloud architect for NASA, no BS. Intelligence is also helpful but not absolutely critical, I worked at IBM for five years with a woman that could not have been more average in every way. The only thing she was exceptional at was taking notes, any time she or anyone else did something it went in her notebook. If she need an answer for a problem later, she'd look in the notebook. Advanced equipment is not necessary, a second hand laptop and cable modem speed internet connection should be more than sufficient. Frankly, the "what to do" is the easy part. Actually sacrificing hours a day to learn the skills and execute the career plan is the hard part. By far the most important trait is determination, just a refusal to give up. Remember, if it was easy, everyone would do it.
You should be aiming to eventually get a position as a Security Operations Center (SOC) analyst.
A SOC analyst position gives you some insight into a whole range of different information security problems and practices. You'll see incoming recon and attacks, your org's defenses and responses, and the attacker's counter responses. You'll get experience using a SIEM. You'll become familiar with all of the tools in place and start to figure out what works and what doesn't. You'll learn the workflow of a security team and what the more senior engineers do to protect the enterprise. After a couple of years, you'll probably have a much better idea about your own interests and the path you want to pursue in your career.
​
Here's how you get there:
​
Step 1: Get the Network+ certification (Skip the A+, it's a waste of time for your purposes). You MUST understand IPv4 networking inside and out, I can't stress that enough. A used Net+ study guide on Amazon should be less than $10. Professor Messer videos are great and free: https://www.youtube.com/user/professormesser
​
Mike Meyers has about the best all in one Network + book out right now, you can get that from Amazon. You can also check out Mike Meyers' channel on Youtube, he has a lot of Network+ videos: https://www.youtube.com/watch?v=TcIV\_qc-eOU
​
Step 2: Start learning some basic Linux. The majority of business computing is done on a unix type platform, this will not change anytime soon.
​
For Linux, I'd highly recommend "Unix and Linux System Administration Handbook" by Evi Nemeth, et al. The information is presented in a way that is comprehensible to regular people. You can get a used copy of the fourth edition for about $15.00. The second edition got me through my first three jobs back in the day :) https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_fkmrnull_1?keywords=evi+nemeth+4th+edition&qid=1551450119&s=gateway&sr=8-1-fkmrnull
​
Step 3: Get a techie job, probably in entry level tech support or helpdesk. You have to do a year or two here to get some practical experience.
​
Step 4: Get the Security+ certification.
​
Step 5: While in your tech support job try to do every security related task you can.
​
Step 6: Attend Bsides conferences (very cheap), there is almost certainly one within a couple hours of you. http://www.securitybsides.com/w/page/12194156/FrontPage
​
Step 7: Join a local hackers group similar to NoVA Hackers or Dallas Hackers.
​
Step 8: Network with everyone you can at security conferences and in your hackers group.
​
Step 9: After you get those certs and some technical work experience, apply for every SOC position you can.
​
Step 10: Take the free online Splunk class while you're waiting.
​
Step 11: Keep going until you get that SOC analyst job.
​
Guess what, you're an infosec professional!
​
That SOC analyst job should pay between $50K and $60K. You'll stay there for a year to eighteen months and get a couple more certifications, then leave for a new job making $75K to $85K. After five years in the tech/cybersecurity industry you should be at $100K+.
​
Feel free to PM me with questions.
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.
Hey /u/Dude_with_the_pants! So this is a wall off text now that I've written it..sorry about that but honestly when I start talking PowerShell I can go on forever (as my peers at work can attest). So I hope this is kind of useful for you.
So you're looking for some real-world examples...so here goes from where I sit. I've been using PowerShell since it was in beta...so a long time. Prior to PowerShell I was a point-n-click guy. No scripting experience (beyond embarrassingly bad batch files). I'd open VB scripts and kind of zone out. PowerShell really opened a door for me. For the past 20 years I've been working for some really large companies (5,000 - 160,000) as an Exchange\AD guy with my current stint...about the last 13 years or so, I've worked for the same company. This has been an evolution of sorts, but ever since PowerShell v1.0 dropped in my lap during the Exchange 2007 beta I was hooked and started to automate and built tools.
This was a long time ago now, so my skills and uses have matured quite a bit (at least I'd like to think so). Looking through this thread you've already gotten a lot of really good responses. In terms of using PowerShell and where to start I like what others have said. When you reach for the mouse and start clicking on stuff to complete a task, note somewhere what that task was and then when you have down time, look up how to do it with PowerShell. Odds are really good, especially now, that there is a way to do it with PowerShell. If I may be so bold, but I'd recommend taking a look at Learn Windows PowerShell in a Month of Lunches. I recently did a manuscript review of it for the publisher which required me to slowly read through every single page. It's a good staring point and I highly recommend it.
That all said, daily PowerShell usage.. So I've spent the last decade automating and tool-making which my employer has really taking a liking to (not sure why, but I enjoy myself). Here are some examples of what I've done with PowerShell:
For day-to-day stuff, not long ago I needed to query the Windows time configuration status of all our domain controllers. Using remoting this was trivial. If you had 2 DC's then I guess it isn't a big deal, but for us fanning out through remoting to audit this data is absolutely necessary. I find remoting is a quality of life kind of thing. Yes I could RDP into something, but 9/10 times it is way faster to just run
Invoke-Command -ComputerName machineName -ScriptBlock {do something}
So day-to-day, for what I do, I'm honestly writing tools or working in automation projects 90% of the time. I only get into the shell to do something if something is really broken and none of my automation tools have already handled it. Not everyone has that luxury (and it is btw). If I was you I'd look for every opportunity to learn how to do stuff with PowerShell. I think you'll find that in most cases it will free you up to do other things. It'll be awkward at first as you fumble around, but you'll soon find ways to speed things up.
I wouldn't be too obsessed with just looking at remoting stuff. It's true that this does expose some of the power of ..well.. PowerShell, but there is sooo much more to it. Look for ways to improve your daily life. Jot down the stuff you do a lot (and repeatedly). Those are your prime targets. It could even be something as simple as processing your mail in the morning. If there are certain patterns you follow and do a lot of...you can absolutely hook in PowerShell into that too if writing Outlook rules won't do what you need (I've done this too).
Good luck and happy shelling!
> windows server/services?
Microsoft's TechNet and MSDN are Microsoft's main reference portals for operations and development, respectively.
For structured learning, Microsoft offers their MCSE Program. Each exam covers a specific topic, and there are learning objectives and links to reference material available. Microsoft Press will usually have a self-study guide available for each exam.
There's also the Microsoft Virtual Academy, but I've never used it and can't vouch for its quality. Of course, it's free, so....
> linux server/common services? (Could be distro specific)
For professional use, the most commonly used Linux distributions are RHEL/CentOS and Ubuntu. (Debian is also popular, but it's close enough to Ubuntu that you can lump the two together.)
Both RHEL and CentOS have documentation available:
RHEL Documentation Page
Ubuntu Server Guide
RHEL's documentation is far more thorough and complete. However, Ubuntu has community support in the form of the Ubuntu Forums and Ask Ubuntu, and I've personally found it easier and faster to find specific information and solutions for Ubuntu.
For structured learning, Red Hat has a certification track available (which is obviously focused on Red Hat technologies), and LPI has a certification track that is more vendor-neutral. There are self-study books available for Red Hat's certifications, but they are all outdated for the current exams, and I don't recommend buying them until they're revised for RHEL 7.
For self-study, the closest thing to a Linux system administration bible that currently exists is the UNIX and Linux System Administration Handbook. However, it's a bit dated in certain respects.
Linux support and documentation, like its development, is spread out over the Internet. If you're looking for how to do something, usually the best place to start is Google. Searching for "[stuff] Ubuntu" or "[things] CentOS" will usually send you to the right place. Stack Exchange is also a pretty good resource:
> Networking
Networking education is split into two worlds: theoretical/academic computer networking, and practical, vendor-specific networking.
For theoretical networking, your best bet is to pick up a textbook. We recently had a thread discussing recommendations.
For practical, vendor-specific networking, the big player is Cisco. Cisco has a certification track available with course objective and reference materials. For self-study, anything written by Wendell Odom is gold; however, bear in mind that you really need a lab for self-study to be effective.
Other companies, like Juniper or HP, also have networking certifications available, but I only recommend them as a supplement.
Lastly, while I describe Cisco's training as "practical," that doesn't mean that the theoretical aspect of networking is unimportant for a professional. There is an industry-wide push toward software-defined networking, and if your SO wants to get in on that, she'll need to have a firm understanding of computer networking theory.
> NetSec
Hardcore NetSec isn't really my field, but /r/netsec has a Getting Started Guide with some resources available.
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.
Instead of buying tons of books, you might want to look at Safari Books. I have the 10-book bookshelf subscription, and it is seriously plenty. Pros, you have instant access to a massive library of tech books. Cons, you are stuck reading on your computer/tablet/phone (I did try reading a few chapters on my Kindle, but the didn't care for the experience).
Books I would suggest:
I'm not a huge fan of training videos, but generally watch recordings from conferences. Although, I do really enjoy the format of vimcasts though.
As for general advise, I did see someone recommend looking for an MSP. If you are looking to be a Linux SysAdmin, I wouldn't recommend this route as you are going to be supporting MS installations. Personally, I started doing help desk for a web company and moved up from there. Also, I worked hard to create my opportunities within each position. You'll have to put yourself out there and be patient, It took me 4 years to earn the official title of Systems Administrator (in a small-ish town). The key to this is finding a good Sr. SysAdmins who are willing to mentor you, and some environments/people aren't conducive to this.
EDIT:
BTW, I have a B.A. in Political Science, so don't be ashamed to rock that Philosophy degree. You will see a lot of posting that are looking for a B.S. in Computer Science/Computer Engineering/Rocket Surgery, but seriously don't even worry about that. Most job postings are a list of nice to haves, and most places really only care that you have a degree.
I've been recruited by and interviewed with some very respectable tech companies. I just usually have to explain how I got into tech with a political science degree. In an interview, having the right attitude and knowing your stuff should say more than your major in college. But, you will also run into elitist douche bags who knock your degree/doubt your abilities because you don't have a B.S. in CS/CE. If you work with these people, your work should speak for itself. Don't try and get caught up into a pissing match with them. If it is an interview (as in someone you might work for), practice interviewing never hurts.
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
"IT skills" is pretty broad. What is your IT degree- MIS, Cyber Security, Information Sciences, etc? The answer will really depend on what your degree is in and what your interests are. For example, I could tell you to study programming, but if your degree and interests align more with Cyber Security policy implementation, that might not be the best recommendation for you.
As somebody who has been on a few hiring committees, I'd say to work on your soft skills. In many cases, these are more important than technical capabilities. Specific soft skills I look for in new hires: organization, attention to detail, solid time management, communication, and self-sufficiency yet a team player. For us, we will take the candidate who doesn't know everything but has a good attitude and willingness to learn over the person who thinks they know everything and has a horrible attitude.
General technical skills you should toy around with: know your way around Active Directory in Windows, learn how to view event logs on a system (for Windows, hit your Start key and type in Computer Management), NIST Risk Management Framework, learn the parts of a computer and how to set them up and tear them apart. Learning Linux is also good- what I did to understand Linux better was purchase a Raspberry Pi and set it up to run Raspbian OS and RetroPie (to turn the Pi into a retro gaming machine). I also purchased The Linux Command Line and practice the commands from the book in the Raspbian terminal.
Also, before graduation, try to get some kind of internship, even if your major doesn't require one for graduation. It's a great opportunity for you to build hands-on experience and work in an IT environment doing real work. Oftentimes, you will learn something new in your internship that is not taught in school, and the experience might broaden your interests a bit (not to mention you may get a job offer or at least great references because of your internship!). If you need assistance in trying to figure out how to land a good internship, just let me know.
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.
the easiest way is to strictly identify which part is really the variable:
foo=test
cp $foofile testdir/. # cp: missing destination file operand after 'testdir/.' ($foofile doesn't exist and expanded to null, not enough required params for cp)
cp "$foofile" testdir/. # cp: cannot stat '': No such file or directory ($foofile still doesn't exist, but expanded to '' due to double quotes usage - good practice)
cp ${foo}file testdir/. # will compy 'testfile' if exists
Also it is usefull to access command line params from inside the script if there are more than 9 params, to access 10th param use ${10}
and here is some list i noticed for myself of how to use this braces, while reading this book - would recommend:
Sorry for formating issues, reddit treats spaces and new lines in special way..
variable substitution:
substitution:
Bash supports various variables substitutions:
$a - will be substituted with 'a' value
${a} - same as $a but could be concatenated w/ string w/o spaces:
${a}.txt - will be expanded in a_value.txt
${11} - 11th positional parameter given to script from shell
${var:-word} - if 'variable' is set, the result will be its value
if 'variable' is unset - the result will be 'word'
$(var:=word} - if variable is set results in its value substituted
if variable is unset, it will be assigned to 'word'
such assignment will not work for positinal params(see 'shift')
and other special variables
${var:?word} - if variable is unset error with reason 'word' will be
generated, exit code of such construct will be 1
${var:+word} - if 'variable' is set, the result will be 'word',
(but variable's value will not be changed)
otherwise result will be EMPTY string
Example:
$ echo ${variable:-ls} - variable unset - ls used
> ls
$ export variable=1
$ echo ${variable:-ls} - variable is set- its value used
> 1
$ echo ${variable:+ls} - variable is set - ls used
> ls
$ echo ${variable1:+ls} - variable unset - empty line used
>
${!prefix} or ${!prefix@} - returns NAMES of existing variables
that starts from 'prefix.
Example:
$ echo ${!BASH}
> BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS
string variables substitution:
${#var} - returns length of string in variable's value
Example:
$ var=123456789 #this could be interpreted as a string too now
> 9 #string length is 9
${#} or $# or ${#@} or ${#} - returns number of positional parameters
of the script being executed
${var:number} - return string from number to the end, spaces trimmed
variable is unchanged.
Example:
$ var="This string is to long."
$ echo ${var:5} #returns string from 5th symbol
> string is to long.
Example: spaces are trimmed:
$ echo ${var:5} | wc -c #count chars
$ 19
$ echo ${var:4} | wc -c #return starts from space
$ 19 #space is trimmed so same number of chars
${var: -number} - return string from end to number, spaces trimmed
NOTE - space between ':' and '-' signs
Example:
$ echo ${var: -5}
> long.
${var:number:length} - return string from number till end of lenth
Example:
$ echo ${var:5:6}
> string
${var: -number: -length} - return string number between number(from the
end) and length (also from the end)
NOTE: number must be > than length
Example:
$ echo ${var: -18: -2} #var is This string is to long.
> string is to lon
${@} - return all values of positional params
leaving spaces inside strings (like "$@" ) - bcs it know how
many arguments script has
${} is the same form, it seems
${@:num} - displays values of positional params but from num
$(@:1) - works same as ${@}
${@: -2} works , but starts from the end
${@:num:length} - same as with strings but with positional params
${@: -num: -length} - same as with strings but with positional params
${param#pattern} - finds shortest match and deletes it (lazy match)
Example:
foo="file.txt.gz"
${foo#.}
>txt.gz
${param##pattern} - finds longest match and deletes it (greedy match)
Example
${foo##.}
>.gz
${param%pattern} - same as # but deletes from the end of the file
Example:
foo=file.txt.gz
${foo%.} - note . instead of . in # example
>file.txt
${param%%pattern} - same as ##
${foo%%.}
>file
Search and replace:
${param/pattern/string} - replaces first occurance of pattern with string
${param//pattern/string} - replaces all occurances of pattern with string
${param/#pattern/string} - replaces only if at the beginning of the line
${param/%pattern/string} - replacesonly if at the end of the line
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.
First of all I should say that I'm no expert in these things, but I'm sure other people will be able to make other suggestions.
>I plan on installing Linux as my OS (technically my first time)
If you're more used to Windows then the UI will be fairly easy to get used to, but the biggest change will be the command line. This is a really powerful but complex tool and I think the best way to get used to it is really just to dive in and use it as often as possible. MagPi have a book for it (Conquer the Command Line) to get you started, but if you wanted something more comprehensive I've spent some time reading The Linux Command Line and found it really helpful.
For Python I think I started out with Code Academy, but mostly picked it up as I went along. I'm currently reading Python Crash Course and I think it is pretty decent, although most people seem to recommend Learn Python the Hard Way (note the tiny link near the bottom of the page to read the book for free).
At the end of the day the most important thing is to take baby steps and take them often: when you've kept at it regularly for a few weeks it becomes a lot more easy.
I wouldnt look down on you for it, but I would expect you to sell me. I've never personally used Blackboard so Im not sure where the skillsets overlap. You should be sure, and you should be able to talk about how that helps you transition. Write and practice your pitch.
The most important thing for a junior position is passion for the field. No expects you to be talk about POSIX and why you would use egrep over grep. They just want to see someone that is hungry and wants to learn.
Also, go buy the The linux command line. Its the best intro Linux manual I've ever read, and its intended for people with zero Linux experience to get up to speed. Its the second best value you will get for money spent on a book. The first best is Interviews for dummies. Im not joking when I say that I payed $1 for it at a used book store and its made me at least 15k dollars back. If you sit down and really learn both of these, you will be able to transition to a jr linxu admin role.
Learn PowerShell in a Month of Lunches is one of the most widely-recommended books on starting PowerShell. I'd recommend following along and physically typing commands in to see what happens - don't just read it.
Alternatively, if you've got the time, one of the most comprehensive introductions is the Microsoft Virtual Academy course on PowerShell 3.0. Don't worry - even though PowerShell 5.0 has been released, this is still very relevant information. It's long - almost 8 hours of videos - but these guys know what they're talking about and they explain it quite well.
Beyond that, check out the resources in the sidebar of this sub. There are a couple other intro books and guides, as well as a lot of script resources to look at.
Finally, once you have a feel for what the language is, the best way to discover what the language can do is to find something you already do a lot, and figure out a way that PowerShell can automate that process. It sounds like your senior engineers have some examples of this already, but don't be afraid to expriment. I have to produce a lot of Excel reports, so the PSExcel module for PowerShell lets me automatically create those reports.
Hope that helps!
Only about half of the programming industry has a degree directly related to IT or programming. Most have college degrees in something, but in the end the most valuable thing to someone hiring in IT is skills. Once you have the skills, you just need to get noticed.
I would recommend you learn Linux administration and web development. (Or you could learn Windows too - I don't know Windows well so I can't comment on it. Linux and Mac OS X are somewhat more popular in the programming world, but if you're looking to get into IT, not programming, then Windows administration might be more common.)
A good book to learn Linux is "The Linux Command Line".
https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/
For learning web development, you could read "
Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5"
https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery/dp/1491978910/
Codecademy would also really help you in here:
https://www.codecademy.com/
If you have any questions, feel free to PM me and I'll do my best to respond.
I few years ago my youngest brother got his first IT job, and he fell right into an admin role. He too is very sharp. I bought him the following books as a gift to get him started...
The Practice of System and Network Administration, SecondEdition - a few years old but has lots of fundamentals in there, still well worth reading. Hoping for a third edition someday.
Tom Limoncelli's Time Management for System Administrators
I see others have recommended this great book, and I wholehartedly agree: UNIX and Linux System Adminstration, 4th Edition. I was sad when Evi's ship was lost at sea last year. :-( You could tell she loved sailing old wooden ships... just look at the cover. A great loss; she did so much for our community.
Additionally, I will second or third anyone recommending works by Brendan Gregg. I got the Kindle version of Brendan's Systems Performance: Enterprise and the Cloud. I really like this book. It was written to be a good foundational book for the next several years. I am planning to get a hard copy version too. While you're at it, check out these links...
Brendan Gregg:
http://www.brendangregg.com/
http://www.brendangregg.com/linuxperf.html
https://github.com/brendangregg/perf-tools
http://lwn.net/Articles/608497/
http://www.brendangregg.com/USEmethod/use-linux.html
Tom Limoncelli:
http://everythingsysadmin.com/
Introduce him not only to books, but online resources and communities like /r/linuxadmin :-)
Cheers!
Fuck that. You want to learn the newest shit, not some old antiquated OSs that your company just happens to use atm. Yes I'm being very blunt, you will have a better career if you do so.
Also note that Hyper-V is free if you'd like to play with that. You can get that and other Windows Evaluation OSs here.
I run a Hyper-V cluster with two Lenovo M93 systems, a VMWare 5.5 hypervisor on a TS140, and FreeNAS on a custom machine. My network is all Ubiquiti, ERL, ES Lite, 2x UAP-AC.
You just have to jump in and do stuff. Using it as your primary OS or always for a particular task (e.g. always use it for internet browsing) is a good way to become familiar with a linux desktop environment.
As for the command, whenever you want to:
Try to make all of that happen in a command-line/terminal. If you can't figure out a command/program's parameters, check the man (manual) file using the 'man' command ('man <command name>).
For some command command references:
https://files.fosswire.com/2007/08/fwunixref.pdf
http://cc.iiti.ac.in/lcommands.pdf
http://www.pixelbeat.org/cmdline.html
http://www.computervillage.org/articles/CommandLine.pdf
It may seem silly and retro/outdate, but PRINT out a reference sheet. If it's less than 10 pages it's hardly an environmental crisis.
http://linuxcommand.org/index.php
[ Do some basic software development: hello world, a calculator, a text adventure game, dice roller ]
Also install some software development tools and write some basic C/C++ programs and learn about make files. Most of the times installing new software from source is as simple as downloading the source, extracting it, and then running a number of tasks via the make file (e.g. configure, make, make install, etc).
Learning how to compile basic programs on the command line will make compiling other programs from source a little less opaque. The compiler produces object files from source code and links them to produce an executable file.
[ Install some software from source ]
http://www.thegeekstuff.com/2012/06/install-from-source/
https://www.linux.com/learn/intro-to-linux/2017/3/how-install-packages-source-linux
Sticking to simpler software with fewer dependencies (libraries and other software that your new software depends* upon to function properly) is recommended as you should encounter fewer errors if any.
You can always skip this stuff and use a package manager (command line or GUI) if that suits you more.
https://help.ubuntu.com/community/AptGet/Howto
https://www.lifewire.com/guide-to-synaptic-package-manager-2205707
[ Reading ]
If you can tolerate reading books and are willing to spend some money, these may be of use to you:
Linux Pocket Guide, 3rd Edition: Essential Commands (By: Daniel Barrett)
O'Reilly Media
http://shop.oreilly.com/product/0636920040927.do
Linux in a Nutshell, 6th Edition: A Desktop Quick Reference (By Stephen Figgins, Arnold Robbins, Ellen Siever, Robert Love)
O'Reilly Media
http://shop.oreilly.com/product/9780596154493.do
If the price is an issue, shop on amazon and search ebay for a used copy. For the pocket reference at least a lot of stuff is likely to very much the same even in a previous revision/edition.
https://www.amazon.com/Linux-Pocket-Guide-Essential-Commands/dp/1491927577/
^ currently ~$10 on Amazon
https://www.amazon.com/Linux-Nutshell-Desktop-Quick-Reference/dp/0596154488/
^ currently ~$28 on Amazon
I'd strongly recommend the pocket guide and the other reference may be of some use as well.
P.S.
If you aren't sure what Linux "distribution" you should install and use I'd strongly recommend a Debian derivative (a version or variant of Linux that's based on the Debian distribution) or another popular one so you will be able to benefit from common tutorials and the familiarity with it that others users have when you end up needing help.
Debian
Ubuntu
Linux Mint
You can search for other Linux distributions, debian-based and not, using the search tool at https://distrowatch.com/
hmmm...I grew out of that position this past year. It was similar in scope to yours. In your position I highly recommend going desktop infrastructure. Studying for it will allow you to at the very least have a clear understanding of the latest technology available to you for architecting desktop solutions. However, it's not enough to know just that. Here's some advice:
Here's my list of the classics:
General Computing
Computer Science
Software Development
Case Studies
Employment
Language-Specific
C
Python
C#
C++
Java
Linux Shell Scripts
Web Development
Ruby and Rails
Assembly
As a beginner (still am), I have found the easiest way to learn is to just dive in using Powershell for any tasks that you do during your normal day (especially the repetitive ones).
With that said, I have found it highly beneficial to use a couple resources:
To be honest, the most important tip in my opinion to learn how to use PS is the get-help command. This will teach you how to use just about every command out there minimizing most questions that you are looking to ask. A second tip: Learn what it means to "Pass by value" and "Pass by Property Name." This will help you immensely when combining commands using the pipeline.
Quick warning: Powershell will quickly get addictive. Also, it is a community where people enjoy sharing and giving back.
Last note, I swear. Learn shortcuts. It will save you a HUGE amount of time (i.e.like hitting esc on your keyboard to clear the line.)
Senior Level Software Engineer Reading List
Read This First
Fundamentals
Development Theory
Philosophy of Programming
Mentality
Software Engineering Skill Sets
Design
History
Specialist Skills
DevOps Reading List
If you are in a lower cost-of-living area then that is probably ok. What you describe seems like mostly level1/2 stuff. My jr sysadmin makes more than that but I think the help desk people make less, but those are the level1 hd people. I don't know how much our level 2 people make (I'm not their manager).
As for my own experience, I made about that much 20 years ago as a level 2 help desk/jr sysadmin at a large company in contract role. I worked a lot on learning everything I could that would help. The more valuable you make yourself to your company the more you'll make, over time and if they have a good management team. This is why switching jobs every few years can be so fruitful, big jumps in pay or smaller jumps with a bigger title and then growth at the new company.
&#x200B;
Read about time management (https://www.usenix.org/legacy/event/lisa06/tech/slides/limoncelli_time.pdf), script everything you can (https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080), and document everything you can (a wiki or runbook or such).
First: Calm down. They also want you to work for them. It's not like they just have an endless pool of job candidates.
Technical skills are obviously important but other personal traits are much more important. Are you willing to learn? Do you like working in teams? Stuff like that. Technical skills can often be obtained more easily than personal traits. Be confident. If they ask you many technical questions and you can't answer many of them: Don't despair. Be honest about what you know and don't know. Be prepared to present in what particular technical things you have some experience.
If you want to read on Linux and Unix system administration, I recommend this book: https://www.amazon.de/Unix-Linux-System-Administration-Handbook/dp/0131480057
(DM me for tips on how to get it)
I have the UNIX and LINUX System Administration Handbook It's awesome and has a pirate boat on the front, so you know it's good. It's great for best practices type stuff, and there's a little bit of sysadmin humor mixed in.
I also have the Linux Command Line and Shell Scripting Bible which is good for CLI reference.
Other than that, you can find a ton of stuff on the web. Is there anything in particular you are looking for?
> I really would love to hear if anyone has any thoughts on whether spending the time learning VIM is a good idea in this context.
When you ssh into a server and try to edit a small script, what will you do? Install a desktop environment to open up beloved VsCode or fire up trusty old Vim which is installed by default? Knowing basic Vim commands for text editing is a must have for any serious developer (you don't have to be expert, you just have to know enough to be comfortable with using it for small editing, for anything else use your main editor - as mentioned in the comments VsCode + Vim plugin is pretty awesome).
For learning bash I would recommend you The Linux Command Line
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.
Some tips.
r/homelab is a great place if you want to look and ask quiestions
r/SysAdminBlogs is a great place to find other information from other sysadmins
r/PowerShell is great for powershell stuff
If you want to get started on powershell the book "Powershell in a month of lunches" is a great read if you have time!
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
If I had known about the existence of these two books (or rather, their earlier editions) a decade ago, I would have been well on my way to being a better Windows programmer. These two are MUST READS for win32 programming (if you don't want to use .NET framework or other abstraction layers.)
Windows Internals, by Russinovich and Solomon
Windows via C/C++, by Richter and Nasarre
Again, if you want to do non-.NET Windows programming, these books are pure gold. (The older books by Charles Petzold are kind of getting out of date, but were good too.) Also, check out Raymond Chen's blog The Old New Thing for tons of cool bits of Windows dev history
EDIT: Also a must read: Advanced Windows Debugging this is a must if you want to learn how to properly debug "unmanaged" (i.e. non-.NET) applications. Also a pretty good intro to reverse engineering or cracking apps on Windows.
cc him on code reviews for your day to day scripts and proactively go over the small ones with him, line by line, a few times a week.
I have a list of exercises(pm me if you are intested) from: http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057 -- I assign 4 of these exercises weekly and go over it in 1:1s. Buy him a few books, and explain that you can't send him to a conference because of budget issues this year, but you want to invest in his career development -- it will go along way to building the mentor-mentee relationship.
The thing I like about this book, its age does give a good historical perspective, but the questions at the end of the chapters are easily adapted into good questions to fit a particular environment.
I've used this approach to bring up 3 jr linux sysadmins so far.
ATLien325's comment explains that terminology in a pinch, but it's not really going to get you very far on your way to learning how to hack. Your best bet would be to pick up books like this, this, and this. Then you'll have an idea of how programs, file systems, and networking work behind the scenes and you are much better situated to begin to learn how to hack them.
You're also going to need to learn how to effectively use a search engine.
If you have a good sized library, they may have this book.
In totality it of course isn't about the n10-006. But the networking chapters took me that extra mile to pass the exam. It walks you through how to read a routing table, provides enough history (though not too much) to remember features of networking technologies via developmental necessity through time.
While it is still very much overview, the way it was written truly offered something more than all the usual exam prep.
Also, I found messer's study group videos invaluable. Many of them you can listen to on drives, as I did. Though some do require you to look at an image, he is kind enough to read off questions and the possible answers before diving into the solution. Also, subnetting in your head is good for you.
Best of luck.
I don't think anyone is going to do this work for you but this is the best thing for you; today you are going to learn powershell and it is going to own your soul.
How are your powershell skills? If you haven't yet read anything about Powershell, here are your starting points:
https://www.veeam.com/kb1523
http://itstuffilearnedtoday.blogspot.ca/2012/09/calling-veeam-jobs-via-powershell-script.html
http://helpcenter.veeam.com/backup/80/powershell/cmdlets.html
My recommendation would be to write as much as your script that you can make work, even if it is "Hey LOOK AT THIS HOLY CRAP I CAN PULL THE JOB SUCCESS AND FAILURES FROM VEEAM" and then post your attempt to r/powershell with questions on what you need to finish things up.
I am really excited for you - I was posting these kinds of questions before someone told me that I should just learn how to do it myself. Probably the most valuable skill I have picked up in the last 6 years is Powershell.
Cheers.
>Any good books you would recommend?
I never really read any technical books on Linux. Most of my training on Linux has come from working for various vendors and institutions as well as a fair bit of hands on experience (both on the job and off in my lab at home).
I've seen the UNIX and Linux System Administration Handbook mentioned in this subreddit a few times so I assume it's gotta be decent. I remember reading the sample of it somewhere and confirming that what was inside was exactly what I would expect from such a book.
If you're looking for online help then I can help you a bit more with that. First off, the Linux From Scratch project is really time consuming, tedious, and probably over your head (it's still over mine, don't get discouraged). I went through the project once and didn't even come close to finishing it. Towards the end of my attempt I was really just skipping large sections of text and going through the motions of compiling things. However, I still learned some good points about the inner workings of a GNU/Linux system and recommend the project to all people who want an advanced understanding of it; Even if you abandon your lab of it or fail it miserably, I'd wager you'd still walk away with something of value.
The Arch Linux Wiki, or "ArchWiki" as it's referred to on their website, is a surprisingly informative community information repository. It has its faults: You won't find everything you're looking for, some tutorials are little more than hastily pasted step by step guides with absolutely no explanation, and as expected it's written for the Arch Linux distribution. However the utilities and programs Arch uses are the same that every other Linux distribution uses and, much like the Linux From Scratch project, visiting and poking around a bit my steer you on the way to a stronger understanding.
Finally, The Linux Documentation Project is a good bookmark to have (though I don't go there much any more).
Check out /r/sccm. SCCM is really a beast and requires a great amount of planning and care depending on your environment. You can set it up poorly, and it'll still work. You'll just have a lousy experience and think it sucks. It depends on your environment.
I'd recommend building a lab and buying a book to really learn about all the features and how to implement them. I know this is for 2012 R2, but the examples should still be relevant to the Current Branch release. It just won't have info on the new features. There's too many different topics to cover to fit into a single tutorial. I manage about 10k clients using SCCM. If you have more specific questions, I can do my best to help.
If you're involved in windows admin work at all, it's in your best interest to learn powershell. It is so much more robust and...well, powerful than any GUI you use, especially for queries and reporting. I have this book, i'd recommend it highly, about halfway done so far
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.
I'm not sure I'd consider Powershell devops than a core Windows administration tool. Devops to me would be like Chef, Puppet, Ansible, Salt, etc. (Puppet I think would be good for a Windows person to learn.)
You can do Powershell in a month of lunches: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
You can do the Microsoft Virtual Academy as well: https://mva.microsoft.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-8276
Powershell is very object oriented and pipelined, it's not a bunch of "++1, !, +3," style of true programming. It's more of a "get-aduser doej"
A lot of the commands are the same syntax prefixes, like "get" and "export".
Don't be discouraged, envision yourself knowing this inside and out in a year, and your mind will work you toward this goal.
What, specifically, do you work with that you think can benefit from scripting?
I recently got a job as a junior admin and found Unix and Linux System Administration to be really good. There is also a nice CBT Nuggets series on Linux which is a great overview, especially when watched while reading LPI Linux Certification in a Nutshell as the book complements the videos.
If he already knows another programming language Dive Into Pythion is great for getting up to speed quickly.
> 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.
I've read all the books for chef that are currently out, and I think Chef Infrastructure Automation Cookbook is the best all around book right now.
I would also keep an eye out for Learning Chef: A Configuration Management and Automation Framework as well. It's not out yet, but I suspect it would be a good one.
If you haven't seen it yet, also check out Learn Chef as a good free resource.
haha. You are literally the first person Ive ever heard complain about anything other than cost.
Their services are literally the most reliable backup and DR product ive used in 10 years (between VEEAM which only did vms at the time, MSDPM, Backup exec etc.).
and a "production outage", its your data management system not your SAN. Yes it can be scary but they do have 30 minute call back windows and frankly when its taken a dive, im the only one that knows (and my boss of course)
Commvault literally is not a bottleneck ive seen on any system ive used (supporting my second deployment now), often its Disk IO with network being next. Literally get wireline speeds on backups. You just have to understand that storage is much more than capacity.
I literally don't have issues with their interface and quite like the granularity im given with subclient/storage profiles etc.
Sounds to me like you got in over your head, or didn't understand the system, much like people that claim Netapp/EMC^2 etc are "steaming piles of shit". Well yeah when you have no idea what is going on and you set raid group sizes to 5 disks or set luns for "windows" and then present to a different offset (like vmfs in VMware).
FWIW I learned all the ins and outs of commvault through a single 1 week class (that was average price at 8k compared to VMware and other vendors) and a single book.
http://www.amazon.com/CommVault-Concepts-Design-Strategies-Celauro/dp/1467953709/ref=sr_1_2?ie=UTF8&amp;qid=1452282872&amp;sr=8-2&amp;keywords=commvault
But then again when I call vendors for support, its often to validate or work with me to figure out ways to solve an issue, not "your the vendor, fix my shit" kinda calls which I see a lot of from many admins..
Get the Unix and Linux Administration Handbook, 4th Edition, by Evi Nemeth, Garth Snyder, Trent Hein and Ben Whaley.
This book covers both Ubuntu and other Linux flavors, along with traditional Unix. It is my defacto go-to when I need to look up a topic, and goes into incredible detail about not only how to do things, but also some of the theory behind them. A good example is that it explains how to set up a DNS server, but also details how DNS actually works.
For something cheaper - just google the Rute Manual. This also details a wide array of OS concepts and how they are embodied in Linux.
And while your learning - i'd like to throw this tidbit that I absolutely love from the Rute guide:
>Any system reference will require you to read it at least three times before you get a reasonable picture of what to do. If you need to read it more than three times, then there is probably some other information that you really should be reading first. If you are reading a document only once, then you are being too impatient with yourself.
>It is important to identify the exact terms that you fail to understand in a document. Always try to backtrack to the precise word before you continue.
>Its also probably not a good idea to learn new things according to deadlines. Your UNIX knowledge should evolve by grace and fascination, rather than pressure
I found this book in a thread and I've gone through the first four chapters so far. I only got it a little while ago but I really do like how it reads, and the amount it covers is nice. Check out the table of contents on amazon and you'll see what I mean about the coverage.
Other than that we're looking at the same kind of stuff. Let me know if you get any good leads :P
/r/powershell is a nice place to begin and there are a number of links on the sidebar that can help get you started. When I was getting started I used the book Windows PowerShell Unleashed which I really liked. I have heard good things about Learn Windows PowerShell In A Month Of Lunches but I haven't had the chance to look in to it myself.
For free online resources I like ss64 and I also referenced computerperformance.co.uk when getting started.
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.
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&amp;ie=UTF8&amp;qid=1418113534&amp;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!
I'm reading "The Linux Command Line" book by William E. Shotts, Jr. A good primer for when you want to get into Linux. It reads well and it doesn't dump a ton of information on you at once.
&#x200B;
Huh. It's a "Best Seller" now, lol. https://amzn.to/2zgHrzV
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/
This has been one of my favorite books: http://www.amazon.com/Linux-Bible-Christopher-Negus/dp/111821854X/
And I read through this entire book: http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/
They are both great!
Edit: I can't type much because my internet is going out regularly at the moment, otherwise I'd love to elaborate further.
Agree with the comments posted by others. I would suggest the book bellow, which will give you a really nice all round grounding into all thinks *nix.
Gets the fundamentals and you can tackle any system from a good level of base knowledge. Also a great bible for the shelf.
http://www.amazon.co.uk/Unix-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1314652961&amp;sr=1-1
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&amp;qid=1454103950&amp;sr=8-1&amp;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&amp;qid=1454103950&amp;sr=8-3&amp;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&amp;field-keywords=unix+and+linux+system+administration+handbook&amp;sprefix=linux+sys%2Caps%2C204&amp;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.
There is a very good reason why it has a 97% savings right now.....
https://www.reddit.com/r/sysadmin/comments/5mysmp/any_good_resources_for_learning_linux/dc7bqsp/
Great list from /u/va_network_nerd and +1 on Linuxacademy as I use it all the time for learning
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_5?ie=UTF8&amp;qid=1491330548&amp;sr=8-5&amp;keywords=unix
I love this book
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:
I find reading books is the best way to expand ones horizon on a certain topic. UNIX and Linux System Administration Handbook should be an excellent read for you.
The ZFS technology is that require ECC. You can use non-ECC hardware at your own-risk, but you can still use it with a relative safety.
OpenMediaVault do not have ZFS technology. So you can use standard hardware.
ZFS have several advantages. You want to dig into more information read this book:
http://www.amazon.com/FreeBSD-Mastery-ZFS-IT-Book-ebook/dp/B00Y32OHNM
OpenMediaVault is a good option too.
Rule 1: You better start learning how to teach yourself cause classes are probably not gonna happen. I got this book and taught myself the fundamentals of powershell. You'll need to do something similar. For the application, I'm sure the developer provides an entire site full of documentation for you to use to help develop your skills. It may seem intimidating now, but you'll get used to it.
Note: The powershell book is very easy to find for free if you know where to look.
Honestly, this book is absolutely excellent in explaining the working world to you. It's Unix/Linux centric, however gives you awesome tools to tackle your day to day job.
Can you program? If not, learn it! Start out with an easy to learn programming language like Pascal or Java and move on to the more complex C++ and eventually Assembler. Once you've understood the basics of programming (variables, loops, functions etc.) it is a matter of 2 weeks to learn the syntax of a new language.
Get familiar with Linux/UNIX. Learn how user rights work, how the run levels and shell scripts work. Read a lot of code and man pages. The definition of a hack is making a system do something it is not supposed to do. So you have to find a weak point by reverse engineering. Sometimes programmers make mistakes in their code, like a wrong variable type you can then exploit. Learn how a buffer overflow works http://en.wikipedia.org/wiki/Buffer_overflow Also I'd recommend these books: http://www.amazon.com/The-Art-Intrusion-Intruders-Deceivers/dp/0471782661 http://www.amazon.com/Linux-Nutshell-Ellen-Siever/dp/0596154488/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1345626761&amp;sr=1-1&amp;keywords=o%27reilly+linux http://www.amazon.com/Programming-Absolute-Beginner-Experience-Technology/dp/1598633740/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1345626801&amp;sr=1-1&amp;keywords=learn+programming Have fun and good luck!
First thing first, there is nothing you can do with Linux that you couldn't do with Windows or a Mac. And similarly they can be made to do everything that Linux can. It's just a matter of how you go about getting those things done.
Learning sysadmin stuff will help with dev work (in my opinion as a former Linux sysadmin and current Java/Linux dev), but I'd bet you probably won't end up caring about setting up sendmail, bind, nfs, etc. which is a good chunk of the content of that book. I'd leaf through it and see if any of it seems interesting, but it'd probably make sense to return it.
If you're just looking to try to understand what linux is all about, it's tough to go wrong with http://linuxcommand.org/tlcl.php
It's free, but if you prefer dead tree versions like I do, you can buy it in a variety of places. Here it is on Amazon: https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894
A lot of the command line stuff builds on itself, so don't feel bad if it doesn't make sense at first. Once you get comfortable with the shell, you can start dabbling in whatever else tickles your fancy.
I have some knowledge on assembly and RE (Win32), but I never really got that much deep into it. I learned things as I needed in order to do my stuff.
I think the important thing here is to have a solid understanding of the architecture you're working on (for example x86/x86_64), the OS internals, and C. Without this you are going to have a very unpleasant and even painful experience.
If you don't have it yet, take the time and learn it, and then go back to RE. It will be worth it and save you a lot of effort. If you already have it, then things shall come easier to you.
If you are using Windows, I highly recommend David A. Solomon's and Mark Russinovich's Windows Internals book. It's an unmatched resource about Windows and will help you greatly.
Going through a linux book, like this one, will get you over your linux hump. But otherwise, just doing stuff in Linux will get you going, like:
Once you get going, you're limited by your own imagination!
I'm mostly interested in large upticks of spam volume so I can take early action to mitigate any collateral damage we might incur like blacklisting. Additionally, if there is a sudden surge of emails with our domain aimed at us I can assume someone is trying to start a campaign against our organization. I'm basically developing another play for the playbook. Which, BTW Crafting the InfoSec Playbook is one of the better things I've read in a while. Definitely some review (especially for a fellow CISSP) but defiantly some interesting topics and I generally like their approach. You may want to check it out.
The Linux Bible looks good. I would highly recommend the Linux System Administration Handbook as a wonderful resource as well.
>What are the biggest differences between these two ?
Yeah, that's gonna be a lot. It's easier to ask where they differ specifically. But generally, for me, Linux Mint feels more open and under my control than Windows ever did. Also, it's hella faster.
&#x200B;
>How long will I have to use Linux Mint to "get the feel of it"
Impossible question to answer. I've been using Mint for about a year now, and I still don't have the "feel of it", per se. I'm comfortable using it and know where most things I need to know are...but I'm by no means no expert any in any meaningful sense.
&#x200B;
>Where can I learn more about Linux Mint and how to use it ?
r/linuxmint exists and is really helpful. Resources on linux in general of often helpful in my experience, too. I bought "The Linux Command Line" and it helps me a lot.
&#x200B;
>Do I need an Anti Virus ? How is Linux Mint different from Windows in terms of privacy ?
I mean...I don't use one...and, as far as I know, I don't have any problems (at least that aren't caused by me). Frankly, I'm not even sure which anti viruses exist for linux.
One word of warning: watch out for the desktop environments. Unlike Windows, you have options when it comes to your desktop environment. And those options comes with a billion more options to customize it how ever you want!
I was recommended this book, and in my opinion it's quite good. I could link you to a torrent full of every book you could possibly need for stuff like this, but PM me though.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057 <-- Great!
I found the book The Linux Command Line to be very useful. Good luck on your CEH!
Learning Powershell (at the very least) is twofold: on one hand, a person needs to understand how scripts are structured and designed. On the other, a person need the vocabulary and knowledge of commands. Neither of these is really something anyone new is gonna just absorb over lunch. But I would say that you can help yourself with this- although it's definitely not going to help you right away with this issue, it makes things easier in the long run:
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
It took me a while to get good at PowerShell and I had a pretty extensive programming background prior to trying to learn it.
The Exchange cmdlets are also less than ideal when trying to learn... but it was also my first experience with PowerShell. They're usually pretty slow to run and aren't great from a syntax standpoint. The AD and file system cmdlets (
Get-ChildItem
/Get-Item
) are more consistent, faster, and generally easier to work with.Trial and error, as well as looking at code examples on /r/PowerShell is the way I ended up learning. You'll notice on /r/PowerShell people usually post very different ways of solving a problem and one isn't necessarily better than the other, but just use different features or logic.
PowerShell in a month of lunches is usually the recommended book / guide.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
https://www.youtube.com/playlist?list=PL6D474E721138865A
if you're just starting out i recommend these books in order
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
http://www.amazon.com/Windows-PowerShell-Action-Second-Edition/dp/1935182137
https://www.manning.com/books/learn-powershell-toolmaking-in-a-month-of-lunches
*edit: i haven't read this one, but I'm sure it's worth a look if you're interested. it's written by the scripting guy himself, ed wilson.
http://www.amazon.com/Windows-PowerShell-3-0-Step-Developer/dp/0735663394
When I was beginning to learn Linux back in the day, I used The Linux Command Line and have only good things to say about it. It must be one of the simple best books to introduce yourself to the command line and to how to use a modern Unix like system.
I'd like to humbly suggest the UNIX and Linux System Administration Handbook for your new admin. It's starting to show its age a bit (published 2010), but still communicates many of the core responsibilities of administrators in a clear manner with historical context.
Also, take a look at the Linux System Administration and Linux Web Operations LiveLessons, which are more current and may be helpful if the new guy learns from video tutorials.
Disclaimer: I am the author.
Powershell in 30 days of Lunches is what I buy for all my team members expressing an interest. It is hands down one of the best books to start with that I have found and my team recommends.
Also check out /r/PowerShell
Pick up Powershell in a month of lunches and grab a free month trial of pluralsight. Two great resources for learning the basics.
For your lab, check on your local craigslist; someone is always getting rid of some gear there. If not there try EBay, can’t swing a dead cat without hitting a CCNA lab kit like these: Cisco Lab Kit
Once you have lab equipment, get some windows servers spun up as that will make learning powershell both applicable and rewarding to you.
Here are a couple books I have. The author of the first one was a teacher of mine a while back. She really knows her stuff. That book in particular is good for explaining all the protocols involved and how the packets are put together.
http://www.amazon.com/TCP-Illustrated-Protocols-Addison-Wesley-Professional/dp/0321336313/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1382132562&amp;sr=1-1&amp;keywords=tcp+ip+illustrated
This second book is more general networking stuff. Still some really good reference material.
http://www.amazon.com/Illustrated-Network-Modern-Kaufmann-Networking/dp/0123745411/ref=sr_1_7?s=books&amp;ie=UTF8&amp;qid=1382132562&amp;sr=1-7&amp;keywords=tcp+ip+illustrated
And for operating system basics, this is a good all-rounder:
http://www.amazon.com/Operating-Concepts-Seventh-Abraham-Silberschatz/dp/0471694665/ref=sr_1_4?s=books&amp;ie=UTF8&amp;qid=1382132818&amp;sr=1-4&amp;keywords=operating+system+concepts
And for *nix because it is important and nobody thinks about it:
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1382132917&amp;sr=1-1&amp;keywords=Linux+System+administration
NSUSerDefaults is meant to be used with strings, booleans and NSData representation of other data (serialised). I believe you serialise your class to be stored into UserDefaults which is fine.
When I started developing on the iPodTouch2G, I had issues storing and retrieving data more than a few hundred kilobytes. I took some months to understand the basics of CoreData (I never wanted to use raw SQLite, which is an option). Even today I have not mastered it because mastering core data can only happen with time and experience. I still don't like the way CoreData calls from multiple threads and the merge mechanisms but that is the way of life :)
Sooner than later your dataset will grow and you will be hard pressed for options. I suggest you start with simpler architecture (One entity with one property) and scale up the learning process.
This is a comprehensive guide to learning core data and mastering it ;) Core Data: Data Storage and Management for iOS, OS X, and iCloud (Pragmatic Programmers)! from one of the masters of core data.
/r/powershell is a good place to start.
This book is also commonly recommended as a good starting point as well if you prefer books.
The Unix and Linux systems administration handbook is also worth it’s money. https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
If you are doing more with virtualization and automation have a look at vagrant, it will help you get an environment up and running quicker.
As soon as possible also try out other virtualization stacks as kvm, xen and lxc. These are some of the most used and free ones. VMware is the paid contender in most places.
This is a wonderful beginner's linux book. I loved it.
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894
Here are all the local Amazon links I could find:
amazon.co.uk
amazon.ca
amazon.com.au
amazon.in
amazon.com.mx
amazon.de
amazon.it
amazon.es
amazon.com.br
amazon.nl
amazon.co.jp
Beep bloop. I'm a bot to convert Amazon ebook links to local Amazon sites.
I currently look here: amazon.com, amazon.co.uk, amazon.ca, amazon.com.au, amazon.in, amazon.com.mx, amazon.de, amazon.it, amazon.es, amazon.com.br, amazon.nl, amazon.co.jp, if you would like your local version of Amazon adding please contact my creator.
Read this, found it amazingly useful and packed full of knowledge, I recommend this book even to Linux noobs that are trying to get a better feel of the system for desktop use... once they have the basics down that is.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Probably not what you are looking for but if you need to catch up on PowerShell 3 at some point, Learn Windows PowerShell 3 in a Month of Lunches is a quick,easy read. Free ebook with purchase of the paperback, and the review labs can be answered fairly easily without a pc.
Thank you very much everyone for all your answers!
I really appreciate!
I begin with
https://app.pluralsight.com/courses/powershell-v3-essentials-it-pt1
or
https://www.amazon.ca/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Thank you
Sounds like your the Dev side of DevOps. I'm going to save you having to go buy a mac or run Linux as your base OS.
First go download Virtual Box
Next grab the latest version of Vagrant
Install both and sign up for a free account on Vagrant Cloud
Grab yourself cygwin/mysysgit or similar. You are going to need git eventually and you need an openssh client. Install one of those.
Start > Run > cmd
cd %userprofile% #This should drop you into your home directory.
mkdir $dirName
This can be anything you want. I call mine vProj.
vagrant init hashicorp/precise64
This is going to create a file called Vagrantfile in the directory you are in when you call the command. This file is what Vagrant is going to use to build a box.
vagrant up
Vagrant is now going to go out to the internet and download an Ubuntu 12.04 LTS 64 bit vagrant box and use vBox to provision it.
vagrant ssh
You are now in your very own Ubuntu 12.04 Virtual Box. :) You don't like it? vagrant destroy will get rid of it. vagrant up again will rebuild it. vagrant halt stops it. Their are plenty of base boxes on the vagrant cloud. Companies like puppet even put their own boxes online for devs to use. The beauty is that you didn't have to open vBox one time. You didn't have to play with the network settings or setup some weird bridge. Vagrant does it all for you. You can, of course, open vBox and run it as normal but really you don't need to.
As for books.
Linux in a Nutshell
Vagrant Up and Running
Already good responses in here. If you're interested in a good book to learn a bit more, the concise Linux Pocket Guide is very handy. A longer book is The Linux Command Line: A Complete Introduction.
I like a nice ham sandwich for a lunch point.
As far as getting into PS. This is the usual recommendation.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Enjoy your book and sandwich.
I am a beginner too and just finished this book TLCL.Another one i would recommend is shell scripting bible.For most part use google to learn about commands and man page is your friend. I am more of a book kind of guy so never used video resources. Most important you should know where to look for help when stuck.
I would recommend getting a few "Linux" for dummies books. They provide a really good base of knowledge.
This is one I've read before, highly recommend: https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894
In your situation I would take charge if I were you. If you don't at least make that attempt it's your own fault.
If there's no security department, make one. Use what you learned in the Sec+ and then maybe --> https://www.amazon.com/Crafting-InfoSec-Playbook-Security-Monitoring/dp/1491949406/ref=sr_1_1?ie=UTF8&amp;qid=1521475275&amp;sr=8-1&amp;keywords=crafting+infosec+playbook
Identify what is weak at your company, put together a project plan, etc... sounds like the perfect opportunity for you to learn the hard way and then when you do win you can say, "I took initiative, stood up a small infosec department and hardened the company and it's data"
know what i mean jellybean?
the operating system will sometimes page out parts of applications which are probably not going to be doing a lot of work -- a lot of background services and system applications will just sit idle for very long periods at a time -- and free up the RAM they'd otherwise be occupying to do other things. (if you want to see the pager at work, go download Process Explorer and look at the columns "Private Bytes" and "WS Private". "Private Bytes" is the amount of memory each application needs for its own private use; "WS Private" is the amount that the memory manager thinks it's entitled to, given its activity patterns and the system's current memory pressure. you can also pull up Performance Monitor, and look at the paging file usage counter under "Paging File > % Usage > Total", to see how much of your paging file is in use at any given time.)
as for what that RAM can be used for, off the top of my head:
http://en.wikipedia.org/wiki/Prefetcher) which monitors your usual use cases and speculatively loads files off the disk to help you get stuff done faster by having the files you need to do it pre-cached in RAM. the less RAM it has to play with, the less it can improve your performance.
there's a lot more about the design and implementation of Windows in Windows Internals by Russinovich, Solomon, and Ionescu, which I heartily recommend. (there's a sixth edition which is half-released right now and covers Windows 7, but the rest won't be out for a few more months.)
>However, at least at this office, you can have days like today where things slow way down and you can derp around on Reddit until you get more calls or a user gets back to you.
System/Network Administrators (especially at smaller companies) either work well or they work often. I'm getting towards the "well" side of things more and more as I get better, which leaves more time for other activities, like reddit or going through Powershell in a Month of Lunches.
I don't really have many good resources for you. I don't read a lot of technical books or websites/blogs outside of my day-to-day job. I've heard some pretty amazing things about Site Reliability Engineering and Effective DevOps, but I have yet to read either of them.
Overall, as you move forward in your career, I would encourage you to learn as much as you can about the ecosystem your code lives in. A lot of people who go into DevOps have really broad and comprehensible knowledge about the entire stack, all the way from networking and servers, to writing code, to building/deploying/hosting that code, to performance tuning that code, to logging and monitoring issues within the code, etc. Some developers really get stuck on "well, I've written the application, so I'm done, right?" but really there's a lot more to it and that's what DevOps people know and do.
Very much not a recipe book, but I think a good fit for deeper understanding: How Linux Works
For Linux: The Linux Command Line: A Complete Introduction
For Python: Automate the Boring Stuff with Python: Practical Programming for Total Beginners
For R: The Book of R: A First Course in Programming and Statistics
These are all from No Starch Press, and I really like how they all function as complete introductions to their subjects. I've tried a number of programming books, but these have remained my go-to books for recommendations due to how well they build up basic principals for each concept or language. That said, I feel as though The Book of R is the weakest of the three, and maybe look into other recommendations for R if you get more replies.
EDIT:
Just realized that you asked for courses, not sources, my bad. Either way, I do encourage you to consider the above as alternatives to learning these concepts from online courses, as I've found them to be just as good if not better than some online courses I've seen.
I have been trying to use Powershell more and more every day. Almost every task I do in a day, I first try and figure it out in Powershell. If I need to create a new LUN on the SAN... Powershell. Need to install some software on an end-user's computer... Powershell remote. Need to give a boss permission to an employee Exchange mailbox... Powershell! Learn by doing.
I have several Powershell scripts setup to clean out old files out of network shares, send out password change reminders to users' who work remotely, run a daily status report of all my servers, drive space, and error logs.
I am working on a script in my spare time to setup new user accounts, give them a mailbox, email their manager the new login credentials, add them to the proper groups, setup their home directories and permissions. Haven't had much of a chance to play with it, we don't get many new employees around here.
Here's some resources to get you started with Powershell:
ss64
NixCraft
[LinuxCommand.org]
(http://linuxcommand.org/)
[The Linux Command Line: A Complete Introduction]
(http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894/)
Also William E. Shotts Jr.'s book is good too.
Hey, Scripting Guy! A Powershell genius, Ed Wilson. I will always be greatful of his wonderful Powershell examples.
edit: fixed links.
I can do all that now I think...In fact I'm going to build some useful functions using some of those requirements as those building blocks will be useful for many scripts
I found a good book too
http://www.amazon.co.uk/VMware-VSphere-PowerCLI-Reference-Administration/dp/0470890797/
Best thing there is to do is learn the basics of the operating system and how everything works first, that is if you really want to know how everything works and have a chance of doing something in linux.
Check out http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I used it when i got to really learn linux and it really helped me understand exactly what everything was.
2nd this.
The Linux Command Line. Author offers free PDF for download or you can support and buy from amazon.
http://linuxcommand.org/tlcl.php
&nbsp;
https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/r
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/
Don't use batch. It's outdated and should only be used for compatibility with very old versions of Windows.
PowerShell is the right way to to do this. I'm assuming when you say "create 20 users in Windows Server 2012" you are referring to Active Directory (AD) users, and not local users. You'll want to use the New-ADUser cmdlet to create the AD users. For importing from a csv file, you will need to use the Import-Csv cmdlet.
I won't tell you how to write the script, you should learn that on your own. The two cmdlets I mentioned should point you in the right direction. If you know nothing about PowerShell and need to learn the basics then get the book Learn PowerShell in a Month of Lunches. The book will teach you everything you need to know to get started with PowerShell.
The best way I found to learn something is to find a project that relies on it.
For example, I never knew any powershell a few years ago, but I was given a project to write some QA scripts for work. That turned into a 8000+ line modularised script that anyone can use and create plugins for.
I am currently working on building servers and applications using PowerShell (installing and configuring AD, SQL, MSCS, RDP, ...)
If you haven't already, buy the book "Learn PowerShell In A Month Of Lunches" (https://www.amazon.co.uk/dp/1617291080) It's the top rated book by everyone.
I would get a little more comfortable with the command line before you start any of this. I would recommend taking a look at The Linux Command Line: A Complete Introduction
It's extremely informative and very easy to follow along with.
Even more formatting fun!
By the way, thank you for this list.
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.
Yep, if you're a Windows admin you need to learn powershell.
This is a great book to get started.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_2?ie=UTF8&amp;qid=1422411384&amp;sr=8-2&amp;keywords=Linux+Administration Yes, its older but the theories and practices are the same, even if the details have changed some. Plus tools like vmstat, iostat, top and du are still the same years later.
This book has saved my ass countless times. It has a bunch of great knowledge and gives you a chance to catch up on things you might have forgotten. I highly recommend you purchase this and keep beside your desk/cube, at least until you become familiar with the job duties.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
”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.
This is your curriculum:
1 & 2 below are basically required reading in my CSIRT; 3 is optional, but advisable.
Next get yourself and/or your organization to participate in FIRST
You should put those in the sidebar.
Here are some useful books:
VMware vSphere PowerCLI Reference: Automating vSphere Administration
Managing VMware Infrastructure with Windows PowerShell TFM
Useful examples for using PowerCLI with vCloud Director:
Geek after five
C, C++, Assembly are best suited for the purpose. For managed code rootktis part, learn Java and/or .NET.
For Linux programming, have a look at (http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1450511098&amp;sr=1-1&amp;keywords=LINUX+Programming). In fact, this is a must read book IMHO. Apart from this, you can try these too:
EDIT: Formatting
I would try CLI the hard way first. Pretty good intro to command line. Then I would read The Linux Command Line or study for Linux+.
If you want to get into sys admin, or a linux job never hurts to go Linux all the way. I would say Linux+, Network+, RHCSA, and CCNA can help you go a long way. If you like Linux getting RHCE will open more doors. You don't necessarily need to get all of these certs but it helps your knowledge and what people will quiz you on the phone. At one point I was doing about 2-3 phone interviews a week that would just ask about 20-30 random Network, Linux, Windows, and basic trouble shooting questions.
This book https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676 seems pretty good.
Might be good to keep this book on hand.
That right there will probably get you in the door. I would also recommend getting into scripting. I don't write many scripts at work, but I find myself reverse-engineering scripts that run on servers to figure out "Why did my server just restart" for customers.
Good books:
This is a very good book. Debian-isms you can learn as you go, but system administration concepts are useful throughout many distributions.
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Other than that you have to set goals for yourself. Have you tried starting up 2 virtual machines and had them communicate with each other?
Learn how to access all service guides and manuals.... Learn unix/linux basics. Maybe build a small home lab, you can buy cheap servers and networking equipment online. Never say "I don't know" say "I will have to do some research". Nobody knows everything... Google is your friend.... When you are at work do not browse this sub.. Start reading up on that things they want you to work on now.......I am not an admin but work in data centers every day fixing servers. Been in the industry for 13 years.... still get worried about people finding out I have no idea what I am doing lol
Great Guide
UNIX and Linux System Administration Handbook
My driver was for Windows. If that's something you want to explore, I'd highly recommend Programming the Windows Driver Model and Windows Internals. I used the 2nd and 4th editions respectively at the time I wrote it. I think the 6th edition of Internals is coming out soon though.
Such a good book. Also I've gotten good mileage out of Windows Powershell 3.0 Step by Step (was handed out at a workshop I attended)
https://www.amazon.com/Windows-PowerShell-3-0-Step-Developer/dp/0735663394
Decent.
Fundamentals is what you need to know to get through some first round interviews. Explain the boot process in detail from pressing the power button to getting a login prompt -- how does init work, how do run levels work, how does systemd differ? What is getty? pam?
DNS is so much more than just what that rap covers, so if you put it on your resume you better damn well know it. Tell me about the concept of glue records, what is a root hints file, know how to use dig at the very least, how do you switch the order in which the resolver library checks it sources? What is the truncated bit in a DNS packet for?
Know debugging and tracing beyond the usual "top" or "sar" to get real detailed data on what a process is doing. Strace, ltrace, tcpdump, gdb (how to take a stack trace and dump a core), sysdig, perf events, dtrace4linux, vmstat, slabtop, pmap, etc
DHCP is another one like DNS that people like to say they know, but you should know about DHCP relay/ip helper, pxeboot, the actual protocol order of events. Check it out in wireshark.
How do processes and threads differ, really? Lots to talk about here even down to shared memory space, system calls, etc
What is swap, really? What are page faults? How does kswapd behavior change when you don't run with swap?
Know Netstat/ss. Know that tcp is a state machine. What does a bunch of SYN_SENT in netstat imply? Difference between tcp's RST and FIN?
Stateful vs stateless is more than just a tcp/udp difference, it's a fundamental concept to so many aspects of technology.
Basically know what's in this book: http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I have 3 semesters left so my plan has been to seek an internship next summer closer to graduating. Do you think it's unwise to wait that long? My independent study could be better but I've become proficient with Linux using Arch as my daily driver and reading through The Linux Command Line. I'm also going through The Basics of Hacking and Pentesting which had me set up a "lab". Just finished the recon chapter. Also proficient in Python/Java/C++ ("proficient" might be a bold claim, rust considered).
>nice error message
Oh yeah, reminds me of those gems:
ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.
Uhhuh. NMI received for unknown reason 20.
Dazed and confused, but trying to continue
Linux is good and informative when something screws up and you can usually debug and fix most issues using a combination of google/documentation/logic/common sense barring incompatible/broken hardware, but the general public doesn't want to study ULAH to be able to use their computer, thus the downvotes.
Powershell in a month of lunches is apparently quite good, that will cover Powershell from the basics to relatively advanced concepts, although I don't recall it covers AD.
Once you have a grasp of PowerShell, the AD modules are not much trouble to learn at all, MCSA should at least cover some of that.
Also - Take a look under the "resources" tab on the right of this sub.
If you want him to get a firm grasp on it, There's this book as well: http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
A friend of mine works for one of the guys who wrote it and my understanding is that it's teaches you more than you thought you knew about linux.
I found the first version of the sys admin book by Evi Nemeth et al helpful years ago. I know a couple people who have found newer versions helpful too. Here is a link to the latest.. http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I think it is always safe to look at all of the material in the 70-640 curriculum. Most of it easily applies to 2012+ and you may still see a lot of 2008 systems.
https://www.microsoft.com/learning/en-us/exam-70-640.aspx
Combine the reading with the lab work and you can learn a lot.
Also /r/powershell and Powershell in a Month of Lunches. New version addresses Powershell 3 http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
There's a menu to the right of this subreddit with various links and book recommendations. You'll need to be on desktop version of the reddit website to see these though.
Personally I really like the Getting started with PowerShell 3.0 Jump Start.
Most will recommend the Learn Windows PowerShell in a Month of Lunches book.
also if you determined to use Linux/Ubuntu w/e I highly recommend the following references, they have been invaluable to me.
I was always pretty competent when it comes to windows, however I was a complete newb with Linux. So I read this book, The Linux Command Line and it answered the basics for me. It gave me enough knowledge to navigate with SSH and set up my SFTP server. Also helped understand what i was doing, instead of just reading mini tutorials here and there...Try it out.