Пакеты 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.
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, и элементы внутри идут в эти места.
Поиск инструкций по пакету
Иногда декомпиляции пакета 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 и другие элементы.
Внимательно прочтите этот файл и используйте его для установки отдельных библиотек на свой компьютер с Linux. Когда нужные программы находятся на вашем компьютере, извлеченная программа должна работать как обычно.
Если вы используете систему Linux на основе Redhat, следуйте нашему руководству по установке на нее пакета Debian.