Pacotes essenciais são necessários em um sistema normal, mas um chroot não é realmente um sistema normal. Você não precisa dos pacotes que fornecem serviços do sistema que o Android está efetivamente fornecendo (se de uma forma que não permitirá que você faça tudo o que você pode fazer em um sistema Linux normal), como init e login.
Você pode dizer ao dpkg
para remover pacotes marcados como essenciais com a opção de linha de comando --force-remove-essential
.
Dos pacotes marcados como essenciais no Debian jessie, para o seu caso de uso, você não precisa de init
, ncurses-base
, ncurses-bin
, diffutils
, login
, e2fsprogs
e possivelmente não perl-base
, base-passwd
e base-files
. Além disso, existem muitos pacotes que o debootstrap instala por padrão que você não precisa, como locales
. Você também pode se livrar de toda a documentação ( /usr/share/doc
, /usr/share/man
, /usr/share/info
), mas não há como evitar que os arquivos sejam reescritos em cada atualização de pacote.
Outra grande coisa que você realmente não precisa é coreutils
e possivelmente não debianutils
, bsdutils
, gzip
, mount
e util-linux
, se você as substituir por busybox
. Se você não se importa em ter um shell de linha de comando confortável, não precisa de bash
.
Se você quer economizar espaço, e você só precisa de acesso SSH e rsync, você pode obter algo menor que o Debian. Tudo o que você precisa é Dropbear, rsync e as bibliotecas de que precisam. O Dropbear não fornece um servidor SFTP, portanto, se você quiser, precisará instalar o do OpenSSH. Há um número de distribuições projetadas para sistemas embarcados com uma instalação base que não inclui o bash ou o perl, onde toda a documentação vem em um pacote separado, e onde a biblioteca padrão não é a Glibc, mas uma alternativa menor como o uClibc. Procure distribuições com o gerenciador de pacotes opkg
ou ipkg
, como OpenWRT e Optware ou outros mencionados na lista de produtos da BusyBox .