terça-feira, 20 de outubro de 2020

Conky altera duas vezes o cálculo da Memória usada

Aumento aparente de uso de RAM, com o Conky 1.11.6

• Desde Agosto 2020, o Conky 1.11.6 passou a mostrar valores muito mais altos de uso de Memória RAM — no openSUSE Tumbleweed, Debian testing, Fedora, Mageia 8 (beta), Void Linux.

Situação após nova reviravolta do Conky

• Em Março 2021, o Conky 1.12.1 fez outra reviravolta, — passando a exibir valores muito baixos.

Desse modo, passaram a coexistir versões do Conky com 3 diferentes cálculos de uso de Memória RAM:

Conky 1.10.8   =  htop   (htop)        Neon, Mint 20, MX Linux 19
Conky 1.11.6   >  htop   (new calc)    Arch, Debian testing, Mageia 8
Conky 1.12.1   <  htop   (free, top)   openSUSE Tumbleweed, Fedora 33, PCLinuxOS, Void

Mas as coisas não pararam por aí.

• Até Outubro 2021, outras mudanças já haviam acontecido:

  • inxi (3.1.09), neofetch, (7.1.0*), screenfetch (3.9.1*) e htop (3.1.0) também já adotaram um “novo cálculo“ em suas versões mais recentes. — (*) Neofetch and Screenfetch now present different behaviors within the same versions.
  • O Conky já tinha recuado de sua segunda alteração
  • free / top (procps) são as únicas ferramentas que ainda permitem comparar o uso inicial de Memória RAM entre as 12 distros instaladas no meu PC, porque mantêm o mesmo cálculo em todas elas.

Ao longo desses 14 meses, me vi tentando vários modos de obter números consistentes entre as 12 distros que utilizo — desde o MX Linux 19 (Debian Buster) até o Arch Linux.

Índice

  • Novo cálculo (Conky 1.11.6)
  • Comparação precária (I)
  • Reviravolta (Conky 1.12.1)
  • Comparação precária (II)
  • Novas mudanças
  • Ferramentas e medições
  • MX Linux 21 Beta1
  • Situação atual
  • “Monitor do Sistema”

Novo cálculo (Conky 1.11.6)

Proposta do novo cálculo, em 2014

Os altos valores de uso de Memória RAM no Conky 1.11.6, não são um bug. — Trata-se de uma “correção” do antigo cálculo da “Memória RAM usada” — e foi sugerida ou subscrita por Linus Torvalds desde 2014 (Kernel 3.14), quando se introduziu em /proc/meminfo um campo “MemAvailable”, exatamente para tornar esse cálculo mais acurado:

Currently, the amount of memory that is available for a new workload, without pushing the system into swap, can be estimated from MemFree, Active(file), Inactive(file), and SReclaimable, as well as the "low" watermarks from /proc/zoneinfo.

However, this may change in the future, and user space really should not be expected to know kernel internals to come up with an estimate for the amount of free memory.

It is more convenient to provide such an estimate in /proc/meminfo. If things change in the future, we only have to change it in one place.

Aplicação do novo cálculo ao Conky, em 2019

A aplicação dessa mudança no Conky foi pedida em Junho 2019 e efetuada em Outubro 2019 (acima), — cerca de 10 meses antes de o Conky 1.11.6 chegar às minhas distros rolling-release (e ao Fedora).

Foi um movimento em direção a um cálculo “tecnicamente mais correto”, — embora tenha quebrado a consistência com os números indicados por versões 1.10.8 e anteriores do Conky.

Comparação precária (I)

Memória RAM usada, segundo Conky, htop, inxi, free, top

Outubro 2020 - Em um primeiro momento, incluir o htop no Conky me pareceu um modo prático de ter sempre o “cálculo antigo” diante dos olhos, — para uma comparação (ainda que precária) do uso inicial de Memória RAM entre distros Linux que agora tinham versões do Conky com cálculos diferentes.

Indicações iguais de uso de RAM pelo Conky e pelo htop, em 2019

A paridade do htop com o “cálculo antigo” do Conky — exceto no openSUSE Leap (que não uso mais) — era coisa observada desde 2017:

------------------------ Conky vs. htop – RAM Memory usage -------------------------

     Date        Time     Distro                Conky     htop      A-B        A/B

2017 Jun. 14   16:11:06   Debian testing          651      636     + 15     +  2.36%
2017 Jun. 14   17:30:52   Debian testing          547      547
2017 Jun. 14   17:34:07   Debian testing          489      487     +  2     +  0.41%
2017 Jun. 16   02:07:16   Debian testing          441      441
2017 Jun. 16   02:07:20   Debian testing          488      486     +  2     +  0.41%
2017 Jun. 16   02:08:08   Debian testing          450      450
2017 Jun. 16   04:41:51   Debian testing          448      448

2017 Jun. 14   17:23:28   Kubuntu 16.04           538      538
2017 Jun. 14   17:26:26   Kubuntu 16.04           479      479
2017 Jun. 14   17:28:21   Kubuntu 16.04           461      461
2017 Jun. 15   14:20:28   Kubuntu 16.04           457      456     +  1     +  0.22%
2017 Jun. 15   14:24:49   Kubuntu 16.04           459      459
2017 Jun. 15   14:26:00   Kubuntu 16.04           435      435
2017 Jun. 16   02:21:56   Kubuntu 16.04           431      431
2017 Jun. 17   16:22:41   Kubuntu 16.04           444      444

2017 Jun. 14   16:22:25   KDE Neon (16.04)        482      482
2017 Jun. 14   17:37:32   KDE Neon (16.04)        487      478     +  9     +  1.88%
2017 Jun. 14   17:40:34   KDE Neon (16.04)        428      420     +  8     +  1.90%
2017 Jun. 16   01:46:54   KDE Neon (16.04)        431      432     -  1     -  0.23%
2017 Jun. 16   01:46:56   KDE Neon (16.04)        436      436
2017 Jun. 16   01:47:47   KDE Neon (16.04)        430      430
2017 Jun. 16   03:00:58   KDE Neon (16.04)        433      433
2017 Jun. 16   05:30:43   KDE Neon (16.04)        420      420

2017 Jun. 14   13:44:11   Mint 18 KDE (16.04)     638      638
2017 Jun. 14   16:53:41   Mint 18 KDE (16.04)     558      558
2017 Jun. 14   17:09:59   Mint 18 KDE (16.04)     510      510
------------------------------------------------------------------------------------
     Date        Time     Distro                Conky     htop      A-B        A/B

2017 Jun. 14   13:19:36   Arch                    556      552     +  4     +  0.72%
2017 Jun. 14   16:58:18   Arch                    549      546     +  3     +  0.55%
2017 Jun. 14   17:00:08   Arch                    467      466     +  1     +  0.21%
2017 Jun. 14   18:23:08   Arch                    471      474     -  3     -  0.63%
2017 Jun. 15   14:44:56   Arch                    475      478     -  3     -  0.63%
2017 Jun. 15   14:46:13   Arch                    458      458
2017 Jun. 15   15:01:01   Arch                    477      475     +  2     +  0.42%
2017 Jun. 15   15:02:18   Arch                    457      457
2017 Jun. 15   19:49:33   Arch                    465      465
2017 Jun. 15   19:49:42   Arch                    490      490
2017 Jun. 15   19:50:19   Arch                    449      449
2017 Jun. 15   19:50:49   Arch                    451      451
2017 Jun. 16   05:36:30   Arch                    482      482
2017 Jun. 16   05:37:12   Arch                    466      466

