내가 올바르게 이해했다면 데이터베이스는 locate
내부 하드 드라이브 파티션의 파일에만 의존합니다. locate
외장 하드 드라이브에서도 작동 하는지 궁금합니다 .
답변1
위치 데이터베이스는 일반적으로 이동식 디스크의 파일이 나중에 존재한다고 가정할 수 없기 때문에 무시하도록 구성됩니다. 예를 들어 파일을 통해 구성할 수 있습니다 /etc/updatedb.conf
(위치는 locate
사용하는 여러 프로그램과 배포판 구성 방법에 따라 다릅니다).
이동식 디스크의 경우 데이터베이스를 별도의 파일에 저장하는 것이 가장 좋습니다. 달리기
updatedb --localpaths=/media/my_removable_disk --output=/var/cache/locate/my_removable_disk.locatedb
데이터베이스를 업데이트하십시오. /var/cache/locate/my_removable_disk.locatedb
환경 변수에 추가하세요 LOCATE_PATH
. 최신 버전의 GNU 타겟팅의 경우 빈 경로 구성 요소가 기본 경로를 나타내므로 다음을 사용할 수 있습니다.
export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb
이동식 디스크에 위치 데이터베이스를 유지하려면 경로를 추가하지 마십시오. LOCATE_PATH
데이터베이스 locate
파일 중 하나가 누락되면 조회가 중지됩니다. 래퍼 스크립트가 더 좋을 것입니다.
locates () {
locate "$@"
for d in /media/*; do
locate -d "$d/.locatedb" "$@"
done
}
답변2
구성 파일은 여기에 있습니다. /etc/updatedb.conf
아무 것도 추가하지 않고 하드 드라이브를 마운트한 다음 실행하면 updatedb
외장 하드 드라이브 파티션에서 파일을 검색할 수 있습니다.