我有一台 RHEL 6 服务器,无法访问互联网,缺少 cron 安装。
我正在尝试像这样安装 crontab,但出现此错误:
[root@netsrvr01 cron.d]# rpm -ivh /Downloads/crontabs-1.10-33.el6.noarch.rpm
warning: /Downloads/crontabs-1.10-33.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
/etc/cron.d is needed by crontabs-1.10-33.el6.noarch
[root@netsrvr01 cron.d]# Error: 'NoneType' object has no attribute 'sendline'
这是什么意思/etc/cron.d is needed
?我确实有这些目录,并且我以 root 身份登录。不幸的是,我没有可以使用 yum 下载器的类似机器。
转速内容:
[root@netsrvr01 Downloads]# rpm -qpl /Downloads/crontabs-1.10-33.el6.noarch.rpm
warning: /Downloads/crontabs-1.10-33.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
/etc/crontab
/usr/bin/run-parts
/usr/share/man/man4/crontabs.4.gz
答案1
想法#1 - 目录已经存在
首先尝试运行该命令,rpm -Uvh --test /Downloads/crontabs-1.10-33.el6.noarch.rpm
看看它是否报告任何异常情况。如果没有,则升级此软件包而不是安装。
我相信它在抱怨,因为这个目录已经存在,但不清楚是谁的。在我的 CentOS 6 机器上,该目录显示为该包所拥有cronie
。
$ rpm -qf /etc/cron.d
cronie-1.4.4-7.el6.x86_64
当我查看crontabs
包装中的内容时,我看到以下内容:
$ repoquery -l crontabs
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
/etc/crontab
/usr/bin/run-parts
/usr/share/man/man4/crontabs.4.gz
请注意,没有/etc/cron.d
.但是,如果您运行以下命令,您会发现它crontabs
需要以下资源:
$ rpm -qp --requires crontabs-1.10-33.el6.noarch.rpm
/bin/bash
/etc/cron.d
config(crontabs) = 1.10-33.el6
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
想法 #2 - 验证cronie
包
这就是需求的来源。我将运行以下命令来确认该软件包cronie
是否已正确安装:
$ rpm -V cronie --verbose
......... /etc/cron.d
......... /etc/cron.d/0hourly
......... c /etc/cron.deny
......... c /etc/pam.d/crond
......... /etc/rc.d/init.d/crond
......... c /etc/sysconfig/crond
......... /usr/bin/crontab
......... /usr/sbin/crond
......... /usr/share/doc/cronie-1.4.4
......... d /usr/share/doc/cronie-1.4.4/AUTHORS
......... d /usr/share/doc/cronie-1.4.4/COPYING
......... d /usr/share/doc/cronie-1.4.4/ChangeLog
......... d /usr/share/doc/cronie-1.4.4/INSTALL
......... d /usr/share/doc/cronie-1.4.4/README
......... d /usr/share/man/man1/crontab.1.gz
......... d /usr/share/man/man5/crontab.5.gz
......... d /usr/share/man/man8/cron.8.gz
......... d /usr/share/man/man8/crond.8.gz
......... /var/spool/cron
答案2
如果您有安装光盘,并且该光盘提供该功能,您可能需要尝试进行修复。或者,您可以尝试从安装光盘安装所有 cron 软件包。