2017 Jun. 14   18:20:05   Arch  (2)               438      439     -  1     -  0.23%
2017 Jun. 14   18:21:36   Arch  (2)               436      432     +  4     +  0.93%
2017 Jun. 15   14:47:53   Arch  (2)               445      445
2017 Jun. 15   14:49:11   Arch  (2)               418      418
2017 Jun. 15   14:51:19   Arch  (2)               419      419
2017 Jun. 15   14:52:42   Arch  (2)               394      394
2017 Jun. 15   14:56:10   Arch  (2)               420      417     +  3     +  0.72%
2017 Jun. 15   14:57:31   Arch  (2)               405      405
------------------------------------------------------------------------------------
     Date        Time     Distro                Conky     htop      A-B        A/B

2017 Jun. 14   16:32:58   Mageia 6 (sta2)         664      664
2017 Jun. 14   17:43:23   Mageia 6 (sta2)         670      666     +  4     +  0.60%
2017 Jun. 14   17:47:01   Mageia 6 (sta2)         618      618
2017 Jun. 15   22:21:21   Mageia 6 (sta2)         605      584     + 21     +  3.60%
2017 Jun. 15   22:22:04   Mageia 6 (sta2)         596      596
2017 Jun. 15   22:22:34   Mageia 6 (sta2)         599      599
2017 Jun. 15   22:47:51   Mageia 6 (sta2)         583      582     +  1     +  0.17%
2017 Jun. 15   22:48:32   Mageia 6 (sta2)         554      554
2017 Jun. 15   23:19:17   Mageia 6 (sta2)         580      580
2017 Jun. 15   23:20:02   Mageia 6 (sta2)         554      554
2017 Jun. 15   23:20:32   Mageia 6 (sta2)         555      554     +  1     +  0.18%
2017 Jun. 15   23:40:21   Mageia 6 (sta2)         576      574     +  2     +  0.35%
2017 Jun. 15   23:41:10   Mageia 6 (sta2)         550      550
2017 Jun. 16   01:18:54   Mageia 6 (sta2)         582      581     +  1     +  0.17%
2017 Jun. 16   01:19:39   Mageia 6 (sta2)         556      556
2017 Jun. 16   04:56:03   Mageia 6 (sta2)         579      579
2017 Jun. 16   04:56:38   Mageia 6 (sta2)         561      561
------------------------------------------------------------------------------------
     Date        Time     Distro                Conky     htop       A-B        A/B

2017 Jun. 14   15:29:53   openSUSE Leap 42.2      590      480     + 110    + 22.92%
2017 Jun. 14   15:33:25   openSUSE Leap 42.2      577      475     + 102    + 21.47%
2017 Jun. 14   17:14:40   openSUSE Leap 42.2      594      481     + 113    + 23.49%
2017 Jun. 14   17:17:36   openSUSE Leap 42.2      528      437     +  91    + 20.82%
2017 Jun. 15   16:32:21   openSUSE Leap 42.2      517      413     + 104    + 25.18%
2017 Jun. 15   16:32:25   openSUSE Leap 42.2      549      448     + 101    + 22.54%
2017 Jun. 15   16:33:43   openSUSE Leap 42.2      528      470     +  58    + 12.34%
2017 Jun. 15   16:34:42   openSUSE Leap 42.2      622      575     +  47    +  8.17%
2017 Jun. 15   16:39:00   openSUSE Leap 42.2      533      449     +  84    + 18.71%
2017 Jun. 15   16:42:32   openSUSE Leap 42.2      537      437     + 100    + 22.88%
2017 Jun. 15   17:13:52   openSUSE Leap 42.2      594      565     +  29    +  5.13%
2017 Jun. 15   17:59:12   openSUSE Leap 42.2      529      434     +  95    + 21.89%
2017 Jun. 15   18:00:47   openSUSE Leap 42.2      516      457     +  59    + 12.91%
2017 Jun. 15   18:01:47   openSUSE Leap 42.2      516      457     +  59    + 12.91%
2017 Jun. 16   05:10:25   openSUSE Leap 42.2      536      432     + 104    + 24.07%
2017 Jun. 16   05:10:53   openSUSE Leap 42.2      527      455     +  72    + 15.82%

                                             openSUSE Average:     +  83    + 18.20%
------------------------------------------------------------------------------------

No gráfico (abaixo), fica evidente também a paridade do htop com o “cálculo antigo” — obtido a partir dos números em /proc/meminfo. — Ver “Ferramentas e medições”, adiante.

Uso inicial de RAM, segundo o htop (Outubro 2020)

No gráfico (acima), por ordem crescente dos números do htop, salta à vista quais distros usavam mais ou menos Memória RAM, — independente da versão do Conky em cada uma.

  • Todas as distros Linux com KDE (+ widgets Weather e Gealach); sem verificação automática de atualizações; sem PIM-Akonadi; sem indexação pelo Baloo (Filesearch); e sem alguns “efeitos” e serviços. — Mageia sem verificações automáticas de MSEC. — Apenas no openSUSE, serviços de manutenção do Snapper + BtrFS habilitados. — No PCLinuxOS, o uso de Memória RAM estava um pouco aumentado, desde uma configuração de UXA em Março 2020.

Infelizmente, incluir o htop no Conky exige instalar aha e html2text em todas as distros — o que nem sempre é simples ou fácil.

  • Para registrar os números do htop, mesmo nas distros em que ainda não instalei aha e html2text, criei mais tarde um script que salva essas leituras em arquivo TXT aos 10 minutos uptime (ver “Ferramentas e Medições”, adiante). — Desse modo, bastava ligar o computador e ir escovar os dentes. — Após 10 minutos, eu tinha um arquivo TXT com as leituras do /proc/meminfo, do htop e demais ferramentas, com o sistema “em repouso” (iddle).

Reviravolta (Conky 1.12.1)

Situação após nova reviravolta do Conky

Em Março 2021, o Conky 1.12.1 fez outra reviravolta, de 180º — mas, em vez de restabelecer a paridade com o htop, foi mais além, passando a emparelhar com o free e o top — ferramentas do pacote procps.

De repente, openSUSE e Fedora, que estão entre as distros Linux mais “pesadas” da minha coleção, pareciam usar menos Memória RAM (540 MiB) do que o Arch (845 MiB!) e o MX Linux 19 (578 MiB), — que estão entre as mais “leves”, quando se usam medidas consistentes.

Isso, porque em Novembro 2020 o Arch adotou o Conky 1.11.6 — e em Março 2021 o Conky 1.12.1 chegou ao openSUSE Tumbleweed e ao Fedora:

Arch        2020 Nov 27   Conky 1.11.6

PCLinuxOS   2021 Mar 15   Conky 1.12.1
Void        2021 Mar 15   Conky 1.12.1
Fedora      2021 Mar 21   Conky 1.12.1
openSUSE    2021 Mar 29   Conky 1.12.1

Isso me pareceu desanimador.


Comparação precária (II)


Comparação do uso de RAM pelo free (Abril 2021)

Esta nova mudança brusca do Conky — a segunda, em menos de 1 ano — me levou a pensar em uma solução mais simples, como os comandos free e top, do pacote procps

Embora usem um cálculo que não é o ideal, pelo menos guardavam consistência em todas as distros — requisito elementar para qualquer comparação — e são os mais fáceis de incluir no Conky, para tê-los sempre diante dos olhos, “em tempo real”.

Ordenando a mesma lista pelos números do htop, apenas se invertem alguns pares — MX Linux 19 e Slackware; Mint 20 e Mageia 8; Fedora e openSUSE; Debian e PCLinuxOS — cada um separado do outro por 3 a 19 MiB segundo o free; ou por 9 a 24 MiB segundo o htop.

RAM usage at startup --- sorted...

by free                   by htop

Void                      Void
Arch                      Arch
Slackware                 Mx Linux 19
Mx Linux 19               Slackware
Neon                      Neon
Mageia 8                  Mint 20
Mint 20                   Mageia 8
Fedora                    openSUSE
openSUSE                  Fedora
Debian                    PCLinuxOS
PCLinuxOS                 Debian

