dependentes do pacote de listagem

2

Eu estupidamente fiz "yum remove python", que também acabou removendo todos os pacotes que também exigiam python.

Por sorte, tenho acesso a outra máquina Linux que é um clone próximo desta máquina, e ainda tem todos esses pacotes instalados. O problema é que ele pertence a outra pessoa e eu posso, no máximo, bisbilhotar. Eu também não sei o que especificamente para re-instalar na minha máquina. A lista (quando eu removi o python) era gigantesca.

Eu queria saber se havia algum comando que eu pudesse entrar nesta máquina gêmea que poderia me dizer: Dos pacotes atualmente instalados, quais dependem do python? Eu poderia então usar essa lista para reinstalar manualmente cada um de volta em minha própria máquina. Então são mais dependentes do python, não dependências.

Olhando em volta, encontrei comandos como "repoquery --whatrequires" & "rpm --whatrequires", mas estes não parecem gerar a mesma lista que "yum remove python".

As duas máquinas executam o RHEL 6.

    
por 2Parrots 11.07.2014 / 16:34

3 respostas

3

Assumindo que os clones tinham os mesmos pacotes instalados antes de você remover o python, uma maneira infalível de obter a lista de pacotes necessários seria comparar rpm -qa de cada clone.

# on clone 1:
rpm -qa | sort > clone1.txt

# on clone 2:
rpm -qa | sort > clone2.txt

Obtenha clone1.txt e clone2.txt no mesmo computador. Então corra

comm -13 clone1.txt clone2.txt

para ver quais rpms estão no Clone 2 e não no Clone 1.

    
por 11.07.2014 / 20:05
2

Você pode ter /var/log/rpmpkgs , que possui uma lista de todos os pacotes RPM instalados. (no RHEL 6 essa lista é gerada pelo pacote rpm-cron) Se você tiver a lista de pacotes, você pode consultar /var/log/yum.log para ver quais pacotes foram desinstalados.

    
por 11.07.2014 / 17:06
2

Na verdade, você pode desfazer um comando do yum. No computador com o python removido, tente executar yum history :

yum history
Loaded plugins: langpacks, refresh-packagekit
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   284 | yum remove python        | 2014-07-09 14:47 | Remove         |  1213   
...

Identifique a linha de yum remove python e observe o ID

yum history undo 284

No entanto, yum deve depender de python , então você pode ter removido yum . Em caso afirmativo, você terá que baixá-lo e suas dependências manualmente novamente. Primeiro, verifique se o seu sistema tem as dependências necessárias (essa lista foi gerada em um sistema Fedora 19, portanto verifique com seu clone do RHEL 6):

[root@localhost ~]# repoquery -R yum
/usr/bin/python
pygpgme
pyliblzma
python >= 2.4
python(abi) = 2.7
python-iniparse
python-sqlite
python-urlgrabber >= 3.9.0-8
pyxattr
rpm >= 4.4.2
rpm-python
yum-metadata-parser >= 1.1.0

Para cada um que estiver faltando, faça o download do pacote de suas fontes do RHEL 6 e instale-o manualmente com rpm .

Geralmente, remover pacotes não remove todos os seus arquivos de configuração. Eu não sei sobre yum . Espero que o banco de dados do histórico yum ainda esteja intacto depois de reinstalá-lo.

    
por 11.07.2014 / 16:53