更新された '--localpaths=' オプションが認識されません。

更新された '--localpaths=' オプションが認識されません。

私が作成した単一のディレクトリを更新しようとしています。私はupdatedbコマンドを介して見つけるために使用していますlocate

使用されたコマンド:
updatedb --localpaths='/frodo/lib/modules/3.12.3-031203-generic/kernel'

出力:
updatedb: unrecognized option '--localpaths=/frodo/lib/modules/3.12.3-031203-generic/kernel'

次の結果:

updatedb --localpaths=  
updatedb: unrecognized option '--localpaths='

からman updatedb

   --localpaths='path1 path2...'
          Non-network directories to put in the database.  Default is /.

--localpathsオプションで明示的に指定した場合、このエラーが発生するのはなぜですか?


システムメッセージ:

updatedb --version
updatedb (mlocate) 0.26
Copyright (C) 2007 Red Hat, Inc. All rights reserved.
This software is distributed under the GPL v.2.

This program is provided with NO WARRANTY, to the extent permitted by law.

lsb_release -a
LSB Version:  core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:
core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-
noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID:   Ubuntu
Description:  Ubuntu 13.10
Release:  13.10
Codename: saucy

uname -r
3.12.3-031203-generic

編集:うまく使用しましたが、なぜマニュアルの内容が認識されないのかupdatedb -U /frodo/lib/modules/3.12.3-031203-generic/kernel疑問に思います。--localpaths

この代替案はマニュアルにはありませんが、で使用できますupdatedb -h

   -U, --database-root PATH       the subtree to store in database 
(default "/")

答え1

updatebには広く使用されている2つの実装があります。その一つはGNU findutilsから。もう一つはモバイルポジショニング。特に、updatedbプログラムに対してさまざまなコマンドラインオプションと設定ファイルをサポートしています。

updatedbシステムのコマンドは mlocate からインポートされたように見えますが、マニュアルページは findutils からインポートされます。通常、UbuntuにはDebianから継承されたシステムがあります。代替これにより、プログラムに複数の実装がある場合、プログラムの選択がマニュアルページの選択と一致するようになります。ただし、この場合、updatedb代替リストにはマンページは記録されず、実行可能locateファイル、locateマンページ、および実行可能ファイルupdatedbのみが代替リストに記録されます。これはupdatedb、マニュアルページが異なるセクションにあるためです。 findutils はセクション 1 に、mlocate はセクション 8 に入れます。したがって、マンページはパート1の唯一のマンページであるためman 1 updatedb表示されます。そして最初に一致する部分なので、パート1のマニュアルページを見せてください。確かにこれはmlocateのパッケージングバグです。 findutilsとmlocateパッケージマネージャは、マニュアルページを同じセクションに配置することに同意する必要があり、mlocateはマニュアルページに代わるものを宣言する必要があります。セクション 1. 今では を使用して mlocate のマニュアルページを表示できます。updatedb(1)updatedbman updatedbupdatedbupdatedb/usr/binupdatedbman 8 updatedb

mlocateの実装にはupdatedbfindutilsとまったく同じオプションはありません--localpaths。別々のデータベースを作成し、オプションを使用して埋め込みサブツリーを指定--database-rootまたは実行できますupdatedb --database-root / --database-root /frodo/lib/modules/3.12.3-031203-generic/kernel

関連情報