Essas diferenças cabem dentro das oscilações que ocorrem a cada segundo — mesmo quando se deixa o computador “parado” por 10 minutos após o boot. — A rigor, cada um desses pares de distros tem uso praticamente igual de Memória RAM, dentro dos limites da precisão ao alcance do usuário comum.

Distro     free   Diff   htop    Diff

Slackware   410          565
Mx Linux 19 424 __ 14    541 __ -24

Mageia 8    451          610
Mint 20     461 __ 10    601 __  -9

Fedora      511          670
openSUSE    530 __ 19    651 __ -19

Debian      552	         710
PCLinuxOS   555 __  3    691 __ -19

Por isso, tanto o free / top quanto o htop permitiam comparação entre essas distros, uma vez que cada um deles usava um mesmo cálculo em todas elas. — A diferença, em termos práticos, é que free / top é mais fácil de exibir no Conky, em todas as distros.

Bom, depois disso, o htop também mudou.


Novas mudanças


Versões do Conky e demais ferramentas (2 Maio 2021)

2 Maio 2021 - Uma série de novos realinhamentos me levou a examinar também outras ferramentas mais populares de medição do uso de Memória RAM.

Conky 1.10.8   =  htop   (htop)        Neon, Mint 20, MX Linux 19
Conky 1.11.6   >  htop   (new calc)    Arch, Debian testing, Mageia 8
Conky 1.12.1   <  htop   (free, top)   openSUSE Tumbleweed, Fedora 33, PCLinuxOS, Void
Conky 1.12.2   >  htop   (new calc)    openSUSE Tumbleweed

Em 22 Abril 2021, o desenvolvedor do Conky Brenden Matthews (brndnmtthws) adicionou um PR (pull request) #1092, no sentido de retomar o “cálculo novo” sugerido por Linus Torvalds em 2014.

Dias depois, o Conky 1.12.2 já restabelecia o “cálculo novo” no openSUSE Tumbleweed — o que fazia prever o rápido desaparecimento da paridade com o free / top também no Arch, Fedora, PCLinuxOS, Void e Manjaro. — Quanto às distros “estáveis”, no devido tempo, não terão motivos para se deter no Conky 1.12.1, já dispondo da versão 1.12.2 ou superior.

Além do Conky, o inxi também já adotou o “cálculo novo”, pelo menos desde sua versão 3.1.00 (2020-11-11). — Restavam versões anteriores no KDE Neon, Linux Mint 20 (ambos LTS “Focal Fossa”) e no MX Linux 19 (Debian stable 10 ”Buster”).

O screenfetch também já adotou o “cálculo novo”, mas não consegui descobrir exatamente quando. A versão 3.8.0 (MX Linux 19) ainda mostra o mesmo valor indicado por free / top — mas o Changelog da versão seguinte (3.9.1, atual) simplesmente não registra a mudança.

Enfim, já faz algum tempo que Chris Cheney convenceu os desenvolvedores do htop a adotarem o “cálculo novo”, proposto há 7 anos por Linus Torvalds. — É de se esperar que seja implementado em uma próxima versão.

O neofetch permanece no “cálculo antigo” — exceto no Slackware, apesar de indicar a mesma versão de outras distros.

  • ATT - Estes números foram levantados após atualizar as distros no Domingo, 2 Maio 2021, e refletem unicamente um momento 10 minutos uptime, sem a abertura de nenhum outro aplicativo. — Ver “Ferramentas e medições”, a seguir.

Ferramentas e medições

Inclusão do neofetch, htop, inxi, screenfetch etc. no Conky

Testei o “cálculo antigo” a partir da descrição textual de Linus Torvalds, — sem as “marcas d'água”, — e o resultado se mostrava sempre bastante próximo do indicado pelo htop:

/proc/meminfo --> (Old calc):

Mem used = MemTotal - [MemFree + Active(file) + Inactive(file) + SReclaimable]

O “cálculo novo” é bem mais simples e claro:

/proc/meminfo --> (New calc):

Mem used = MemTotal - MemAvailable 

Para registrar esses e outros valores (inclusive as versões das ferramentas), criei um script “RAM.sh” — que salva as informações em um arquivo TXT:

echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
date                                                                                                   >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
uptime                                                                                                 >> RAM_00-Distro.txt
uptime -s                                                                                              >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           ----------   free   ----------"                                                       >> RAM_00-Distro.txt
free -m                                                                                                >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           ----------   top    ----------"                                                       >> RAM_00-Distro.txt
top -E m -b -n 1 | grep buff                                                                           >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           ---------- neofetch ----------"                                                       >> RAM_00-Distro.txt
neofetch  --stdout | grep "Memory"                                                                     >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           ----------   htop   ----------"                                                       >> RAM_00-Distro.txt
export TERM=xterm; echo q | htop | aha --line-fix | html2text | grep "/15"                              >> RAM_00-Distro.txt
### --- without "aha" ---> ### export TERM=xterm; echo q | htop                                          >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           ----------   inxi   ----------"                                                       >> RAM_00-Distro.txt
inxi -m                                                                                                >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           -------- screenfetch ---------"                                                       >> RAM_00-Distro.txt
screenfetch -n -N -E | grep "RAM"                                                                      >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
echo "           -------   proc/meminfo  ------"                                                       >> RAM_00-Distro.txt
cat /proc/meminfo | grep "MemTotal\|MemFree\|Active(file)\|Inactive(file)\|SReclaimable\|MemAvailable"   >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
conky -v | grep compiled                                                                               >> RAM_00-Distro.txt
free -V                                                                                                >> RAM_00-Distro.txt
top -v | grep procps                                                                                   >> RAM_00-Distro.txt
neofetch --version                                                                                     >> RAM_00-Distro.txt
htop --version                                                                                         >> RAM_00-Distro.txt
inxi -V | grep inxi                                                                                    >> RAM_00-Distro.txt
screenfetch -V | grep Version                                                                          >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
date                                                                                                   >> RAM_00-Distro.txt
echo "------------------------------------------------------------------"                              >> RAM_00-Distro.txt
mv RAM_00-Distro.txt /PATH/
Tabulação das informações salvas pelo script “RAM.sh”

O arquivo-texto produzido é bastante compacto, o que facilita transferir os dados para uma planilha, usando o Modo de Seleção de Bloco (CTRL+Shift+B) do Kate / KWrite.

Para executar “RAM.sh” 10 minutos após o boot criei um agendamento:

$ crontab -l
@reboot sleep 600; bash RAM.sh

Passados esses 10 minutos, capturo a tela com os números exibidos no Conky2* — que se atualiza a cada 10 segundos:

conky.config = {
 ...
 update_interval = 10,
 ...
}
conky.text = [[
Mem:               ${alignr 100}up  ${uptime}

Total - Available  ${alignr 100}${exec bash MemInfo.sh; cat MemInfo.txt}
Conky (Mem)        ${alignr 100}${mem}
free               ${alignr 100}${exec free -m | grep Mem | cut -c 25-35} MiB
top                ${alignr 100}${exec top -E m -b -n 1  | grep buff | cut -c 41-50} MiB
neofetch           ${alignr 100}${exec neofetch  --stdout | grep -o -P '.{0,0}Memory.{0,9}' | cut -b 8-12} MiB
htop               ${alignr 100}${exec export TERM=xterm; echo q | htop | aha --line-fix | html2text | grep -o -P '.{0,6}/15' | cut -b 1-6}iB
inxi               ${alignr 100}${exec inxi --memory-short | grep -o -P '.{0,0}used.{0,14}' | cut -b 6-14}
screenfetch        ${alignr 100}${exec screenfetch -n -N | grep -o -P '.{0,0}RAM.{0,9}' | cut -b 5-12}
...
]]

Na linha “Total - Available” (acima), o Conky executa um script “MemInfo” — que efetua o “cálculo novo” — e exibe o resultado:

