Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Short Tour of Linux Distributions

Tyler L
February 05, 2017

A Short Tour of Linux Distributions

Tyler L

February 05, 2017
Tweet

More Decks by Tyler L

Other Decks in Technology

Transcript

  1. A Short Tour of Linux
    Distributions
    Open Source 101, February 2017
    Tyler Langlois
    Infrastructure Engineer, Elastic

    View Slide

  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

    View Slide

  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?

    View Slide

  4. Stay With Me, Here

    View Slide

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

    Version
    Sierra
    El Capitan
    Yosemite
    ....

    View Slide

  6. What’s a distribution?
    Distribution

    View Slide

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

    View Slide

  8. What’s a distribution?
    kernel
    Licensing
    Technology
    choices
    systemd
    rpm
    dpkg
    openrc
    Community
    GNU utilities

    View Slide

  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

    View Slide

  10. What’s a distribution?
    Technology choices: Package Management
    build
    $ conky
    ???

    View Slide

  11. What’s a distribution?
    Technology choices: Package Management
    $ apt install conky
    $ conky
    $ yum install conky
    $ conky
    $ pacman -S conky
    $ conky

    View Slide

  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

    View Slide

  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

    View Slide

  14. What’s a distribution?
    Technology choices: Init Systems
    openrc
    sysv
    s6
    upstart
    runit
    systemd

    View Slide

  15. Distributions: Overview
    .rpm
    .deb

    View Slide

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

    View Slide

  17. Debian
    Vital stats
    ● Governance
    ○ Community/constitution
    ● Tech
    ○ dpkg / apt / systemd
    ● Notes
    ○ Stability, open source
    ○ Bedrock for many .deb
    based distributions

    View Slide

  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

    View Slide

  19. Ubuntu
    Vital stats
    ● Governance
    ○ Supported by Canonical
    ● Tech
    ○ dpkg / apt / systemd
    ● Notes
    ○ userbase, widespread
    adoption
    ○ Regular release cycle

    View Slide

  20. Ubuntu

    View Slide

  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

    View Slide

  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

    View Slide

  23. Fedora
    Vital stats
    ● Governance
    ○ Community, sponsored by
    Red Hat
    ● Package management
    ○ rpm / dnf / systemd
    ● Notes
    ○ Strictly OSS
    ○ Cutting edge software
    ○ Spins

    View Slide

  24. RHEL
    Vital stats
    ● Governance
    ○ Red Hat, Inc.
    ● Package management
    ○ rpm / yum / systemd
    ● Notes
    ○ Enterprise-grade & industrial
    strength
    ○ Certifications & compliance
    ○ Commercial support

    View Slide

  25. CentOS
    Vital stats
    ● Governance
    ○ Community-driven, blessed
    by Red Hat
    ● Notes
    ○ It’s RHEL, but rebranded +
    free
    ○ Common base (for example,
    Amazon Linux)

    View Slide

  26. openSuSE + SLES
    Vital stats
    ● Governance
    ○ Commercial (SuSE)
    ● Tech
    ○ zypper / rpm / systemd
    ● Notes
    ○ OSS distro (openSuSE) and
    Enterprise (SLES)
    ○ Useful tools (YAST, btrfs)

    View Slide

  27. ...and so many more

    View Slide

  28. The “Other” Distros

    View Slide

  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

    View Slide

  30. Arch
    Vital stats
    ● Governance
    ○ Community of trusted users
    ● Tech
    ○ pacman / systemd
    ● Notes
    ○ Simplicity
    ○ Vanilla software
    ○ Bleeding edge

    View Slide

  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

    View Slide

  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

    View Slide

  33. Gentoo
    Vital stats
    ● Governance
    ○ Community
    ● Tech
    ○ emerge / portage / openrc
    ● Hallmarks
    ○ From-source distro
    ○ Simplicity has spawned
    some other distros
    (including ChromeOS)

    View Slide

  34. Slackware
    Vital stats
    ● Governance
    ○ Community
    ● Tech
    ○ tarballs / BSD-SysV init
    ● Hallmarks
    ○ Oldest distribution still
    maintained
    ○ Simple package
    management

    View Slide

  35. Which Distro?

    View Slide

  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???)

    View Slide

  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.

    View Slide

  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

    View Slide

  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

    View Slide

  40. The Future

    View Slide

  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

    View Slide

  42. The Future
    Distribution
    ● OSTree
    ○ Swap running operating system
    with new image
    ○ Similar strategy used in
    CoreOS
    ○ Experimental progress in
    Fedora
    v1 v2
    /root

    View Slide

  43. The Future
    Distribution
    Source: https://sourcediver.org/blog/2017/01/18/distributing-nixos-with-ipfs-part-1/

    View Slide

  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

    View Slide

  45. Questions?

    View Slide

  46. Thank You!
    ● GitHub
    ○ tylerjl
    ● IRC, Twitter
    ○ leothrix
    ● tjll.net
    ● Check out “Open
    Source Developer’s
    Toolbox” later today

    View Slide