Yum: Listar & Remover todos os pacotes de desenvolvimento

3

Os pacotes de desenvolvimento geralmente contêm os cabeçalhos ou outras coisas que são necessárias para compilar aplicativos.

Para manter os sistemas limpos e gerenciáveis, estou procurando um comando para liste todos os -devel -pacotes instalados por yum (também os rpm, sem o sufixo).

Eu costumo usar yum list installed e coletar o devel manualmente.

Você recomenda removê-los após a compilação como regra geral?

    
por mate64 27.02.2013 / 09:54

4 respostas

5

Acho que sua pergunta sobre remoção de pacotes de desenvolvimento tem uma resposta em duas partes. A primeira parte é remover os pacotes -devel conforme recomendado por outros. Isso removerá as interfaces de desenvolvimento de aplicativos, como httpd-devel .

A segunda parte é core development packages para desenvolvimento básico, a maioria necessária se você precisar instalar o programa a partir do código-fonte. O RHEL agrupa esses pacotes em Development tools . Você pode remover esses pacotes usando -

        yum groupremove "Development tools"

Pessoalmente, eu não instalaria nenhum pacote de desenvolvimento em servidores de produção, como SvenW mencionou. Então, eu começaria com uma instalação básica limpa, sem nenhum pacote de desenvolvimento, e explicitamente instalaria apenas os mais necessários, dependendo dos seus requisitos.

    
por 27.02.2013 / 16:26
6
yum remove $(rpm -qa "*-devel")

Além disso, não desenvolva seus sistemas de produção (ou mesmo de preparação). Se você realmente precisa reconstruir um RPM, use mock que o constrói em um chroot e pode limpar depois de si mesmo.

    
por 27.02.2013 / 23:29
4

Tennet de segurança básica: não use listas negras (ou seja, procure coisas para proibir), pois é muito fácil deixar algo de fora (e você não vai descobrir até que seja tarde demais); use listas brancas (ou seja, verifique o que precisa ser permitido), se você esquecer algo que você saberá em breve.

Neste caso particular: Faça uma lista do software que é necessário na máquina, seja para o seu gerenciamento ou para os serviços que está fornecendo, e instale isso (e quaisquer dependências que se arrasta). Se houver várias alternativas (por exemplo, usar scp (1) ou FTP para carregar novos conteúdos), veja se você pode manter apenas uma, e selecione essa com cuidado. Tudo o resto é bagagem e um potencial risco de segurança.

    
por 27.02.2013 / 14:04
3
yum list installed | grep '\-devel\'

ou, desde que o yum tenha um mecanismo de seleção de pacakge:

yum list installed '*-devel'

que também deve funcionar para desinstalação:

yum erase '*-devel'

Para manter o sistema "limpo e gerenciável", tenha uma máquina de trabalho onde você construiu seus próprios pacotes e depois os instale nas máquinas de produção.

    
por 27.02.2013 / 09:58