Man page - locatedb(5)

Packages contains this manual

Available languages:

en ja ro

Manual

LOCATEDB

名 前
説 明
GNU LOCATE02 デ ー タ ベ ー ス フ ォ ー マ ッ ト
slocate デ ー タ ベ ー ス フ ォ ー マ ッ ト
古 い locate デ ー タ ベ ー ス フ ォ ー マ ッ ト

バ グ 報 告
著 作 権
関 連 項 目

名 前

locatedb - 前 置 圧 縮 さ れ た フ ァ イ ル 名 デ ー タ ベ ー ス

説 明

こ の マ ニ ュ ア ル ペ ー ジ は GNU 版 locate で 用 い る フ ァ イ ル 名 デ ー タ ベ ー ス の フ ォ ー マ ッ ト に つ い て 記 述 し た も の で す 。 フ ァ イ ル 名 デ ー タ ベ ー ス に は 、 最 後 に 更 新 さ れ た 時 点 に お い て 、 特 定 の デ ィ レ ク ト リ ツ リ ー 下 に 存 在 し て い た フ ァ イ ル の リ ス ト が 含 ま れ て い ま す 。

複 数 の デ ー タ ベ ー ス を 共 存 さ せ る こ と も で き ま す 。 環 境 変 数 や コ マ ン ド ラ イ ン オ プ シ ョ ン を 指 定 す れ ば 、 ユ ー ザ ー は locate に 検 索 さ せ る デ ー タ ベ ー ス を 選 択 す る こ と が で き ま す 。 詳 し く は locate (1) を 参 照 し て く だ さ い 。 シ ス テ ム 管 理 者 は デ フ ォ ル ト で 用 い ら れ る デ ー タ ベ ー ス の 名 前 や 、 デ ー タ ベ ー ス の 更 新 頻 度 、 ま た デ ー タ ベ ー ス に 入 れ る デ ィ レ ク ト リ な ど を 選 択 す る こ と が で き ま す 。 通 常 フ ァ イ ル 名 デ ー タ ベ ー ス の 更 新 は updatedb プ ロ グ ラ ム を 定 期 的 に 実 行 さ せ る こ と に よ っ て 行 な い ま す (夜 間 が 良 い で し ょ う )。 詳 細 は updatedb (1) を 参 照 し て く だ さ い 。

GNU LOCATE02 デ ー タ ベ ー ス フ ォ ー マ ッ ト

こ れ は updatedb に よ り 生 成 さ れ る デ フ ォ ル ト の デ ー タ ベ ー ス フ ォ ー マ ッ ト で す 。 updatedb frcode と い う プ ロ グ ラ ム を 呼 び 出 し て フ ァ イ ル 名 の リ ス ト を 前 置 圧 縮 (front compression) し ま す 。 こ れ に よ っ て デ ー タ ベ ー ス の サ イ ズ は 1/4 か ら 1/5 に な り ま す 。 前 置 圧 縮 (イ ン ク リ メ ン タ ル エ ン コ ー デ ィ ン グ と も 呼 ば れ る ) は 以 下 の よ う な 動 作 を し ま す 。

デ ー タ ベ ー ス の エ ン ト リ は 整 列 さ れ た リ ス ト か ら な っ て ま す (ユ ー ザ ー の 利 便 性 の た め 、 大 文 字 小 文 字 は 区 別 し て い ま せ ん )。 従 っ て 、 各 々 の エ ン ト リ は 直 前 の エ ン ト リ と 最 初 の 数 文 字 が 一 致 し て い る こ と が 多 く な り ま す 。 そ れ ぞ れ の デ ー タ ベ ー ス エ ン ト リ に は 、 ま ず オ フ セ ッ ト 差 分 カ ウ ン ト と い う 1 バ イ ト の デ ー タ が 入 っ て い ま す 。 こ れ は 現 在 の エ ン ト リ と 直 前 の エ ン ト リ の 共 有 部 分 の 文 字 数 か ら 、 直 前 の エ ン ト リ と そ の も う ひ と つ 前 の エ ン ト リ の 共 有 文 字 数 を 引 い た も の で す (従 っ て こ の 数 値 は 負 に な る こ と も あ り ま す )。 カ ウ ン ト の 後 に は 共 有 部 分 の 文 字 列 以 降 の 残 り が ASCII 文 字 列 で 与 え ら れ ま す 。 こ れ は ヌ ル 文 字 で 終 端 す る と み な さ れ ま す 。

も し オ フ セ ッ ト 差 分 カ ウ ン ト が バ イ ト デ ー タ で 与 え ら れ る 範 囲 (±127) を 越 え た 場 合 は 、 バ イ ト デ ー タ 0x80 が カ ウ ン ト に 代 入 さ れ 、 2 バ イ ト の ワ ー ド デ ー タ が そ の 後 に 続 き ま す 。 こ の ワ ー ド デ ー タ で は 高 位 バ イ ト が 先 に 来 ま す (ネ ッ ト ワ ー ク バ イ ト オ ー ダ ー )。 こ の カ ウ ン ト は 負 に な る こ と も あ り ま す ( 符 号 ビ ッ ト は 2バ イ ト の 最 初 の 方 に あ り ま す ) 。

