Поиск по сайту:

Адаптация — запускайте любую версию приложения в любой версии Ubuntu.

Адаптация — запускайте любую версию приложения в любой версии Ubuntu.

Встречайте Adapt, который адаптирует любые приложения из любой версии Ubuntu. Adapt — это простое, но очень полезное приложение, которое можно использовать для установки любого пакета из любой версии Ubuntu в любую версию Ubuntu без использования PPA. Проще говоря, Adapt используется для запуска любой версии приложения в любой версии Ubuntu.

Вам не нужно ждать, пока разработчики обновят свой PPA для какого-либо конкретного приложения. Просто установите Adapt и начните установку нужного приложения в любой версии Ubuntu. Не только из Ubuntu, вы можете запустить любое приложение из любого другого дистрибутива Linux, например CentOS. С точки зрения непрофессионала, Adapt — это команда apt, которая позволяет нам запускать старое программное обеспечение в более новой ОС или новое программное обеспечение в более старой ОС. Звучит безподобно? Да, это.

Утилита Adapt чем-то похожа на контейнеры Linux, но немного отличается. Для достижения этой цели Adapt использует облегченные системные контейнеры LXD и Ubuntu. Здесь мы называем контейнеры адаптируемым контейнером. Всякий раз, когда вы устанавливаете пакет, он будет установлен в адаптивный контейнер. Аналогично, всякий раз, когда вы удаляете приложение, оно будет удалено из контейнера адаптации.

Adapt разработан Дастином Киркландом из команды Canonical по продуктам и стратегии Ubuntu. Он в основном разработан для систем Ubuntu, однако может работать и с другими производными Ubuntu.

Почему «адаптироваться»?

Иногда вам нужно использовать или протестировать обновленный пакет из новой версии Ubuntu или другого дистрибутива. Разумеется, обновленные пакеты будут доступны в репозитории Ubuntu Backports. Альтернативно вы можете использовать PPA программного обеспечения для получения обновленных пакетов. В случае, если некоторые из обновленных пакетов по какой-то причине недоступны в репозитории бэкпортов и PPA, на помощь придет утилита «адаптация».

В этом кратком руководстве мы посмотрим, как установить и использовать Adaptor на рабочем столе Ubuntu 16.04 LTS.

Установите Адаптер в Ubuntu

Я тестировал «адаптацию» на рабочем столе Ubuntu 14.04 LTS и рабочем столе Ubuntu 16.04 LTS. Это сработало отлично.

Чтобы добавить «адаптированный» PPA, запустите:

sudo add-apt-repository ppa:adapt/ppa

В Ubuntu 14.04 мы должны добавить следующий PPA. В Ubuntu 14.10 и более поздних версиях в этом нет необходимости.

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable

Обновите репозитории программного обеспечения с помощью команды:

sudo apt-get update

Наконец, установите Adapt, как показано ниже.

sudo apt-get install adapt lxd

Запустите любую версию приложения в любой версии Ubuntu с помощью Adapt

Использование Adapt простое и понятное, как команда apt. Давайте посмотрим несколько примеров.

Я использую рабочий стол Ubuntu 16.04 LTS. Чтобы просмотреть версию Ubuntu, запустите:

cat /etc/lsb-release

Пример вывода:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu Xenial Xerus"

Что ж, теперь мне нужно установить программное обеспечение Nginx из выпуска Ubuntu 14.04 в текущую версию Ubuntu (в нашем случае 16.04). Как я могу это сделать? Вручную загрузите deb-файл Nginx для надежной версии на Xenial. Неа. Хотя в этом нет необходимости.

Вот как метод адаптации упрощает эту задачу:

sudo adapt install -r trusty -p nginx

Здесь,

  • -r : название выпуска дистрибутива (Trusty, Xenial и т. д.).
  • -p : имя пакета.

Приведенная выше команда загрузит образ контейнера Ubuntu 14.04 LTS (мы называем его адаптируемым контейнером) и установим в него Nginx. Прозрачный?

Аналогично можно удалить софт, запустить.

sudo adapt purge -r trusty -p gcc

