Como os pacotes são classificados no apt-mark showauto / showmanual?

5

Eu comparo as saídas de

$ dpkg --get-selections | grep -v deinstall | awk ' { print  } ' > dpkg.txt

$ apt-mark showmanual > manual.txt

$ apt-mark showauto > auto.txt

Eu acho que

  • dpkg.txt será todos pacotes
  • manual.txt será pacotes "primários"
  • auto.txt será dependências de pacotes em manual.txt

Eu verifiquei e dpkg.txt é a "soma" de auto.txt e manual.txt como eu esperava, mas estou vendo pacotes "primários" como apport, locate, unzip, zip no auto.txt e muitos lib arquivos (dependências?) em manual.txt.

Por que isso?

Eu olhei para man apt-mark , mas isso não explica minha pergunta:

       showauto
           showauto is used to print a list of automatically installed packages with each package on a new line. All automatically installed
           packages will be listed if no package is given. If packages are given only those which are automatically installed will be shown.

e

       showmanual
           showmanual can be used in the same way as showauto except that it will print a list of manually installed packages instead.

Também indico que não marquei pacotes usando apt-mark auto ou apt-mark manual .

Por favor, note que não tenho problemas com o meu sistema. Isto é apenas para o meu entendimento.

    
por DK Bose 11.03.2014 / 14:34

1 resposta

4

Não podemos apenas dizer que apt-mark showmanual mostra apenas dependecies que são instaladas automaticamente.

Alguns pacotes que normalmente seriam instalados automaticamente são marcados de outra forma porque eles ou seus depender estão em especial seções.

Então é normal que, se você fizer isso:

$ apt-get install foo
NEW: foo

você obtém como instalado manualmente

por outro lado, se for:

$ apt-get install foo
NEW: foo foo-data

foo-data aparecerá como instalado automaticamente.

Morover

Se foo é instalado automaticamente e você faz:

$ apt-get install foo

no final da operação foo será marcado como instalado manualmente.

Pedimos que uma máquina seja inteligente, mas as máquinas são idiotas. Podemos não ter instalado um Xserver , que está lá manualmente instalado (você deve ser como quando eu instalei o Xserver manualmente), mas o instalador fez porque acredita que precisamos e não queremos removê-lo. O mesmo vale para a instalação gnome e marcando tudo gnome depende de manual porque usuários assumem que remover apenas o (metapackage) gnome não será automaticamente também remove todos os aplicativos do gnome com os quais eles se acostumaram.

Em seguida, seguimos um tutorial ou usamos uma dessas doenças, como porcaria scripts de instalador de fontes duvidosas que apenas apt-get install everything .

Isto é diferente do seu uso de saber quais pacotes são instalado por você, em vez de algum processo automatizado. Pode se sobrepor em vezes, mas nem sempre. O grande problema que você tem que enfrentar é que é É muito difícil decidir se você ou o software pediram uma instalação. Muitos vezes os dois.

Exemplo : um aplicativo que instala pacotes (para você) para ativar o suporte de hardware (para você). [você vê o que eu fiz aqui?] Isso é auto ou manually installed ?

Primeiro : um pacote instalado automaticamente tem o conjunto de sinalizadores 'Instalado automaticamente: 1'.

Segundo : Se você não tiver dados, defina como padrão uma opção segura e isso está aqui "auto-installed: 0" (= instalado manualmente) porque não está removendo nada.

Então você não pode simplesmente dizer que um contém completamente manualmente instalado e o outro completamente instalado automaticamente.

(Tem também razões históricas como este rastreamento não foi implementado a partir de  o começo e houve um tempo em que as pessoas se importavam muito com as atualizações).

    
por Stormvirux 11.03.2014 / 15:25

Tags