⚡ 68 инструментов разработчика, всегда актуальны — новые выпуски появляются в apt в течение нескольких часов. Присоединиться к Discord

🎁 Для apt-зеркала нужна подписка. Попробуйте все инструменты бесплатно 14 дней, без карты. Посмотреть цены · 🆓 Есть вечно бесплатное зеркало · 🔐 apt выдаёт 401?

🪵 Установка последней версии lnav в Ubuntu

Logfile Navigator, просмотрщик логов для терминала с SQL-запросами

Последняя версия: 0.14.1 · обновлено 2026-11-05
ИсточникВерсия
deb.griffo.io0.14.1 ✅
Официальный Ubuntu0.13.2 🛑
← Вернуться на главную
📌 Устанавливаете на конкретный выпуск? Ubuntu 22.04 (jammy) · Ubuntu 24.04 (noble) · Ubuntu 25.10 (questing) · Ubuntu 26.04 (resolute)

Что такое lnav?

lnav, Logfile Navigator, — это просмотрщик логов для терминала, который сводит лог-файлы из многих источников в одно представление, упорядоченное по времени. Укажите ему несколько файлов, каталог или сжатый архив, и он сам определит форматы (syslog, журнал systemd, логи доступа Apache и nginx, JSON lines и многие другие), перемешает сообщения по времени, подсветит ошибки и предупреждения и продолжит следить за файлами по мере их роста. Дальше вы фильтруете, ищете, переходите от ошибки к ошибке, а когда вопрос не решается поиском, запрашиваете сообщения логов на SQL. Удалённые логи по ssh открываются так же просто, как локальные. lnav написан на C++ автором Tim Stack и распространяется под лицензией BSD-2-Clause.

🚀 Почему важна последняя версия: в lnav постоянно появляются новые форматы, функции SQL и возможности просмотра, и каждый релиз исправляет разбор отдельных логов. Ubuntu 26.04 заморожена на lnav 0.13.2, Noble на 0.11.2, а Jammy на 0.9.0, так что на стандартной системе нет текущего релиза и пришедших с ним форматов и исправлений. Этот репозиторий поставляет lnav 0.14.1 под тем же именем пакета, поэтому он заменяет lnav из дистрибутива на месте при следующем apt upgrade.

⚡ Ключевые возможности lnav

🔀 Единая хронология

Откройте вместе syslog, лог приложения и лог веб-сервера, и lnav перемешает их строки по времени, так что вы читаете происходящее во всей системе в том порядке, в котором оно происходило.

🔍 Автоопределение форматов

syslog, JSON журнала journald, логи доступа Apache и nginx, JSON lines, logfmt и десятки других распознаются без настройки; уровни, метки времени и поля разбираются, а ошибки и предупреждения подсвечиваются.

🗄️ SQL по вашим логам

Каждый распознанный формат — это таблица. Нажмите ; и выполняйте запросы SELECT к сообщениям логов: считайте ошибки по хостам, ищите самые медленные запросы, группируйте коды ответа, с результатами в том же окне.

🌐 Удалённые логи по ssh

lnav user@host:/var/log/syslog открывает лог на другой машине через ваши обычные настройки и ключи ssh, без агента на сервере.

📦 Сжатые файлы и архивы

Ротированные логи .gz и .bz2 открываются напрямую, как и архивы .zip и .tar, так что пакет с диагностикой можно прочитать, не распаковывая его.

👀 Слежение, фильтры и поиск

Файлы отслеживаются по мере роста, фильтры скрывают или оставляют строки по шаблону, поиск подсвечивает каждое совпадение, а одна клавиша переносит к следующей ошибке или предупреждению, так что ничего важного не проскочит.

🚀 Всегда впереди официальных архивов: Debian и Ubuntu замораживают версии пакетов при выпуске релиза — этот репозиторий публикует новые версии обычно в течение нескольких часов. Простое apt upgrade держит вас на последней версии.

📦 Установка из deb.griffo.io

Запуск команд

Шаг 1: Добавить репозиторий

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(. /etc/os-release; echo ${DEBIAN_CODENAME:-${UBUNTU_CODENAME:-$VERSION_CODENAME}}) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud и Zed; lnav среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.

Как работает бесплатное зеркало →

Шаг 2: Установить lnav

# Установить последнюю версию lnav (заменяет более старый lnav дистрибутива на месте)
sudo apt install lnav

# Проверить установку
dpkg -s lnav | grep Version
# Установить последнюю версию lnav (заменяет более старый lnav дистрибутива на месте)
apt install lnav

# Проверить установку
dpkg -s lnav | grep Version

Шаг 3: Первый запуск

# Логи в /var/log доступны для чтения root и группе adm
sudo lnav /var/log

# Или читайте журнал systemd в JSON, с разбором каждого поля
journalctl -o json | lnav

# Свои логи открываются без sudo; форматы определяются сами
lnav ~/app/logs/

# Нажмите ? внутри lnav для встроенной справки, q для выхода
# Логи в /var/log доступны для чтения root и группе adm
lnav /var/log

# Или читайте журнал systemd в JSON, с разбором каждого поля
journalctl -o json | lnav

