Como posso remover os bits da GUI de uma instalação do Red Hat Enterprise Linux?

5

Estou vendo um farm de servidores RedHat Enterprise Linux (RHEL) 5.3, todos com GNOME e Xorg instalados, nenhum deles precisa deles. Eles foram implantados por terceiros a partir de um modelo de VM, e não conheço toda a história deles. O que eu sei é que nenhum deles executa um aplicativo que realmente requer uma GUI completa instalada. No entanto, é possível que alguns executem um aplicativo que requer algumas bibliotecas X (ImageMagick vem à mente).

De acordo com yum grouplist , o grupo 'X Window System' não está instalado, então não posso usar yum groupremove aqui.

Existe um pacote ou pacotes suficientemente baixo na dependência que eu possa remover, o Gtk, o GNOME e o Xorg? Alternativamente, se ele gerar uma lista de pacotes para remover antes de iniciar, podemos reinstalar os aplicativos de que precisamos, o que fará com que as bibliotecas X sejam recuperadas, quando terminarmos.

    
por crb 07.12.2009 / 12:43

4 respostas

0

Eu não fiz isso com o RHEL ao vivo, mas eu tirei o X do CentOS 5.1 e 5.2. (Eu estive tirando X das distribuições derivadas do Redhat por anos ... desde que as dependências foram feitas de modo que você, basicamente, tinha para instalar o X, quer você quisesse ou não.)

Não me lembro das dependências exatas, mas, se bem me lembro, há algumas dependências que exigem um argumento "--nodeps" para o RPM, a fim de remover os RPMs ofensivos. Acabei de começar a extrair pacotes dos quais não preciso, adicionando mais e mais pacotes à linha de comando "rpm -e" e finalmente adicionando "--nodeps" quando necessário.

Eu não sei se recomendaria fazer isso para máquinas de produção. Eu não implantei qualquer quantidade de CentOS em ambientes de produção, então é provavelmente certo que eu possa estragar minha instalação. Em um ambiente de produção, o espaço em disco é barato. Eu não gosto de ter softwares desnecessários instalados, do ponto de vista da segurança, mas provavelmente o The Right Thing (tm) deve reconstruir os pacotes com dependências ofensivas (sem as dependências ofensivas, obviamente) em vez de apenas rasgar e potencialmente tornando um sistema inutilizável.

    
por 07.12.2009 / 13:12
1

Você também pode considerar apenas não iniciar o servidor X / GDM na inicialização e deixar os pacotes lá. Eu acho que eles vão ocupar algum espaço e adicionar tempo para atualizações, mas fora isso eu não acho que eles vão causar problemas.

Para a sua situação, você pode realmente querer que eles sejam removidos, ou você já deve ter pensado nisso, mas eu apenas gostaria de colocar isso lá fora: -)

    
por 07.12.2009 / 17:06
0

Eu estou fazendo basicamente a mesma coisa no momento. Meu método é principalmente manual, devido à falta de ferramentas para isso, mas pode ser útil.

Primeiro, implante um novo servidor com a lista correta de pacotes necessários, ou seja, sem X e Gnome. Em seguida, difira a lista de pacotes no antigo e no novo servidor. Não é aconselhável apenas tentar remover o diff inteiro do servidor antigo - você nunca sabe o que vai quebrar - mas pode ser um começo. Pegue alguns pacotes grandes do diff que você tem certeza de que não vai quebrar coisas (como nautilus) e começar a partir daí. Tente um rpm -e --test na lista compilada, enxague, repita. A lista final pode então ser utilizada nos outros servidores de forma indolor, dado que os servidores são todos semelhantes.

Eu sinceramente concordo que esta não é uma maneira legal, limpa e padronizada de fazer isso, mas eu valorizo mais a remoção do Gnome e X crud dos meus servidores do que ter um processo simplificado para chegar lá. Mente, btw, que eu não instalei esses servidores, estou apenas limpando-os. ; -)

Nós só removemos os pacotes durante a correção do tempo de inatividade, para que possamos testar o aplicativo (principalmente Oracle) diretamente após removê-los. Em caso de quebra, nós yum install da lista e tente novamente com um subconjunto menor. Não que isso tenha acontecido, mas você deveria estar preparado para o pior. Como Evan disse: isso é um negócio arriscado.

Meu alvo principal é remover os aplicativos X maiores dos servidores (como, por exemplo, nautilus, firefox, openoffice, etc.) principalmente por causa da redução do espaço de segurança. O fato de que alguns aplicativos pequenos possivelmente permanecerão instalados é bom para mim - por enquanto - porque estamos 'pegando peixes maiores', por assim dizer.

    
por 07.12.2009 / 13:41
0

Eu fiz isso funcionar com o Kickstart. Se você criar um arquivo de configuração do kickstart, poderá excluir a base da definição de pacotes e obter uma instalação realmente mínima. Eu acho que era tão minimalista que nem sequer tinha yum e alguns outros, e eu tive que adicionar esses pacotes de volta.

    
por 07.12.2009 / 16:17