Marque um pacote deb como usado, por isso não é sugerido para remoção automática

8

Eu tenho várias 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 por apt que eu construí a partir do código-fonte (como SDL, Allegro, SFML, ...) e outro software criado a partir da fonte. O problema é que essas bibliotecas são vistas pelo APT como não utilizadas e, portanto, são candidatas à remoção automática, e se misturam com pacotes não utilizados legítimos, livres para remoção.

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

Boris B.
fonte

Respostas:

9

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

Uso

Marcar um pacote como instalado manualmente (de modo que 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 apt-get autoremovese 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) .

Lekensteyn
fonte
4

Basta usar o apt-get install:

sudo apt-get install [your-packages]

Na verdade, não os instalará. Apenas definirá o sinalizador para instalado manualmente.

jasmim
fonte
2

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

Suponha que você queira garantir que um pacote chamado foonunca seja elegível para remoção automática.

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

sudo apt-get install foo

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

Eliah Kagan
fonte
@BorisB. Se você instalou um pacote manualmente , não importa como você o fez, desde que não tenha sido removido posteriormente ou marcado como instalado automaticamente, ele não será removido automaticamente.
Eliah Kagan
2
Você deve instalá-los como uma dependência de outra coisa. Você provavelmente fez apt-get install yyye xxxinstalou como uma dependência. Em seguida, você removeu yyye xxxfoi marcado para remoção automática. Agora você faz apt-get install xxx.
Vitalie Ciubotaru
Tenho 99% de certeza de que instalei essas bibliotecas usando apt-get install(já que não conheço outra maneira de instalá-las), mas elas ainda são oferecidas para remoção automática.
Boris B.
@VitalieCiubotaru Sim, deve ser isso. Obrigado.
Boris B.