Hướng dẫn Fix lỗi “locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory”
Khi tìm file trên các hệ điều hành Linux như Redhat/CentOS/Ubuntu/Debian, bạn có thể sẽ gặp phải thông báo sau:
ERROR : locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
Đây là một lỗi khi dùng lện locate để tìm file. Vậy nếu gặp phải lỗi này thì hướng xử lý là như thế nào? Cùng Bizfly Cloud tìm hiểu trong ào viết sau nhé!
1. Nguyên nhân gây ra lỗi
Bạn có thể gặp lỗi trên trong khi thực hiện tìm kiếm tệp / thư mục trên máy chủ Linux bằng cách sử dụng lệnh định vị/locate. Lỗi chỉ ra rằng tệp "mlocate.db" bị thiếu trên máy chủ. "Mlocate.db" là tệp cơ sở dữ liệu trong đó lệnh locate sử dụng để lưu giữ vị trí của tất cả các tệp trên máy chủ. Bạn thường sẽ gặp phải lỗi trên nếu chạy lệnh locate lần đầu tiên hoặc server Linux đó là server mới được thiết lập.
# locate index.php
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
2. Cách sửa lỗi
Trước tiên, bạn phải chạy lệnh "updatedb" trên máy chủ, như vậy locate sẽ lưu trữ được tất cả các file location trong mlocate.db. Đăng nhập vào máy chủ Linux của bạn với SSH là root, sau đó gõ lệnh "updatedb" và nhấn enter là xong.
[root@server etc]# locate index.php
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[root@server etc]# updatedb
[root@server etc]#
Từ đây, bạn có thể bắt đầu tìm kiếm các file bằng cách sử dụng lệnh locate sau khi "updatedb" được hoàn thành. Tệp cơ sở dữ liệu "mlocate.db" sẽ được tạo tự động khi bạn chạy lệnh "updatedb". Tệp cơ sở dữ liệu này chứa các chi tiết về vị trí của tất cả các tệp trên máy chủ Linux. Khi bạn tìm kiếm một tập tin lệnh locate sẽ tìm kiếm cơ sở dữ liệu này và cung cấp vị trí tập tin ngay lập tức.
[root@server etc]# du -sch /var/lib/mlocate/mlocate.db
976K /var/lib/mlocate/mlocate.db
Lần sau khi bạn chạy lại chương trình locate để tìm kiếm file, bạn sẽ không còn gặp lỗi trên nữa.
Chúc các bạn thao tác thành công!
Theo Bizfly Cloud chia sẻ