MEM_TOTAL=$(awk '/MemTotal/ { printf $2 }' /proc/meminfo); \
MEM_AVAIL=$(awk '/MemAvailable/ { printf $2 }' /proc/meminfo); \
MEM_USED_KILO="$(($MEM_TOTAL-$MEM_AVAIL))"; \
echo "$(($MEM_USED_KILO/1024))" MiB > MemInfo.txt

O ciclo de 10 segundos evita oscilações súbitas nesses indicadores, — caso contrário, o gnome-screenshot poderia capturar um valor já afetado por seu próprio acionamento.

(*) Venho fazendo frequentes experiências e alterações no “Conky2”, desde Outubro 2020, como fica claro nas imagens. — Esta é a configuração mais recente, que adotei em Setembro 2021.

Duas versões do cálculo, 29 Agosto 2021

A propósito: - Me parece incorreto dividir (MemTotal - MemAvailable) / 1024, pois o kB (com k minúsculo) no /proc/meminfo é muito claro em se referir ao sistema SI (portanto, o divisor deveria ser 1024² / 1000 = 1048,576) — mas observei que essa parece ser a prática adotada pelos desenvolvedores das várias ferramentas — e a árdua mudança do que é mais relevante sugere que não vale a pena, neste momento, complicar as coisas com a proposta de outra mudança adicional, pouco significativa (a diferença de +2,4% é irrelevante, dentro das oscilações normais de uso de RAM a cada segundo).

Referências:

Média das medidas no arquivo-texto e na captura de tela, 2 Maio 2021

A partir do arquivo-texto e da captura de tela, tirei a média dos números em duplicata.

MX Linux 21 Beta1

Três ferramentas alinhadas ao “cálculo novo”, no MX Linux 21 Beta1

Agosto 2021 - No MX Linux 21 Beta1 KDE, que instalei em Agosto, pela primeira vez vi 3 ferramentas indicarem os valores quase exatos do “cálculo novo” — Conky 1.11.6, Neofetch 7.1.0, Screenfetch 3.9.1 — em cerca de 20 inicializações, ao longo de quase 30 dias, até Setembro.

No final de Agosto, 3 ferramentas também indicavam valores próximos aos do “cálculo novo”, no openSUSE Tumbleweed, embora com menor exatidão: — Conky 1.12.2, inxi 3.3.03-00, Screenfetch 3.9.1 — enquanto seu Neofetch 7.1.0 mantinha uma diferença de 200 MiB para menos.

Infelizmente, naquele período não verifiquei todas as distros de modo sistemático.

26 Set 2021 - Ao fazer minhas atualizações semanais, o htop 3.1.0 finalmente se apresentou alinhado ao “cálculo novo” no openSUSE Tumbleweed, no Arch, no PCLinuxOS e no Manjaro.

Situação atual

openSUSE Tumbleweed

3 Out 2021 - No openSUSE Tumbleweed, agora 4 ferramentas se alinham com o “novo cálculo”.

Me chamaram atenção os picos de atividade de CPU a cada 10 segundos, quando se atualiza o Conky2 — 19%, 31% e 13% nos 3 segundos subsequentes — o que não acontece em outras distros onde ele dispara o mesmo número de ferramentas de medição e exibição do uso da Memória RAM (inclusive aha e html2text).

Estes foram os padrões de uso de CPU observados entre os dias 3 e 17 Outubro 2021, desde o momento que antecede cada atualização do Conky2, até 3 ou 5 segundos depois:

openSUSE

 1%   19%  31%  13%   1%   ...
 1%   20%  32%  13%   1%   ...

Arch      ---> without inxi

 1%    9%  10%   1%   ...
 1%    9%   9%   1%   ...
 1%   10%  11%   1%   ...

Debian

 1%   19%  27%  15%   7%   1%   ...
 1%   18%  27%  15%   7%   1%   ...

Fedora

 1%   20%  23%   4%   1%   ...
 1%   20%  23%   4%   1%   ...

KDE Neon

 0%   11%  11%   1%   0%   ...
 0%   10%  10%   0%   0%   ...

PCLinuxOS ---> without htop, aha, html2text

 1%  10%  10%   1%   ...   ...

Mageia    ---> without htop, aha, html2text

 1%  15%  15%   1%   ...   ...

Void      ---> without screenfetch

 1%   5%   5%   1%   ...   ...

Manjaro

 1%  14%  14%   1%   ...   ...
 1%  13%  13%   1%   ...   ...
 1%  14%  15%   1%   ...   ...

Slackware ---> without htop, aha, html2text, screenfetch

 0%   4%   4%   0%   ...   ...

MX Linux

 1%  14%  14%   2%   1%    ...
 1%  14%  14%   1%   ...   ...

No Debian, o pico é um pouco menor do que no openSUSE, porém mais prolongado — e mais igualmente distribuído entre os 6 núcleos — o que resulta em gráficos mais discretos no Conky.

No Void e no Slackware, o pico limita-se a 4% ou 5% de uso de CPU — mas cabe lembrar que neles o Conky2 dispara menos ferramentas.

No KDE Neon e no Slackware o “piso” é “0%” — presumo que significando “menos de 0,5%” na média dos 6 núcleos — contra 1% nas demais distros.

É claro que ocorrem outras variações, o tempo todo, conforme o número e o tipo de serviços habilitados em cada distro — mas estes padrões são notavelmente característicos de cada uma delas — tal como se encontram configuradas no meu PC desktop.

A frequência pula de 800 ~ 860 MHz para a faixa de 2200 ~ 3900 MHz no segundo anterior ao pico de CPU, e retorna ao “piso” antes que o uso de CPU.

Não percebi qualquer elevação regular de uso de Memória, durante esses picos de uso de CPU. — Pelo contrário, muitas vezes há uma leve redução. — Mas isso é inconclusivo, pois “devoluções de Memória” demoram de 25 a 40 segundos (após o gnome-screenshot, por exemplo), por isso não dá para se esperar “devoluções” dentro desses curtos ciclos de 10 segundos.

O bash script agendado para 10 minutos uptime provoca um uso mais intenso de CPU, em geral entre 10min 10s e 10min 30s — mas seria trabalhoso tentar distinguir um padrão.

Arch Linux

No Arch Linux, ainda não instalei o inxi, pois em fins do ano passado encontrei um aviso no AUR alertando sobre vários problemas — e até hoje não voltei a verificar. — Com isso, apenas 3 ferramentas se alinham ao “cálculo novo”.

A cada ciclo de 10 segundos do Conky2, o uso de CPU vai a 9% ou 11%, por 2 segundos. — A simples ausência do inxi não é suficiente para explicar essa diferença em relação ao openSUSE.

Debian testing

No Debian testing, apenas 3 ferramentas se alinham ao “cálculo novo”.

A cada ciclo de 10 segundos do Conky2, o uso de CPU se eleva em um grau muito semelhante ao openSUSE — mas se distribui um pouco mais, no tempo (4 segundos), e mais igualmente entre os 6 núcleos — o que resulta em um gráfico bem mais discreto.

Fedora 34

No Fedora 34, apenas 2 ferramentas se alinham ao “cálculo novo”. — É provável que isso mude bastante com o Fedora 35.

Os picos se destacam mais nos gráficos, pois não se distribuem entre todos os 6 núcleos.

KDE Neon (base Ubuntu 2020.04 LTS)

No KDE Neon, apenas o Screenfetch se alinha ao “cálculo novo” — consequência de usar a base 20.04 LTS do Ubuntu, estacionada há 1 ano e 6 meses.

PCLinuxOS (Darkstar)

No PCLinuxOS, ainda não encontrei um modo de instalar o aha, para exibir o htop no Conky2.

Com isso, apenas 3 ferramentas se alinham ao “cálculo novo”.

Mageia 8

No Mageia, também não encontrei o aha, para exibir o htop — e por enquanto apenas 3 ferramentas se alinham ao “cálculo novo”.

Void Linux

