Marque um pacote deb como usado, por isso não é sugerido para autoremoval

8

Eu tenho um monte de bibliotecas compartilhadas instaladas no meu sistema que não são dependências de algum pacote concreto, mas são necessárias para bibliotecas não-gerenciadas pelo apt que eu construí da fonte (como o último SDL, Allegro, SFML, .. .) e outro software construído a partir da fonte. O problema é que essas bibliotecas são vistas pelo APT como não utilizadas e, portanto, são candidatas a remoção automática, e elas se misturam a pacotes não utilizados legítimos que podem ser removidos gratuitamente.

Existe uma maneira de marcar os pacotes usados para que eles não sejam sugeridos para remoção automática? Meu primeiro pensamento foi construir meu próprio metapacote apenas para manter as dependências (como, por exemplo, o ubuntu-desktop), mas não sei como fazer isso.

    
por Boris B. 12.06.2012 / 10:59

3 respostas

9

Embora apt-get install marque os pacotes como instalados também, ele faz outras coisas como atualizar pacotes (se houver uma atualização disponível). O programa correto para alterar os estados instalados automaticamente é apt-mark .

Uso

Marcando um pacote como instalado manualmente (de modo que ele não seja removido por apt-get autoremove ):

sudo apt-mark manual package1 package2 ... packageN

Para marcar um pacote como instalado automaticamente (de forma que ele seja removido por apt-get autoremove se nenhum pacote depender dele):

sudo apt-mark auto package1 package2 ... packageN

Mais detalhes estão disponíveis na página de manual apt-mark (8) .

    
por Lekensteyn 12.06.2012 / 11:17
4

Apenas use o apt-get install:

sudo apt-get install [your-packages]

Não será realmente instalado. Apenas irá definir o sinalizador para ser instalado manualmente.

    
por jasmines 12.06.2012 / 11:03
2

Você não precisa fazer nada tão complicado quanto criar seus próprios meta-pacotes.

Suponha que você queira garantir que um pacote chamado foo nunca seja qualificado para autoremoval.

Abra uma janela do Terminal ( Ctrl + Alt + T ) e execute:

sudo apt-get install foo

Ou seja, o mesmo comando que instala pacotes manualmente irá marcá-los como manualmente instalados para que eles não sejam autorizados automaticamente mesmo quando os pacotes para os quais foram originalmente instalados como dependências forem removidos.

    
por Eliah Kagan 12.06.2012 / 11:03