A Short Tour of Linux Distributions

F43919144cdcddd7ba50e46f71667d08?s=47 Tyler L
February 05, 2017

A Short Tour of Linux Distributions

F43919144cdcddd7ba50e46f71667d08?s=128

Tyler L

February 05, 2017
Tweet

Transcript

  1. A Short Tour of Linux Distributions Open Source 101, February

    2017 Tyler Langlois Infrastructure Engineer, Elastic
  2. $ whois tylerjl • Infrastructure engineering/devops at Elastic ◦ Operations

    and software dev • Other pursuits ◦ Linux package maintainer, functional programming, raspberry pi wrangler, automation normal person
  3. 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?
  4. Stay With Me, Here

  5. What’s a distribution? Version 10 8 7 Vista … Version

    Sierra El Capitan Yosemite ....
  6. What’s a distribution? Distribution

  7. What’s a distribution? Distribution Stable Testing Unstable (Sid) Version Jessie

    (8) Wheezy (7) …
  8. What’s a distribution? kernel Licensing Technology choices systemd rpm dpkg

    openrc Community GNU utilities
  9. 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
  10. What’s a distribution? Technology choices: Package Management build $ conky

    ???
  11. What’s a distribution? Technology choices: Package Management $ apt install

    conky $ conky $ yum install conky $ conky $ pacman -S conky $ conky
  12. 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
  13. 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
  14. What’s a distribution? Technology choices: Init Systems openrc sysv s6

    upstart runit systemd
  15. Distributions: Overview .rpm .deb

  16. Distributions: Overview Root distributions Derivatives + more! + more! deb

    rpm
  17. Debian Vital stats • Governance ◦ Community/constitution • Tech ◦

    dpkg / apt / systemd • Notes ◦ Stability, open source ◦ Bedrock for many .deb based distributions
  18. 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
  19. Ubuntu Vital stats • Governance ◦ Supported by Canonical •

    Tech ◦ dpkg / apt / systemd • Notes ◦ userbase, widespread adoption ◦ Regular release cycle
  20. Ubuntu

  21. 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
  22. 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
  23. Fedora Vital stats • Governance ◦ Community, sponsored by Red

    Hat • Package management ◦ rpm / dnf / systemd • Notes ◦ Strictly OSS ◦ Cutting edge software ◦ Spins
  24. RHEL Vital stats • Governance ◦ Red Hat, Inc. •

    Package management ◦ rpm / yum / systemd • Notes ◦ Enterprise-grade & industrial strength ◦ Certifications & compliance ◦ Commercial support
  25. CentOS Vital stats • Governance ◦ Community-driven, blessed by Red

    Hat • Notes ◦ It’s RHEL, but rebranded + free ◦ Common base (for example, Amazon Linux)
  26. openSuSE + SLES Vital stats • Governance ◦ Commercial (SuSE)

    • Tech ◦ zypper / rpm / systemd • Notes ◦ OSS distro (openSuSE) and Enterprise (SLES) ◦ Useful tools (YAST, btrfs)
  27. ...and so many more

  28. The “Other” Distros

  29. • 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
  30. Arch Vital stats • Governance ◦ Community of trusted users

    • Tech ◦ pacman / systemd • Notes ◦ Simplicity ◦ Vanilla software ◦ Bleeding edge
  31. 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
  32. NixOS Vital stats • Governance ◦ Community (GitHub) • Tech

    ◦ nix / systemd • Hallmarks ◦ Declarative config ◦ Atomic upgrades $ cat configuration.nix { virtualisation.docker.enable = true; } $ nixos-rebuild switch
  33. Gentoo Vital stats • Governance ◦ Community • Tech ◦

    emerge / portage / openrc • Hallmarks ◦ From-source distro ◦ Simplicity has spawned some other distros (including ChromeOS)
  34. Slackware Vital stats • Governance ◦ Community • Tech ◦

    tarballs / BSD-SysV init • Hallmarks ◦ Oldest distribution still maintained ◦ Simple package management
  35. Which Distro?

  36. 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???)
  37. 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.
  38. 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
  39. 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
  40. The Future

  41. 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
  42. The Future Distribution • OSTree ◦ Swap running operating system

    with new image ◦ Similar strategy used in CoreOS ◦ Experimental progress in Fedora v1 v2 /root
  43. The Future Distribution Source: https://sourcediver.org/blog/2017/01/18/distributing-nixos-with-ipfs-part-1/

  44. 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
  45. Questions?

  46. Thank You! • GitHub ◦ tylerjl • IRC, Twitter ◦

    leothrix • tjll.net • Check out “Open Source Developer’s Toolbox” later today