RPMをインストールするときに依存関係の問題によるファイルパスを解決するには?

RPMをインストールするときに依存関係の問題によるファイルパスを解決するには?

インターネットにアクセスできず、cronインストールがないRHEL 6サーバーがあります。

このように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

インストールディスクがあり、そのディスクでこの機能を提供している場合は、修復を試してみてください。あるいは、インストールCDからすべてのcronパッケージをインストールしてみることもできます。

関連情報