apt-get expanda o portmap

2

Eu tinha o rpc.statd aberto na porta 111 em uma instalação relativamente nova do debian squeeze. Eu fiz um portmap de limpeza de apt-get como eu queria desativar serviços de rpc e fechar a porta aberta na minha caixa; Eu fui apresentado com o seguinte:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libtirpc1 rpcbind
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libtirpc1 rpcbind
The following packages will be REMOVED:
  nfs-common* portmap*
The following NEW packages will be installed:
  libtirpc1 rpcbind
0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded.
Need to get 127 kB of archives.
After this operation, 438 kB disk space will be freed.
Do you want to continue [Y/n]? n

longa história, eu consegui remover o portmap, sem instalar pacotes adicionais, primeiro fazendo o apt-get expurgar o nfs-common, seguido pelo apt-get purge portmap.

alguém pode explicar esse comportamento? Por que o apt-get tentaria instalar o rpcbind e o libtirpc1 ao tentar limpar o portmap no primeiro caso, mas não no segundo? a partir da saída acima, é claro que o apt-get pretendia remover o nfs-common junto com o portmap para começar. o único outro detalhe relevante que eu pude descobrir é que fam depende do portmap, mas este é um servidor remoto e fam e um gui não são necessários. isso é um bug ou estou faltando alguma coisa? se sim, quem deve o relatório ser direcionado?

    
por obsd 11.02.2012 / 19:33

2 respostas

2

O APT foi projetado para não deixar você com um sistema corrompido. Não tem idéia de que você está executando um servidor e não precisa de um pacote ou outro.

Você verá um comportamento como este ao tentar remover um pacote se algum outro pacote depender do que você está tentando remover, mas também poderá usar outro pacote. Quando você tenta remover o pacote depende do APT se oferecerá para instalar a alternativa.

Você verá isso com frequência se tentar limpar um agente de transferência de e-mail (servidor de e-mail). Há um grande número de programas que requerem um MTA, portanto, quando você tenta limpar o exim ou o postfix, o outro será instalado.

    
por 11.02.2012 / 19:47
1

Basta fazer o seguinte em / etc / default / portmap para impedir que o portmap ouça na interface externa:

# If you want portmap to listen only to the loopback
# interface, uncomment the following line (it will be
# uncommented automatically if you configure this
# through debconf).
OPTIONS="-i 127.0.0.1"

Então faça:

/etc/init.d/portmap restart

Eu acho que o problema é bem simples, mas complicado. O Apt instala o rpcbind porque você remove o portmap De sua saída:

The following extra packages will be installed:
libtirpc1 rpcbind

Mas também percebe que o rpcbind não é mais necessário porque o nfs-common também será removido. De sua saída:

The following packages were automatically installed and are no longer required:
libtirpc1 rpcbind
Use 'apt-get autoremove' to remove them.

Se você tivesse respondido "y", o apt teria removido o portmap e o nfs-common e instalado o libtirpc1 e o rpcbind. Então você teria que executar o apt-get autoremove para remover libtirpc1 e rpcbind.

Eu acho que pode ser algo na ordem de importância no processo de tomada de decisão do apt.

Ou seja. a regra: portmap removido, em seguida, instale o rpcbind

É mais importante que a regra: nfs-common removido, então não preciso de rpcbind

A primeira regra pode ser verificada sem conhecimento ainda de nfs-common sendo removido. É menos importante que um pacote não seja mais necessário do que uma dependência quebrada. E é facilmente "corrigido" executando "apt-get autoremove" posteriormente.

Eu não acho que seja um bug, apenas um resultado do processo decisório do apt.

    
por 12.02.2012 / 08:30