Como resolver um caminho de arquivo como uma falha na instalação de um RPM?

2

Eu tenho um servidor RHEL 6 sem nenhum acesso à Internet que não tenha uma instalação do cron.

Estou tentando instalar crontabs como este, mas recebo este erro:

[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'

O que significa /etc/cron.d is needed ? Eu tenho esses diretórios e estou logado como root. Infelizmente, eu não tenho uma máquina similar onde eu possa usar o yum downloader para qualquer um.

Conteúdo da RPM:

[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
    
por Quinma 17.06.2013 / 20:55

2 respostas

1

Idéia # 1 - o diretório já existe

Tente executar o comando rpm -Uvh --test /Downloads/crontabs-1.10-33.el6.noarch.rpm primeiro para ver se ele informa algo fora do comum. Se não, faça uma atualização deste pacote em vez de uma instalação.

Acredito que esteja reclamando porque esse diretório já existe, mas não está claro por quem. Nas minhas caixas do CentOS 6 este diretório mostra como sendo de propriedade do pacote cronie .

$ rpm -qf /etc/cron.d
cronie-1.4.4-7.el6.x86_64

Quando vejo o conteúdo do pacote crontabs , vejo o seguinte conteúdo:

$ 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

Observe que não há /etc/cron.d . Se você executar o seguinte comando, verá que crontabs requer os seguintes recursos:

$ 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

Idéia # 2 - verificar cronie package

Então é aí que o requisito está vindo. Eu iria executar o seguinte comando para confirmar que o pacote cronie está instalado corretamente:

$ 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
    
por 17.06.2013 / 21:06
0

Se você tiver o disco de instalação, talvez queira tentar fazer um reparo se o disco fornecer esse recurso. Ou, você pode tentar instalar todos os pacotes do cron a partir do disco de instalação.

    
por 17.06.2013 / 21:08