Установка build-essential в Ubuntu
Что такое build-essential
Определение в одну строку: build-essential — это мета-пакет Debian/Ubuntu, который группирует базовые инструменты и библиотеки для компиляции программ на C и C++.
Этот мета-пакет не содержит «магии» сам по себе — он просто устанавливает набор пакетов, необходимых разработчикам и сборочным системам. Установить build-essential удобнее, чем выбирать и инсталлировать каждый компонент вручную.
Что входит в build-essential
На Ubuntu build-essential обычно включает следующие ключевые пакеты:
- dpkg-dev — инструменты для распаковки, сборки и упаковки исходных DEB-пакетов; полезно при создании пакетов для Debian-подобных систем.
- make — утилита для чтения Makefile и последовательного запуска команд сборки; Makefile даёт инструкции компилятору и линковщику.
- libc6-dev — заголовочные файлы и библиотека GNU C (glibc) для разработки на C/C++; без них не скомпилируются стандартные программы.
- gcc / g++ — компиляторы для C и C++ соответственно.
Важно: в зависимости от версии Ubuntu список может расширяться. build-essential гарантирует, что у вас будут базовые компоненты для большинства сборок.
Как установить build-essential в Ubuntu
- Обновите список пакетов и установите обновления:
sudo apt update && sudo apt upgrade -y
- Установите сам мета-пакет:
sudo apt install build-essential
Во время установки apt может запросить подтверждение. Наберите y и нажмите Enter, чтобы продолжить. Пакеты распакуются и настроятся автоматически.
Опционально: установите страницы справки для разработчиков (man pages):
sudo apt install manpages-dev
- Проверьте версии компиляторов:
gcc --versiong++ --versionВы увидите строку с версией, например: gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0. Номера версий зависят от релиза Ubuntu.
Проверка установки на простом C-примере
Создайте файл test.c в выбранном редакторе (nano, vim и т.д.):
nano test.cДобавьте в файл пример:
#include
void main()
{
printf("Hi, This is a test compiler program in C compiler!\n");
} Сохраните файл (в nano: Ctrl+X, Y, Enter).

Скомпилируйте и запустите программу:
gcc test.c -o test
./testВы увидите вывод программы в терминале. Это подтверждает корректную работу установленных инструментов.

Как удалить build-essential
Если по каким-то причинам нужно удалить пакет и связанные с ним компоненты, выполните:
sudo apt remove build-essential
sudo apt autoremoveПервой командой вы удалите мета-пакет; второй — очистите оставшиеся неиспользуемые зависимости.
Когда не стоит устанавливать полный build-essential и альтернативы
Несколько сценариев, где можно обойтись без полного набора или выбрать иной подход:
- Вы собираете только Java, Python или другой код, не требующий компиляции C/C++. Тогда build-essential не нужен.
- В средах сборки CI/CD часто используют контейнеры или образы со строго определёнными инструментами. Вместо глобальной установки на хост ставьте необходимые пакеты в контейнер.
- Для кросс-компиляции используйте специализированные кросс-компиляторы (например, arm-none-eabi-*), а не стандартный gcc.
- Можно установить только нужные пакеты вручную (gcc, make, libc6-dev), если вы знаете зависимости проекта.
Альтернативы:
- Использовать clang/LLVM вместо gcc. Установка аналогична: sudo apt install clang.
- Использовать сборочные образы Docker с подготовленной средой разработки.
- На некоторых дистрибутивах (Alpine, Fedora) пакеты и команды отличаются — ищите эквиваленты в менеджере пакетов дистрибутива.
Отладка и типичные ошибки
- Ошибка make: command not found — значит make не установлен. Установите build-essential или отдельно make.
- Ошибка отсутствия заголовков (например, stdio.h: No such file or directory) — вероятно, не установлен libc6-dev.
- permission denied при запуске ./test — убедитесь, что вы в каталоге, где лежит исполняемый файл, и что команда была скомпилирована. Также проверьте права доступа: ls -l ./test.
- apt выдаёт ошибки зависимостей — выполните sudo apt –fix-broken install, затем повторите установку.
- Путь к gcc не найден — проверьте, что /usr/bin входит в PATH: which gcc покажет путь.
Краткий чеклист для отладки:
- Проверить наличие пакета: dpkg -l | grep build-essential
- Проверить версии: gcc –version, g++ –version
- Проверить наличие заголовков: ls /usr/include/stdio.h
- Попробовать переустановить: sudo apt install –reinstall build-essential
Руководство для ролей
- Разработчик (локальная машина): установить build-essential при первой настройке рабочего стола; убедиться, что manpages-dev или документация доступна.
- CI-инженер: включать только те пакеты, которые нужны сборкам; избегать установки в глобальной среде — используйте образы.
- Системный администратор: следите за безопасностью пакетов и обновлениями; при массовой установке используйте конфигурационные менеджеры (Ansible, Puppet).
- Студент/ученик: устанавливайте build-essential для изучения C/C++ и практики сборки.
Методика установки на новой машине (мини-процесс)
- Обновить систему: sudo apt update && sudo apt upgrade -y
- Установить build-essential: sudo apt install build-essential
- Установить manpages-dev по желанию
- Проверить версии gcc/g++
- Запустить тестовую сборку минимального примера
- Зафиксировать список установленных пакетов для автоматизированной настройки
Критерии приёмки
- gcc и g++ выводят версии без ошибок
- Примерный C-файл компилируется и запускается
- make доступен и выполняет простую задачу из Makefile
- Заголовочные файлы libc находятся в /usr/include
Краткий глоссарий
- Мета-пакет — пакет, который перечисляет и устанавливает другие пакеты.
- GCC — GNU Compiler Collection, компилятор для C/C++ и других языков.
- libc6-dev — пакет заголовков и библиотек GNU C.
- dpkg-dev — инструменты для работы с исходными и бинарными пакетами .deb.
Безопасность и конфиденциальность
Установка build-essential не меняет приватность данных проекта. Однако при добавлении программ в окружение следите за обновлениями безопасности и источниками пакетов.
Краткое резюме
Build-essential — стандартный и удобный способ получить инструменты для компиляции C/C++ в Ubuntu. Он экономит время и устраняет проблемы с отсутствующими зависимостями, но при специфичных требованиях можно подобрать отдельные пакеты или использовать контейнеры.
Important: устанавливайте только те инструменты, которые нужны вашему рабочему процессу, и держите систему в актуальном состоянии.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента