Как установить программу из .tar.gz или .tar.bz2 в Ubuntu
Важно: перед началом всегда читайте файлы README или INSTALL в распакованной папке — иногда разработчик описал особую процедуру установки.
Основная идея
В Linux часто распространён формат tarball (.tar.gz или .tar.bz2) с исходным кодом. Чтобы программа работала, исходники нужно сконфигурировать, собрать и установить. Этот процесс может вызвать сложности из‑за зависимостей и специфичных опций сборки. Метод ниже превращает ручную сборку в управляемую установку через пакетный менеджер, что упрощает обновления и удаление.
Ключевые этапы (вкратце):
- Подготовить систему (установить инструменты сборки и checkinstall).
- Переместить архив в рабочую директорию (/usr/local/src) и распаковать.
- Запустить ./configure, исправить недостающие зависимости при помощи apt-file.
- Выполнить make и sudo checkinstall для создания .deb и установки через менеджер.
Что такое tarball — определение в одну строку
Tarball — это архив формата TAR, часто дополнительно сжатый gzip (.tar.gz) или bzip2 (.tar.bz2), содержащий исходный код и инструкции сборки приложения.
Подготовка системы
Установите необходимые инструменты: build-essential (компиляторы и утилиты), checkinstall (создание пакета .deb), а также системы контроля версий по желанию:
sudo apt-get install build-essential checkinstall
Для удобного обновления исходников установите субверсии/гит/mercurial (можно один из них):
sudo apt-get install subversion git-core mercurialСоздайте общую директорию для сборки (рекомендуется /usr/local/src) и сделайте её доступной текущему пользователю:
sudo chown $USER /usr/local/src
sudo chmod u+rwx /usr/local/srcУстановите apt-file — инструмент, который поможет найти пакет, содержащий нужные файлы-заголовки или библиотеки:
sudo apt-get install apt-fileВозможно, потребуется обновить индекс apt-file:
sudo apt-file updateПримечание: apt-file обновляется нечасто вручную; после обновления система будет готова к поиску зависимостей при сборке.
Извлечение архива и проверка инструкций
Переместите скачанный файл .tar.gz или .tar.bz2 в рабочую папку, например /usr/local/src (можно через проводник). Откройте терминал и перейдите в неё:
cd /usr/local/srcРаспакуйте архив:
Для .tar.gz:
tar -xzvf .tar.gz Для .tar.bz2:
tar -xjvf .tar.bz2 После распаковки откройте папку, создаваемую архивом, и прежде всего прочтите файлы README или INSTALL — они могут содержать особые требования или шаги установки. Файлы обычно в текстовом формате и откроются любым редактором.
Перейдите в распакованный каталог:
cd /usr/local/src/Замените
Конфигурация исходников
Запустите конфигурационный скрипт:
./configureЕсли в корне проекта нет файла configure, проверьте README/INSTALL — иногда используются другие системы сборки (CMake, Meson, Python setup.py и т. п.). В этом случае переходите к разделу «Альтернативные системы сборки» ниже.
Если ./configure сообщает об ошибках, часто причина — отсутствующие dev‑пакеты (заголовочные файлы или библиотеки). Пример ошибки:
configure: error: Library requirements ... not metЧтобы найти, какой пакет содержит нужный файл (например, libfoo.h), используйте apt-file:
apt-file search . apt-file выдаст пакет, в котором присутствует файл. Устанавливайте найденный пакет:
sudo apt-get install Если ./configure выдаёт ошибку, сообщающую о недостающем autoconf или других утилитах, установите их:
sudo apt-get install autoconfи запустите ./configure снова.
Когда вы увидите сообщение вида:
config.status: creating Makefileзначит конфигурация прошла успешно и можно переходить к сборке.
Сборка и установка при помощи checkinstall
Сборка выполняется командой:
makeПроцесс компиляции может занять от нескольких секунд до десятков минут в зависимости от проекта и мощности машины. После успешной сборки создайте Debian-пакет и установите его через checkinstall:
sudo checkinstallСледуйте подсказкам у программы: введите краткое описание пакета, версию (можно оставить автоматически предложенную) и подтвердите создание пакета. Checkinstall упакует установленные файлы в .deb и установит его через dpkg, так что вы потом сможете удалить пакет стандартными средствами (apt или dpkg).
По умолчанию исполняемые файлы часто попадают в /usr/local/bin:
/usr/local/binПроверьте, что программа запускается корректно из командной строки.
Альтернативные системы сборки (CMake, Meson, Python и др.)
- CMake: замените последовательность на mkdir build && cd build && cmake .. && make. Затем sudo checkinstall для упаковки.
- Meson / Ninja: meson setup build && ninja -C build && sudo checkinstall (в каталоге build).
- Python (setup.py): python3 setup.py build && sudo checkinstall –install=yes –pkgname=
–pkgversion= python3 setup.py install
Всегда читайте интенсивно README/INSTALL — там часто указаны рекомендуемые флаги, например –prefix для установки в определённый путь.
Когда этот метод не подходит
- Если проект поставляется в бинарном .deb/.rpm/flatpak/snap — используйте соответствующий пакет.
- Если проект поддерживает контейнеризацию (Docker/Podman) и вам нужна изоляция — рассмотрите контейнеры.
- Если вы хотите автоподдержку обновлений через репозиторий — лучше создавать PPA или ждать официальных пакетов.
Типичные ошибки и как их исправить
- Ошибка: «configure: error: cannot find X11/Xlib.h» — значит, нужен пакет X11 dev, например libx11-dev. Найдите пакет через apt-file и установите.
- Ошибка: «g++: command not found» — установите build-essential.
- Ошибка: отсутствует autoconf/automake — установите autoconf и/или automake.
- Ошибка сборки из-за конфликтующих библиотек — проверьте LD_LIBRARY_PATH и используемые версии библиотек; рассмотрите установку в изолированную префикс‑директорию (./configure –prefix=/opt/myapp).
Практические советы и эвристики
- Всегда используйте checkinstall вместо sudo make install — так вы получите пакет и простой способ удаления.
- При тестировании используйте –prefix=/opt/
или /usr/local чтобы избежать перезаписи системных файлов. - Для многопользовательских серверов лучше ставить сборки в /opt и добавлять символьные ссылки в /usr/local/bin.
- Если компиляция занимает очень долго, попробуйте make -j$(nproc) для параллельной сборки (используйте разумное число потоков).
Мини‑методология (быстрый чеклист перед сборкой)
- Прочитать README/INSTALL в распакованной папке.
- Установить build-essential и checkinstall.
- Обновить apt-file и найти dev‑пакеты при необходимости.
- Выполнить ./configure, исправить зависимости.
- make, затем sudo checkinstall.
- Проверить запуск и пути установки.
Роль‑ориентированные контрольные списки
Для разработчика:
- Убедиться, что исходники чисты: git clean, ./configure проходит.
- Подготовить опции –enable/–disable для тестирования.
Для системного администратора:
- Устанавливать в /opt или /usr/local для контроля.
- Создать файл описания пакета для внутреннего репозитория при необходимости.
Для продвинутого пользователя:
- Использовать chroot или контейнер для тестовой сборки, если пакет потенциально нестабилен.
Критерии приёмки
- Программа успешно запускается из командной строки.
- Не наблюдается утечек или конфликтов с системными библиотеками.
- Пакет можно удалить командой apt remove
или dpkg -r .
Небольшая галерея крайних случаев
- Проект использует устаревшие зависимости, несовместимые с текущей системой — придётся либо собрать старые зависимости, либо использовать контейнер с более старым дистрибутивом.
- Проект имеет проприетарные компоненты — лицензии могут ограничивать упаковку и распространение.
Краткий глоссарий (в одну строку на термин)
- tarball — архив с исходниками (.tar, .tar.gz, .tar.bz2).
- configure — конфигурационный скрипт, проверяющий окружение и опции сборки.
- make — утилита для сборки из исходников по Makefile.
- checkinstall — создаёт пакет (.deb) и устанавливает его через систему пакетов.
- apt-file — ищет файлы в индексах пакетов APT.
Примеры команд — шпаргалка
sudo apt-get install build-essential checkinstall apt-file
sudo apt-file update
sudo chown $USER /usr/local/src && sudo chmod u+rwx /usr/local/src
cd /usr/local/src
tar -xzvf package-1.2.3.tar.gz # для .tar.gz
cd package-1.2.3
./configure
make -j$(nproc)
sudo checkinstallDecision flow (Mermaid) — какой путь сборки выбрать
flowchart TD
A[Есть исходники в архиве?] -->|Да| B{Есть файл configure?}
A -->|Нет| Z[Использовать пакет/репозиторий/контейнер]
B -->|Да| C[./configure → make → checkinstall]
B -->|Нет| D{Использует CMake / Meson / Python?}
D -->|CMake| E[cmake .. → make → checkinstall]
D -->|Meson| F[meson setup → ninja → checkinstall]
D -->|Python| G[python3 setup.py install → checkinstall]
D -->|Нет| H[Прочитать README/INSTALL — искать инструкции]Короткая сводка
- Метод основан на том, чтобы сначала собрать программу, а затем упаковать её через checkinstall — это экономит время и упрощает управление установленным ПО.
- Всегда читайте документацию проекта и используйте apt-file для поиска недостающих dev‑пакетов.
- Если проект сложный или критичен, рассмотрите сборку в контейнере или создание собственного репозитория.
Краткие советы: используйте параллельную сборку (make -j), устанавливайте в /opt при необходимости и держите пакет в системе управления версиями, если планируете обновления.
Если у вас есть конкретный tarball и вы хотите, чтобы я помог пошагово с ним — пришлите имя архива и содержимое README/INSTALL (или вывод ./configure), и я подскажу следующую команду или пакет зависимости.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone