⚡ 68 個の開発ツールを、常に最新に — 上流の新しいリリースは数時間以内に apt に届きます。 Discord に参加

🎁 apt ミラーの利用にはサブスクリプションが必要です。全ツールを 14 日間無料でお試しいただけます。カード不要。 料金を見る · 🆓 ずっと無料のミラーがあります · 🔐 apt が 401 を返しますか?

🪵 最新の lnav を Debian にインストール

SQL でクエリもできる、ターミナル向けログビューア「Logfile Navigator」

最新バージョン: 0.14.1 · 更新日 2026-11-05
提供元バージョン
deb.griffo.io0.14.1 ✅
公式 Debian0.12.4 🛑
← ホームに戻る
📌 特定のリリースに入れますか? Debian 12 (bookworm) · Debian 13 (trixie) · Debian 14 (forky) · Debian Sid

lnav とは

lnav (Logfile Navigator) は、複数のソースのログファイルをひとつにまとめ、タイムスタンプ順に表示するターミナル向けのログビューアです。いくつかのファイルやディレクトリ、圧縮アーカイブを指定するだけで、フォーマット (syslog、systemd ジャーナル、Apache や nginx のアクセスログ、JSON Lines など多数) を自動で判別し、メッセージを時刻順に並べ、エラーと警告を色分けして目立たせ、ファイルが伸びていくのを追いかけ続けます。そこからフィルタ、検索、エラー間のジャンプができ、検索では足りない疑問には SQL でログメッセージを問い合わせられます。ssh 越しのリモートのログも、ローカルと同じ手軽さで開けます。lnav は Tim Stack が C++ で書いたもので、BSD-2-Clause ライセンスです。

🚀 最新版が効いてくる理由: lnav はリリースのたびにフォーマット、SQL 関数、ビューアの機能が増え、特定のログの解析方法も修正されています。Debian trixie の lnav は 0.12.4、Bookworm は 0.11.1 で固定されているため、標準のシステムでは現在のリリースと、それに含まれるフォーマットや修正を使えません。このリポジトリは lnav 0.14.1 を同じパッケージ名で配布しているので、次の apt upgrade でディストリビューションの lnav がその場で置き換わります。

⚡ lnav の主な機能

🔀 ひとつにまとまったタイムライン

syslog、アプリのログ、Web サーバーのログを一緒に開くと、lnav が各行をタイムスタンプ順に並べます。システム全体で何が起きたのかを、起きた順に読めます。

🔍 フォーマットの自動判別

syslog、journald の JSON、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
sudo apt install extrepo
sudo extrepo enable griffo
sudo apt update

🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh、Uncloud と Zed です。lnav は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。

無料ミラーの仕組み →

🧩 extrepo オプションについて。 extrepo は外部リポジトリを扱う Debian 標準のツールです。署名済みメタデータと照合して鍵を検証したうえで、sources ファイルの作成と署名鍵のインストールを代わりに行います。このリポジトリは griffo、ずっと無料のミラーは griffo-free という名前で登録されているので、Debian(bookworm、trixie、forky、sid)では上のコマンドだけで設定は完了です。

extrepo が用意するのは sources ファイルと鍵だけなので、サブスクリプションの認証情報は引き続き /etc/apt/auth.conf.d/deb.griffo.io.conf に書きます。extrepo は Debian のスイート向けメタデータしか公開していないため Ubuntu は対象外です。Ubuntu では sudo または root のコマンドを使ってください。

ステップ 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

# rsyslog がない (Debian の既定) なら、systemd ジャーナルを JSON で読む
journalctl -o json | lnav

# 自分のログなら sudo は不要。フォーマットは自動判別されます
lnav ~/app/logs/

# lnav の中で ? を押すと組み込みヘルプ、q で終了
# /var/log 以下のログは root と adm グループが読めます
lnav /var/log

# rsyslog がない (Debian の既定) なら、systemd ジャーナルを JSON で読む
journalctl -o json | lnav

# 自分のログなら は不要。フォーマットは自動判別されます
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

# 同じクエリを UI なしで、スクリプト向けに
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 を押すとコピーできます。パッケージは Wayland と X11 向けに wl-clipboard または xclip を提案しています
  • 独自フォーマット: 社内のログフォーマットを JSON ファイルに記述し、lnav -i myformat.json でインストールすれば、判別、強調表示、専用の SQL テーブルが使えるようになります
  • スクリプトと CI: lnav -n -c はコマンドとクエリを UI なしで実行するので、対話的に答えを出した SQL を、そのまま cron ジョブやパイプラインで動かせます
  • ドキュメント: man ページはパッケージに含まれており (man lnav)、完全なマニュアルは docs.lnav.org にあります

🚀 deb.griffo.io を選ぶ理由

📊 リポジトリの比較:
  • 公式 Debian: trixie では lnav 0.12.4、Bookworm では 0.11.1 を収録しており、いずれもリリースの期間中は固定されたままです
  • 上流からのダウンロード: GitHub のリリースページにある静的バイナリの zip を手動で PATH にコピーする形で、man ページは付かず、リリースのたびに取得し直す必要があります
  • ソースからビルド: C++ ツールチェーンに加え、SQLite、PCRE2、ncurses、libarchive、libcurl の開発パッケージ、そして長いコンパイル時間が必要です
  • deb.griffo.io: 最新版を自動更新でお届け

📦 パッケージのビルドリポジトリ

Debian パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:

🔗 関連パッケージ

deb.griffo.io では、こちらも配布しています:

🎯 こんな方に: 複数のサービスにまたがる障害を追うシステム管理者や SRE、Web サーバーのログと並べてアプリのログを読む開発者、grep と sort と uniq で答えていたログの疑問を SQL 一本で片付けたい人、そして ssh でしか届かないサーバーのログを読む必要がある人に。

📦 このリポジトリの最近のリリース

❓ よくある質問

lnav は公式の Debian リポジトリにありますか?

あります。ただし公式 Debian アーカイブが配布しているのは lnav 0.12.4 で、このリポジトリは上流のリリースから数時間以内に再ビルドした lnav 0.14.1 を配布しています。

Debian に最新の lnav を入れるには?

上の手順で deb.griffo.io リポジトリを一度追加してから、sudo apt install lnav を実行してください。新しいリリースは、いつもの sudo apt upgrade で届きます。

パッケージは署名されていますか? どのようにビルドされていますか?

すべてのパッケージはリポジトリの GPG 鍵(EA0F721D231FDD3A0A17B9AC7808B4DD62C41256)で署名されており、誰でも中身を確認できる公開の GitHub パッケージングリポジトリで、上流のリリースからビルドされています。

Debian のどのリリースに対応していますか?

Debian 12 Bookworm、Debian 13 Trixie、Forky、Sid。

14 日間の無料トライアルを始める

メールアドレスを入力すると、数分以内に apt の認証情報をお送りします。カード不要。

これが apt のログインになります。続ける場合は同じアドレスでお支払いいただければ、マシン側の変更は不要です。

トライアルはメールアドレスごとに 1 回です。終了の 2 日前にアクセスを続けるためのリンクをお送りします。何もしなければアクセスは終了し、料金は発生しません。