타겟팅이 작동하지 않음

타겟팅이 작동하지 않음

시스템: Linux Mint 19.1 Tessa, 버전: Cinnamon

명령에 문제가 있습니다 locate. test.txt데스크탑에 파일을 만들었습니다 . 그 후 나는 다음을 수행했습니다.

sudo updatedb

하지만

locate test.txt -i 

아직 아무것도 표시되지 않습니다.

권한 mlocate.db: -rw-r---- 루트가 아닌 일반 사용자에서 작동합니다. (그래서 sudo 명령을 사용합니다.)

답변1

updatedb명령은 시스템의 파일 시스템을 검색하고 사용 가능한 파일 및 디렉터리 이름의 색인을 만듭니다. 이 인덱싱은 권한이 없는 사용자로 수행됩니다. 즉, 인덱스에는 다음을 통해 액세스할 수 있는 파일 이름만 포함됩니다.모두시스템 사용자.

귀하의 홈 디렉토리는 귀하만 액세스할 수 있으므로(귀하의 의견에서 해당 디렉토리에 대한 권한이 있다고 밝혔습니다 rwx------)색인이 생성되지 않습니다.통과 updatedb. 이는 결과적으로 locate이름이 홈 디렉토리에서 반환되지 않음을 의미합니다( sudo locate대신 을 사용하면 locate여전히 동일한 인덱스를 쿼리하므로 도움이 되지 않습니다).

이 문제를 해결하려면 다음 두 가지 옵션이 있습니다.

  1. 홈 디렉토리(및 그 아래에 색인을 생성하려는 모든 디렉토리 updatedb)에 대한 제한을 완화하십시오. 권한은 rwxr-xr-x8진수로 , 또는 755여야 합니다.

  2. locate파일을 찾는 데 사용하지 마십시오 . 대신 다음을 사용하십시오 find.

    find "$HOME" -name test.txt
    

    그러면 test.txt홈 디렉토리 또는 그 아래에서 호출된 모든 항목을 찾을 수 있습니다.

관련 정보