【公開】LPIC101_updatedb_B4

-- Views

April 21, 26

スライド概要

profile-image

はじめまして、ALJ Education Plus 株式会社のyukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。 ◆IT研修講師をお探しの方は [email protected] にお気軽にお問い合わせください。 ※ALJ Education Plus 株式会社を通して、ご支援させていただきます。 ◆Zenn https://zenn.dev/yukiko_sapporo/articles/46c13e9f98b110

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

LPIC-101 v5.0 | 小豆 本対 応 + 実機 検証 updatedb コマンド locateの「検索台帳」を手動で作り直す 新卒・文系・未経験のための IT 研修 4段構造 + Ubuntu/RedHat 実機差分 + ハンズオン うさうさラーメン店方式

2.

PROBLEM 今日のお題 ― B問題セット 問4(記述式) locate コマンドが検索に使用するデータベースを手動で再構築するコマンドは何ですか。 (コマンド名のみ) 回答欄 x ✗ 不正解 updatedb コマンドが locate のデータベース(/var/lib/mlocate/mlocate.db)を更新します。 通常はcronで毎日自動実行。手動更新: sudo updatedb LPIC-101 | updatedb / locate 2 / 10

3.

① この用語 updatedbって、なに? 用語 updatedb update + database / DB再構築 locate が検索に使う「ファイル台帳」を 作り直すコマンド。 locate は速いが、 「今ある台帳」しか見ない。 → 新しく作ったファイルは updatedb するまで見つからない。 うさうさラーメン店で例えると locate = 店員さん(注文記憶) 新メニューが増えた!でも店員は知らない… ↓ updatedb = 朝礼で新メニューを 店員さんに覚え直させる作業 sudo updatedb これで locate が最新状態に LPIC-101 | updatedb / locate 3 / 10

4.

② 簡単に locate と updatedb はペア DB更新(要root) $ sudo updatedb 1 2 DB更新 sudo updatedb 数秒〜数十秒 → 3 検索 → locate passwd 一瞬 結果 /etc/passwd /etc/passwd... 高速表示 ★ 覚え方: 新しいファイルを探せない → updatedb で台帳を作り直す → もう一度 locate LPIC-101 | updatedb / locate 4 / 10

5.

③ 詳しく① 仕組み ― なぜ locate は速いのか なぜlocateは速い? updatedb の役割 参照DB: /var/lib/mlocate/mlocate.db find コマンド 毎回ディスクを 全走査。 → 正確だが遅い。 1 FSを走査してファイル名収集 2 mlocate.db にテキスト形式で保存 3 locate は以降このDBだけを参照 locate コマンド 事前に作った DBを参照。 → 爆速(ミリ秒オーダー) → DBが古いと見つからない findと違って「今この瞬間」は見ない LPIC-101 | updatedb / locate 5 / 10

6.

③ 詳しく② 実機差分 ― Ubuntu と Red Hat で何が違う? LPIC試験は「mlocate版」で出題されるが、実機では実装が分かれている点に注意 項目 Ubuntu 22.04+ / Debian 11+ Ubuntu 20.04以下 RHEL / CentOS 実体 plocate(mlocateは遷移パッケージ) mlocate mlocate(別途要Install) インストール sudo apt install plocate sudo apt install mlocate sudo dnf install mlocate DB パス /var/lib/plocate/plocate.db /var/lib/mlocate/mlocate.db /var/lib/mlocate/mlocate. db DB 更新コマンド sudo updatedb sudo updatedb sudo updatedb 自動実行 systemd timer /etc/cron.daily/mlocate /etc/cron.daily/mlocate 設定ファイル /etc/updatedb.conf /etc/updatedb.conf /etc/updatedb.conf 重要 Ubuntu 22.04 以降は「mlocate」と打っても実体は plocate。DBは /var/lib/plocate/plocate.db 。試験では /var/lib/mlocate/mlocate.db と答える。 LPIC-101 | updatedb / locate 6 / 10

7.

③ 詳しく③ /etc/updatedb.conf と自動実行の仕組み 設定ファイル /etc/updatedb.conf # scan対象から除外 PRUNEPATHS="/tmp /var/spool /media /mnt ..." 自動実行(毎日バックグラウンド) RHEL / CentOS / 旧Ubuntu /etc/cron.daily/mlocate → cronが毎日 updatedb を実行 → ファイル増減は翌日反映 # FSタイプで除外 PRUNEFS="nfs proc sysfs ..." # bind mountをスキャンしない PRUNE_BIND_MOUNTS="yes" Ubuntu 22.04 以降 plocate-updatedb.timer → systemd timer が定期実行 → systemctl status で確認可能 ※ 即座に反映したい時は「手動」で sudo updatedb LPIC-101 | updatedb / locate 7 / 10

8.

HANDS-ON 実機でやって問題ないか? ― 安全な手順 結論: 本番機でも比較的安全。ただしI/O負荷と実行時間に注意。 Terminal ― 推奨手順 # ① 新ファイル作成 $ touch ~/newfile.txt 実機での注意点 初回は時間がかかる # ② 古いDBではヒットしない $ locate newfile.txt (何も出ない) ファイル数×数分。SSDなら速い # ③ 手動でDB更新 $ sudo updatedb 本番時間帯は避けるのが無難 # ④ 今度は見つかる $ locate newfile.txt /home/yuki/newfile.txt ✓ 要root権限 I/O負荷が上がる sudo 必須(DBは /var/lib/ 配下) ルート(/)は常駐不可 PRUNEPATHSで除外推奨 LPIC-101 | updatedb / locate 8 / 10

9.

ANSWER 正解 ― コマンド名のみ 正解 updatedb update + database = locate用のファイル台帳を作り直すコマンド 記述式問題の答え方 ○ 正解として認められる updatedb /usr/bin/updatedb ※「コマンド名のみ」指定では パスなしが基本。 LPIC-101 | updatedb / locate × ありがちなミス sudo updatedb update db / update-db locate-update / mlocate ※ sudoはコマンド名ではない 9 / 10

10.

④ 原理原則・一言でまとめ locate は速いけど DBが古いと見つからない。updatedbで作り直す。 台帳 作成 設定 locate updatedb updatedb.conf 試験は /var/lib/mlocate/mlocate.db。実機Ubuntu22+は plocate.db に注意。 面白きなき世を面白く ─ 石黒 友季子