SlideShare a Scribd company logo
a simple, rolling-release
      distribution

Tom Gundersen
teg@jklm.no
Overview

●
    Arch Linux

●
    Packaging

●
    The community

●
    Future plans
Arch Linux - Simplicity


●
    Creating and building packages is easy

●
    Divergence from upstream is minimal

●
    Choice for its own sake is avoided

●
    The workings of the system is not hidden
    from the user
Arch Linux – Rolling Release


●
    Ship the latest stable release of our
    packages (there are exceptions)

●
    Don't necessarily be the very first to switch
    to new or experimental technologies or
    introduce new packages to our repositories
Arch Linux – Target Audience


●
    People wanting to learn about Linux

●
    Advanced users

●
    Developers
Arch Linux - Background

●
    Started in 2001 by Judd Vinet

●
    Inspired by Slackware, Polish Linux
    Distribution and CRUX
Arch Linux – History: stats

                                            Random Arch Website Stats
1200                                                                    20000
             Forum Posts (Right Y-axis)
                Forum Users Registered
                  Flyspray Bugs Opened
                                                                        18000
                   Flyspray Bugs Closed
              Flyspray Users Registered
1000   Wiki Page Revisions (Right Y-axis)
                                                                        16000



                                                                        14000
 800


                                                                        12000



 600                                                                    10000



                                                                        8000


 400
                                                                        6000



                                                                        4000
 200


                                                                        2000



   0                                                                    0
Arch Linux – History: descendants
Arch Linux – Current Status

●
    ~3000 Official Packages

●
    ~3000 Semi-Official Packages

●
    ~40000 Unsupported PKGBUILDs

●
    One kernel

●
    i686 and x86_64 architectures

●
    Proprietary software available

●
    All major desktop environment, etc.
Packaging - Repositories


    [core]
●
    needed for building, booting and installing
●
     ~200 packages
●
    updates must go through the [testing]
    repository

    [extra]
●
    commonly used packages (>5% of users)

    [community]
●
    less commonly used packages (>1% of
    users)
Arch Linux Package Manager

●
    Uses the “pacman” package manager

●
    Combines a simple binary package format
    with easy to use build system

●
    Fast! - according to Linux Format it beats
    the competition by a wide margin

●
    Does everything you expect from a package
    manager (update system, resolve
    dependencies, ...)
Package Creation

●
    Very simple scripts required to create a
    package

●
    If you can build the software manually, then
    you can create a package for it

●
    Tool provided to build packages called
    “makepkg”

●
    Build script is placed in a file called a
    PKGBUILD
Package Creation

●
    Start with how you would normally install a
    program:

    $   tar -xf <pkgname>-<pkgver>
    $   cd <pkgname>-<pkgver>
    $   ./configure
    $   make
    $   sudo make install
Package Creation

●
    Separate out the parts run as a user and
    root into separate functions:

    $ tar -xf <pkgname>-<pkgver>
    $ cd <pkgname>-<pkgver>

    build() {
      ./configure
      make
    }

    package() {
      make install
    }
Package Creation

●
    makepkg will automatically handle source
    extraction into “$srcdir”

    build() {
      cd $srcdir/<pkgname>-<pkgver>
      ./configure
      make
    }

    package() {
      cd $srcdir/<pkgname>-<pkgver>
      make install
    }
Package Creation

●
    Files need to be installed in “$pkgdir”,
    which is compressed to make the package:

    build() {
      cd $srcdir-<pkgname>-<pkgver>
      ./configure –prefix=/usr
      make
    }

    package() {
      cd $srcdir-<pkgname>-<pkgver>
      make DESTDIR=$pkgdir install
    }
Package Creation

