Learn Linux, not just bash but how to efficiently use Linux to debug issues and figure out how your code is actually running. I’m talking memory, networking, commands like ‘sed’, etc. I personally recommend this book.
At my company and many others you can become senior based on coding ability but its much more common and nearly impossible to become staff without a deep understanding of Linux and systems.
The Command Line and Vim.
If you don’t master it, you’re dead. You will never become a Jedi.
This is way long. Lots of books are much shorter.
> Another way to say it is that a snapshots “USED” size only accounts for unique blocks contained in that snapshot. That’s why when you delete a snapshot the only blocks freed are the ones that were uniquely held by that snapshot.
Aah that makes sense. I'm currently reading through the Snapshots chapter in this book: FreeBSD Mastery: ZFS. The examples of snapshot space consumption only had examples 2 or 3 snapshots deep, so not too many cases where (like in my case) the blocks are probably shared between several dozen snapshots.
Thanks!
I've read a bunch of books and I can tell you this is the best one. If you read this, you'll be comfortable with Linux in no time. https://www.amazon.com/Linux-Command-Line-2nd-Introduction-ebook/dp/B07J43H42Z
No course, self study, most likely dozens of hours. I used this book: https://www.amazon.com.au/RHCSA-Linux-Certification-Study-Seventh-ebook/dp/B01DB3H8AM
when i did it years ago, the first chapter was all about setting up a laptop/workstation to be able to host virtual machines. It opens the book and call on experience and concepts not explained until later in the book, so it's a tough start for sure. however if you can get your head around it you will have a virtual machine host, two VMs and a virtual network to play around with. You can then follow along with the books. The RHCSA in particular is recommended for the basic foundation of Linux it does a pretty good job of laying out, if you studying everything in the RHCSA section you will 'learn Linux' in the process.
I like Jang's book because it expects you to have a VM or two and play around with things as you learn, so it's more involved than simply 'reading text'.
Good luck and enjoy, I had a lot of fun learning the RHCSA curriculum and it has aided my career is so many ways.
We've dedicated a portion in our book (https://www.amazon.com/Zabbix-Infrastructure-Monitoring-Cookbook-maintaining-ebook/dp/B09M6VYG1P/) to this widget as well (and the other dashboard improvements of course)
What a NICE improvement is this, sure quite some users will benefit from this improvement 👌👌👌
Awesome! I switched to Linux completely recently, but I've been dual booting for about 3 years. If you are new to Linux, you might want to dual boot to start until your are comfortable (and to make sure it is really for you). I've tried a lot of distros, but I always come back to Ubuntu. I think Ubuntu is the best choice for a beginner, since there are lots of tutorials and the software support is very good.
For programming, I would say Linux is superior to Windows. There are lots of free tools for development, and things are easy to manage (for example, starting an HTTP server on the command line, compiling with GCC, etc.). Game development is also decent, but some of the big engines don't support Linux, and even the ones that do have limited support (mainly talking about Unity and Unreal). However, Godot works great (the creators use Linux) and there are also libraries like GLFW or SDL, which have first-class Linux support. And Blender support is great, but you can forget about Adobe products. You'll have to find alternatives like GIMP or Krita. Krita is very good, GIMP is okay. Not as good as Photoshop but you can get the job done nevertheless.
Windows VMs don't work that great. You can definitely use them, but I found dual booting to be better in terms of performance and supported features (for example, you can't use the GPU for gaming or accelerated programs unless you do passthrough). So try dual boot first and give it some time to learn Linux proper. This is the best book I've read on Linux and I would recommend checking it out. Have fun.
https://www.amazon.com/Linux-Command-Line-2nd-Introduction-ebook/dp/B07J43H42Z/
For Visual Studio Code the documentation is a good starting point. In fact, it's not much different than developing locally. Just the IDE mounts a directory into a container, where all your prerequesites and requirements are installed.
The IDE plugins can be configured to be installed as well on every container rebuilt. I missed this at the beginning and it was annoying to install them on every container rebuild! :D
For Docker in general, I read the 2015 edition of this book to be introduced to the concepts and all the possibilities. It helped a lot to not get lost in all the possible ways one can use docker. There is a new edition out, which is close to the current docker version.
It's easy to start with a single container development environment, where you install everything you need. But it's also no big deal to have a docker-compose setup, where you break out the different services into one container each to be closer to a real live setup during development. It has both it's pros and cons...
The only tutorial people will ever need is this.
I don't know if I started in a hurry, but I'm reading the Pro Git ebook as my first book in English. What do you think? Of course, as it is my first reading in an English book, it may take me a long time to read it entirely, but do you think it is advisable to start with a technical book?
A short "lesson". You add
files -> commit
changes(added files) -> push
to server -> then you pull
other's commits from server. There is a book called Pro Git you can get it for free on amazon. It explains a lot of stuff
It will all make a lot more sense if you do a bit of research ahead of time, before you actually do anything. Something like https://www.amazon.com/gp/product/B00LRROTI4
On the same subject, I will give you another very valuable piece of advice, which (almost) no one else will.
When you write shell scripts, you will need a text editor; and while it might not be the only editor you use, I would strongly recommend that you learn to use Ed. There is a book for learning it on Amazon, which is extremely easy to follow, and which offers exercises that cover the basics, after which you will be able to keep using it yourself.
Ed is a tiny, insignificant program, which is viewed with contempt by most of those who still know about it, and isn't even still included as part of a default install on most distributions; yet if you learn to use it, Bash, and the other text utilities which are incorporated into Bash scripts, you will be able to perform tasks for which most other people need much more complex programming languages. Mentally, I honestly compare Ed with a light saber.
sed (streaming ed) is based on ed. Michael W Lucas has written a book on ed that I can recommend. https://www.amazon.com/Ed-Mastery-Standard-Unix-Editor-ebook/dp/B07BVBSDNZ?SubscriptionId=AKIAILSHYYTFIVPWUY6Q
​
If you like low level, and like to code a bit, you might want to look at SRE-style jobs. Some code, some systems engineering. A background in low-level Linux debugging will take you a long way as an SRE.
https://www.amazon.it/Site-Reliability-Engineering-Production-Systems-ebook/dp/B01DCPXKZ6
Ext4 has sort of just been around for forever (since it's revisions of Ext3 and Ext2) and I always just accepted it as "there". Sort of like NTFS for Windows, it's the thing you use with Linux.
For ZFS, I did come across this ZFS on Linux admin guide a few months back and it's been really useful in getting to the nitty-gritty. And of course, there's always Michael Lucas and Allan Jude's book on ZFS for FreeBSD.
Thanks for the advice! I'm still new to bash scripting and can make use of that. The "put your then's and do's on the same line as your for's and if's and while's" for example makes a lot of sense, coming to think about it.
Also, in #bash they told me the same thing about variables: Only systemwide variables like EDITOR or PATH should be uppercase, else lowercase. Guess Jason Cannon's "Shell Scripting" was wrong about that. ;)
Keeping my own index file is what I plan to do next. Again, the #bash elders advised something similiar: To keep all mp3s filenames in an array. That might hog some memory but it supposedly faster than searching the whole filesystem.
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.
I ended up buying this book. Took about a weekend to read through it while simultaneously playing with Docker. But there are probably good free tutorials out there too.