私が作成した単一のディレクトリを更新しようとしています。私は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)
updatedb
man updatedb
updatedb
updatedb
/usr/bin
updatedb
man 8 updatedb
mlocateの実装にはupdatedb
findutilsとまったく同じオプションはありません--localpaths
。別々のデータベースを作成し、オプションを使用して埋め込みサブツリーを指定--database-root
または実行できますupdatedb --database-root / --database-root /frodo/lib/modules/3.12.3-031203-generic/kernel
。