Расширенный фильтр пакетов Беркли (Extended Berkeley Packet Filter, eBPF) — это мощная технология, которая позволяет разработчикам запускать программы в песочнице ядра Linux без изменения исходного кода ядра или загрузки модулей ядра. Одним из основных инструментов для работы с eBPF является bpftool.
Необходимые условия
- Сервер под управлением одной из следующих операционных систем: Ubuntu и любой другой дистрибутив на базе Debian, например Linux Mint.
- Рекомендуется использовать свежую установку ОС, чтобы избежать возможных проблем.
- Знакомство с командной строкой Linux.
- SSH-доступ к серверу (или просто откройте Terminal, если вы работаете на рабочем столе).
- Активное подключение к Интернету. Интернет-соединение понадобится для загрузки необходимых пакетов и зависимостей.
- Система 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 <имя пакета>, чтобы установить их по отдельности.
Поздравляем! Вы успешно установили Bpftool. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Bpftool.