Como remover um sistema Linux?

24

Eu venho construindo uma distro Linux, e eu tirei os binários, etc. O sistema não usa o GCC ou as ferramentas de desenvolvimento, já que será um quiosque do Chrome, então seria de grande ajuda se eu pudesse eliminar o sistema ...

Eu queria saber, existe uma maneira que eu possa excluir todos os arquivos de sistema não utilizados (como binários, etc.), observando quais arquivos / bibliotecas são usados durante o tempo de execução? Talvez outro método seja preferido, mas existe uma maneira de realizar algo assim?

    
por Blender 10.12.2010 / 03:53

5 respostas

11

Existem programas como Bootchart que pode ser usado para mostrar quais programas você executou durante a inicialização - provavelmente você pode mantê-lo funcionando após a inicialização para ver o que foi invocado durante um sessão.

Uma solução melhor pode ser usar ferramentas de remasterização.

Existem ferramentas de remasterização para o Fedora , Ubuntu e outros; você pode usá-los para personalizar uma distribuição.

Você pode querer olhar para Tiny Core Linux . Há um cara trabalhando em um script de remasterização para isso também.

    
por 10.12.2010 / 04:28
6

Entre outras coisas, você quer remover tudo que não precisa. Certifique-se de que o sistema de arquivos tenha atime totalmente ativado; você pode definir isso em /etc/fstab . O padrão atual é relatime , mas você deseja usar apenas atime . Toda vez que um arquivo é acessado, o registro de data e hora será atualizado. Em seguida, faça algum uso por alguns dias para ver quais arquivos nunca tiveram seu atime atualizado. Eu faria tudo isso em uma VM e com muito cuidado, porque imagino que há alguns arquivos que são lidos quando o sistema está no modo somente leitura. Nota: defina-o como noatime quando estiver pronto para produção, caso contrário, você escreverá sempre que ler; isso é ineficiente.

Apesar de ser honesto, eu olharia Maldito Pequeno Linux ; você realmente precisa ser menor que isso? Construa o seu baseado em sua distro e simplesmente remova o gerenciador de janelas e alguns programas extras. Deixe todas as ferramentas de linha de comando, assim, se você precisar reparar ou recarregar, você tem o shell.

    
por 10.12.2010 / 11:33
5

assumindo que você está usando o Debian ou seus derivados

Após alguns dias de uso (pesado), execute popularity-contest . Ele exibirá os pacotes não utilizados mais antigos na parte inferior. Desinstale-os, mas com um olhar atento sobre se há ou não coisas que dependem deles instalados.

Aqui está um trecho da saída:

1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop

As colunas significam atime , ctime , nome do pacote e arquivo acessado .

    
por 05.01.2011 / 11:31
1

Use ativamente o seu sistema por um tempo com os tempos de acesso a arquivos ativados. Veja quais arquivos nunca tiveram seu tempo de acesso modificado. Esses são candidatos para exclusão (mas certifique-se de que não haja uma razão para mantê-los, por exemplo, porque são drivers de hardware que você não possui ou são necessários no início do processo de inicialização quando a partição raiz ainda está montado somente leitura).

Como você terá poucos aplicativos grandes, verifique quais bibliotecas são usadas por um único executável. Considere ligá-los estaticamente.

ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$//p' |sort |uniq -c
    
por 10.12.2010 / 19:45
0

De onde exatamente você está começando? Você está retirando uma distro existente? Existe alguma razão para começar com alguma distro?

Você pode querer considerar criar um sistema embarcado a partir do zero e carregar apenas o que você sabe que precisa.

    
por 11.12.2010 / 01:02