내가 만든 단일 디렉터리를 업데이트하려고 합니다. 나는 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에는 널리 사용되는 두 가지 구현이 있습니다. 그 중 하나는GNU findutils에서. 다른 하나는모바일 포지셔닝. 특히 updatedb
프로그램 에 대해 다양한 명령줄 옵션과 구성 파일을 지원합니다 .
updatedb
시스템의 명령은 mlocate에서 가져온 것으로 보이지만 매뉴얼 페이지는 findutils에서 가져온 것입니다. 일반적으로 Ubuntu에는 Debian에서 상속된 시스템이 있습니다.대안이렇게 하면 프로그램에 여러 구현이 있을 때 프로그램 선택이 매뉴얼 페이지 선택과 일치하게 됩니다. 그러나 이 경우 updatedb
대체 목록에는 맨페이지가 기록되지 않고 locate
실행 파일, locate
맨페이지, updatedb
실행 파일만 대체 목록에 기록됩니다. 이는 updatedb
매뉴얼 페이지가 서로 다른 섹션에 있기 때문입니다 . findutils는 섹션 1에 넣고 mlocate는 섹션 8에 넣습니다. 따라서 맨페이지는 Part 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
.