Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are the best maintained how-to sites for Linux?
94 points by marmot777 5 months ago | hide | past | favorite | 72 comments
A recent thread talked about a how to site that was well done but hadn’t been updated in a good 5 years. I’d love to have a list of Linux how to sites and reference#s for how to articles and just basic documentation from general, to distro specific, to scripting. As a macOS user, it’d be cool if there was another set of how to and reference sites that are up to date covering terminal for macOS, including using Zsh which the shell Mac is transitioning to.

It woukd be kid of cool to do a lot of stuff on the Mac command line. If you got really good at it, you’d be a far, far more efficient Mac user. Night and day difference.

Any suggestions on macOS terminal how to and doc sites, including ones that dive into zsh beyond just recommending Oh My Zsh, which is awesome, but it would be useful to find articles that dive deeper beyond just how to add on to Zsh to make it better automatically.




The Arch Linux Wiki, which I find very useful (surprisingly even for other distros):

https://wiki.archlinux.org/


The helpfulness of the ArchWiki for people who don't use Arch can't be stated enough. As a user of several distros, this is my go-to documentation regardless of which distro I'm working with.


It's (almost) like the MDN of Linux.


I'd say the MDN of linux is man-pages, which is browsable online at https://man7.org/linux/man-pages/index.html


Arch Linux also has a man page browser (with IMO a slightly nicer interface, especially on mobile), which includes all packages in the default Arch repositories (but not the AUR): https://man.archlinux.org


I don't agree. Man pages are specific to distro and version of the command. It's always better to read manpages which are present on your particular distro.


I use arch specifically because of the arch wiki


To add, there are very few "Arch-isms" beyond package installation. Sometimes you'll be instructed to confugure something up that your distro has already preconfigured, and very rarely a new version of something will change enough to make the guide unhelpful with an old version. Most of it should translate fine though.

And if you use duckduckgo, !aw.


Yes, but you do need to sometimes worry about your distro doing something different (like putting files in different locations).


It may just be my ignorance, but those should be very rare. The only thing I can think of offhand is some parts of the bootloader, anything else you interact with should have files in the standard config locations.



Thanks in large part to a few contributors who maintain bots to help maintain strong consistent style and deduplicate information across the wiki. (You know who you are!)


No doubt Arch Linux wiki is the one of the best resource for Linux.


There really is no doubt about.

Only paralleled, in excellence, by it's namesake dist ;)


Couldn’t agree more :)

It’s full of knowledge. Basically a treasure of knowledge.


I wish the wiki had a bit more redundancy and TL;DRs. Way too often you are "required" to understand some related issue completely to follow "the arch way". Problem is, this stacks indefinitely. IMO premises should be explained shortly. I want to understand the why, without understanding linux in every detail every time.


Came here to say this, and am glad this is at the top!


I am biased because I used to work there, but the how-tos on https://www.digitalocean.com/community/tutorials are well-maintained by a team of technical editors, writers, and paid contributors.

They treat articles like code, the average article has 30+ edits, and reports of issues are triaged and turned into edits and updates.


Digital Ocean has been one of the best resources for me earlier in my career. Such well written documentation and resources.


I have tried to get them to update some of their docs before, and they basically told me to just write a comment (at the bottom of 130+ other comments). It's great that they have so many docs, though.


I'm a big fan! They are among the most usable docs on the web, and errata is incredibly scarce.


seriously about half of my bookmarks for leaning Linux and Kubernetes stuff are Digital Ocean docs


Just as a heads up, Linux and MacOS are not going to be "the same" in the terminal. While they're certainly more similar than say, the Windows command line or Powershell, the Darwin tooling doesn't quite match up with Linux on several occasions. Especially once you try extending your workspace, you'll run into some immediate party-stoppers. I like Homebrew and MacPorts, but neither of them are good enough to be a true "package manager" for MacOS, and it completely undermines the great Unix heritage that MacOS builds upon.

OP, you might be caught between a rock and a hard place here: if you're already familiar with your terminal and piping from stdin/stdout, there's not really a whole lot more to learn. Apple isn't very forthcoming with details on the inner workings of MacOS either, so you're going to have a tough time fully grokking how to use the command line effectively. And even if you do manage to figure it all out, you're only trapped with what they give you.

