Share
Embed
A Short Tour of Linux Distributions
Tyler L
February 05, 2017
Transcript
46 slides
-
A Short Tour of Linux Distributions Open Source 101, February
2017 Tyler Langlois Infrastructure Engineer, Elastic -
$ whois tylerjl • Infrastructure engineering/devops at Elastic ◦ Operations
and software dev • Other pursuits ◦ Linux package maintainer, functional programming, raspberry pi wrangler, automation normal person -
Who is This For? • What’s a distribution? • How
are they different? • Which should I choose? • How should I choose? • What’s happening in the distro landscape? -
What’s a distribution? Version 10 8 7 Vista … Version
Sierra El Capitan Yosemite .... -
What’s a distribution? kernel Licensing Technology choices systemd rpm dpkg
openrc Community GNU utilities -
What’s a distribution? Technology choices Package management • apt, yum
, pacman, portage Init system • SysV, Upstart, systemd Other • Desktop Environment ◦ Gnome, KDE, xfce • Defaults ◦ filesystem, kernel patchsets • Installer -
What’s a distribution? Technology choices: Package Management $ apt install
conky $ conky $ yum install conky $ conky $ pacman -S conky $ conky -
What’s a distribution? Technology choices: Package Management • dpkg ◦
Debian and all derivatives ◦ .deb packages widely available ◦ apt (formerly apt-get) CLI utility • Features of note ◦ dist-upgrade for easier major version updates ◦ Ubuntu-created PPAs for small, third-party repos $ apt update $ apt upgrade $ apt search conky $ apt install conky -
What’s a distribution? Technology choices: Package Management • rpm ◦
Red Hat derivatives ◦ .rpm shipped alongside .deb ◦ yum, dnf most commonly used • Features of note ◦ Plugins like deltarpm improve performance ◦ dnf next-gen yum replacement $ yum update $ yum search conky $ yum install conky -
What’s a distribution? Technology choices: Init Systems openrc sysv s6
upstart runit systemd -
Debian Vital stats • Governance ◦ Community/constitution • Tech ◦
dpkg / apt / systemd • Notes ◦ Stability, open source ◦ Bedrock for many .deb based distributions -
Debian Use Cases • Rock-solid foundation for other projects (raspbian,
Ubuntu, others) • Stable branch is extremely stable, most users rely on testing/unstable • No “flavors” of Debian per se, but equally capable for many roles • Predictable cycle, stable releases are easy to test beforehand -
Ubuntu Vital stats • Governance ◦ Supported by Canonical •
Tech ◦ dpkg / apt / systemd • Notes ◦ userbase, widespread adoption ◦ Regular release cycle -
Use Cases • Often the default choice for users who
need general purpose distro • For more specific purposes, Canonical ships more tuned releases • Focus on user-friendly installation and experience • Set-in-stone release cycle means predictable releases (+LTS) Ubuntu -
Linux Mint Vital stats • Governance ◦ Community distribution •
Notes ◦ Very closely related to Ubuntu ◦ Customized user interface and desktop experience ◦ Ease-of-use and user friendliness -
Fedora Vital stats • Governance ◦ Community, sponsored by Red
Hat • Package management ◦ rpm / dnf / systemd • Notes ◦ Strictly OSS ◦ Cutting edge software ◦ Spins -
RHEL Vital stats • Governance ◦ Red Hat, Inc. •
Package management ◦ rpm / yum / systemd • Notes ◦ Enterprise-grade & industrial strength ◦ Certifications & compliance ◦ Commercial support -
CentOS Vital stats • Governance ◦ Community-driven, blessed by Red
Hat • Notes ◦ It’s RHEL, but rebranded + free ◦ Common base (for example, Amazon Linux) -
openSuSE + SLES Vital stats • Governance ◦ Commercial (SuSE)
• Tech ◦ zypper / rpm / systemd • Notes ◦ OSS distro (openSuSE) and Enterprise (SLES) ◦ Useful tools (YAST, btrfs) -
• Most off-brand distributions are tuned to a specific use
case • All the exciting evolution happens at the fringes! What’s the Distinction? • Nearly all distros branch off dpkg/rpm • Package managers outside the norm grow a whole new ecosystem -
Arch Vital stats • Governance ◦ Community of trusted users
• Tech ◦ pacman / systemd • Notes ◦ Simplicity ◦ Vanilla software ◦ Bleeding edge -
Use Cases • pacman == yum == apt • AUR
is community-managed package repository • Rolling updates means there are no “versions” of Arch • Vanilla package a good base for derivative distributions • Often a good choice if latest software is always needed Arch -
NixOS Vital stats • Governance ◦ Community (GitHub) • Tech
◦ nix / systemd • Hallmarks ◦ Declarative config ◦ Atomic upgrades $ cat configuration.nix { virtualisation.docker.enable = true; } $ nixos-rebuild switch -
Gentoo Vital stats • Governance ◦ Community • Tech ◦
emerge / portage / openrc • Hallmarks ◦ From-source distro ◦ Simplicity has spawned some other distros (including ChromeOS) -
Slackware Vital stats • Governance ◦ Community • Tech ◦
tarballs / BSD-SysV init • Hallmarks ◦ Oldest distribution still maintained ◦ Simple package management -
Which Distro? Points to consider • Stability versus latest features
◦ Solid reliability takes years, it’s a tradeoff ◦ Time-tested package managers (rpm, deb) are a safe bet ◦ Users have a nice spectrum of latest-shipping distros (i.e., CentOS -> Fedora -> Arch) ◦ Know your (eventual) upgrade plan (CentOS 6 -> 7???) -
Which Distro? Points to consider • Stability versus latest features
• Machine use case ◦ Servers ▪ Stability, consistency, support considerations ▪ CentOS, RHEL, Debian, Ubuntu LTS ◦ Desktop ▪ Graphics drivers, wireless drivers, etc. ◦ Special-case ▪ Kali, Vyatta, Raspbian, etc. -
Which Distro? Points to consider • Stability versus latest features
• Machine use case • Technology decisions ◦ systemd-ocalypse ◦ Preferred desktop environment ◦ Defaults (filesystem, bootloader, and so on) ◦ Kernel choices -
Which Distro? Points to consider • Stability versus latest features
• Machine use case • Technology decisions • OSS versus commercial ◦ How comfortable are you with a) community support, b) commercial support, c) do-it-yourself? ◦ Licensing: are you compliant? ◦ Free as in beer ≠ free as in speech -
The Future • btrfs and ZFS on Linux ◦ btrfs
▪ Native Linux filesystem ▪ Rapidly stabilizing ◦ ZFS ▪ Adapted from Solaris ▪ Long history ◦ Copy-on-write ◦ Online scrubbing ◦ Snapshots Filesystems file.txt file.txt file.txt sda sdb pool -
The Future Distribution • OSTree ◦ Swap running operating system
with new image ◦ Similar strategy used in CoreOS ◦ Experimental progress in Fedora v1 v2 /root -
The Future • Wayland / Mir ◦ Replacements for the
venerable XFree86 / X.org • Snappy ◦ Ubuntu’s new packaging format • dnf ◦ Red Hat-based distribution next-gen yum • Kernel ◦ Live patching New Core Components -
Thank You! • GitHub ◦ tylerjl • IRC, Twitter ◦
leothrix • tjll.net • Check out “Open Source Developer’s Toolbox” later today