adapt install [anything]

38
@DustinKirkland blog.dustinkirkland.com @DustinKirkland adapt install [anything] Dustin Kirkland SCALE 14x January 24, 2016

Upload: others

Post on 18-Mar-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

@DustinKirkland blog.dustinkirkland.com@DustinKirkland

adapt install [anything]

Dustin KirklandSCALE 14xJanuary 24, 2016

@DustinKirkland blog.dustinkirkland.com

Ubuntu = Velocity

@DustinKirkland blog.dustinkirkland.com

Ubuntu = Quality

@DustinKirkland blog.dustinkirkland.com

Ubuntu = Choice

@DustinKirkland blog.dustinkirkland.com

Released every 6 monthsOn time, every time

@DustinKirkland blog.dustinkirkland.com

LTS release every 2 yearsOn time, every time

@DustinKirkland blog.dustinkirkland.com

44,000 binary packages builtfrom 9,000 open source projects

@DustinKirkland blog.dustinkirkland.com

Continuouslybuilt, integrated and tested

together

@DustinKirkland blog.dustinkirkland.com

And there are stillmore packages available

@DustinKirkland blog.dustinkirkland.com

Ubuntu Backports andLaunchpad PPAs

@DustinKirkland blog.dustinkirkland.com

9 out of 10 Ubuntu serversare running the LTS

@DustinKirkland blog.dustinkirkland.com

Most users wantthe stability of an LTS

@DustinKirkland blog.dustinkirkland.com

But many users often needthat one updated package

from a newer release of Ubuntu

@DustinKirkland blog.dustinkirkland.com

Sometimes those updated major versions land in Ubuntu Backports...

@DustinKirkland blog.dustinkirkland.com

Sometimes they don’t...

@DustinKirkland blog.dustinkirkland.com

Sometimes those updated major versions land in Launchpad PPAs...

@DustinKirkland blog.dustinkirkland.com

Other times they don’t...

@DustinKirkland blog.dustinkirkland.com

And when they do,how well supported are they?

@DustinKirkland blog.dustinkirkland.com

Or, from a developer’s perspective,how supportable are they?

@DustinKirkland blog.dustinkirkland.com

What if you could adapt a packagefrom a newer version of Ubuntu,

onto your stable LTS desktop/server?

@DustinKirkland blog.dustinkirkland.com

Or, as a developer, what if you could provide your latest releases to your users

running an older LTS version of Ubuntu?

@DustinKirkland blog.dustinkirkland.com

Introducing adapt!

@DustinKirkland blog.dustinkirkland.com

adapt is a lot like apt...

@DustinKirkland blog.dustinkirkland.com

It’s a simple commandthat installs packages

@DustinKirkland blog.dustinkirkland.com

But it “adapts” a requested versionto run on your current system

@DustinKirkland blog.dustinkirkland.com

A simple command that installsany package from any release of Ubuntu

into any version of Ubuntu

@DustinKirkland blog.dustinkirkland.com

How does adapt work?

@DustinKirkland blog.dustinkirkland.com

Simple…Containers!

@DustinKirkland blog.dustinkirkland.com

More specifically,LXD system containers

@DustinKirkland blog.dustinkirkland.com

Why containers?

@DustinKirkland blog.dustinkirkland.com

Containers can run anywhere,physical, virtual, desktops, servers,

and any CPU architecture

@DustinKirkland blog.dustinkirkland.com

And containers are light and fast!Zero latency and no virt overhead

@DustinKirkland blog.dustinkirkland.com

Most importantly, system containers are perfect copies of the released distribution,

the operating system itself

@DustinKirkland blog.dustinkirkland.com

Remember all of thatcontinuous integration testingwe do perform on each release?

@DustinKirkland blog.dustinkirkland.com

Let’s leverage that!

@DustinKirkland blog.dustinkirkland.com

Live demo!

# Helpadapt help

# nginxadapt install -p nginxadapt list# point browser to :80adapt purge -p nginx

# Ansibleadapt install -p ansibleadapt run -c "ansible --version"adapt alias -c ansibleansible --versionadapt unalias -c ansibleadapt purge -p ansible

# gccadapt install -r trusty -p gccadapt run -r trusty -c "gcc -v"adapt alias -r trusty -c gccadapt unalias -r trusty -c gccadapt purge -r trusty -p gcc

# golangadapt install -r wily -p golangadapt run -r wily -c "go version"adapt alias -r wily -c goadapt unalias -r wily -c goadapt purge -r wily -p go

# Tomcat (from CentOS, just for fun...)adapt install -d centos -r 7 -p tomcatadapt run -d centos -c "service tomcat start"adapt list# point browser to :8080

@DustinKirkland blog.dustinkirkland.com

# Helpadapt help

# nginxadapt install -p nginxadapt list# point browser to :80adapt purge -p nginx

# Ansibleadapt install -p ansibleadapt run -c "ansible --version"adapt alias -c ansibleansible --versionadapt unalias -c ansibleadapt purge -p ansible

# gccadapt install -r trusty -p gccadapt run -r trusty -c "gcc -v"adapt alias -r trusty -c gccadapt unalias -r trusty -c gccadapt purge -r trusty -p gcc

# golangadapt install -r wily -p golangadapt run -r wily -c "go version"adapt alias -r wily -c goadapt unalias -r wily -c goadapt purge -r wily -p go

# Tomcat (from CentOS, just for fun...)adapt install -d centos -r 7 -p tomcatadapt run -d centos -c "service tomcat start"adapt list# point browser to :8080

@DustinKirkland blog.dustinkirkland.com