我可以禁用updatedb吗?

mat*_*att 26 linux performance io updatedb

updatedb必要吗?我从不使用locate,我的服务器往往有数以百万计的文件,这通常会使 updateb 运行很长时间并消耗 MySQL 和/或其他软件所需的 I/O。

我可以从 cron 中删除它并期望一切正常吗?(我的意思是在服务器上找到的常用软件:linux、cpanel、mysql、apache、php 等)。

slm*_*slm 29

是的,您可以在 crons 中禁用它或删除提供updatedb. 在 Red Hat 系统上,您将在删除之前确定是否有任何需要它的步骤。

  1. 首先找出程序在磁盘上的位置。

    $ type updatedb
    updatedb is /usr/bin/updatedb
    
    Run Code Online (Sandbox Code Playgroud)
  2. 接下来找出什么包提供updatedb

    $ rpm -qf /usr/bin/updatedb
    mlocate-0.26-3.fc19.x86_64
    
    Run Code Online (Sandbox Code Playgroud)
  3. 看看有没有什么需要mlocate

    $ rpm -q --whatrequires mlocate
    no package requires mlocate
    
    Run Code Online (Sandbox Code Playgroud)
  4. 没有什么需要它,所以你可以删除包。

    $ yum remove mlocate
    
    Run Code Online (Sandbox Code Playgroud)

  • `rpm` 也有 `--whatrecommends`。我认为 Fedora 在过去几年开始将其作为一个概念进行研究。(在 debian/ubuntu 端默认安装“推荐”依赖项以及“需要”依赖项很久之后)。 (2认同)
  • @RamratanGupta - 是的 (2认同)

小智 14

您可以/var/www通过编辑/etc/updatedb.conf配置文件来禁用对具有许多文件(例如)的目录的扫描。如果你真的想禁用它,那么只需删除 cronjob。


aul*_*ron 6

使用你的包管理器删除它,如果另一个包使用它,你就会知道,因为它必须依赖它(包依赖)。

我有一台带有Nginx,php-fpm和的服务器,mysql没有updatedb.