●
    Add some information about the package at
    the top of the file:

    pkgname=foo
    pkgver=3.0
    pkgrel=1
    pkgdesc="Example software"
    arch=('i686' 'x86_64')
    url="http://foo.example.com"
    license=('GPL')
    depends=('glibc')
    source=(http://$pkgname-$pkgver.tar.gz)
    md5sums=('d41d8cd98f00b204e9800f8427e')
Package Creation

●
    makepkg automates many common
    packaging tasks:
    ●
      Stripping debugging symbols from
      binaries
    ●
      Compressing man and info pages
    ●
      Setting compiler/linker options
          (CFLAGS, LDFLAGS, MAKEFLAGS)
    ●
      Removing common unwanted files
          (libtool, infodir, …)
Package Creation

●
    Two files are placed in the $pkgdir directory
    with all package meta data

●
    Then a (compressed) tar archive of the
    $pkgdir directory is created

●
    DONE!
Package Creation - Example

●
    See terminal ->
Community - Developers

●
    1 Project Leader

●
    Deals with legal matters (exclusively)

●
    33 Developers / Junior Developers

●
    Runs infrastructure

●
    Packages the packages in the official [core]
    and [extra] repositories
Community – Developers

●
    No formal rules of governance

●
    Consensus-based decision making

●
    Developers may in principle do whatever
    they want, as long as they inform the other
    developers of their intentions beforehand
    and there is no serious, technical oposition

●
    New developers added by invitation only
Community – Trusted Users

●
    37 Trusted Users (Tus)

●
    Disjont form the Developers

●
    Runs the Arch User Repository (AUR)

●
    Packages the semi-official packages in the
    [community] repository

●
    Ran as a democracy, governed by formal by-
    laws

●
    New TUs may apply to join
Community – AUR

●
    Repository of PKGBUILDs

●
    Anyone may sign-up and upload PKGBUILDs

●
    Absolutely no quality-control of the
    resulting packages, but some style
    guidelines on the PKGBUILDs themselves

●
    Popular, high-quality PKGBUILDS are often
    picked up by TU's and added to the
    [community] repository
Community – others...

●
    Forum, wiki, bug tracker, mailing-lists, irc
    channels are ran by separate teams

●
    Disjoint from each other (and the
    developers)
Getting involved

●
    Actively contribute to the community
     ●
       Provide PKGBUILDs for unpackaged
       software
     ●
       Help on the bug tracker
     ●
       Contributing code to our projects
     ●
       Update the wiki

●
    Apply to become a Trusted User
     ●
         Sponsoring and voting process...

●
    Be invited onto the Developer team
Evolution of an example package




systemd: a Linux init system
Example - systemd

●
    First packages for systemd were placed in
    AUR in 2010

●
    Lots of work was required to make it work
    with Arch

    “I'm highly dubious that Arch's kernel
     will ever natively support systemd, but
     I'm willing to give that a try as well
     once 2.6.36 hits.”
Example - systemd


    Over the next two years...

●
  Unified the legacy Arch init system and
  systemd
●
  systemd moved from the AUR to
  [community]
●
  The systemd packager was invited to join
  the dev team and moved systemd to [extra]
●
  systemd moved to [core]
●
  The legacy init system was deprecated and
  systemd is now our only supported init
  system
Why does it work at all?

●
    Software developers write code that is
    supposed to work...

●
    Only suport the most recent version of our
    packages

●
    Don't support more options than strictly
    necessary at the lower levels
●
    Accept occasional user intervention
Vanilla Packages

●
    Means packaging the software as the
    upstream developers intended

●
    Minimise patching – preferably only to fix
    build issues

●
    Result in any bug we find is (probably) not
    distribution specific

●
    Allows us to work more closely with
    software developers to fix bugs
Working With Software Developers

●
    All bug fix patches in Arch must be approved
    by the upstream developers

●
    That means that the Arch developers and
    community have become regular code
    contributors

●
    Many Arch developers also have commit
    access to upstream projects
Future Directions for Arch Linux

●
    Majority response...


      “Keep updating packages”


●
    Add more focus on a particular areas

●
    Add more architectures

●
    Simplify the system further
Keeping Packages Updated

●
    One of Arch Linux's greatest contributions
    to the Linux community

●
    Arch gets packages in their stable
    repositories before some major distributions
    get it in their developmental versions

●
    The Arch community will identify bugs early
    and report the issue to the software
    developers

●
    Fixes benefit all Linux distributions
Add More Architectures

●
    Currently we support x86 in 32bit (i686) and
    64bit (x86-64) varieties

●
    There are community projects supporting
    other architectures
      ●
        ARM (v5, v6, v7)
      ●
        PPC
      ●
        ...

●
    Would be good to provide a way for these
    ports to become official (like x86-64 did)
Arch Linux ARM

●
    Non-official spin-off for the ARM
    architecture

●
    One of the distros recommended for the
    Raspberry Pi
Simplifying the Filesystem

●
    Usual filesystem layout has a lot of
    redundancies

    /boot
    /bin
    /etc
    /home
    /lib
    /sbin
    /usr
        /bin
        /lib
        /sbin
Simplifying the Filesystem

●
    Libraries


    /boot
    /bin
    /etc
    /home
    /lib        (essential libraries)
    /sbin
    /usr
        /bin
        /lib    (rest of libraries)
        /sbin
Simplifying the Filesystem

●
    Keep all libraries in one place


    /boot
    /bin
    /etc
    /home
    /lib -> /usr/lib
    /sbin
    /usr
        /bin
        /lib
        /sbin
Simplifying the Filesystem

●
    Executables – distinction between
    directories is vague...

    /boot
    /bin       (essential user commands)
    /etc
    /home
    /lib -> /usr/lib
    /sbin      (system commands)
    /usr
        /bin   (most commands)
        /lib
        /sbin  (non-essential system)
Simplifying the Filesystem

●
    Keep all libraries in one place


    /boot
    /bin -> /usr/bin
    /etc
    /home
    /lib -> /usr/lib
    /sbin -> /usr/bin
    /usr
        /bin
        /lib
        /sbin -> bin
Simplifying the Filesystem

●
    /etc directory holds all configuration files

●
    Beginning to have these placed in
    /usr/lib/<pkgname> with files in /etc
    overriding the default settings

●
    Would be very helpful for a rolling release
    system

●
    Requires substantial work with upstream
    projects to achieve...
Automating More Packaging

●
    Task like rebuilds for library soname
    changes are typically trivial

●
    Would save a lot of time if we could
    automate (most of) this

●
    Most packages do not require architecture
    specific changes – build for one and
    automate the rest

●
    Would allow us to focus more on improving
    other areas of the distribution

More Related Content

What's hot

Posscon2013
Posscon2013Posscon2013
Posscon2013
Dru Lavigne
 
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake Deville
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake DevilleThe OpenSolaris Operating System and Sun xVM VirtualBox - Blake Deville
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake DevilleMatthew Turland
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
Davide Cavalca
 
pkgsrc 2011 - the record of the past year
pkgsrc 2011 - the record of the past yearpkgsrc 2011 - the record of the past year
pkgsrc 2011 - the record of the past year
Akio OBATA
 
4. Centos Administration
4. Centos Administration4. Centos Administration
4. Centos Administration
Mohd yasin Karim
 
Making the Move to Linux from an Enterprise Perspective
Making the Move to Linux from an Enterprise PerspectiveMaking the Move to Linux from an Enterprise Perspective
Making the Move to Linux from an Enterprise Perspective
All Things Open
 
Open stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpen stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpenStack Foundation
 
Mandriva linux 2011
Mandriva linux 2011Mandriva linux 2011
Mandriva linux 2011
Justin Kottoli
 
Gnu/Linux Introduction
Gnu/Linux IntroductionGnu/Linux Introduction
Gnu/Linux Introduction
Badri_Bady
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
iXsystems
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made Easy
Ken Moore
 
6. centos networking
6. centos networking6. centos networking
6. centos networking
Mohd yasin Karim
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
Donnie Berkholz
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows Managers
Andrew Denner
 
Ceph Day KL - Bring Ceph to Enterprise
Ceph Day KL - Bring Ceph to EnterpriseCeph Day KL - Bring Ceph to Enterprise
Ceph Day KL - Bring Ceph to Enterprise
Ceph Community
 
Package management and creation in Gentoo Linux
Package management and creation in Gentoo LinuxPackage management and creation in Gentoo Linux
Package management and creation in Gentoo Linux
Donnie Berkholz
 
Linux Fundamental
Linux FundamentalLinux Fundamental
Linux Fundamental
Gong Haibing
 

What's hot (20)

Posscon2013
Posscon2013Posscon2013
Posscon2013
 
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake Deville
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake DevilleThe OpenSolaris Operating System and Sun xVM VirtualBox - Blake Deville
The OpenSolaris Operating System and Sun xVM VirtualBox - Blake Deville
 
Sweden11
Sweden11Sweden11
Sweden11
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
pkgsrc 2011 - the record of the past year
pkgsrc 2011 - the record of the past yearpkgsrc 2011 - the record of the past year
pkgsrc 2011 - the record of the past year
 
4. Centos Administration
4. Centos Administration4. Centos Administration
4. Centos Administration
 
2. introduction to linux
2. introduction to linux2. introduction to linux
2. introduction to linux
 
Making the Move to Linux from an Enterprise Perspective
Making the Move to Linux from an Enterprise PerspectiveMaking the Move to Linux from an Enterprise Perspective
Making the Move to Linux from an Enterprise Perspective
 
Open stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpen stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_ugly
 
Mandriva linux 2011
Mandriva linux 2011Mandriva linux 2011
Mandriva linux 2011
 
Gnu/Linux Introduction
Gnu/Linux IntroductionGnu/Linux Introduction
Gnu/Linux Introduction
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made Easy
 
6. centos networking
6. centos networking6. centos networking
6. centos networking
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Central Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows ManagersCentral Iowa Linux Users Group-December 2019: Windows Managers
Central Iowa Linux Users Group-December 2019: Windows Managers
 
Ceph Day KL - Bring Ceph to Enterprise
Ceph Day KL - Bring Ceph to EnterpriseCeph Day KL - Bring Ceph to Enterprise
Ceph Day KL - Bring Ceph to Enterprise
 
Package management and creation in Gentoo Linux
Package management and creation in Gentoo LinuxPackage management and creation in Gentoo Linux
Package management and creation in Gentoo Linux
 
Linux Fundamental
Linux FundamentalLinux Fundamental
Linux Fundamental
 
Introducing fedora
Introducing fedoraIntroducing fedora
Introducing fedora
 

Similar to Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release distribution

Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange County
Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
NETWAYS
 
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
NETWAYS
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Ambassador Labs
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Stéphanie Roger
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Ambassador Labs
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
rkr10
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Imesh Gunaratne
 
From Zero to Hero - All you need to do serious deep learning stuff in R
From Zero to Hero - All you need to do serious deep learning stuff in R From Zero to Hero - All you need to do serious deep learning stuff in R
From Zero to Hero - All you need to do serious deep learning stuff in R
Kai Lichtenberg
 
LXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryLXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryDocker, Inc.
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
dotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Marcelo Ochoa
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
Linux Containers & Docker
Linux Containers & DockerLinux Containers & Docker
Linux Containers & Docker
Jumping Bean
 
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
Felipe Prado
 

Similar to Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release distribution (20)

Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
 
Introduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange CountyIntroduction to Docker at Glidewell Laboratories in Orange County
Introduction to Docker at Glidewell Laboratories in Orange County
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
 
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
From Zero to Hero - All you need to do serious deep learning stuff in R
From Zero to Hero - All you need to do serious deep learning stuff in R From Zero to Hero - All you need to do serious deep learning stuff in R
From Zero to Hero - All you need to do serious deep learning stuff in R
 
LXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software DeliveryLXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software Delivery
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
Linux Containers & Docker
Linux Containers & DockerLinux Containers & Docker
Linux Containers & Docker
 
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
DEF CON 27 - workshop - ISAAC EVANS - discover exploit and eradicate entire v...
 

More from Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
Anne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Anne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Anne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
Anne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Anne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Anne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Anne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
Anne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Anne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Anne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
Anne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
Anne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
Anne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
Anne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Anne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Anne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
Anne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Anne Nicolas
 

More from Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release distribution

  • 1. a simple, rolling-release distribution Tom Gundersen teg@jklm.no
  • 2. Overview ● Arch Linux ● Packaging ● The community ● Future plans
  • 3. Arch Linux - Simplicity ● Creating and building packages is easy ● Divergence from upstream is minimal ● Choice for its own sake is avoided ● The workings of the system is not hidden from the user
  • 4. Arch Linux – Rolling Release ● Ship the latest stable release of our packages (there are exceptions) ● Don't necessarily be the very first to switch to new or experimental technologies or introduce new packages to our repositories
  • 5. Arch Linux – Target Audience ● People wanting to learn about Linux ● Advanced users ● Developers
  • 6. Arch Linux - Background ● Started in 2001 by Judd Vinet ● Inspired by Slackware, Polish Linux Distribution and CRUX
  • 7. Arch Linux – History: stats Random Arch Website Stats 1200 20000 Forum Posts (Right Y-axis) Forum Users Registered Flyspray Bugs Opened 18000 Flyspray Bugs Closed Flyspray Users Registered 1000 Wiki Page Revisions (Right Y-axis) 16000 14000 800 12000 600 10000 8000 400 6000 4000 200 2000 0 0
  • 8. Arch Linux – History: descendants
  • 9. Arch Linux – Current Status ● ~3000 Official Packages ● ~3000 Semi-Official Packages ● ~40000 Unsupported PKGBUILDs ● One kernel ● i686 and x86_64 architectures ● Proprietary software available ● All major desktop environment, etc.
  • 10. Packaging - Repositories [core] ● needed for building, booting and installing ● ~200 packages ● updates must go through the [testing] repository [extra] ● commonly used packages (>5% of users) [community] ● less commonly used packages (>1% of users)
  • 11. Arch Linux Package Manager ● Uses the “pacman” package manager ● Combines a simple binary package format with easy to use build system ● Fast! - according to Linux Format it beats the competition by a wide margin ● Does everything you expect from a package manager (update system, resolve dependencies, ...)
  • 12. Package Creation ● Very simple scripts required to create a package ● If you can build the software manually, then you can create a package for it ● Tool provided to build packages called “makepkg” ● Build script is placed in a file called a PKGBUILD
  • 13. Package Creation ● Start with how you would normally install a program: $ tar -xf <pkgname>-<pkgver> $ cd <pkgname>-<pkgver> $ ./configure $ make $ sudo make install
  • 14. Package Creation ● Separate out the parts run as a user and root into separate functions: $ tar -xf <pkgname>-<pkgver> $ cd <pkgname>-<pkgver> build() { ./configure make } package() { make install }
  • 15. Package Creation ● makepkg will automatically handle source extraction into “$srcdir” build() { cd $srcdir/<pkgname>-<pkgver> ./configure make } package() { cd $srcdir/<pkgname>-<pkgver> make install }
  • 16. Package Creation ● Files need to be installed in “$pkgdir”, which is compressed to make the package: build() { cd $srcdir-<pkgname>-<pkgver> ./configure –prefix=/usr make } package() { cd $srcdir-<pkgname>-<pkgver> make DESTDIR=$pkgdir install }
  • 17. Package Creation ● Add some information about the package at the top of the file: pkgname=foo pkgver=3.0 pkgrel=1 pkgdesc="Example software" arch=('i686' 'x86_64') url="http://foo.example.com" license=('GPL') depends=('glibc') source=(http://$pkgname-$pkgver.tar.gz) md5sums=('d41d8cd98f00b204e9800f8427e')
  • 18. Package Creation ● makepkg automates many common packaging tasks: ● Stripping debugging symbols from binaries ● Compressing man and info pages ● Setting compiler/linker options (CFLAGS, LDFLAGS, MAKEFLAGS) ● Removing common unwanted files (libtool, infodir, …)
  • 19. Package Creation ● Two files are placed in the $pkgdir directory with all package meta data ● Then a (compressed) tar archive of the $pkgdir directory is created ● DONE!
  • 20. Package Creation - Example ● See terminal ->
  • 21. Community - Developers ● 1 Project Leader ● Deals with legal matters (exclusively) ● 33 Developers / Junior Developers ● Runs infrastructure ● Packages the packages in the official [core] and [extra] repositories
  • 22. Community – Developers ● No formal rules of governance ● Consensus-based decision making ● Developers may in principle do whatever they want, as long as they inform the other developers of their intentions beforehand and there is no serious, technical oposition ● New developers added by invitation only
  • 23. Community – Trusted Users ● 37 Trusted Users (Tus) ● Disjont form the Developers ● Runs the Arch User Repository (AUR) ● Packages the semi-official packages in the [community] repository ● Ran as a democracy, governed by formal by- laws ● New TUs may apply to join
  • 24. Community – AUR ● Repository of PKGBUILDs ● Anyone may sign-up and upload PKGBUILDs ● Absolutely no quality-control of the resulting packages, but some style guidelines on the PKGBUILDs themselves ● Popular, high-quality PKGBUILDS are often picked up by TU's and added to the [community] repository
  • 25. Community – others... ● Forum, wiki, bug tracker, mailing-lists, irc channels are ran by separate teams ● Disjoint from each other (and the developers)
  • 26. Getting involved ● Actively contribute to the community ● Provide PKGBUILDs for unpackaged software ● Help on the bug tracker ● Contributing code to our projects ● Update the wiki ● Apply to become a Trusted User ● Sponsoring and voting process... ● Be invited onto the Developer team
  • 27. Evolution of an example package systemd: a Linux init system
  • 28. Example - systemd ● First packages for systemd were placed in AUR in 2010 ● Lots of work was required to make it work with Arch “I'm highly dubious that Arch's kernel will ever natively support systemd, but I'm willing to give that a try as well once 2.6.36 hits.”
  • 29. Example - systemd Over the next two years... ● Unified the legacy Arch init system and systemd ● systemd moved from the AUR to [community] ● The systemd packager was invited to join the dev team and moved systemd to [extra] ● systemd moved to [core] ● The legacy init system was deprecated and systemd is now our only supported init system
  • 30. Why does it work at all? ● Software developers write code that is supposed to work... ● Only suport the most recent version of our packages ● Don't support more options than strictly necessary at the lower levels ● Accept occasional user intervention
  • 31. Vanilla Packages ● Means packaging the software as the upstream developers intended ● Minimise patching – preferably only to fix build issues ● Result in any bug we find is (probably) not distribution specific ● Allows us to work more closely with software developers to fix bugs
  • 32. Working With Software Developers ● All bug fix patches in Arch must be approved by the upstream developers ● That means that the Arch developers and community have become regular code contributors ● Many Arch developers also have commit access to upstream projects
  • 33. Future Directions for Arch Linux ● Majority response... “Keep updating packages” ● Add more focus on a particular areas ● Add more architectures ● Simplify the system further
  • 34. Keeping Packages Updated ● One of Arch Linux's greatest contributions to the Linux community ● Arch gets packages in their stable repositories before some major distributions get it in their developmental versions ● The Arch community will identify bugs early and report the issue to the software developers ● Fixes benefit all Linux distributions
  • 35. Add More Architectures ● Currently we support x86 in 32bit (i686) and 64bit (x86-64) varieties ● There are community projects supporting other architectures ● ARM (v5, v6, v7) ● PPC ● ... ● Would be good to provide a way for these ports to become official (like x86-64 did)
  • 36. Arch Linux ARM ● Non-official spin-off for the ARM architecture ● One of the distros recommended for the Raspberry Pi
  • 37. Simplifying the Filesystem ● Usual filesystem layout has a lot of redundancies /boot /bin /etc /home /lib /sbin /usr /bin /lib /sbin
  • 38. Simplifying the Filesystem ● Libraries /boot /bin /etc /home /lib (essential libraries) /sbin /usr /bin /lib (rest of libraries) /sbin
  • 39. Simplifying the Filesystem ● Keep all libraries in one place /boot /bin /etc /home /lib -> /usr/lib /sbin /usr /bin /lib /sbin
  • 40. Simplifying the Filesystem ● Executables – distinction between directories is vague... /boot /bin (essential user commands) /etc /home /lib -> /usr/lib /sbin (system commands) /usr /bin (most commands) /lib /sbin (non-essential system)
  • 41. Simplifying the Filesystem ● Keep all libraries in one place /boot /bin -> /usr/bin /etc /home /lib -> /usr/lib /sbin -> /usr/bin /usr /bin /lib /sbin -> bin
  • 42. Simplifying the Filesystem ● /etc directory holds all configuration files ● Beginning to have these placed in /usr/lib/<pkgname> with files in /etc overriding the default settings ● Would be very helpful for a rolling release system ● Requires substantial work with upstream projects to achieve...
  • 43. Automating More Packaging ● Task like rebuilds for library soname changes are typically trivial ● Would save a lot of time if we could automate (most of) this ● Most packages do not require architecture specific changes – build for one and automate the rest ● Would allow us to focus more on improving other areas of the distribution