updatedb 명령어 생성기
locate가 사용하는 파일명 데이터베이스를 생성하거나 업데이트하기 위한 updatedb 명령어를 생성합니다.
updatedb 시작하기
## updatedb란 무엇인가요?
`updatedb`은 `locate`이 조회하는 파일명 데이터베이스를 생성하거나 갱신합니다. 이 작업이 완료되면 `locate needle`는 몇 밀리초 만에 파일명으로 파일을 찾아낼 수 있으며, 이는 `find`이 전체 파일 시스템을 스캔하는 것보다 훨씬 빠릅니다. 이 데이터베이스는 일정에 따라(보통 cron을 통해 매일) 재구축되지만, 대용량 파일이 변경된 직후에 수동으로 실행할 수도 있습니다.
## 사용 방법
1. **옵션 선택**: 보통 필요 없으며 — 일반적으로 `sudo updatedb` 형태를 사용합니다. 필요에 따라 `--output`, `--prunepaths`, `--prunefs`, `--database-root`, `--require-visibility`, 또는 `-v`을 추가할 수 있습니다. 2. **커스텀 데이터베이스 지정** (선택 사항): 기본인 `/var/lib/plocate/plocate.db`나 `/var/lib/mlocate/mlocate.db`이 아닌 다른 곳에 저장하려면 `--output`을 사용합니다. 3. **복사 후 실행**: 모든 디렉터리를 스캔할 수 있도록 시작 부분에 `sudo`를 붙입니다.
일반 옵션
### `-v` 상세 모드 스캔될 때의 경로를 그대로 출력합니다. 데이터베이스가 실제로 재구축되고 있는지 확인하는 데 유용합니다.
### `--output=FILE` 사용자 지정 데이터베이스 인덱스를 특정 경로인 `updatedb --output=/tmp/mydb.db`에 저장한 다음, `locate -d /tmp/mydb.db pattern`을 사용해 해당 인덱스를 조회합니다.
### `--prunepaths='DIRS'` 디렉터리 생략 스캔에서 특정 경로를 제외하여 `locate` 결과에 절대 표시되지 않도록 합니다: `updatedb --prunepaths='/tmp /var/tmp /mnt/backup'`.
### `--prunefs='FSTYPES'` 파일시스템 생략 `nfs`나 `tmpfs`와 같은 전체 파일시스템 유형을 생략함으로써 네트워크나 일시적으로 마운트된 파일시스템이 인덱싱되지 않도록 합니다: `updatedb --prunefs='nfs tmpfs'`.
### `--database-root=PATH` 루트 스캔 하위 트리를 마치 파일시스템 루트인 것처럼 인덱싱합니다. chroot 환경이나 마운트된 이미지의 데이터베이스를 구축할 때 유용합니다.
### `--require-visibility` 권한 필터링 인덱싱을 수행하는 사용자가 볼 수 있는 파일만 저장하고 나머지 파일은 `locate`에서 숨깁니다. plocate의 경우 기본적으로 꺼져 있으며(월드 읽기 가능한 경로만 인덱싱함), mlocate의 경우 기본적으로 켜져 있습니다.
▶왜 ‘locate’가 제가 방금 만든 파일을 찾지 못하나요?
▶mlocate와 plocate — 차이점은 무엇인가요?
▶updatedb를 실행하려면 왜 sudo가 필요한가요?
이 도구가 당신에게 도움이 되었다면, 저에게 커피 한 잔 사주세요.
제게 커피 한 잔 사주세요.