す べ て の デ ー タ ベ ー ス は 、 フ ァ イ ル エ ン ト リ の 最 初 に ‘LOCATE02’ と い う ダ ミ ー の エ ン ト リ を 持 ち ま す 。 こ れ は locate に よ っ て チ ェ ッ ク さ れ 、 こ の デ ー タ ベ ー ス が 正 し い フ ォ ー マ ッ ト で あ る こ と を 確 認 す る た め に 用 い ら れ ま す 。 実 際 の 検 索 に お い て は こ の エ ン ト リ は 無 視 さ れ ま す 。

複 数 の デ ー タ ベ ー ス を 連 結 す る こ と は で き ま せ ん 。 最 初 の (ダ ミ ー ) エ ン ト リ を 結 合 す る デ ー タ ベ ー ス か ら 取 り 去 れ ば 良 さ そ う で す が 、 こ れ は 正 し く は あ り ま せ ん 。 な ぜ な ら 後 に 続 く デ ー タ ベ ー ス の 最 初 の エ ン ト リ に お け る オ フ セ ッ ト 差 分 カ ウ ン ト は 正 し い 値 を 取 り 得 な い か ら で す 。

将 来 的 に locate デ ー タ ベ ー ス 内 の デ ー タ は 、 特 定 順 で の 並 び 替 え が で き な く な る か も し れ ま せ ん 。 並 び 替 え を 必 要 と す る 場 合 は 、 locate の 出 力 に 対 し て パ イ プ に よ り sort -f を 処 理 し て く だ さ い 。

slocate デ ー タ ベ ー ス フ ォ ー マ ッ ト

slocate プ ロ グ ラ ム が 利 用 す る デ ー タ ベ ー ス フ ォ ー マ ッ ト は locate が 利 用 す る も の と 似 て い ま す が 、 全 く 同 じ で は あ り ま せ ん 。 デ ー タ ベ ー ス の 最 初 の バ イ ト は security level (セ キ ュ リ テ ィ レ ベ ル ) を 指 定 し て い ま す 。 こ の セ キ ュ リ テ ィ レ ベ ル が 0 の と き は slocate が 読 み 込 み を 行 い 、 デ ー タ ベ ー ス 内 に の み あ る 情 報 に 基 づ い て 、 フ ァ イ ル 名 の 検 索 と 表 示 を 行 い ま す 。 一 方 、 セ キ ュ リ テ ィ レ ベ ル が 1 の と き 、 実 行 ユ ー ザ の デ ー タ ベ ー ス ア ク セ ス が 不 能 で あ る 場 合 、 slocate は エ ン ト リ 出 力 を 省 略 す る 。 デ ー タ ベ ー ス の 2 番 目 の バ イ ト は ゼ ロ で す 。 3 番 目 の バ イ ト 以 降 に デ ー タ ベ ー ス エ ン ト リ が 続 き ま す 。 デ ー タ ベ ー ス エ ン ト リ の 先 頭 に 、 差 分 カ ウ ン ト や ダ ミ ー エ ン ト リ が 置 か れ る こ と は あ り ま せ ん 。 そ の 代 わ り に 最 初 の 項 目 に 対 す る 差 分 カ ウ ン ト は 、 ゼ ロ と し て 取 り 扱 わ れ ま す 。

2 番 目 の エ ン ト リ が デ ー タ ベ ー ス に 存 在 し て い た と す る と 、 デ ー タ は GNU LOCATE02 フ ォ ー マ ッ ト と 同 様 の も の と し て 解 釈 さ れ ま す 。

古 い locate デ ー タ ベ ー ス フ ォ ー マ ッ ト

