SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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 StreamDavide 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 yearAkio OBATA
 
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 PerspectiveAll 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
 
Gnu/Linux Introduction
Gnu/Linux IntroductionGnu/Linux Introduction
Gnu/Linux IntroductionBadri_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 HixsoniXsystems
 
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 EasyKen Moore
 
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 EverythingDonnie 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 ManagersAndrew 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 EnterpriseCeph 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 LinuxDonnie Berkholz
 

La actualidad más candente (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 a Arch Linux - Simple Rolling Release Linux 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 CountyJé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 PetazzoniTheFamily
 
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" EditionJérôme Petazzoni
 
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
 
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
 
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 YorkJé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 #IoTSté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-scale12xrkr10
 
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 FactoryImesh 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 | 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 2013dotCloud
 
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.
 
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 FactoryWSO2
 
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 & DockerJumping 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 a Arch Linux - Simple Rolling Release Linux 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
 
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
 
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
 
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...
 
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...
 
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 | 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
 
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
 
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...
 

Más de 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 firstAnne 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-NMIAnne 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 kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne 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 futureAnne 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 dataAnne 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 BareboxAnne 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 specialAnne 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 SiliconAnne 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) pictureAnne 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 wayAnne 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 matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne 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 debuggingAnne 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 multimediaAnne 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 startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne 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
 

Más de 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)
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Arch Linux - Simple Rolling Release Linux 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