3.6. Instale o mínimo de software necessário
O Debian vem com
uma grande quantidade de software, por exemplo o Debian 3.0
woody inclui quase 6 CD-ROMs de software e milhares de pacotes. Apesar da grande quantidade de software, a instalação do sistema base utiliza poucos pacotes.
você pode estar mal informado e instalar mais que o realmente necessário para seu sistema.
Sabendo o que seu sistema realmente precisa, você deve instalar apenas o que for realmente necessário para seu trabalho. Qualquer ferramenta desnecessária pode ser usada por um usuário malicioso para comprometer o sistema ou por um invasor externo que tenha acesso ao shell (ou código remoto através de serviços exploráveis).
A presença, por exemplo, de utilitários de desenvolvimento (um compilador C) ou linguagens interpretadas (como perl, python, tcl...) pode ajudar um atacante a comprometer o sistema da seguinte maneira:
É claro que um invasor com acesso ao shell local pode baixar suas próprias ferramentas e executá-las, além disso o próprio shell pode ser usado para fazer complexos programas. Remover software desnecessário não impedirá o problema mas dificultará a ação de um possível atacante. Então, se você deixar disponíveis ferramentas em um sistema de produção que poderiam ser usadas remotamente para um ataque (veja
Seção 8.1, “Ferramentas de verificação remota de vulnerabilidades”), pode acontecer de um invasor usá-las.
Please notice that a default installation of Debian
sarge (i.e. an installation where no individual packages are selected) will install a number of development packages that are not usually needed. This is because some development packages are of
Standard priority. If you are not going to do any development you can safely remove the following packages from your system, which will also help free up some space:
Package Size
------------------------+--------
gdb 2,766,822
gcc-3.3 1,570,284
dpkg-dev 166,800
libc6-dev 2,531,564
cpp-3.3 1,391,346
manpages-dev 1,081,408
flex 257,678
g++ 1,384 (Note: virtual package)
linux-kernel-headers 1,377,022
bin86 82,090
cpp 29,446
gcc 4,896 (Note: virtual package)
g++-3.3 1,778,880
bison 702,830
make 366,138
libstdc++5-3.3-dev 774,982
Remover o
perl pode não ser fácil em um sistema Debian pois ele é muito usado. O pacote
perl-base tem prioridade classificada como requerida (
Priority: required), o que já diz tudo. Você pode removê-lo mas não será capaz de rodar qualquer aplicação
perl no sistema; você ainda terá que enganar o sistema de gerenciamento de pacotes para ele pensar que o
perl-base ainda está instalado.
Quais utilitários usam
perl? Você mesmo pode verificar:
$ for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do [ -f $i ] && {
type=`file $i | grep -il perl`; [ -n "$type" ] && echo $i; }; done
Estes incluem os seguintes utilitários em pacotes com prioridade required ou important:
/usr/bin/chkdupexe do pacote util-linux.
/usr/bin/replay of package bsdutils.
/usr/sbin/cleanup-info do pacote dpkg.
/usr/sbin/dpkg-divert do pacote dpkg.
/usr/sbin/dpkg-statoverride do pacote dpkg.
/usr/sbin/install-info do pacote dpkg.
/usr/sbin/update-alternatives do pacote dpkg.
/usr/sbin/update-rc.d do pacote sysvinit.
/usr/bin/grog of package groff-base.
/usr/sbin/adduser of package adduser.
/usr/sbin/debconf-show do pacote debconf.
/usr/sbin/deluser of package adduser.
/usr/sbin/dpkg-preconfigure do pacote debconf.
/usr/sbin/dpkg-reconfigure do pacote debconf.
/usr/sbin/exigrep of package exim.
/usr/sbin/eximconfig of package exim.
/usr/sbin/eximstats of package exim.
/usr/sbin/exim-upgrade-to-r3 do pacote exim.
/usr/sbin/exiqsumm of package exim.
/usr/sbin/keytab-lilo do pacote lilo.
/usr/sbin/liloconfig of package lilo.
/usr/sbin/lilo_find_mbr do pacote lilo.
/usr/sbin/syslogd-listfiles do pacote sysklogd.
/usr/sbin/syslog-facility do pacote sysklogd.
/usr/sbin/update-inetd do pacote netbase.
Assim, sem Perl e, a menos que você recompile estes utilitários em um script shell, você provavelmente não será capaz de gerenciar nenhum pacote (assim você também não será capaza de atualizar o sistema, o que não é uma coisa boa).
Se você está determinado a remover o Perl do Debian e tem tempo de sobra, envie os relatórios de bugs referentes aos pacotes acima referidos incluindo possíveis substituições para os utilitários escritas em shell.
If you wish to check out which Debian packages depend on Perl you can use
$ grep-available -s Package,Priority -F Depends perl
or
$ apt-cache rdepends perl