Eu estava olhando a lista de pacotes com dselect
, mas pressionei Return duas vezes por engano, confirmando assim e saindo da opção [S]elect
.
Quando eu vou para a opção [I]nstall
, agora está sugerindo instalar vários novos pacotes que eu não quero (e que nada têm a ver com o que eu estava procurando em primeiro lugar).
Como não procedi com a própria instalação, existe uma maneira de redefinir a seleção para o que era antes de eu selecionar novos pacotes, sem passar pela lista um por um e pressionar -
para cada pacote? (Não importa se é feito via dselect
ou via outro comando relacionado.)
EDIT: (Adicionando um exemplo)
Já experimentei outra máquina em que o dselect
está instalado. Vamos supor que o pacote gnugo
não esteja instalado (isso é apenas um exemplo).
- Abra
delect
e escolha [S]elect
para obter a lista.
- Pesquise
gnugo
nesta lista (usando / , se você não estiver familiarizado com dselect
).
- Selecione com + .
- Pressione Retornar para validar as sugestões e Retornar novamente para validar voltar ao menu principal (o erro que cometi).
-
Vá para [I]nstall
. Agora vai dizer:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
gnugo:i386 libgpm2:i386 libncurses5:i386 libreadline6:i386 libtinfo5:i386
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,926 kB of archives.
After this operation, 9,634 kB of additional disk space will be used.
Do you want to continue [Y/n]?
-
Aqui, escolha não continuar ( n
).
- Saia de
dselect
.
-
dpkg --get-selections | grep gnugo
não gera nada.
- Inicie o
dselect
novamente, vá direto para [I]nstall
novamente, os pacotes ainda serão selecionados para instalação.
Claro, eu posso voltar para a lista [S]elect
, procurar por gnugo
, pressionar _ para desmarcá-la, mas em um caso mais complexo, você pode ter que passar pelo lista de novos pacotes, um por um.
[I]nstall
in dselect
é visivelmente um front-end para apt-get install
, mas não tenho certeza de onde ele é selecionado. Parece dpkg --get-selection
não é isso.
Quanto a dselect
, gostaria de redefini-la em um estado em que tudo o que ficou com ***
permanece, mas o que está marcado agora com apenas **
(e ainda não instalado) retorna a __
, sem ter que percorrer manualmente a lista sugerida no menu [I]nstall
.
EDIT 2:
Isso está claramente relacionado ao conteúdo de /var/lib/dpkg/status
, que contém esta entrada:
Package: gnugo
Status: install ok not-installed
Priority: optional
Section: games
Se eu alterar isso manualmente para Status: deinstall ok not-installed
, ele desaparecerá da seleção em dselect
(o que faz sentido).
O que eu gostaria é de uma maneira geral de transformar o que diz Status: install ok not-installed
em Status: deinstall ok not-installed
(deixando os pacotes dizendo Status: install ok installed
não afetado).