Как установить пакет Debian на любой дистрибутив Linux

Пакеты Debian — самые известные пакеты во всем Linux. В 9 случаях из 10, когда кто-то переносит программу на Linux, они выпускаются в виде пакета Debian, то есть файла DEB. Хорошо иметь поддержку Linux, даже если это только один тип дистрибутива Linux. Тем не менее, не каждый дистрибутив Linux предназначен для запуска этих пакетов. В этой статье мы рассмотрим надежный способ установить пакет Debian и заставить программу работать в вашем дистрибутиве Linux.

В этом руководстве не будет происходить «преобразование». Вместо этого просто извлекайте данные и перемещайте их. Для начала загрузите пакет Debian. В этом примере мы будем работать с пакетом Google Chrome. Хотя это руководство посвящено пакету Google Chrome Debian, оно является доказательством правильности концепции. Возьмите показанный здесь метод и примените его для установки пакета Debian.

Извлечение данных

Большинство пользователей Linux не понимают, что пакеты DEB — это просто причудливые архивные файлы, которые можно извлечь. Загрузите пакет Debian, который хотите установить, и распакуйте его. В этом случае у нас есть пакет Chrome, загруженный и распакованный в нашей системе. Откройте окно терминала и используйте команду mkdir, чтобы создать новую папку. В этой папке будут храниться все необходимые нам данные пакета.

mkdir -p ~/deb-extracted

Используя mv, поместите файл Chrome в новую папку.

mv google-chrome-stable_current_amd64.deb ~/deb-extracted

CD в ​​новую папку и с помощью инструмента ar проверьте пакет Chrome.

  Как установить Plex Media Player в Linux

cd ~/deb-extracted

ar tv google-chrome-stable_current_amd64.deb

Ар проверяет файл Chrome DEB и сообщает нам, что внутри находятся три сжатых файла. Это файлы «debian-binary», «control.tar.gz» и «data.tar.xz». Все данные, которые нам нужны, находятся в архиве data.tar.xz, но «control.tar.gz» также важен.

Инструмент Ar не только проверяет архивы. Он также может их извлекать. Используйте ar xv, чтобы извлечь три элемента из google-chrome-stable_current_amd64.deb.

ar xv google-chrome-stable_current_amd64.deb

Все три элемента теперь должны быть внутри ~ / deb-extract. Используйте команду rm, чтобы удалить «debian-binary». В этом нет необходимости, поскольку мы не используем Debian Linux.

Отсюда нам нужно извлечь данные файла из data.tar.xz. Он содержит все необходимое для запуска Chrome как программы в Linux. Распаковать в папку с tar.

tar -xvf data.tar.xz

При распаковке архива данных будут выведены 3 папки. Папки — это «opt», «usr» и «etc».

Используя rm -rf, удалите папку etc. Элементы в этой папке не нужны, так как это задание обновления Debian для проверки наличия обновлений.

Примечание. Не используйте / перед командой ниже. Вы можете случайно удалить / etc /, а не папку etc, извлеченную в ~ / deb-extract.

rm -rf etc

Затем переместите файлы внутрь usr и выберите файлы на своем ПК. Например, чтобы установить Google Chrome в дистрибутиве Linux, отличном от Debian, вы должны переместить файлы туда, где они принадлежат, вручную:

cd opt

sudo -s

mv google /opt/

ln -snf /opt/google/google-chrome /usr/bin/

cd .. share

mv -f * /usr/share/

В приведенном выше примере показано, что именно делать с файлами, извлеченными из data.tar.xz. Очевидно, что другие пакеты Debian могут иметь содержимое внутри извлеченной папки, отличное от того, что вы видите в этом руководстве. Идея состоит в том, чтобы посмотреть на имена папок внутри архива data.tar.xz и обратить внимание на имена. Папки внутри имеют те же имена, что и папки в файловой системе вашего ПК с Linux, и элементы внутри идут в эти места.

  Как получить доступ к фотографиям и видео на вашем iPhone в Linux

Поиск инструкций по пакету

Иногда декомпиляции пакета Debian и извлечения архива data.tar.xz недостаточно, и вы все еще не понимаете. К счастью, каждый файл пакета Debian поставляется с набором инструкций. Эти инструкции находятся внутри control.tar.gz.

Распакуйте архив control.tar.gz в папку ~ / deb-extract с помощью команды tar.

tar -xvzf control.tar.gz

В архиве control.tar.gz есть множество скриптов, которые сообщают пакету Debian, что делать. Тот, который нас интересует, помечен как «postinst». Postinst — это сокращение от «post installation», сценарий bash, который запускается и помещает все, куда нужно.

В терминале используйте команду cat для просмотра текстового файла. Объедините его с «еще», чтобы просмотреть его построчно. Изучите файл «postinst» и обратите внимание на то, что делает сценарий, особенно на то, куда он помещает файлы. Это поможет вам выяснить, где находятся элементы внутри data.tar.xz и для чего они нужны.

cat postinst | more

Зависимости

Декомпиляции пакета Debian и перемещения файлов данных в нужные места зачастую недостаточно. Иногда вам нужно установить правильные файлы зависимостей, или ничего не работает. К счастью, в каждом пакете Debian есть небольшой файл в control.tar.gz, содержащий подробный список важных файлов библиотеки, которые пользователь должен установить, чтобы все работало. Для просмотра этого файла используйте cat.

cat control | more

Например, для использования Google Chrome контрольный файл запрашивает сертификаты CA, освобождение шрифтов, libappindicator1, libasound2, libatk-bridge2.0-0 и другие элементы.

  Как использовать команду history в Linux

Внимательно прочтите этот файл и используйте его для установки отдельных библиотек на свой компьютер с Linux. Когда нужные программы находятся на вашем компьютере, извлеченная программа должна работать как обычно.

Если вы используете систему Linux на основе Redhat, следуйте нашему руководству по установке на нее пакета Debian.