No Void Linux, ainda não encontrei o Screenfetch para instalar — e por enquanto apenas 3 ferramentas se alinham ao “cálculo novo”.

Manjaro

No Manjaro, nada menos que 4 ferramentas se alinham ao “cálculo novo”.

A cada ciclo de 10 segundos do Conky2, o uso de CPU vai a 13%, por 2 segundos.

Slackware

No Slackware 14.2+ (current), ainda não encontrei o Screenfetch; nem o aha, para exibir o htop. — Também não tenho feito atualizações, por isso o Conky ainda é uma versão que encontrei há séculos.

O uso de CPU, a cada ciclo de 10 segundos do Conky2, é discreto.

MX Linux 21 (beta1)

No MX Linux 21 (beta1), 3 ferramentas se alinham ao “cálculo novo” — e isto ainda não inclui o htop nem o inxi. — Receio que permaneça assim nos próximos 2 anos, por se basear no Debian stable.

“Monitor do Sistema”


KSysguard

O nome genérico “Monitor do Sistema” tem induzido a muitos enganos e falsas comparações — pelo menos desde 2016, quando tive o KSysguard e o Gnome-System-Monitor lado a lado, em uma instalação do Debian com vários ambientes.

Desde aquela época, verifiquei que o KSysguard indicava uso de Memória bem inferior ao indicado pelo Conky — que na época se alinhava ao htop — ambos ainda com o “cálculo antigo”.

Me parece que o KSysguard busca utilizar o mesmo cálculo do free (que ainda não pesquisei qual é) — porém “descontando” seu próprio uso de Memória. — Acontece que o free não “desconta” o peso do KSysguard, e por isso tende a indicar um número maior do que ele.

Aliás, o “peso” de qualquer aplicação GUI sempre interfere naquilo que pretende medir — uso de Memória RAM, uso de CPU etc. — por isso desde 2016 optei por usar o Conky, que tem baixíssimo uso de recursos.

Mesmo a abertura de um Terminal já altera significativamente o uso de Memória RAM. — Além disso, diferentes DEs usam Terminais mais “leves” ou mais “pesados” — o que também torna enganosas comparações entre diferentes DEs, mesmo quando pensamos estar usando “apenas uma ferramenta CLI”, como free, htop, neofetch etc.

Acima - A simples abertura do KSysguard elevou o uso de Memória RAM de 865 MiB para 1046 MiB (+181 MiB), segundo o cálculo “novo” — ou de 428 MiB para 531 MiB (+103 MiB), segundo o free.

O valor de 0,48 GiB indicado pelo KSysguard equivale a 492 MiB — menos que os 531 MiB indicados pelo free (-39 MiB), mas dentro da faixa de oscilação aceitável.

Plasma System Monitor

Ao fechar o KSysguard, o uso de Memória RAM caiu para 962 MiB, segundo o “cálculo novo” — cerca de 100 MiB acima dos 865 MiB iniciais. — Portanto, ao abrir o Plasma System Monitor, já partimos de um patamar um pouco mais elevado.

Acima - O Plasma System Monitor indica uso de 1,1 GiB de Memória RAM — valor exato dos 1128 MiB indicados pelo “cálculo novo” (1,102 GiB)

Gnome System Monitor

Ao fechar o Plasma System Monitor, o uso de Memória RAM também não volta ao que era logo no início da sessão. — Mesmo assim, o Gnome System Monitor parece “pesar” menos do que as 2 ferramentas do KDE.

Acima - O Gnome System Monitor indica uso de 1,0 GiB — valor muito próximo aos 1000 MiB indicados pelo “cálculo novo” (0,98 GiB).

Um minuto após fechar o Gnome System Monitor, o uso de Memória RAM baixou para 974 MiB, segundo o “cálculo novo” — cerca de 110 MiB acima dos 865 MiB logo após a inicialização. — Este foi o “saldo” de abrir e fechar as 3 ferramentas GUI, uma após outra.

_______________________
• Publicado em 20 Outubro 2020 e atualizado até 4 Outubro 2021 (histórico).

— … ≠ • ≠ … —

Ferramentas &tc.

quarta-feira, 30 de setembro de 2020

Slackware by Alien - install, config

Slackware by Alien em sessão Plasma KDE

Está é a terceira ou quarta vez que reinstalo o Slackware by Alien Bob; — as primeiras vezes, por tê-lo escangalhado além das minhas possibilidades de consertá-lo; — agora, por simples migração para um novo hardware (e vim adiando, desde Janeiro).

Mais do que nunca, isto não é um “tutorial”. — Só um registro do que fiz, — tateando e cometendo muitos erros.

Pós-instalação


Correção do Grub (externo) para carregar o Slackware

O Grub do openSUSE e do Mageia produziu entradas para “vmlinuz-generic-5.4.66”, e o boot se paralisou em “Kernel panic”. — Nesse primeiro momento, bastou corrigir manualmente para “vmlinuz-huge-5.4.66”, para conseguir carregar o Slackware.

Desabilitando Os-Prober e gerando o Grub

Com isso, pude gerar o arquivo /boot/grub/grub.cfg do próprio Slackware, — e depois disso, o Grub das outras distros já pode ler nele o parâmetro correto:

# grub-install /dev/sda1
Installing for x86_64-efi platform.
Installation finished. No error reported.

# date; grub-mkconfig -o /boot/grub/grub.cfg; date
Sat Sep 26 14:38:40 -03 2020
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-huge-5.4.66
Found initrd image: /boot/initrd.gz
Found linux image: /boot/vmlinuz-huge
Found initrd image: /boot/initrd.gz
Found linux image: /boot/vmlinuz-generic-5.4.66
Found initrd image: /boot/initrd.gz
Found linux image: /boot/vmlinuz-generic
Found initrd image: /boot/initrd.gz
done
Sat Sep 26 14:38:44 -03 2020

Pastas das distros Linux na partição EFI

Note que, para isso, não precisava instalar a “chamada” na partição EFI. — Fiz isso, só para “ver” o que seria gravado lá, pois varia muito de uma distro para outra. — Mas sempre pode ser útil, a qualquer momento.

De qualquer modo, o Grub do Slackware também não precisava perder tempo detectando outras distros, — e primeiro acrescentei uma linha em /etc/default/grub:

GRUB_DISABLE_OS_PROBER=true

Essa edição foi feita no editor interno do mc (Midnight-Commander), logado como root.

Só 10 minutos depois, lembrei de datar os comandos:

$ history
    1                       su
    2                       echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
    3  2020-09-26_14-58-33  history

# history
    1                       cd /usr/lib64/vlc
    2                       find . -name "plugins*.dat" -exec rm -f {} \;
    3                       echo "Generating VLC plugins cache data..."
    4                       DISPLAY="" ./vlc-cache-gen /usr/lib64/vlc/plugins
    5                       grub-install /dev/sda1
    6                       mc
    7                       mc
    8                       date; grub-mkconfig -o /boot/grub/grub.cfg; date
    9                       mc
   10                       mc
   11                       echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
   12  2020-09-26_14-58-44  history

Antes desse momento, eu havia executado (como root) apenas alguns comandos relacionados ao VLC, — talvez sugeridos pelo próprio Slackware, ao abrir o Konsole. — Não fiz anotações sobre isso, nem capturas de tela, e só posso imaginar o objetivo desses comandos.

Opção de montagem em serviços de segundo plano

A montagem automática de partições adicionais me tomou mais de 1 hora, e saiu dos trilhos que eu me havia acostumado a seguir.

13:49 - Ao desativar serviços em segundo plano que não uso, não vi essa opção, — que por sinal, eu nunca vi em nenhuma outra distro, mesmo as que já usam KDE mais recente. — Não vi, não ativei, e talvez esteja ligada ao problema que enfrentei em seguida.

