Como tirar uma distribuição do servidor Linux para o núcleo?

5

Finalmente estou me acostumando a gerenciar um pequeno servidor VPS Ubuntu. No entanto, sei que devo ter programas instalados que não preciso. Mesmo que seja apenas a sobrecarga do sistema Ubuntu em cima do Debian.

Por exemplo, eu não uso o Apache desde que descobri o Nginx. Eu não uso (S) FTP desde que descobri o SSH. Eu posso substituir bash com dash ou OpenSSH com dropbear.

Então, estou me perguntando se existe um guia que eu possa estudar ou um roteiro que possa ser executado lá, o que removerá todas as partes não essenciais do sistema, para que eu possa aprender mais sobre o que é realmente necessário e como essas libs funcionam. Embora eu deva admitir que não estou nem perto de começar a mexer com o próprio núcleo do linux.

Meu objetivo é encaixar um servidor web PHP completo em cerca de 50MB para que eu possa fornecer ao FS e memcache todo o resto da RAM. Eu estou mais interessado no Debian já que já sei - mas também ouvi coisas boas sobre o CentOS.

    
por Xeoncross 21.09.2010 / 17:46

6 respostas

6

Parece que o seu principal objetivo é obter o máximo de sua memória RAM em termos de desempenho e não ter software inchado ou desnecessário, certo? se assim for, basta desabilitar o Apache (por exemplo); você não obtém nenhum benefício desinstalando-o.

Portanto, o melhor é verificar ps fax output. Você verá todos os pacotes em execução e quantos subprocessos estão gerando. É bem provável que você não esteja executando o FTP, então você não precisa se preocupar com isso também.

Além disso, a maioria dos serviços sem desempenho crítico pode ser executada a partir de inetd (ou provável xinetd ). Nesse caso, eles não estão segurando nenhuma RAM até que você acesse a porta certa.

Na minha experiência, o servidor Ubuntu (sem LAMP) está muito próximo dos barebones. Eu costumo apenas adicionar ssh, nginx e qualquer backserver que estou usando.

Se, por outro lado, você quiser reduzir o uso do disco, então você será melhor servido por uma distro diferente ou (a melhor opção, IMHO) Linux From Scratch

    
por 21.09.2010 / 19:16
3

Quando trabalhei para uma empresa de hospedagem VPS, vimos algumas implementações engenhosas do servidor da Web projetadas para residir em um espaço de memória de 64MB (isso pressupõe que você esteja falando sobre RAM, não espaço em disco) - o Debian+nginx HowTo em LowEndBox se destaca como um exemplo strong.

    
por 21.09.2010 / 18:26
2

Você está perguntando o que pode excluir para atender às suas necessidades de um servidor menor. Mas do jeito que você está trabalhando, parece que você pode ter um mal-entendido da distro; O Ubuntu é baseado no Debian, mas não é o Debian com pacotes customizados tornando-o Ubuntu. Você não pode simplesmente cortar as coisas da maneira que parece que você quer.

Além disso, mesmo se houvesse um script ou um pacote, você está dizendo coisas como: você não precisa de FTP desde que descobriu o SSH. Bem, se você estivesse removendo um servidor para o "núcleo", talvez você não precisasse necessariamente do SSH, portanto, as ferramentas automatizadas podem acabar com isso também.

Essencialmente, você precisa intervir e descobrir o que precisa e não precisa e remover os pacotes que não usa.

Eu não sei quais são as condições para o seu VPS, mas minha primeira reação quando as pessoas estão tentando remover um servidor para uma pegada mínima é pedir a eles que procurem distros voltadas para pegadas mínimas. Distrowatch pode ajudá-lo lá. Servidor Ubuntu é um sistema operacional de propósito geral que não é destinado a ser pequeno. Se você está procurando por uma distro de servidor especializada, você pode encontrá-los, mas você perderá algumas funcionalidades que você pode realmente estar acostumado a gostar do sistema apt-get ou alguma outra ferramenta que você venha a confiar.

Sem mencionar que, se você simplesmente descartar as partes, você pode acabar acertando um pacote que você acha que não precisa, mas na verdade faz por causa de alguma dependência removida três vezes.

Encerrar resposta, não conheço nenhuma ferramenta de remoção fácil e automatizada para uma configuração de servidor que não seja a configuração mínima no momento da instalação, e estou desconfiado de qualquer coisa que faça isso porque pode não saber o que eu quero no processo. servidor e pode remover as coisas que eu quero. Em vez disso, eu procuraria uma distro especializada que fosse voltada para a função de servidor que eu queria, ou usaria as ferramentas apt-get para ver o que está instalado e remover coisas que eu não quero (já que o empacotador pode minimizar meus momentos de whoops ).

    
por 21.09.2010 / 17:58
1

Eu costumo fazer o seguinte ao instalar o Debian ou Ubuntu:

  • Não selecione nada no tasksel (parte do processo de instalação)
  • echo 'APT::Install-Recommends "0";' > /etc/apt.conf.d/99local
  • aptidão
    • pressione M na categoria 'Pacotes instalados'. isso marcará todos os pacotes como instalados para satisfazer dependências
    • pressione _ na categoria 'Pacotes instalados'. isso marcará todos os pacotes para limpeza. O aptitude irá reclamar que o essencial não deve ser removido, apenas responda as instruções com retorno e elas não serão
    • pressione g para aplicar suas seleções, a apitude agora corrige os pacotes com dependências quebradas
    • selecione os pacotes que você deseja manter pressionando + sobre eles (aprenda sobre outros comandos do aptitude pressionando?)
    • depois de algum trabalho, o aptitude irá limpar os pacotes que você não precisa.
por 21.09.2010 / 19:22
0

No terreno do Ubuntu, você pode usar um sistema existente para criar imagens do JeOS . Eles são sistemas normais do Ubuntu, mas despojados de quase tudo. Não há nem páginas de manual instaladas. A última vez que eu construí um sistema JeOS do Ubuntu 10.04 LTS x86_64 foi 124MiB compactado, com alguns pacotes adicionais nele (ruby, fantoche e seus deps, outra coisa).

Falando sobre seu objetivo, se você não está colocando todo o sistema em um disco rígido para um hardware sem disco, provavelmente está interpretando mal alguma coisa.

    
por 21.09.2010 / 17:57
0

Se você quer um servidor Linux enxuto, pode instalar o ArchLinux. Está em algum lugar entre o Slackware / Linux do Scratch e o Debian. Confira.

Tenha em mente que as imagens do Ubuntu JeOS (como Luke404 aponta) são versões reduzidas preparadas para serem instaladas em Máquinas Virtuais. Eles têm praticamente o mínimo de suporte de hardware para esse ambiente e o kernel é corrigido com algumas otimizações especificamente para ambientes virtuais.

    
por 21.09.2010 / 19:07

Tags