iyr*_*rin 4 command-line updatedb
我正在尝试更新我创建的单个目录。我正在使用,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='
Run Code Online (Sandbox Code Playgroud)
来自man updatedb
:
Run Code Online (Sandbox Code Playgroud)--localpaths='path1 path2...' Non-network directories to put in the database. Default is /.
为什么在--localpaths
明确声明为选项时会出现此错误?
系统信息:
Run Code Online (Sandbox Code Playgroud)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
.
Run Code Online (Sandbox Code Playgroud)-U, --database-root PATH the subtree to store in database (default "/")
updateb 有两种流行的实现。其中之一来自 GNU findutils。另一个是mlocate。它们支持不同的命令行选项和配置文件,特别是对于updatedb
程序。
updatedb
您系统上的命令似乎是来自 mlocate的命令,但手册页是来自 findutils 的命令。通常,Ubuntu 有一个系统(继承自 Debian)称为替代品,它确保当一个程序有多个实现时,程序的选择和手册页的选择是一致的。但是,在这种情况下,updatedb
手册页没有记录在替代列表中,只有locate
可执行文件、locate
手册页和updatedb
可执行文件记录在列表中。这是因为updatedb
手册页位于不同的部分:findutils 将其放在第 1 部分,而 mlocate 将其放在第 8 部分。因此man 1 updatedb
显示了updatedb(1)
手册页,因为它是updatedb
第 1 部分中唯一的手册页。并且man updatedb
在第 1 部分显示手册页,因为这是匹配的第一部分。可以说,这是 mlocate 中的一个打包错误:findutils 和 mlocate 包维护者应该同意将手册页updatedb
放在同一部分,并且 mlocate 应该为其手册页声明一个替代方案;由于 mlocate 放入updatedb
了/usr/bin
,它的手册页应该在第 1 节中。就目前情况而言,您可以看到updatedb
带有的 mlocate 的手册页man 8 updatedb
。
的 mlocate 实现updatedb
没有与 findutils 的--localpaths
. 您可以创建一个单独的数据库并使用--database-root
选项指定它包含的子树,或者运行updatedb --database-root / --database-root /frodo/lib/modules/3.12.3-031203-generic/kernel
.
归档时间: |
|
查看次数: |
887 次 |
最近记录: |