Após instalar novamente uma lista de pacotes, o dselect-upgrade retorna uma lista vazia

0

Esta é a terceira vez que eu uso exatamente este mesmo método para instalar todos os meus pacotes em uma nova instalação do Ubuntu. Os dois anteriores foram bem sucedidos. Mas desta vez dselect-upgrade retorna uma lista vazia, nada para instalar ...

Antes disso, re-instalei todos os PPAs.

Eu tenho a lista de pacotes para instalar no novo computador a partir de um script bash no computador anterior:

# apt install packages
dpkg --get-selections | grep install > $distrib_release_name.Package.List.install.$machine'.log'

A saída está correta com o nome do pacote em cada linha com a palavra-chave install à direita, aqui está um trecho:

aaphoto                     install

Eu criei uma pasta tmp no meu novo diretório inicial e movi a lista de pacotes para lá.

Para reinstalar no Xenial 16.04 (a partir do Xenial 16.04), eu digitei o seguinte cmd. linhas na nova máquina:

$ sudo apt-get install dselect
$ sudo dselect update
$ cd /home/ubuntu-xenial/user/tmp
$ sudo dpkg --set-selections < Xenial.16.04.Package.List.install.Julius-PC.log

Uma longa lista de avisos segue. Mas, ao contrário das outras vezes, encontro todos os pacotes na lista de avisos, menos os que já estão presentes na nova instalação. Essas linhas parecem:

dpkg: warning: package not in database at line 2: aaphoto
dpkg: warning: package not in database at line 2: abiword
dpkg: warning: package not in database at line 2: abiword-common
dpkg: warning: package not in database at line 2: abiword-plugin-grammar
dpkg: warning: package not in database at line 2: account-plugin-aim
dpkg: warning: package not in database at line 4: account-plugin-foursquare
[...]
dpkg: warning: package not in database at line 1825: zint-qt-devel
dpkg: warning: package not in database at line 1827: zlib1g:i386
dpkg: warning: package not in database at line 1827: zlib1g-dev:amd64
dpkg: warning: package not in database at line 1827: zsh
dpkg: warning: package not in database at line 1827: zsh-common
dpkg: warning: found unknown packages; this might mean the available database
is outdated, and needs to be updated through a frontend method
$ 

Além disso, a numeração de linhas sugere que o cmd. para instalar pacotes é construir 'por trás', como vários nomes de pacotes estão na mesma linha que o esperado. Mas o erro impede qualquer ação ...

Eu recebi esses avisos em um arquivo chamado dpkg--set-selections-warnings.log Eu acredito que esta é uma referência ao apt database na nova instalação atual?

Em seguida, para que a lista de pacotes seja instalada em um arquivo de texto:

$ echo n | sudo apt-get dselect-upgrade > dselect-upgrade.packages.list.to.be.installed.log

Em seguida, execute a atualização:

$ sudo apt-get dselect-upgrade
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

Isso funcionou bem nas últimas duas vezes, no entanto, o conteúdo do arquivo dselect-upgrade.packages.list.to.be.installed.log está bastante vazio (conforme esperado, correspondendo à saída da linha cmd. acima):

Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

Estou perdido em descobrir por que os pacotes a serem instalados são uma lista vazia.

[NOTE]: Quase 1 mês após a postagem, ainda sem resposta. Eu teria esperado algo da equipe 'oficial' do Ubuntu, pois definitivamente parece que alguns pacotes de configuração / comportamento do sistema mudaram ao longo do tempo. Eu não vejo nenhuma outra explicação como este comando se aplica a uma 'nova instalação' do Ubuntu LTS ... É claro que existem algumas soluções de desvio que não são nada elegantes ... Como forçar a instalação de todos os pacotes através de apt , mas nem todos couberam em apenas um comando, tive que limitar o nbr. de pacote por cmd. para entre 500 / 1000. Além disso, alguns pacotes são dependências e já foram instalados antes. Por que esse ótimo recurso UNIX está completamente corrompido em Ubuntu ?

    
por Antonio 16.02.2018 / 01:35

1 resposta

1

OK. Bem, depois de pesquisar sobre Debian bugs, encontrei esta página sobre isso pessoa reclamando sobre o novo comportamento de dselect-upgrade , que é visto como "ortodoxo" pelos mantenedores. Ainda assim, parece que a página de manual permite que os usuários que estamos, completamente vendados pela mudança. Boas-vindas calorosas ao software livre:)

Então a solução está bem clara agora. Você precisa instalar o pacote dctrl-tools :

$ sudo apt-get install dctrl-tools

Em seguida, você precisa sincronizar o banco de dados, caso contrário, o novo comportamento de dselect-upgrade apenas o informará sobre o conjunto atual de pacotes no apt database .

$ sudo sync-available
Merging available database in /tmp/apt-available.80qLJ6...done.
Replacing available packages info, using /tmp/apt-available.80qLJ6.
Information about 88311 packages was updated.
$ 

Em seguida, proceda como de costume:

$ sudo dpkg --set-selections < Xenial.16.04.Installed.Packages.GA-Z370-AORUS-G7.log
dpkg: warning: package not in database at line 29: adobereader-enu:i386
[...]
dpkg: warning: package not in database at line 7929: zint-qt
dpkg: warning: package not in database at line 7929: zint-qt-devel
dpkg: warning: found unknown packages; this might mean the available database
is outdated, and needs to be updated through a frontend method
$ 

Desta vez, ele está funcionando completamente, pois só tenho 32 pacotes não encontrados no banco de dados, pois eles são criados localmente ou diretamente disponíveis de diferentes fornecedores.

$ sudo apt-get dselect-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libavcodec-ffmpeg56
The following NEW packages will be installed:
  aaphoto abiword abiword-common abiword-plugin-grammar account-plugin-aim account-plugin-foursquare
  account-plugin-identica account-plugin-instagram account-plugin-jabber account-plugin-salut account-plugin-twitter
  account-plugin-yahoo acetoneiso acpica-tools acpidump activity-log-manager-control-center adequate advancecomp
[...]
  xsel xserver-xephyr xsltproc xtightvncviewer xtrans-dev xubuntu-icon-theme xutils-dev xvfb xvid4conf xzdec xzgv
  y-ppa-manager yad yasm yelp-tools youtube-dl zeitgeist zim zlib1g:i386 zlib1g-dev zsh zsh-common
0 upgraded, 6074 newly installed, 1 to remove and 0 not upgraded.
Need to get 7,138 MB/7,140 MB of archives.
After this operation, 24.2 GB of additional disk space will be used.
Do you want to continue? [Y/n] n
$ 

Com o objetivo de documentar esta questão do Ask Ask Ubuntu, respondi que não. Mais tarde, usarei o processo descrito na minha pergunta acima para manter um rastreio de arquivo da atualização. Mas desta vez está funcionando como esperado, finalmente!

    
por Antonio 08.03.2018 / 20:53