[HN Gopher] Learning modern Linux: A handbook for the cloud nati...
       ___________________________________________________________________
        
       Learning modern Linux: A handbook for the cloud native practitioner
        
       Author : teleforce
       Score  : 122 points
       Date   : 2022-05-06 11:45 UTC (1 days ago)
        
 (HTM) web link (www.oreilly.com)
 (TXT) w3m dump (www.oreilly.com)
        
       | leetrout wrote:
       | I am so sick of the word practitioner.
       | 
       | I don't have a better alternative but something about
       | practitioner just feels so forced and stuffy.
       | 
       | On the flip side I do like viewing operation of technical tooling
       | in support of businesses as a practice to be continually
       | improved. Most businesses don't really embrace that in my
       | experience. If they did, even with it being a cost center, they
       | would spend more time making sound decisions around tech being
       | used (which would hopefully reduce the k8s mania).
        
         | orangepurple wrote:
         | I have a similar reaction when people are called consumers.
         | They should just cut to the chase and call them what they
         | really want to call them: useless eaters.
        
       | readingnews wrote:
       | I have been using linux since 1992, Solaris and UNIX (dec, etc)
       | before then... I run Gentoo now on my box, compile my own
       | kernels, etc. I admin 100s of linux boxes at work.. but there is
       | verbiage that different people see totally differently:
       | 
       | What does "Learn critical components such as the Linux kernel"
       | 
       | mean to the author? I have not read this book, but do they mean
       | we are going kernel hacking or I will show you how to compile a
       | kernel for cloud native applications (whatever that would mean,
       | really)?
        
         | hoppyhoppy2 wrote:
         | The book's table of contents is viewable at the link, if that
         | helps at all.
        
       | docandrew wrote:
       | I could probably use this. My muscle memory still reaches for
       | "ifconfig".
        
         | tra3 wrote:
         | Me too. I just, yet again, rediscovered the ip command. This
         | and moving to systemd from init are two things that always trip
         | me up.
        
         | GekkePrutser wrote:
         | And the command line options for netstat, route etc.. But
         | usually I just install net-tools :) I know it's outdated but my
         | main driver is FreeBSD where these tools are still the normal
         | toolchain.
        
       | blub wrote:
       | I've read some chapters from the linked book to complement "How
       | Linux Works" from No Starch Press and while the information was
       | useful and seemed correct, in the end I decided to stick with
       | HLW, since it was both broader and deeper at ~460 vs 250 pages.
        
       | kk6mrp wrote:
       | So is this a book mostly on Linux or Linux with systemd?
        
         | wrycoder wrote:
         | The latter
        
       | znpy wrote:
       | Everything looks okay except for the section regarding other
       | "friendly" shells: that's really the part where we as an industry
       | don't need more fragmentation.
        
         | plandis wrote:
         | Disagree. In my experience it's way easier to use something
         | like fish out of the box rather than spending hours configuring
         | bash to your liking assuming you don't have your dot files made
         | to your liking yet. If someone is just starting out I'd
         | absolutely recommend something like fish or zsh over bash or
         | csh.
        
           | p5a0u9l wrote:
           | History-based auto completion is a productivity game changer.
           | But, You can get fish-like niceties with trivial effort in
           | zsh.
           | 
           | The deal breaker for be with fish is abandoning decades of
           | bash syntax. With zsh, I can have my fancy, productive prompt
           | and still write bash-compatible sheets scripts.
        
           | aulin wrote:
           | It's almost twenty years that I use Linux daily and the only
           | thing I ever changed in .bashrc is the history size. What
           | kind of customizations are we talking about? maybe I'm
           | missing out using stock bash configuration and I should start
           | customizing it to my liking it (serious, no sarcasm)
        
             | barefeg wrote:
             | Autocomplete from history is something I really enjoy from
             | my config. I can live without the nice colors and data.
             | Though having the execution time of the previous command
             | has been very handy a few times
        
         | sophacles wrote:
         | Right, how dare people use tools that they find comfortable and
         | enjoy using? What if they choose a tool that goes against your
         | preferences, or worse (bad word coming, consider yourself
         | warned) makes you have to _learn_ something?
        
           | docandrew wrote:
           | As a fish user myself, I'll admit there is something to be
           | said for standardization. It's easy to poke fun at somebody
           | for being afraid to learn something new - but with the
           | explosion of different tools it's becoming impossible to stay
           | abreast of all the changes and feel proficient in anything
           | anymore.
        
             | BirAdam wrote:
             | Standardization builds industries and economies of scale.
             | Having competing standards is great for technologists, but
             | makes the current problem particularly painful: in job
             | descriptions, employers now specify not just general
             | technologies used but also particular frameworks, ci/cd
             | tools, and on and on. So many tools that a person must be
             | competent with using, that only a handful of people might
             | know all of them on day one, which makes hiring much more
             | expensive. You either pay over market rate for the perfect
             | person, or hire someone decent and pay for them to learn
             | the job. Ultimately, I think we're in a better place than
             | we were without modern tooling, but it makes it hard to
             | hire...
        
         | jeroenhd wrote:
         | I don't see the problem. I like zsh and I can live with bash.
         | I've tried fish, but it just didn't click with me.
         | 
         | Others swear by fish and how it revolutionised their terminal.
         | Hell,I've seen people fall in love with Powershell of all
         | shells because of its interactivity and cross platform
         | scripting language that doesn't rely on Unix tools being
         | present in $PATH. I don't get it, but that's okay; they can
         | have their preferences and I can have mine.
         | 
         | You've got to find what works for you. Nano, emacs, .*vim, vi,
         | using a magnetic needle to manually flip bits on a spinning
         | platter, it doesn't matter, whatever keeps you happy and/or
         | productive.
         | 
         | The vast majority of Linux users seem to use bash. Zsh has been
         | picked up more and more by Apple for licensing and the "threat"
         | of open source. I don't think shells like fish are a threat to
         | the ecosystem as long as they keep the most basic form of
         | compatibility with bash (not sh). You need bash installed
         | anyway, otherwise you can't curl2bash to install "modern" Linux
         | software!
        
           | hedora wrote:
           | The problem comes in when you need to manage 100's of
           | machines, and there isn't a single shell that is in everyone
           | on the team's muscle memory.
        
             | jeroenhd wrote:
             | That's why you can pick your favourite shell for your user
             | account.
             | 
             | If you all log in to the same account, you'll need to pick
             | some standard. It doesn't really matter if the system
             | decides on that standard or if you just ask the team what
             | they prefer and pick the most popular shell. When in doubt,
             | install all shells, log in to sh and let people start their
             | shell of choice.
        
               | znpy wrote:
               | > That's why you can pick your favourite shell for your
               | user account.
               | 
               | nobody cares about user accounts. use whatever you want
               | on your laptop, nobody cares.
               | 
               | however if a script reaches a production server, it
               | should either be sh, bash, or a real programming language
               | (python/ruby/perl/whatever).
               | 
               | the ugly stuff i've seen is that some snowflake user
               | drops their scripts written in ${shell_of_the_week} and
               | leaves, the script breaks and now i have there's this
               | thing that has to be not only fixed, but possibly
               | rewritten from scratch.
        
             | theamk wrote:
             | That's what sh or bash is for, a least common denominator
             | present on every machine.
             | 
             | Sure, it is not the same as your home machine - but even
             | with the right shell, you customized config files woukd
             | still be missing. So it is easier to get used to defaukt
             | setup on defaut shell when managing many machines.
             | 
             | (This is the reason I had to learn vi back in the day:
             | sure, my machine has lovingly customized emacs.. But that
             | old Sun one needs to debug? Vi only.)
        
             | freedomben wrote:
             | For that you have to standardize on bash compatible. It's
             | ok if the exact command/syntax isn't in muscle memory. I've
             | worked with a number of "alternative shell" fans and one
             | thing that nearly everyone agrees on is that "bash
             | compatible" is the lingua franca and the standard.
        
               | icedchai wrote:
               | I worked at a place that was forcing zsh on its
               | developers, mainly because it has been "deprecated" on
               | mac OS. It's not like you couldn't install the newest
               | bash off of MacPorts or brew. Production ran on Linux,
               | and zsh wasn't installed there. Better to be consistent,
               | stick with the least common denominator: bash.
        
             | mixmastamyk wrote:
             | You don't use a shell for that, directly. Ansible, puppet,
             | docker, etc.
        
           | GekkePrutser wrote:
           | What I love about PowerShell is that it allows you to pipe
           | structured data between tools without needing to 'screen
           | scrape' the output like on Linux.
           | 
           | I still don't use it on Linux but I do think it's a big step
           | forward for scripting.
        
       | amelius wrote:
       | What is the best book on the design/architecture of the Linux
       | kernel?
        
         | valbaca wrote:
         | "A Heavily Commented Linux Kernel Source Code" by Zhao Jiong
         | and "The Linux Programming Interface" by Michael Kerrisk are
         | the best I'm aware of.
        
           | alfiedotwtf wrote:
           | Also Maxwell's "Linux Core Kernel Commentary" which also
           | annotates the kernel. It's old so is based on 2.2, but its a
           | gold mine
        
         | nickmcc wrote:
         | One very in-depth book I have is: The Linux Programming
         | Interface: A Linux and UNIX System Programming Handbook
        
           | fitnessrunner wrote:
           | Have you read it? I recently purchased a copy, and the
           | exercises look fun/useful.
        
         | nbaksalyar wrote:
         | Although it's not a book, the Linux documentation [1] is
         | actually very good and does the job of explaining design and
         | architecture of the kernel.
         | 
         | I'd also suggest reading "Unix Internals" by Uresh Vahalia.
         | While this book is from 1995 and it doesn't cover Linux
         | specifically, it's an exceptional resource for understanding
         | how *nix kernels work in general.
         | 
         | [1] https://docs.kernel.org/
        
       ___________________________________________________________________
       (page generated 2022-05-07 23:01 UTC)