# Свои логи открываются без sudo; форматы определяются сами
lnav ~/app/logs/

# Нажмите ? внутри lnav для встроенной справки, q для выхода

🎯 Базовые примеры использования

Чтение логов и слежение за ними:

# Ротированные и сжатые логи открываются напрямую, как и архивы
lnav /var/log/nginx/access.log.2.gz support-bundle.tar.gz

# Несколько источников, сведённых в одну хронологию по времени
lnav /var/log/nginx/ ~/app/logs/app.log

# Лог на другой машине, через ваши обычные настройки ssh
lnav user@host:/var/log/syslog

Фильтры и SQL:

# Внутри lnav: e / E к следующей / предыдущей ошибке, w / W к предупреждениям
# :filter-in error         оставить только совпадающие строки
# :filter-out healthcheck  скрыть совпадающие строки
# ;SELECT c_ip, count(*) AS hits FROM access_log GROUP BY c_ip ORDER BY hits DESC

# Тот же запрос без интерфейса, для скриптов
lnav -n -c ';SELECT sc_status, count(*) FROM access_log GROUP BY sc_status' /var/log/nginx/access.log

Обновления:

# lnav обновляется вместе с остальной системой
sudo apt update && sudo apt upgrade

# Какая версия установлена и какая самая новая доступна
apt policy lnav

# Удалить
sudo apt remove lnav
# lnav обновляется вместе с остальной системой
apt update && apt upgrade

# Какая версия установлена и какая самая новая доступна
apt policy lnav

# Удалить
apt remove lnav

🔧 Интеграции

lnav читает всё, что выдаёт текст: из файлов, из конвейеров и с других машин:

  • ssh: удалённые пути вида user@host:/var/log/syslog идут через вашу существующую конфигурацию и ключи ssh; для этого пакет рекомендует openssh-client
  • Журнал systemd: передайте journalctl -o json (добавьте -f, чтобы следить) в lnav, и каждое поле журнала станет доступно для поиска и запросов
  • Контейнеры: docker logs -f app 2>&1 | lnav или kubectl logs -f pod | lnav дают выводу контейнеров ту же подсветку и SQL
  • Буфер обмена: отметьте строки и нажмите c, чтобы скопировать их; пакет предлагает wl-clipboard или xclip для Wayland и X11
  • Свои форматы: опишите внутренний формат логов в JSON-файле и установите его командой lnav -i myformat.json; он получит определение, подсветку и собственную SQL-таблицу
  • Скрипты и CI: lnav -n -c выполняет команды и запросы без интерфейса, так что тот же SQL, что отвечает на вопрос интерактивно, может работать в cron или в конвейере
  • Документация: man-страница идёт вместе с пакетом (man lnav), а полное руководство находится на docs.lnav.org

🚀 Почему стоит выбрать deb.griffo.io?

📊 Сравнение репозиториев:
  • Официальная Ubuntu: поставляет lnav 0.13.2 в 26.04, 0.11.2 в Noble и 0.9.0 в Jammy, каждый заморожен на весь срок жизни своего выпуска
  • Загрузки из upstream: zip со статическим бинарником со страницы релизов GitHub, который копируется в PATH вручную, без man-страницы, и скачивается заново для каждого релиза
  • Сборка из исходников: тулчейн C++ плюс пакеты разработки SQLite, PCRE2, ncurses, libarchive и libcurl, и долгая сборка
  • deb.griffo.io: последняя версия с автоматическими обновлениями

📦 Репозиторий сборки пакета

Пакеты для Ubuntu собираются и поддерживаются автоматически в этом репозитории GitHub:

🔗 Похожие пакеты

Также доступны в deb.griffo.io:

🎯 Отлично подходит для того, чтобы: системные администраторы и SRE, расследующие инцидент сразу в нескольких сервисах, разработчики, читающие логи приложения рядом с логами веб-сервера, все, кто отвечает на вопросы о логах через grep, sort и uniq и предпочёл бы написать один SQL-запрос, и те, кому нужно читать логи на серверах, доступных только по ssh.

📦 Последние релизы этого репозитория

❓ Часто задаваемые вопросы

Есть ли lnav в официальных репозиториях Ubuntu?

Да, но официальный архив Ubuntu поставляет lnav 0.13.2, тогда как этот репозиторий предлагает lnav 0.14.1, пересобирается через несколько часов после каждого релиза.

Как установить последнюю версию lnav в Ubuntu?

Добавьте репозиторий deb.griffo.io один раз по инструкции выше, затем выполните: sudo apt install lnav. Новые версии приходят через обычный sudo apt upgrade.

Подписаны ли пакеты и как они собираются?

Каждый пакет подписан GPG-ключом репозитория (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) и собирается из релизов upstream в публичных репозиториях GitHub, которые может проверить любой.

Какие версии Ubuntu поддерживаются?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing и 26.04 Resolute.

Начните бесплатный 14-дневный период

Укажите email, и мы пришлём учётные данные для apt за несколько минут. Карта не нужна.

Он станет вашим логином для apt. Если останетесь, оплатите с того же адреса, и на ваших машинах ничего не изменится.

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