Теперь вы можете спросить, зачем нам усложнять себе жизнь? Вы можете подумать, что мы можем просто установить lxd в Xenial, загрузить дистрибутив по нашему выбору, войти в контейнер и, наконец, установить необходимые пакеты? Конечно можем. Но Adapt значительно упрощает эту задачу и выполняет всю описанную выше задачу одной командой.

Кроме того, вы можете установить программное обеспечение более высокой версии в более низкую версию Ubuntu.

Например, чтобы установить программное обеспечение более высокой версии (например, Ubuntu 15.10) в более низкую версию (например, Ubuntu 14.04 LTS), используйте следующую команду:

sudo adapt install -r wily -p nginx

Чтобы просмотреть доступные контейнеры адаптации, запустите:

sudo adapt list

Пример вывода:

| adapt-ubuntu-trusty | RUNNING | 10.0.3.114 (eth0) | | PERSISTENT | 0 |
| adapt-ubuntu-xenial | RUNNING | 10.0.3.242 (eth0) | | PERSISTENT | 0 |

Как вы видите в приведенном выше выводе, я загрузил два контейнера: один надежный, а другой — Xenial. Кроме того, приведенная выше команда отображает IP-адрес каждого контейнера.

Мы установили Nginx в Контейнер, верно? Итак, проверим, работает Nginx или нет.

Для этого откройте веб-браузер и укажите в нем IP-адрес Контейнера, например http://10.0.3.114/.

Вы увидите тестовую страницу Nginx.

Как вы можете быть настолько уверены, что мы установили Nginx из Ubuntu 14.04 LTS? Давайте проверим это.

Войдите в контейнер с помощью команды:

sudo lxc exec adapt-ubuntu-trusty /bin/bash

Здесь adapt-ubuntu-trusty — имя моего контейнера. Вы можете использовать команду «sudo Adapt list», чтобы узнать детали контейнера.

Найдите версию Ubuntu с помощью команды:

cat /etc/lsb-release

Пример вывода:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

Найдите версию версии Nginx.

Как вы, наверное, знаете, чтобы найти версию пакета в Ubuntu и производных, мы используем следующую команду

apt-cache policy <packageName>

Пример :

apt-cache policy nginx

Пример вывода:

nginx:
 Installed: 1.4.6-1ubuntu3.4
 Candidate: 1.4.6-1ubuntu3.4
 Version table:
 *** 1.4.6-1ubuntu3.4 0
 500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
 100 /var/lib/dpkg/status
 1.4.6-1ubuntu3 0
 500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Как видно из приведенных выше результатов, мы установили Nginx из Ubuntu 14.04 LTS, работающего на Ubuntu 16.04 LTS.

А как насчет других дистрибутивов? Можно ли использовать другие дистрибутивы, кроме Ubuntu? Да, конечно. Давайте установим Nginx из CentOS 7 в Ubuntu 16.04 LTS.

Для этого просто запустите:

sudo adapt install -d centos -r 7 -p epel-release
sudo adapt install -d centos -r 7 -p nginx

Здесь,

  • -d : имя дистрибутива.
  • -r : Версия выпуска.
  • -p : имя пакета.

Запустите и включите службу nginx с помощью команды:

sudo adapt run -d centos -r 7 -c "systemctl start nginx"
sudo adapt run -d centos -r 7 -c "systemctl enable nginx"

Теперь откройте веб-браузер и укажите в нем адрес http://container-ip/.

Как вы видите выше, я установил Nginx из CentOS 7, работающего на рабочем столе Ubuntu 16.04 LTS. Круто, да?

Как я упоминал ранее, вы можете найти сведения о контейнере, такие как имя, IP-адрес и статус, с помощью следующей команды:

sudo adapt list

Чтобы узнать больше об использовании Adapt, обратитесь к man-страницам.

man adapt

Заключение

Adapt в значительной степени подходит для разработчиков, которые хотят адаптировать пакет из более новой версии Ubuntu на свой стабильный рабочий стол или сервер LTS. Кроме того, адаптация позволяет разработчикам предоставлять последние версии для целей тестирования пользователям, использующим более старую версию LTS Ubuntu. Поскольку он использует контейнеры LXD, он легкий, и вам не нужно устанавливать какое-либо дополнительное программное обеспечение виртуализации для тестирования различных приложений из разных дистрибутивов.

Ссылка:

  • Блог Дастина Киркланда

Статьи по данной тематике