linux bpftool не найден в linux-tools-common для ядра 4.19.232

Вопрос или проблема

Я пытаюсь проверить, правильно ли установлен bpf в моем ядре linux. Он включен в ядре, как показано ниже:

jakew@desktop:~$ cat config | grep BPF
CONFIG_CGROUP_BPF=y
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT_ALWAYS_ON=y
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_IPV6_SEG6_BPF=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_BPFILTER=y
CONFIG_BPFILTER_UMH=m
CONFIG_NET_CLS_BPF=y
CONFIG_NET_ACT_BPF=y
CONFIG_BPF_JIT=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_BPF_EVENTS=y
# CONFIG_TEST_BPF is not set

Я попытался установить bpftool, чтобы проверить bpf, и, похоже, мне нужно установить его через linux_tools_common с помощью: sudo apt install linux_tools_common. Когда я попытался запустить bpftool, мне показала эта ошибка:

WARNING: bpftool not found for kernel 4.19.232

  Вам может потребоваться установить следующие пакеты для этого конкретного ядра:
    linux-tools-4.19.232-4.19.232
    linux-cloud-tools-4.19.232-4.19.232

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

Однако команда sudo apt install linux-tools-4.19.232 выдала ошибку, что пакет не найден.

Не знаю, как заставить bpftool работать, чтобы я мог подробнее изучить bpf?

Спасибо

Наверное, проще установить из исходников. Таким образом, вы также будете уверены, что у вас самая последняя версия.

git clone --recurse-submodules https://github.com/libbpf/bpftool.git
cd bpftool/src
make -j$(nproc)
sudo ./bpftool prog

Ответ или решение

Для решения проблемы с отсутствием утилиты bpftool для ядра 4.19.232, давайте рассмотрим несколько шагов, которые помогут установить эту утилиту и начать работать с BPF.

Шаг 1: Убедитесь, что ваше ядро поддерживает BPF

Ваш вывод конфигурации показывает, что функция BPF включена в ядре, что является хорошим знаком. Теперь перейдем к установке bpftool.

Шаг 2: Установка bpftool из исходников

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

  1. Установите необходимые зависимости:

    sudo apt update
    sudo apt install clang llvm gcc make pkg-config git
  2. Клонируйте репозиторий bpftool:

    git clone --recurse-submodules https://github.com/libbpf/bpftool.git
  3. Перейдите в папку с кодом:

    cd bpftool/src
  4. Скомпилируйте bpftool:

    make -j$(nproc)
  5. Установите утилиту:

    sudo cp bpftool /usr/local/bin/

Шаг 3: Проверка установки

Теперь вы можете проверить, работает ли bpftool, выполнив команду:

bpftool help

Если вы видите справочную информацию о доступных командах, значит, установка прошла успешно.

Шаг 4: Исследование BPF

После успешной установки bpftool, вы сможете исследовать различные аспекты BPF в вашем ядре. Например, чтобы вывести список загруженных программ BPF, используйте команду:

bpftool prog show

Заключение

Следуя вышеописанным шагам, вы сможете установить и начать использовать bpftool для работы с BPF в вашем ядре Linux. Если у вас возникнут другие вопросы или проблемы, не стесняйтесь задавать их. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...