First addition of links

This commit is contained in:
Lucien Cartier-Tilet 2021-10-23 21:21:03 +02:00
commit e18bb7a7b9
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA
27 changed files with 391 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
book
/build/

17
book.toml Normal file
View File

@ -0,0 +1,17 @@
[book]
authors = ["Lucien Cartier-Tilet"]
language = "en"
multilingual = false
src = "src"
title = "Phundraks Interesting Links"
[output.html]
default-theme = "dark"
curly-quotes = true
git-repository-url = "https://github.com/Phundrak/interesting-links"
edit-url-template = "https://github.com/Phundrak/interesting-links/edit/master/{path}"
site-url = "https://phundrak.github.io/interesting-links"
[output.html.fold]
enable = true
level = 1

View File

@ -0,0 +1,18 @@
# Alpine Linux
I heard you like extra light distributions, right? Alpine is **the**
distribution you will love then! Although I used it once on a server,
I use it very often when I have to create Docker images and containers
due to how light it is. When I installed it on my server, its fresh
install only took something like 100MB on my hard drive, Im not even
kidding! Its package manager `apk` is relatively easy to use too. Be
aware though Alpine Linux does not come with Systemd or `glibc` but
with its own init system, `musl` and `busybox`, so its not even a
GNU/Linux distribution like all the others above.
I dont know of any madman running it as their daily driver, but its
definitively possible although I wouldnt recommend it for anyone
thats not very used to Linux. I dont find its documentation to be
great either, but its still enjoyable.
* [Homepage](https://www.alpinelinux.org/)
* [Download](https://www.alpinelinux.org/downloads/)

View File

@ -0,0 +1 @@
# ArchLinux

View File

@ -0,0 +1,45 @@
# Arch Linux
Infamous for being hard to install, not that hard if you know how to
read instructions from the [ArchWiki](https://wiki.archlinux.org/) (it
even has a guided installer now, although not very complete compared
to others). Said ArchWiki will become your Bible if you want to become
a Linux poweruser, regardless of your distribution although not
everything might be applicable if it is not Arch-derived. However, I
will never recommend it to any Linux newcomer, you need to somewhat
know what you are doing if you want to properly use it (or if you want
to learn with it, be ready to accidentally bork your system).
Its main strengths, on top of the ArchWiki, are the
[AUR](https://aur.archlinux.org/) (an additional user-powered package
repository on top of the official ones), powered by the ease of
creation of Arch packages with [PKGBUILD
files](https://wiki.archlinux.org/title/PKGBUILD) (See? The
ArchWiki!), and its initial minimalism. It can become whatever you
want, really. But dont expect a GUI to be there on a fresh install,
youll have to add it yourself.
Also, unlike some popular belief, ArchLinux is quite stable as long as
you follow some proper etiquette when maintaining your system. I had
way more Debian-based distros getting borked during an upgrade than
with ArchLinux (especially with Ubuntu). In fact, even most of my
servers run on Arch and only one runs on Debian. And `pacman` is
better and faster than `apt`, fight me.
ArchLinux uses [`pacman`](https://wiki.archlinux.org/title/Pacman) as
its package manager.
* [Homepage](https://archlinux.org/)
* [Download](https://archlinux.org/download/)
For advanced users, Id also recommend taking a look at [this
project](https://git.harting.dev/anonfunc/ALHP.GO). The `x86-64-v3`
repositories aim at bringing to Arch packages compiled with CPU
instructions found in most modern CPU, unlike the ones found in the
regular repositories which aim to be as compatible as possible with
`x86-64` CPUs. Packages from these new repositories can perform a bit
better, and I have yet to encounter any significant bug. Be aware any
package that is not compiled (like most Python scripts for instance)
cannot be found in these as they cannot be compiled (like all packages
flaged with the `any` architecture); therefore they are not included
but can still be found in the regular `core`, `community`, and `extra`
repositories.

View File

@ -0,0 +1,8 @@
# Archcraft
This one though is an actual distribution, although its less far from
ArchLinux than for instance Pop!\_OS is from Ubuntu. Think of it more
of a preconfigured, easy-to-use, easy-to-install ArchLinux but still
an ArchLinux. And a beautiful one, props to the dev!
* [Homepage](https://archcraft.io/)
* [Download](https://archcraft.io/download.html)

View File

@ -0,0 +1,18 @@
# Manjaro
I will only include this one as a warning:
**Do *NOT* use it!**
Although it might look nice and easy to use at first, its various
scripts for maintaining the system are bug-ridden, filled with
textbook examples of what **not** to do with `pacman` and with Arch in
general (partial upgrades, forced downgrades of system-critical
packages, fake improvements of stability, etc…)[^1]. Also, the
association taking care of Manjaro is shady[^2]. Oh, and they
dont know how to properly maintain their forum[^3].
[^1]: [Technical controversies](https://rentry.co/manjaro-controversies)
[^2]: Leadership controversy: a [Reddit thread](https://www.reddit.com/r/linux/comments/hxpj87/change_in_manjaro_team_composition_announcements/) and a [HackerNews thread](https://news.ycombinator.com/item?id=24330655)
[^3]: See [this](https://www.reddit.com/r/ManjaroLinux/comments/iax0tx/whats_going_on_with_manjaro_forums/) and [this](https://linuxreviews.org/Manjaro_Linux_Lost_All_Of_Their_Support_Forum_Images) Reddit threads

View File

@ -0,0 +1,11 @@
# archfi
Not technically a distribution per se but rather a better guided
installer for Arch than its default one I think. I use it when I want
to create a new, fresh ArchLinux install and its pretty damn
effective! You can even run `archdi` from it to preinstall some
packages you might find useful, such as a Window Manager (a *WM* such
as Openbox) or a Desktop Environment (a *DE*, such as GNOME, KDE, or
Cinnamon).
* [Homepage](https://github.com/MatMoul/archfi)
* [How to Use](https://github.com/MatMoul/archfi#how-to-use)

View File

@ -0,0 +1 @@
# ArchLinux Family

View File

@ -0,0 +1,13 @@
# Debian
A reliable distribution, known for being very stable but sometimes
with kind of outdated packages. It is often use on servers, and I
actually run one on Debian!
Uses the `apt` package manager.
* [Homepage](https://www.debian.org/ "Debian Homepage")
* Downloads:
* [Free](https://www.debian.org/download "Only contains free-licensed packages")
* [Nonfree](https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/
"Contains proprietary packages and drivers"), might be
needed for computers which hardware require nonfree drivers
such as maybe a WiFi card or a GPU.

View File

@ -0,0 +1,9 @@
# Linux Mint
A lightweight Ubuntu fork, might be friendlier than Ubuntu itself for
Linux newcomers from Windows with its Cinnamon and MATE versions.
Uses mainly `apt` as its package manager, I dont know if it
followed Ubuntu in its heavy usage of `snap`.
* [Homepage](https://linuxmint.com/)
* [Download](https://linuxmint.com/download.php)

View File

@ -0,0 +1,18 @@
# Pop!\_OS
My personal favorite in the Debian family, this one is developed by
System76 and is based on Ubuntu. However, they did not follow in
Ubuntus footstep in terms of its snap usage. Instead, most packages
are available through `apt` and some through `flatpak` which is much
nicer on your computer than `snap`. Its also a great choice for
computers that run on NVIDIA since they have a Pop!\_OS version
specially made for them, saving you the hassle of figuring out how to
make it work (come on NVIDIA, AMD is already playing nice with Linux,
why not you too?). You shouldnt have any issue playing games with
this distro.
I think this is the distro I recommend the most to Linux newcomers.
As mentioned, uses `apt` and `flatpak`.
* [Homepage](https://pop.system76.com/) (download button pretty
obvious)

View File

@ -0,0 +1,10 @@
# Ubuntu
Most likely the best known distribution, used to be very beginners
friendly but I believe its usability went down in the past few
years. Im also still not over Canonicals hard push for using
snaps. Often used in servers.
Uses mainly `apt` as its package manager but with a heavy usage of
`snap`.
* [Homepage](https://ubuntu.com/)
* [Download](https://ubuntu.com/download/desktop)

View File

@ -0,0 +1 @@
# Debian Family

View File

@ -0,0 +1,3 @@
# CentOS
Lets not talk about it… My heart hasnt healed yet… Good night, sweet
prince…

View File

@ -0,0 +1,16 @@
# Fedora
This distribution is pretty well known in the Linux community, and it
has a pretty large package repository on top of being known for being
quite stable. Although he stated he doesnt really care about the
distro hes running, Linus Torvalds, the creator of Linux and Git,
stated he uses Fedora as his daily driver, and to be honest I probably
would too if it werent for Archs AUR and minimalism. (And lets not
compare Linus to myself, he is a freaking genius who created the most
successful kernel ever, Im just a Linux and Emacs enthusiast, Im
just sharing my opinions here).
I also think its pretty well fitted for Linux newcomers, although
maybe not as much as Pop!\_OS.
* [Homepage](https://getfedora.org/)
* [Download](https://getfedora.org/en/workstation/download/)

View File

@ -0,0 +1,11 @@
# RedHat
The best known enterprise Linux distro, it is available for free for
up to sixteen workstations or servers through their [Red Hat Developer
program](https://developers.redhat.com/), which is nice! But as far as
I know, you wont have access to the whole suite of software you can
theoretically get from RedHat unless you get a paid license.
As I have no experience with it, I cannot recommend nor not recommend
using it.
* [Homepage](https://www.redhat.com/)

View File

@ -0,0 +1 @@
# Fedora Family

View File

@ -0,0 +1,27 @@
# Gentoo
Lets take one step further into the “make your own distro” world and
the memes. Although Gentoo is not *that* hard to install, Gentoo does
not come with **any** precompiled package. Instead, you will have to
compile everything yourself, and if you dont know how to
[RTFM](https://xkcd.com/293/), this distribution will make sure that
you will. While yes, it *is* CPU intensive to maintain such a
distribution, every compilable package will be able to fully use the
entire set of available assembly calls your CPU has and you *might*
get some performance boost from it. Keyword: *might*. In a lot of
cases, you might not actually notice it, or if you do it might just be
your imagination. But I wont deny its a great distro for tinkerers,
and you can easily make your own packages.
Documentation for this distribution is pretty great and it can give
you some nice insights on other distributions too, and you can choose
whether to use Gentoos own init system or Systemd.
As you might have guessed it, this is clearly not a distribution made
for beginners, and avoid installing it on machines that dont have
good performance unless you dont value your time. Below is the
typical evolution of a Gentoo user.
![https://www.explainxkcd.com/wiki/index.php/456:_Cautionary](/img/xkcd_456_cautionary.png "This really is a true story, and she doesn't know I put it in my comic because her wifi hasn't worked for weeks.")
* [Homepage](https://www.gentoo.org/)
* [Download](https://www.gentoo.org/downloads/)

View File

@ -0,0 +1,32 @@
# GuixSD
Similar to NixOS is GuixSD, a libre Linux distribution based on the
`guix` package manager. Its basically the same distribution as NixOS
except that the configuration files for the system are written not in
a special DSL but with Scheme (a Lisp dialect). So if you are already
familiar with Lisp or even with Scheme itself, you should be able to
learn how to use and maintain GuixSD pretty fast.
GuixSD has a pretty extensive documentation, although I dont find it
to always be very clear.
Just like above, be aware not to mistake Guix for GuixSD; Guix is a
package manager that can be installed on a lot of UNIX-like systems
(mainly Linux ones, I dont know if its possible to install it
elsewhere aside from GNU/Hurd) while GuixSD is the whole operating
system based on this package manager.
As a Lisp lover, I would definitively switch to this operating system
if it werent for its hostility towards nonfree and proprietary
software and packages my WiFi wont work unless I install the nonfree
Linux kernel from unofficial repositories, kernel which is recompiled
each time it is upgraded and a lot of software and packages need
custom packaging so you can install them. I love to tinker, but as
much as spending literally hours on getting everything I need
correctly packaged for GuixSD. Some people are fine with that though,
such as [SystemCrafters](https://systemcrafters.net/) who creates
great content for Emacs and Guix users.
* [Homepage](https://guix.gnu.org/)
* Downloads:
* [Stable](https://guix.gnu.org/en/download/)
* [Latest](https://guix.gnu.org/en/download/latest/)

View File

@ -0,0 +1,34 @@
# NixOS
I know some people, myself included, love to tinker with files that
dictate how their system is configured. What if I told you it is
possible to configure your ***whole system***, services, users, and
packages included among other things, through a single file? (Or
several through file inclusion)
Well, NixOS does exactly that! And not only that, when you upgrade
your system, a snapshot of your current system is taken so you can go
back to it if your upgrade goes wrong for some reason. Awesome, isnt
it?
Now, why dont I use this distro? Well, again, I miss the AUR and I
dont find its syntax (which is a DSL made for this use-case
precisely) particularly appealing, but I know a lot of people dont
mind this and actually like it. Also, I appreciate the separation
between the system-level configuration and the user-level
configuration, in case a user wants an additional package not included
by the system for instance, or to set their `$PATH` to the desired
value without tampering with the systems `$PATH`. You can even create
custom environment you can enter and exit if you need for instance a
precise version of Python for a certain project which is not the
default one installed on your system.
Once again, this isnt a distribution that targets Linux newcomers
since you need to get your hands dirty to maintain your system.
Be aware there is a difference between Nix, the package manager, and
NixOS. Nix can be installed on a lot of systems, pretty much every
Linux ones but also on macOS(!), while NixOS is the Linux distribution
based on Nix itself.
* [Homepage](https://nixos.org/)
* [Download](https://nixos.org/download)

View File

@ -0,0 +1,22 @@
# Void Linux
Remove `systemd` from Arch and make it into a distro that actually
works (looking at you Artix!) and you get Void Linux! Its package
manager might not be as pleasant as `pacman` (hard to make one that
is), but the overall experience is pretty similar and people who like
to tinker will love this distribution! It used to be my daily driver
for some time before I went back to Arch because I missed the AUR. But
honestly, it wasnt a bad experience at all and I would totally
recommend it to someone who has the level to use ArchLinux.
One negative point is its documentation isnt great due to a past
incident: at some point the project lost its domain name and had to
restart everything, making it a bit confusing, although thats my
experience a couple of months after it happened. It might be better
now.
Oh, and theres a `musl` version available (that is, no `glibc` but a
lighter one with less bugs, but alas with slightly less compatibility
with other things…).
* [Homepage](https://voidlinux.org/)
* [Download](https://voidlinux.org/download/)

View File

@ -0,0 +1 @@
# Famous or Interesting Distributions

36
src/Linux/learn.md Normal file
View File

@ -0,0 +1,36 @@
# Learn Linux
## Learn Bash
The first step towards becoming a Linux poweruser is to learn to get
around with the command line. While you might not use Bash itself (you
might have Zsh preinstalled instead), most of the things you will have
to learn are pretty standard across most shells (those that follow the
POSIX standard). Fun fact, if you know your way around a POSIX shell,
being in a macOS or a UNIX shell wont feel that foreign since the
POSIX standard tries to be as compatible as possible with the UNIX
standard (and yes, macOS *is* a UNIX-certified OS).
Finding tutorials on Bash is pretty easy, however there are some
tutorials Id recommend:
* [Learn Shell](https://www.learnshell.org/) (learn to use the command
line, thats pretty important)
* [Bash Guide for
Beginners](https://tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf)
(PDF file)
* [Learn X in Y minutes Where X=bash](https://learnxinyminutes.com/docs/bash/)
* [Bash Scripting Tutorial for Beginners](https://linuxconfig.org/bash-scripting-tutorial-for-beginners)
* [Learn Bash Scripting](https://www.codecademy.com/learn/bash-scripting)
## Learn Linux, Prepare to be a System Administrator
Yes, thats a big step, but thats the path to become a poweruser.
While you might not want to become a sysadmin professionally, I dont
think it hurts to learn even more about Linux.
* [The System Administrators Guide to Bash Scripting](https://learn.acloud.guru/course/admin-guide-to-bash-scripting/overview)
* [Linux Foundation Certified System Administrator (LFCS)](https://learn.acloud.guru/course/f9945b67-499d-4e79-80bd-580074fbecdd/overview)
And pretty much any course on this website. They have five ranks of
difficulty in their courses:
* Novice
* Apprentice
* Practitioner
* Professional
* Guru (kinda hidden)

24
src/SUMMARY.md Normal file
View File

@ -0,0 +1,24 @@
# Summary
[Presentation](./presentation.md)
# Linux
- [Learn Linux](./Linux/learn.md)
- [Famous or Interesting Distros](./Linux/distros/index.md)
- [Debian Family](./Linux/distros/Debian/index.md)
- [Debian](./Linux/distros/Debian/Debian.md)
- [Ubuntu](./Linux/distros/Debian/Ubuntu.md)
- [Pop!\_OS](./Linux/distros/Debian/Pop_OS.md)
- [Mint](./Linux/distros/Debian/Mint.md)
- [ArchLinux Family](./Linux/distros/Arch/index.md)
- [ArchLinux](./Linux/distros/Arch/ArchLinux.md)
- [archfi](./Linux/distros/Arch/archfi.md)
- [Archcraft](./Linux/distros/Arch/Archcraft.md)
- [Manjaro](./Linux/distros/Arch/Manjaro.md)
- [Fedora Family](./Linux/distros/Fedora/index.md)
- [Fedora](./Linux/distros/Fedora/Fedora.md)
- [RedHat](./Linux/distros/Fedora/RedHat.md)
- [CentOS](./Linux/distros/Fedora/CentOS.md)
- [Void Linux](./Linux/distros/VoidLinux.md)
- [Gentoo](./Linux/distros/Gentoo.md)
- [Alpine Linux](./Linux/distros/AlpineLinux.md)
- [NixOS](./Linux/distros/NixOS.md)
- [GuixSD](./Linux/distros/GuixSD.md)

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

12
src/presentation.md Normal file
View File

@ -0,0 +1,12 @@
# Pundraks Interesting Links
Welcome to my collection of interesting links I find here and there!
This website is inspired by Awesome pages such as this one. Thing is,
Awesome pages are generally written about a specific topic like this
one that is not the case here, although there is the general topic
of Computer Science, and more often programming, that binds the links
together.
Although this is primarily for links I find myself, suggestions are
more than welcome if you feel like one ore more should be added, feel
free to open a PR!