My advice? Learn ssh, and use it to connect to a real Linux box. That's how 90% of sysadmins do their work, it's how you should do it too.


Notable examples:

- macOS uses BSD-style coreutils while most Linuxes use GNU coreutils. They have different args, output and behavior in many common cases.

- macOS ships with Bash v4. Bash v5 is a common default package on modern Linuxes.

- While the basic user permissions are the same, the OS security model is entirely different. There's no direct equivalent to namespaces in macOS and no direct equivalent to SIP in Linux.


MacOS has zsh as a default shell since 2019.


Having `zsh` as a default shell, and having two different versions of `bash` are very different things. That's a bit like saying "macOS ships with IPython as the default Python interactive interpreter" when someone says macOS ships with Python 2.7 when 3.x is available elsewhere.


You are missing the point. I am saying that macos ships with zsh nowadays, having bash 4 installed for legacy compatibility.


Are there any community efforts on solving those issues?


You can download alternative GNU coreutils from Homebrew, but they will need to install under different binary names.

You can download Bash v5 from Homebrew.


In my opinion, Brew solve the first two.


Brew is a pretty bad solution by any metric but especially here. Brew won't replace your coreutils or change your OS's internal tooling.


Thank God it doesn't, what do you want? Subtly breaking everything not written with GNU coreutils in mind?


I use a mac every day, but I firmly believe apple has completely dropped the ball with respect to using and interoperating with community software.

They should be sponsoring - officially - non-apple software on their platform because it will make their platform stronger and much more useful.

instead, I've seen:

- opensource.apple.com in decline

- other projects dropped or forgotten over the years (no gpl software after 2, xquartz pushed out to pasture, os support for python/etc very poor, many others...)

- focus on apple-specific languages (swift), frameworks and tools.

- decline in the ability for users to administer their own system