14:05 - Ativei a montagem automática de “dispositivos removíveis” (que não são do sistema) no KDE System settings. — Isso nunca funcionou nas instalações anteriores do Slackware, — mas também nunca atrapalhou.

15:24 - Nova sessão (reiniciei, ou só logout / login?), naturalmente sem montagem das partições adicionais.

15:33 - Colei no /etc/fstab um conjunto de linhas que sempre funcionou para a montagem das partições adicionais, — tanto no Slackware, quando no Debian, LMDE, MX Linux...

15:36 - ... mas ao reiniciar o computador, as partições adicionais não foram montadas.

15:52 - Tentativas de montagem manual retornaram o aviso de que não existiam os pontos de montagem, — coisa que nunca foi problema, nas instalações anteriores.

15:57 - Criei manualmente um ponto de montagem, para teste, — mas não reiniciei, portanto não houve oportunidade de verificar se ia funcionar ou não. — Me limitei a tentar a montagem daquela única partição, pelo Dolphin, e como foi pedida senha, concluí que não resolveu.

xxx

xxx

— … ≠ • ≠ … —

Without-SystemD



    PC desktop UEFI / GPT



    Ferramentas &tc.



    Não-debians


    sábado, 15 de agosto de 2020

    KDE Neon upgrade 20.04 Focal Fossa

    KInfocentre do KDE Neon após upgrade para 20.04 Focal Fossa
    KDE Neon após upgrade para 20.04 Focal Fossa

    O upgrade do KDE Neon, da base Ubuntu 18.04 Bionic para 20.04 Focal Fossa, transcorreu sem qualquer problema, — e não introduziu nenhuma alteração no Plasma KDE, nem no Kernel. — Sob esses aspectos, é como se o KDE Neon permanecesse o mesmo de 2 semanas atrás:

    2020-08-02                                                  2020-08-15
    
          Operating System: KDE neon 5.19                             Operating System: KDE neon 5.19
        KDE Plasma Version: 5.19.4                                  KDE Plasma Version: 5.19.4
    KDE Frameworks Version: 5.72.0                              KDE Frameworks Version: 5.72.0
                Qt Version: 5.14.2                                          Qt Version: 5.14.2
            Kernel Version: 5.4.0-42-generic                            Kernel Version: 5.4.0-42-generic
    ...                                                         ...
        Graphics Processor: Mesa DRI Intel® UHD Graphics 630        Graphics Processor: Mesa Intel® UHD Graphics 630
    
     konsole 20.04.3                                             konsole 20.04.3
     dolphin 20.04.3                                             dolphin 20.04.3
        kate 20.04.3                                                kate 20.04.3
    gwenview 20.04.3                                            gwenview 20.04.3
    

    O Chromium (.deb) não foi removido, nem substituído pela versão .snap2. — Apenas, agora o apt / Synaptic o classifica como “obsoleto”, por não mais encontrá-lo nos repositórios. — No momento, tenho algum prazo para decidir o que vou fazer.

    O repositório do GoogleEarth foi automaticamente desabilitado, ao iniciar o upgrade, — e bastou habilitá-lo de novo, depois. — O GoogleEarth continua funcionando normalmente.

    Ainda não verifiquei o que mudou no Wine, — mas minha velha versão do Dreamweaver também continua funcionando como antes.

    corona-cli finalmente encontra as dependências requeridas

    Uma boa nova é que, agora, o corona-cli funciona, — o que antes não era possível.

    O Gimp passou da versão 2.8 para 2.10, — mas para isso eu já estava preparado, desde o final de 2018. — Conforme o esperado, algumas configurações foram preservadas, e outras tive de refazer.

    Upgrade


    Verificando atualizações, no início da sessão do KDE Neon

    Um requisito elementar, em distribuições Linux de versão fixa, é que a instalação deve estar atualizada, antes de se iniciar o upgrade para uma nova versão.

    Em situações normais, verifico manualmente as atualizações pelo apt, depois aplico pelo Synaptic, — e é claro que eu já tinha feito isso, mais cedo. — Apenas tornei a verificar, por via das dúvidas, antes de iniciar o upgrade.

    Última verificação de atualizações, antes de iniciar o upgrade do KDE Neon

    Mas o site oficial do KDE Neon tem recomendações próprias, — tais como a de usar o Rosa Writer para “queimar” suas imagens ISO em Pendrive, — e a de usar o PackageKit (pkcon) para verificar e aplicar as atualizações.

    Nunca encontrei uma explicação para essas idiossincrasias, — e nunca vi o pkcon discordar do apt / Synaptic, — afinal o PackageKit (tal como o Synaptic) é só uma interface amigável, que nas distros .deb usa o apt.

    Em honra a esse ritual não-explicado, de bom grado executei um pkcon após o apt, — e é óbvio que ele não encontrou mais nada para atualizar.

    Em seguida iniciei a execução do script, — que salva todas as saídas dos comandos em um arquivo “typescript”, na pasta do usuário:

    $ history
    ...
      283  2020-08-13_20-49-06 date && sudo apt update && date
      284  2020-08-13_20-49-30 sudo pkcon refresh
      285  2020-08-13_20-52-27 script
    

    Esse arquivo ~/typescript salvou nada menos que 62.972 linhas, — que resumo abaixo, com “...” para indicar as partes suprimidas, por serem muito extensas, ou repetitivas:

    Script started on 2020-08-13 20:52:27-0300
    ...
    $ date && sudo do-release-upgrade && date
    Thu 13 Aug 20:52:32 -03 2020
    ...
    Checking for a new Ubuntu release
    
    0% [Working]
    0% [Connecting to archive.neon.kde.org]
    ...
    authenticate 'focal.tar.gz' against 'focal.tar.gz.gpg'
    extracting 'focal.tar.gz'
    ...
    
    Updating repository information
    
    Third party sources disabled
    
    Some third party entries in your sources.list were disabled. You can
    re-enable them after the upgrade with the 'software-properties' tool
    or your package manager.
    
    To continue please press [ENTER]
    ...
    
    100% [Working]                    218 kB/s 0s
    Fetched 52.4 MB in 6s (218 kB/s)
    
    Checking package manager
    ...
    
    Reading state information... Done
    
    Calculating the changes
    ...
    
    Do you want to start the upgrade?
    
    31 packages are going to be removed. 641 new packages are going to be
    installed. 2132 packages are going to be upgraded.
    
    You have to download a total of 2118 M. This download should take
    about 1 hour 2 minutes with your connection.
    
    Installing the upgrade can take several hours. Once the download has
    finished, the process cannot be cancelled.
    
     Continue [yN]  Details [d] y
    
    Fetching
    ...
    0% [Working]
    ...
    100% [Working]                     1329 kB/s 0s
    
    Fetched 2118 MB in 6s (1329 kB/s)
    
    Upgrading
    
    Fetched 0 B in 0s (0 B/s)
      MarkInstall libc6:amd64 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=1
      Installing libgcc-s1 as Depends of libc6
        MarkInstall libgcc-s1:amd64 < none -> 10-20200411-0ubuntu1 @un uN Ib > FU=0
        Installing gcc-10-base as Depends of libgcc-s1
          MarkInstall gcc-10-base:amd64 < none -> 10-20200411-0ubuntu1 @un uN > FU=0
      Installing libcrypt1 as Depends of libc6
        MarkInstall libcrypt1:amd64 < none -> 1:4.4.10-10ubuntu4 @un uN Ib > FU=0
          MarkInstall libc6:i386 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=0
          Installing libgcc-s1 as Depends of libc6
            MarkInstall libgcc-s1:i386 < none -> 10-20200411-0ubuntu1 @un uN Ib > FU=0
            Installing gcc-10-base as Depends of libgcc-s1
              MarkInstall gcc-10-base:i386 < none -> 10-20200411-0ubuntu1 @un uN > FU=0
          Installing libcrypt1 as Depends of libc6
            MarkInstall libcrypt1:i386 < none -> 1:4.4.10-10ubuntu4 @un uN > FU=0
            MarkInstall locales:amd64 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=0
            Installing libc-bin as Depends of locales
              MarkInstall libc-bin:amd64 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU > FU=0
          new important dependency: libidn2-0:i386
          Installing libidn2-0 as Recommends of libc6
            MarkInstall libidn2-0:i386 < 2.0.4-1.1ubuntu0.2 -> 2.2.0-2 @ii umU Ib > FU=0
              MarkInstall libidn2-0:amd64 < 2.0.4-1.1ubuntu0.2 -> 2.2.0-2 @ii umU > FU=0
    Starting pkgProblemResolver with broken count: 1
    Starting 2 pkgProblemResolver with broken count: 1
    Investigating (0) libc6-dev:amd64 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU Ib >
    Broken libc6-dev:amd64 Depends on libcrypt-dev:amd64 < none | 1:4.4.10-10ubuntu4 @un uH >
      Considering libcrypt-dev:amd64 1 as a solution to libc6-dev:amd64 11
      MarkKeep libc6-dev:amd64 < 2.27-3ubuntu1.2 -> 2.31-0ubuntu9 @ii umU Ib > FU=0
      Re-Instated manpages-dev:amd64
      Re-Instated libcrypt-dev:amd64
      Re-Instated libc6-dev:amd64
    Done
    
    Upgrading
    
    Fetched 0 B in 0s (0 B/s)
    Preconfiguring packages ...
    ...
    Selecting previously unselected package gcc-10-base:amd64.
    (Reading database ...
    (Reading database ... 5%
    ...
    (Reading database ... 100%
    (Reading database ... 240874 files and directories currently installed.)
    Preparing to unpack .../gcc-10-base_10-20200411-0ubuntu1_amd64.deb ...
    ...
    ...
    Preparing to unpack .../948-usb-modeswitch-data_20191128-3_all.deb ...
    Unpacking usb-modeswitch-data (20191128-3) over (20170806-2) ...
    Preparing to unpack .../949-youtube-dl_2020.03.24-1_all.deb ...
    Unpacking youtube-dl (2020.03.24-1) over (2018.03.14-1ubuntu18.04.1) ...
    Setting up libgme0:amd64 (0.6.2-1build1) ...
    Setting up libmono-system-servicemodel-internals0.0-cil (6.8.0.105+dfsg-2) ...
    Setting up libkf5codecs-data (5.72.0-0xneon+20.04+focal+build3) ...
    Setting up libssh-gcrypt-4:amd64 (0.9.3-2ubuntu2.1) ...
    Setting up libpwquality-common (1.4.2-1build1) ...
    Installing new version of config file /etc/security/pwquality.conf ...
    Setting up kdeplasma-addons-data (4:5.19.4-0xneon+20.04+focal+build7) ...
    Setting up memtest86+ (5.01-3.1ubuntu1) ...
    Sourcing file `/etc/default/grub'
    Sourcing file `/etc/default/grub.d/99_breeze-grub.cfg'
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/breeze/theme.txt
    Found linux image: /boot/vmlinuz-5.4.0-42-generic
    Found initrd image: /boot/initrd.img-5.4.0-42-generic
    Found linux image: /boot/vmlinuz-5.3.0-62-generic
    Found initrd image: /boot/initrd.img-5.3.0-62-generic
    Adding boot menu entry for EFI firmware configuration
    done
    Setting up arj (3.10.22-23) ...
    Setting up cpio (2.13+dfsg-2) ...
    Setting up libavc1394-0:amd64 (0.5.4-5) ...
    Setting up powermgmt-base (1.36) ...
    ...
    ...
    Setting up kwin-wayland (4:5.19.4-0xneon+20.04+focal+build7) ...
    Setcap worked for /usr/bin/kwin_wayland!
    Setting up plasma-workspace-wayland (4:5.19.4-0xneon+20.04+focal+build6) ...
    Setting up kinfocenter (4:5.19.4-0xneon+20.04+focal+build7) ...
    Setting up konq-plugins (4:20.04.3-0xneon+20.04+focal+build4) ...
    Setting up sddm-theme-breeze (4:5.19.4-0xneon+20.04+focal+build6) ...
    Setting up plasma-desktop (4:5.19.4-0xneon+20.04+focal+build6) ...
    Setting up neon-desktop (4+p20.04+git20200803.1619) ...
    Processing triggers for install-info (6.7.0.dfsg.2-5) ...
    Processing triggers for hicolor-icon-theme (0.17-2) ...
    Processing triggers for libc-bin (2.31-0ubuntu9) ...
    Processing triggers for systemd (245.4-4ubuntu3.2) ...
    Processing triggers for ureadahead (0.100.0-21) ...
    ureadahead will be reprofiled on next reboot
    Processing triggers for ca-certificates (20190110ubuntu1.1) ...
    Updating certificates in /etc/ssl/certs...
    0 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...
    
    done.
    Updating Mono key store
    Mono Certificate Store Sync - version 6.8.0.105
    Populate Mono certificate store from a concatenated list of certificates.
    Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.
    
    Importing into legacy system store:
    I already trust 135, your new list has 127
    6 previously trusted certificates were removed.
    Certificate removed: C=TR, L=Ankara, O=TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş., CN=TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
    Certificate removed: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
    Certificate removed: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root
    Certificate removed: C=FR, O=Certplus, CN=Certplus Root CA G1
    Certificate removed: C=FR, O=OpenTrust, CN=OpenTrust Root CA G2
    Certificate removed: C=FR, O=OpenTrust, CN=OpenTrust Root CA G1
    Import process completed.
    
    Importing into BTLS system store:
    I already trust 0, your new list has 127
    Certificate added: ...
    ...
    127 new root certificates were added to your trust store.
    Import process completed.
    Done
    done.
    Setting up mono-devel (6.8.0.105+dfsg-2) ...
    ...
    Processing triggers for linux-image-5.4.0-42-generic (5.4.0-42.46) ...
    /etc/kernel/postinst.d/initramfs-tools:
    update-initramfs: Generating /boot/initrd.img-5.4.0-42-generic
    I: The initramfs will attempt to resume from /dev/sdb14
    I: (UUID=2ae5ec7d-42bd-4d6b-9597-7473984c75fe)
    I: Set the RESUME variable to override this.
    /etc/kernel/postinst.d/zz-update-grub:
    Sourcing file `/etc/default/grub'
    Sourcing file `/etc/default/grub.d/99_breeze-grub.cfg'
    Sourcing file `/etc/default/grub.d/init-select.cfg'
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/breeze/theme.txt
    Found linux image: /boot/vmlinuz-5.4.0-42-generic
    Found initrd image: /boot/initrd.img-5.4.0-42-generic
    Found linux image: /boot/vmlinuz-5.3.0-62-generic
    Found initrd image: /boot/initrd.img-5.3.0-62-generic
    Adding boot menu entry for UEFI Firmware Settings
    done
    Processing triggers for dictionaries-common (1.28.1) ...
    aspell-autobuildhash: processing: en [en-common].
    ...
    aspell-autobuildhash: processing: pt_BR [pt_BR].
    Processing triggers for dbus (1.12.16-2ubuntu2.1) ...
    Processing triggers for libvlc-bin:amd64 (3.0.9.2-1) ...
    Processing triggers for initramfs-tools (0.136ubuntu6.2) ...
    update-initramfs: Generating /boot/initrd.img-5.4.0-42-generic
    I: The initramfs will attempt to resume from /dev/sdb14
    I: (UUID=2ae5ec7d-42bd-4d6b-9597-7473984c75fe)
    I: Set the RESUME variable to override this.
    Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.40.0+dfsg-3) ...
    Processing triggers for libgdk-pixbuf2.0-0:i386 (2.40.0+dfsg-3) ...
    Processing triggers for wine (5.0-3ubuntu1) ...
    
    Reading package lists... 0%
    ...
    Reading package lists... 97%
    
    Reading package lists... Done
    
    Building dependency tree... 0%
    ...
    Building dependency tree... 50%
    
    Building dependency tree
    
    Reading state information... 0%
    ...
    Reading state information... Done
    
    Searching for obsolete software
    
    Reading state information... 0%
    ...
    Reading state information... 99%
    
    Reading state information... Done
    
    Remove obsolete packages?
    
    296 packages are going to be removed.
    
    Removing the packages can take several hours.
    
     Continue [yN]  Details [d] d
    
    Remove: diffuse dolphin4 komparator libkonqsidebarplugin4a xxdiff
    
    Remove (was auto installed) command-not-found-data fonts-noto
      fonts-noto-cjk-extra fonts-noto-ui-extra fonts-noto-unhinted
      freepats fwupdate gcc-8-base:i386 gconf-service
      gconf-service-backend gconf2-common iputils-arping kde-runtime
      kde-runtime-data kdelibs-bin kdelibs5-data kdelibs5-plugins
    ...
      libreoffice-avmedia-backend-gstreamer libreoffice-librelogo
      libreoffice-ogltrans libreoffice-sdbc-hsqldb
    ...
      linux-headers-5.3.0-62 linux-headers-5.3.0-62-generic
      linux-headers-generic linux-headers-generic-hwe-18.04
      linux-hwe-5.4-headers-5.4.0-42 linux-image-5.3.0-62-generic
      linux-image-generic-hwe-18.04 linux-modules-5.3.0-62-generic
      linux-modules-extra-5.3.0-62-generic mlocate mono-jay
    ...
      python-webencodings python-zipp python3.6 python3.6-minimal qdbus
      qpdf qt-at-spi qtcore4-l10n qtdeclarative5-qtquick2-plugin
      rarian-compat ruby-did-you-mean ruby2.5 sextractor ureadahead
      xwayland-hwe-18.04
    
    Continue [yN]  Details [d] y
    
    Fetched 0 B in 0s (0 B/s)
    (Reading database ...
    (Reading database ... 5%
    ...
    (Reading database ... 100%
    (Reading database ... 287037 files and directories currently installed.)
    Removing command-not-found-data (18.04.5) ...
    Removing diffuse (0.4.8-3) ...
    Removing dolphin4 (4:16.04.3-0ubuntu1) ...
    ...
    Removing linux-image-5.3.0-62-generic (5.3.0-62.56~18.04.1) ...
    I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.4.0-42-generic
    I: /boot/initrd.img.old is now a symlink to initrd.img-5.4.0-42-generic
    /etc/kernel/postrm.d/initramfs-tools:
    update-initramfs: Deleting /boot/initrd.img-5.3.0-62-generic
    /etc/kernel/postrm.d/zz-update-grub:
    Sourcing file `/etc/default/grub'
    Sourcing file `/etc/default/grub.d/99_breeze-grub.cfg'
    Sourcing file `/etc/default/grub.d/init-select.cfg'
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/breeze/theme.txt
    Found linux image: /boot/vmlinuz-5.4.0-42-generic
    Found initrd image: /boot/initrd.img-5.4.0-42-generic
    Adding boot menu entry for UEFI Firmware Settings
    done
    Removing linux-image-generic-hwe-18.04 (5.4.0.42.46) ...
    Removing linux-modules-5.3.0-62-generic (5.3.0-62.56~18.04.1) ...
    Removing mlocate (0.26-3ubuntu3) ...
    ...
    Removing libntrack0 (016-1.3) ...
    Removing ntrack-module-libnl-0 (016-1.3) ...
    Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
    Processing triggers for mime-support (3.64ubuntu1) ...
    Processing triggers for hicolor-icon-theme (0.17-2) ...
    Processing triggers for cups (2.3.1-9ubuntu1.1) ...
    Processing triggers for libc-bin (2.31-0ubuntu9) ...
    Processing triggers for man-db (2.9.1-1) ...
    Processing triggers for libreoffice-common (1:6.4.4-0ubuntu0.20.04.1) ...
    Processing triggers for dbus (1.12.16-2ubuntu2.1) ...
    Processing triggers for shared-mime-info (1.15-1) ...
    Processing triggers for sgml-base (1.29.1) ...
    Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
    dpkg: warning: package not in status nor available database at line 1: command-not-found-data:amd64
    dpkg: warning: package not in status nor available database at line 3: dolphin4:amd64
    ...
    dpkg: warning: package not in status nor available database at line 295: xwayland-hwe-18.04:amd64
    dpkg: warning: package not in status nor available database at line 296: xxdiff:amd64
    dpkg: warning: found unknown packages; this might mean the available database
    is outdated, and needs to be updated through a frontend method;
    please see the FAQ 
    (Reading database ...
    (Reading database ... 5%
    ...
    (Reading database ... 100%
    (Reading database ... 220343 files and directories currently installed.)
    Purging configuration files for linux-image-5.3.0-62-generic (5.3.0-62.56~18.04.1) ...
    ...
    Purging configuration files for kde-runtime (4:17.08.3-0ubuntu1) ...
    Processing triggers for dbus (1.12.16-2ubuntu2.1) ...
    
    System upgrade is complete.
    
    Restart required
    
    To complete the upgrade, a system restart is required.
    If you select 'y' the system will be restarted.
    
    Continue [yN] n
    Thu 13 Aug 23:31:19 -03 2020
    
    $ exit
    
    Script done on 2020-08-13 23:31:48-0300
    

    Note que eu mantenho desabilitada a detecção de outras distros (os-probe), — por isso as sucessivas atualizações do Grub detectam apenas as versões de Kernel do próprio KDE Neon.

    Teclar “d” para detalhar os arquivos que serão instalados, atualizados, removidos

    Ao final de alguns minutos, fui informado de que o upgrade do KDE Neon implicaria em remover 31 pacotes (na verdade, foram 296), instalar 641 pacotes novos, atualizar 2.132 pacotes, — download total de uns 2 GiB, — e demoraria cerca de 1 hora, a julgar pela velocidade da conexão até aquele momento.

    Infelizmente, eu tinha esquecido de uma precaução básica: — Desligar o Modem e tornar a ligar, após alguns minutos, para melhorar a conexão, que vem decaindo há alguns meses. — Um teste tardio, pelo speedtest-cli, mostrou que naquele momento eu não podia contar com mais do que 50 Mbit/s, do total de 200 “megas” contratados (26,3 MiB/s).

    Mas isso, até o PTT / IX mais “próximo”, — pois ainda ia depender da velocidade dos repositórios no Brasil (br.archive.ubuntu) e no exterior (archive.neon.kde, security.ubuntu), assim como das velocidades encontradas no caminho entre meu provedor e os repositórios. — Na prática, o download começou com uma média de 3,7 MiB/s (máximo 5,3 MiB/s), para os pacotes do repositório do KDE Neon; mas logo decaiu para uma faixa de 100 a 500 KiB/s, para os pacotes do repositório Ubuntu no Brasil; e o processo todo acabou demorando mais de 2h 30min (20:52 ~ 23:31).

    Capturas de tela falhadas, na fase final do upgrade do KDE Neon

    A navegação no Chromium, a música local no VLC, o monitoramento pelo Conky e quase tudo mais continuou funcionando normalmente, durante todo esse tempo. — Apenas a Captura de tela (shortcut PrtScn + gnome-screenshot) deixou de funcionar por alguns minutos, entre 23:00 e 23:20; e o Dolphin e o Gwenview (abertos desde o início) não recuperaram o acesso às pastas, depois disso; mas o Kate continuou salvando as anotações, até o final.

    xxxx

    Para uma lista dos 296 pacotes removidos:


    xxxx

    — … ≠ • ≠ … —

    PC desktop UEFI / GPT



    Ferramentas &tc.



    Debian's