В этом уроке мы покажем вам, как установить Bpftool в Ubuntu 24.04 LTS. Расширенный фильтр пакетов Беркли (eBPF) — это мощная технология, которая позволяет разработчикам запускать изолированные программы в ядре Linux без изменения исходного кода ядра или загрузки модулей ядра. Одним из важнейших инструментов для работы с eBPF является bpftool.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы умеете использовать оболочку и, самое главное, размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете под учетной записью root, в противном случае вам может потребоваться добавить ‘sudo‘ к командам для получения root-прав. Я покажу вам пошаговую установку Bpftool на Ubuntu 24.04 (Noble Numbat). Вы можете следовать тем же инструкциям для Ubuntu 22.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint, Elementary OS, Pop!_OS и других.

Предварительные условия

  • Сервер под управлением одной из следующих операционных систем: Ubuntu и любого другого дистрибутива на основе Debian, например Linux Mint.
  • Рекомендуется использовать новую установку ОС, чтобы предотвратить любые потенциальные проблемы.
  • Знакомство с командной строкой Linux.
  • Доступ к серверу по SSH (или просто откройте терминал, если вы находитесь на рабочем столе).
  • Активное подключение к Интернету. Вам понадобится подключение к Интернету, чтобы загрузить необходимые пакеты и зависимости.
  • Система Ubuntu 24.04 с root-доступом или пользователь с привилегиями sudo.

Установите Bpftool в Ubuntu 24.04.

Шаг 1. Обновление репозитория пакетов.

Во-первых, крайне важно обновить системные пакеты, чтобы убедиться, что у вас установлены последние версии. Откройте терминал и выполните следующие команды:

sudo apt update
sudo apt upgrade

Обновление системных пакетов помогает избежать проблем совместимости и гарантирует наличие последних обновлений безопасности.

Шаг 2. Установка зависимостей.

Для правильной работы bpftool требуется несколько зависимостей. Установите их, запустив:

sudo apt install -y git build-essential libelf-dev clang llvm

Эта команда устанавливает необходимые пакеты, включая Git для клонирования репозитория bpftool, инструменты сборки и библиотеки, необходимые для компиляции bpftool.

Шаг 3. Установка инструментов Linux для вашего ядра.

Установите инструменты Linux, соответствующие вашей версии ядра:

sudo apt install linux-tools-$(uname -r)

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

Шаг 4. Установка Bpftool.

Затем клонируйте репозиторий bpftool с GitHub:

git clone --recurse-submodules https://github.com/libbpf/bpftool.git

--recurse-submodules Опция гарантирует, что все необходимые подмодули также будут клонированы.

Перейдите в исходный каталог bpftool и соберите инструмент:

cd bpftool/src
make

После завершения процесса сборки установите bpftool:

sudo make install

Проверьте установку, проверив версию:

bpftool --version

Чтобы сделать bpftool доступным для всей системы, создайте символическую ссылку:

sudo ln -s /usr/local/sbin/bpftool /usr/sbin/bpftool

Убедитесь, что bpftool установлен правильно, выполнив:

bpftool --help

Если установка прошла успешно, вы должны увидеть справку bpftool, в которой перечислены доступные команды и параметры.

Шаг 5. Устранение неполадок.

Если в процессе установки у вас возникнут проблемы, воспользуйтесь следующими советами по устранению неполадок:

  • Ошибка «bpftool: команда не найдена»: Убедитесь, что символическая ссылка была создана правильно на шаге 7. Если проблема не устранена, попробуйте запустить sudo ldconfig обновить кэш библиотеки системы
  • Проблемы совместимости версий ядра: Если вы не можете установить пакет инструментов Linux для вашей конкретной версии ядра, рассмотрите возможность обновления ядра до поддерживаемой версии. Инструкции по обновлению ядра см. в документации Ubuntu.
  • Отсутствующие зависимости: дважды проверьте, что вы установили все необходимые зависимости, перечисленные в шаге 2. Если вы обнаружите недостающие пакеты, попробуйте запустить sudo apt install <package-name> чтобы установить их по отдельности.