- limited ability for users to customize their system (although there are tools for sale, when they're not denied abilities and killed off)

they could do so much better.


It's pretty atrocious. I ditched my Macbook a few months ago for a Linux system and have been amazed by what I was missing out on. Not even these new M1 Macs can sway me, even if I already own the latest Macbook Air.


What were you missing out on specifically?


> My advice? Learn ssh, and use it to connect to a real Linux box. That's how 90% of sysadmins do their work, it's how you should do it too.

Docker and Virtualbox can help here as well.

It's also worth noting that Homebrew provides all the standard GNU versions of pretty much any CLI tool you'd want.

Speaking of Homebrew, it's a great introduction to package managers, specifically because it's "low stakes" (you can't easily break your system), is easy to write your own packages for, and has everything under the sun in its repos.


We must praise the mighty https://linuxfromscratch.org/

I recommend this to everyone interested building tech muscles:

- set up a VM with a tool chain

- a slice of storage

- a weekend

. . .and level up.


I find their installation docs for various programs really helpful too since it often walks through what each step is doing. For example, here's installing ffmpeg: https://www.linuxfromscratch.org/blfs/view/svn/multimedia/ff...


+1 for LFS. I have learned so much for it and just about linux in general.


I seem to have https://www.cyberciti.biz/ show up in my search results quite often for all those dumb little things that just fall out of my brain after not doing them for a year. The explainers are usually really good.


I see these too, and sometimes the content isn't terrible. However, I always prefer some other source if possible.

Every time I see the domain name cyberciti.biz, I expect the content to be scraped from the original source, and the page to be infested with ad-like garbage.

I'm not sure if either of these are fair assessments. The former I have not investigated, and the latter is mitigated by aggressive content blocking.


I was going to say the same thing. I have found this to be a reliable resource.

On the other hand I've found howtoforge.com to be the opposite of good and stopped using them a few years ago.


Honestly, I know of no such centralized and up-to-date repository when it comes to Linux knowledge.

However – have a look at https://www.freebsd.org/docs/ – that is one thing that really sets FreeBSD apart from Linux.


PS. When it comes to a shell for interactive usage, have a look at Fish shell. It’s a joy to get started with IME.

https://fishshell.com/


Fish is awesome, but it lacks features and shortcuts of bash/zsh, and it's sometimes hard to translate things. It's also quite buggy IME. Great out of the box experience. Tho, I wouldn't recommend it to new CLI users.


We can probably bring back The Linux Documentation Project (https://tldp.org/index.html) from its slumber with a fresh coat of paint


Here’s a general how to site called Linuxize: https://linuxize.com/

I mention it because a large number of my recent “how to x on Linux” search queries took me to this site, and it typically answered the question at hand. It also has a really pleasant design, IMO, and is updated frequently.



The Bash Reference Manual at gnu.org is my first choice for all things bash:

https://www.gnu.org/software/bash/manual/bash.html


I second this. It’s a bit cumbersome, but it’s required reference reading for any serious Bash scripting.


GNU Docs are usually quite good. I learnt how to write Makefiles from the horse's mouth.


If you are interested in text processing tools, I have books on grep, sed, awk, perl and ruby one-liners. Free to read online: https://github.com/learnbyexample/scripting_course#ebooks

I'm also maintaining a list of resources here: https://learnbyexample.github.io/curated_resources/linux_cli...


ThinkWiki probably also deserves a mention here. Really helpful for hardware/software issues when you run Linux on a Thinkpad: http://thinkwiki.org/wiki/

The German version is great as well: https://thinkwiki.de/Hauptseite


For an academic take on "how-to Linux", I'd recommend CMU's CS 15-213 course [1]. The systems class I took in college borrowed liberally from it, IIRC.

Also, I'm putting together a master list [2] of the best resources from this thread and the other one OP mentioned. Let me know if I'm missing anything!

[1] https://www.cs.cmu.edu/~213/schedule.html

[2] https://trove.to/wes/trove/learn-linux


Here is the Unix site on Stack Exchange: 200k+ questions:

https://unix.stackexchange.com/questions


short list - what comes to my mind within a few minutes

good old HOWTOs etc * https://tldp.org/

my personal favorite distribution - with a social contract * https://wiki.debian.org/

the following distribution where the best entry-point for newbies at some time-periode & hat the advantage to provide a lot of good documentation about the specific distribution, but also linux in general ... at least in my perception

gentoo was cool before ubuntu existed * https://wiki.gentoo.org/

and ah, and gentoo has a social-contract similar to debian :)

then ubuntu was cool before arch existed * https://wiki.ubuntu.com/

german * https://ubuntuusers.de/

arch was cool until everybody discovered, that compiling your own shit is not so cool but pretty time-consuming ;) * https://wiki.archlinux.org/

idk ... whats the current go-to "distro for the technically interessted linux-newbies"?

btw. not linux specific, but afaik there are lots of FOSS related docus available * https://readthedocs.org/


TLDP is NOT a good source. It often comes up as one of the search results. Just go to the source: https://www.gnu.org/software/bash/manual/bash.html



Not really a how-to site, but Red Hat's documentation has often been invaluable. It's freely available, and you can also get access to their knowledge base with a free developer account; it contains tons of useful stuff even if you don't use RHEL.


In a similar vein, does anyone have up-to-date resources for Linux kernel development?


I guess you would find the most up to date resources within the documentation in the source code.


One might argue that the most up to date documentation is the source code itself!


Opensource.com has some good stuff. https://opensource.com/downloads/cheat-sheets


Here's the Linux tag on SuperUser:

https://superuser.com/questions/tagged/linux


I think *.readthedocs.io should be mentioned.

I've found lots of great linux documenation on that site in a clear and readable form.

I don't know how to describe it, maybe as a sort of a github for docs?


I have found LinuxBabe (https://www.linuxbabe.com/) a very good Linux resource.


I used howtoforge.com some back in the mid to late 2000's and it appears to still be getting fresh content.


For RHEL go to docs.redhat.com


https://www.android.com/ is the most popular Linux.

I think you meant to ask the best maintained how-to sites for GNU command line utilities.


Here's the Linux tag on ServerFault:

https://serverfault.com/questions/tagged/linux


man


A good HN thread on man from a few months back: https://news.ycombinator.com/item?id=25311867




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: