Skip to content

Commit

Permalink
New Linux page (#491)
Browse files Browse the repository at this point in the history
  • Loading branch information
TommyTran732 authored and dngray committed Mar 20, 2022
1 parent 21c0151 commit a772ca5
Show file tree
Hide file tree
Showing 25 changed files with 362 additions and 218 deletions.
4 changes: 4 additions & 0 deletions _data/nav/3_operating_systems.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ items:
title: Android
icon: fab fa-android
file: _evergreen/android.md
- type: link
title: Linux Desktop
icon: fab fa-linux
file: _evergreen/linux-desktop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
title: Fedora Silverblue (and Kinoite)
type: Recommendation
logo: /assets/img/linux-desktop/fedora-silverblue.svg
description: |
**Fedora Silverblue** and **Fedora Kinoite** are immutable variants of Fedora with a strong focus on container workflows. Silverblue comes with the [GNOME](https://www.gnome.org/) desktop environment while Kinoite comes with [KDE](https://kde.org/). Silverblue and Kinoite follow the same release schedule as Fedora Workstation, benefiting from the same fast updates and staying very close to upstream.
Silverblue (and Kionite) differ from Fedora Workstation as they replace the [DNF](https://fedoraproject.org/wiki/DNF) package manager with a much more advanced alternative called [`rpm-ostree`](https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/package-management/rpm-ostree/). The `rpm-ostree` package manager works by downloading a base image for the system, then overlaying packages over it in a [git](https://en.wikipedia.org/wiki/Git)-like commit tree. When the system is updated, a new base image is downloaded and the overlays will be applied to that new image.
After the update is complete the user will reboot the system into the new deployment. `rpm-ostree` keeps two deployments of the system so that a user can easily rollback if something breaks in the new deployment. There is also the option to pin more deployments as needed.
[Flatpak](https://www.flatpak.org) is the primary package installation method on these distrbutions, as `rpm-ostree` is only meant to overlay packages that cannot stay inside of a container on top of the base image.
As an alternative to Flatpaks, there is the option of [Toolbox](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) to create [Podman](https://podman.io) containers with a shared home directory with the host operating system and mimic a traditional Fedora environment, which is a [useful feature](https://containertoolbx.org) for the discerning developer.
website: 'https://silverblue.fedoraproject.org'
privacy_policy: 'https://fedoraproject.org/wiki/Legal:PrivacyPolicy#:~:text=Fedora%20may%20share%20your%20personal,described%20in%20this%20Privacy%20Statement.'
15 changes: 15 additions & 0 deletions _data/operating-systems/linux-desktop-immutable/2_nixos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
title: NixOS
type: Recommendation
logo: /assets/img/linux-desktop/nixos.svg
description: |
<strong>NixOS</strong> is an independent distribution based on the <a href="https://nixos.org">Nix package manager</a> with a focus on reproducibility and reliability.
NixOS's package manager keeps every version of every package in a different folder in the **Nix store**. Due to this you can have different versions of the same package installed on your system. After the package contents have been written to the folder, the folder is made read-only.
NixOS also provides atomic updates; First it downloads (or builds) the packages and files for the new system generation and then switches to it. Switching to a new generation can be done in different ways; (you can tell NixOS to activate it after reboot or you can switch to it at runtime). You can also *test* the new generation by switching to it at runtime, but not setting it as the current system generation. If something in the update process breaks, you can just reboot and automatically and return to a working version of your system.
Nix the package manager uses a purely functional language - which is also called Nix - to define packages. Because of this [Nixpkgs](https://github.com/nixos/nixpkgs) (the main source of packages) is contained in a single Github repository. You can also define your own packages in the same language and then easily include them in your config.
Nix is a source-based package manager; if there's no pre-built avalaible in the binary cache, Nix will just build the package from source using its definition. It builds each package in a sandboxed *pure* environment, which is as independent of the host system as possible, thus making binaries reproducible.
website: 'https://nixos.org'
16 changes: 16 additions & 0 deletions _data/operating-systems/linux-desktop-tor/1_whonix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
title: Whonix
type: Recommendation
logo: /assets/img/linux-desktop/whonix.svg
description: |
**Whonix** is based on [Kicksecure](https://www.whonix.org/wiki/Kicksecure), a security-focused fork of Debian. It aims to provide privacy, security and anonymity on the internet.
Whonix is meant to run as two virtual machines; a "Workstation" and a Tor "Gateway". All communications from the Workstation has to go through the Tor gateway, and will be routed through the Tor Network.
Some of its features include Tor Stream Isolation, [keystroke anonymization](https://www.whonix.org/wiki/Keystroke_Deanonymization#Kloak), [encrypted swap](https://github.com/Whonix/swap-file-creator) and a hardened memory allocator.
Future versions of Whonix will likely include [full system Apparmor policies](https://github.com/Whonix/apparmor-profile-everything) and a [sandbox app launcher](https://www.whonix.org/wiki/Sandbox-app-launcher) to fully confine all processes on the system.
Whonix is best used [in conjunction with Qubes](https://www.whonix.org/wiki/Qubes/Why_use_Qubes_over_other_Virtualizers).
website: 'https://www.whonix.org/'
website_tor: 'http://www.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/'
11 changes: 11 additions & 0 deletions _data/operating-systems/linux-desktop-tor/2_tails.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
title: Tails
type: Recommendation
logo: /assets/img/linux-desktop/tails.svg
description: |
**Tails** is a live operating system based on Debian that routes all communications through Tor.
It can boot on almost any computer from a DVD, USB stick, or sdcard. It aims to preserve privacy and anonymity while circumventing censorship and leaving no trace of itself on the computer it is used on.
By design, Tails is meant to completely reset itself after each reboot. Encrypted [persistent storage](https://tails.boum.org/doc/first_steps/persistence/index.en.html) can be configured to store some data.
website: 'https://tails.boum.org'
13 changes: 13 additions & 0 deletions _data/operating-systems/linux-desktop/1_fedora-workstation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: Fedora Workstation
type: Recommendation
logo: /assets/img/linux-desktop/fedora-workstation.svg
labels: 'color==info::icon==fas fa-fw fa-trophy::text==Beginner friendly::tooltip==We highly recommend that new Linux users use Fedora Workstation.'
description: |
**Fedora Workstation** is our recommended distribution for users new to Linux.
It has a semi-[rolling release](https://en.wikipedia.org/wiki/Rolling_release) cycle. While some packages like [GNOME](https://www.gnome.org) are frozen until the next Fedora release, most packages (including the kernel) are updated frequently throughout the lifespan of the release. Each Fedora release is supported for one year, with a new version released every 6 months.
Fedora generally adopts newer technologies before other distributions e.g., [Wayland](https://wayland.freedesktop.org/), [PipeWire](https://pipewire.org), and soon, [FS-Verity](https://fedoraproject.org/wiki/Changes/FsVerityRPM). These new technologies often come with improvements in security, privacy, and usability in general.
website: 'https://getfedora.org'
privacy_policy: 'https://fedoraproject.org/wiki/Legal:PrivacyPolicy#Sharing_Your_Personal_Data'
11 changes: 11 additions & 0 deletions _data/operating-systems/linux-desktop/2_opensuse-tumbleweed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
title: openSUSE Tumbleweed
type: Recommendation
logo: /assets/img/linux-desktop/opensuse-tumbleweed.svg
description: |
**openSUSE Tumbleweed** is a stable [rolling release](https://en.wikipedia.org/wiki/Rolling_release) distribution.
Tumbleweed follows a rolling release model where each update is released as a snapshot of the distribution. When the user upgrades their system, a new snapshot is downloaded. Each snapshot is run through a series of automated tests by the [openSUSE Build Service](https://build.opensuse.org) to ensure its quality.
openSUSE Tumbleweed has a [transactional update](https://kubic.opensuse.org/blog/2018-04-04-transactionalupdates/) system that uses [Btrfs](https://en.wikipedia.org/wiki/Btrfs) and [Snapper](https://en.opensuse.org/openSUSE:Snapper_Tutorial) to ensure that snapshots can be rolled back should there be a problem.
website: 'https://get.opensuse.org/tumbleweed/'
14 changes: 14 additions & 0 deletions _data/operating-systems/linux-desktop/3_archlinux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
title: Arch Linux
type: Recommendation
logo: /assets/img/linux-desktop/archlinux.svg
description: |
**Arch Linux** is a lightweight, do-it-yourself (DIY) distribution meaning that you only get what you install. For more information see their [FAQ](https://wiki.archlinux.org/title/Frequently_asked_questions).
Arch Linux has a rolling release cycle. There is no fixed release schedule and packages are updated very frequently.
Being a DIY distribution, the user is expected to setup and maintain their system. Since September 2020, Arch has an [official installer](https://wiki.archlinux.org/title/Archinstall) to make the installation process a little easier.
A large portion of [Arch Linux's packages](https://reproducible.archlinux.org) are [reproducible](https://reproducible-builds.org").
website: 'https://archlinux.org'
privacy_policy: 'https://wiki.archlinux.org/index.php/ArchWiki:Privacy_policy'
70 changes: 0 additions & 70 deletions _includes/legacy/sections/operating-systems.html
Original file line number Diff line number Diff line change
@@ -1,79 +1,9 @@
<h2 id="os" class="anchor"><a href="#os"><i class="fas fa-link anchor-icon"></i></a> Introductory Operating Systems</h2>

<div class="alert alert-warning" role="alert">
<strong>If you are currently using an operating system that collects data like Windows 10, you should pick an alternative here.</strong>
</div>

{% include legacy/cardv2.html
title="Fedora Workstation"
image="/assets/img/legacy_svg/3rd-party/fedora.svg"
description='Fedora is a Linux distribution developed by the Fedora Project and sponsored by Red Hat. Fedora Workstation is a secure, reliable, and user-friendly edition developed for desktops and laptops. Fedora by default comes with the GNOME desktop environment, other <a href="https://spins.fedoraproject.org/">desktop environments</a> are also available.'
badges="info:Linux"
website="https://getfedora.org/"
privacy-policy="https://fedoraproject.org/wiki/Legal:PrivacyPolicy?rd=Legal/PrivacyPolicy"
git="https://src.fedoraproject.org/"
%}

{% include legacy/cardv2.html
title="Ubuntu"
image="/assets/img/legacy_svg/3rd-party/ubuntu.svg"
description='Ubuntu is a Linux distribution developed by Canonical Ltd. Ubuntu is a reliable distribution that is user-friendly and can be run on desktops, servers, and IoT devices. Ubuntu uses GNOME as the default desktop environment, while other <a href="https://ubuntu.com/download/flavours">desktop environments</a> are also available.'
badges="info:Linux"
website="https://ubuntu.com"
privacy-policy="https://ubuntu.com/legal/data-privacy"
git="https://launchpad.net/ubuntu"
%}

<h2 id="advanced_os" class="anchor"><a href="#advanced_os"><i class="fas fa-link anchor-icon"></i></a> Advanced Operating Systems</h2>

<div class="alert alert-info" role="alert">
<strong>These options have advanced features and are unique in some way. These options will likely require the user to read technical background documentation.</strong>
</div>

{% include legacy/cardv2.html
title="Alpine Linux"
image="/assets/img/legacy_svg/3rd-party/alpinelinux.svg"
description='Alpine Linux is a very minimal distribution designed to be secure and very resource efficient. Alpine Linux can run from RAM, and merge configuration files into the system on boot using <a href="https://wiki.alpinelinux.org/wiki/Alpine_local_backup">Alpine local backup</a>. Alpine Linux is often used on servers and in Linux containers.'
badges="info:Linux"
website="https://alpinelinux.org/"
privacy-policy="https://alpinelinux.org/privacy-policy.html"
gitlab="https://gitlab.alpinelinux.org"
%}

{% include legacy/cardv2.html
title="Arch Linux"
image="/assets/img/legacy_svg/3rd-party/archlinux.svg"
description='A simple, lightweight Linux distribution. It is composed predominantly of free and open-source software, and supports community involvement.'
badges="info:Linux"
labels="color==success::link==https://reproducible.archlinux.org::text==Reproducible builds"
website="https://www.archlinux.org/"
privacy-policy="https://wiki.archlinux.org/index.php/ArchWiki:Privacy_policy"
gitlab="https://gitlab.archlinux.org"
%}

{% include legacy/cardv2.html
title="Debian"
image="/assets/img/legacy_svg/3rd-party/debian.svg"
description='Debian is a Unix-like computer operating system and a Linux distribution that is composed entirely of free and open-source software, most of which is under the GNU General Public License, and packaged by a group of individuals known as the Debian project.'
badges="info:Linux"
labels="color==success::link==https://reproducible.debian.net::text==Reproducible builds"
website="https://www.debian.org/"
privacy-policy="https://www.debian.org/legal/privacy"
tor="http://5ekxbftvqg26oir5wle3p27ax3wksbxcecnm6oemju7bjra2pn26s3qd.onion/"
gitlab="https://salsa.debian.org/qa/debsources"
%}

{% include legacy/cardv2.html
title="NixOS"
image="/assets/img/legacy_svg/3rd-party/nixos.svg"
description='NixOS is a Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, it is completely declarative, makes upgrading systems reliable, and has many <a href="https://nixos.org/features.html">other advantages</a>.'
badges="info:Linux"
labels="color==success::link==https://r13y.com::text==Reproducible builds"
website="https://nixos.org"
privacy-policy="https://nixos.wiki/wiki/NixOS_Wiki:Privacy_policy"
github="https://github.com/NixOS"
%}

{% include legacy/cardv2.html
title="Qubes OS"
image="/assets/img/legacy_svg/3rd-party/qubes_os.svg"
Expand Down
24 changes: 0 additions & 24 deletions _includes/legacy/sections/tor-operating-systems.html

This file was deleted.

107 changes: 0 additions & 107 deletions _includes/legacy/sections/windows10.html

This file was deleted.

Loading

0 comments on commit a772ca5

Please sign in to comment.