Unix 版 locate お よ び find や 、 以 前 の GNU 版 で 用 い ら れ て い た 古 い デ ー タ ベ ー ス フ ォ ー マ ッ ト も 存 在 し て い ま す 。 こ の 古 い 形 式 の デ ー タ ベ ー ス を 作 成 す る 場 合 に は 、 updatedb bigram code と い う プ ロ グ ラ ム を 呼 び 出 し ま す 。 古 い フ ォ ー マ ッ ト が 上 に 述 べ た 記 述 と 異 な る 点 を 以 下 に 示 し ま す 。 そ れ ぞ れ の エ ン ト リ が オ フ セ ッ ト 差 分 カ ウ ン ト の バ イ ト デ ー タ で 始 ま り ヌ ル 文 字 で 終 わ る 代 わ り に 、 0 か ら 28 ま で の バ イ ト デ ー タ が -14 か ら 14 ま で の オ フ セ ッ ト 差 分 カ ウ ン ト と し て 用 い ら れ 、 こ れ が エ ン ト リ 区 切 り を 兼 ね る こ と に な り ま す 。 こ の 範 囲 外 の 長 い オ フ セ ッ ト 差 分 カ ウ ン ト を 示 す デ ー タ に は 、 0x80 で は な く 0x1e (30) が 使 わ れ ま す 。 長 い カ ウ ン ト を 保 有 す る デ ー タ に は ホ ス ト の バ イ ト オ ー ダ が 用 い ら れ (こ れ は ネ ッ ト ワ ー ク バ イ ト オ ー ダ と 等 し い と は 限 り ま せ ん )、 ま た ホ ス ト の integer の ワ ー ド サ イ ズ (4 バ イ ト の こ と が 多 い ) が 用 い ら れ ま す 。 ま た こ こ に ス ト ア さ れ る デ ー タ は 実 際 の 値 か ら 14 を 引 い た 値 に な り ま す 。 デ ー タ ベ ー ス の 各 エ ン ト リ に は 終 端 バ イ ト が 無 く 、 30 以 下 の 値 を 持 つ バ イ ト デ ー タ が 次 の エ ン ト リ の 始 ま り で あ る と 認 識 さ れ ま す 。

さ ら に 古 い デ ー タ ベ ー ス 形 式 で は 、 ダ ミ ー エ ン ト リ の 代 わ り に 先 頭 に 256 バ イ ト の テ ー ブ ル が あ り 、 フ ァ イ ル リ ス ト で も っ と も 頻 繁 に 用 い ら れ て い る bigram が 並 べ て あ り ま す 。 bigram と は 隣 接 し た 二 つ の バ イ ト デ ー タ を イ ン デ ッ ク ス 付 け し た も の で す 。 デ ー タ ベ ー ス に 現 わ れ る バ イ ト デ ー タ の う ち 、 最 高 位 ビ ッ ト が セ ッ ト さ れ て い る も の は (残 り の 7 ビ ッ ト を イ ン デ ッ ク ス と し て ) bigram テ ー ブ ル の デ ー タ と 置 換 さ れ ま す 。 こ の bigram と オ フ セ ッ ト 差 分 カ ウ ン ト を 用 い る こ と で 、 デ ー タ ベ ー ス の 大 き さ は 新 し い フ ォ ー マ ッ ト よ り 20-25% 小 さ く な っ て い ま す 。 し か し 8 ビ ッ ト ク リ ー ン で な い と い う 欠 点 を 併 せ 持 ち ま す 。 フ ァ イ ル 名 に 含 ま れ る バ イ ト デ ー タ の う ち 、 ス ペ シ ャ ル コ ー ド に 属 す る も の は 、 デ ー タ ベ ー ス 中 で は す べ て ク エ ス チ ョ ン マ ー ク で 置 き 換 え ら れ ま す 。 こ れ は 任 意 の 一 文 字 を 表 わ す シ ェ ル の ワ イ ル ド カ ー ド な の で 、 実 際 の フ ァ イ ル 名 に 現 わ れ る こ と は あ り ま せ ん 。

frcode へ の 入 力 が 以 下 の よ う な も の と し ま す :
/usr/src
/usr/src/cmd/aardvark.c
/usr/src/cmd/armadillo.c
/usr/tmp/zoo

直 前 の エ ン ト リ と の 最 長 一 致 部 分 の 長 さ は :
0 /usr/src
8 /cmd/aardvark.c
14 rmadillo.c
5 tmp/zoo

frcode か ら の 出 力 は 、 最 後 の ヌ ル 文 字 を 改 行 に 代 え 、 カ ウ ン ト バ イ ト を 数 字 に 代 え る と 以 下 の よ う な も の に な り ま す :
0 LOCATE02
0 /usr/src
8 /cmd/aardvark.c
6 rmadillo.c
-9 tmp/zoo

(6 = 14 - 8 ま た は -9 = 5 - 14)

バ グ 報 告

GNU findutils オ ン ラ イ ン ヘ ル プ : <https://www.gnu.org/software/findutils/#get-help>
翻 訳 に 関 す る バ グ 報 告 : <https://translationproject.org/team/>

そ の 他 の 問 題 に つ い て GNU Savannah バ グ ト ラ ッ カ ー 経 由 で の 報 告 :

<https://savannah.gnu.org/bugs/?group=findutils>

GNU findutils パ ッ ケ ー ジ の メ ー リ ン グ リ ス ト bug-findutils に お い て 議 論 さ れ て い る 全 般 的 な ト ピ ッ ク :

<https://lists.gnu.org/mailman/listinfo/bug-findutils>

著 作 権

Copyright © 1994-2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関 連 項 目

find (1), locate (1), xargs (1), locatedb (5)

充 実 し た ド キ ュ メ ン ト は <https://www.gnu.org/software/findutils/locatedb> を 参 照 し て く だ さ い 。
ま た ロ ー カ ル に お い て は info locatedb に よ り 参 照 で き ま す 。