daltux

Blog que também pode ser seguido pela Federação como @daltux@blog.ayom.media

Há anos, tenho usado Mosh para contornar instabilidades e mobilidade de redes, já que ele se baseia em UDP e é bem adequado a isso, sem precisar manter uma “conexão” caso usasse TCP. É projetado para lidar com as perdas e a funcionar conforme haja comunicação.

O problema que enfrentei com Mosh recentemente foi ao precisar passar por máquinas intermediárias (como em ssh -J — vide manual), algo que se tornou necessário recentemente no ambiente de trabalho. Estive desde então pesquisando como resolver isso. Com o próprio Mosh, não consegui adequadamente, embora continue possível utilizá-lo para acessar uma máquina disponível diretamente e abrir N shells com, p. ex. e o que recomendo, Byobu. É um gerenciador de “janelas” de terminal que mantém uma “sessão”, podendo deixá-la aberta, sair e retomar posteriormente, ou que persiste caso haja desconexão. Assim, um multiplexador como Byobu por si só já é uma solução para quem deseja contornar perdas de conexão, mesmo usando o próprio SSH. Aliado ao Mosh, então, formava uma dupla mais eficiente, praticamente infalível. Pena que não consigo fazer o Mosh se comunicar com host que não esteja disponível por SSH, mesmo tentando chamar manualmente os programas servidor e cliente.

Felizmente descobri agora, enfim, o autossh, cujo propósito é simplesmente monitorar o estado da conexão do SSH e reiniciá-la quando ela cai. Para a operação ser viável, configure devidamente uma maneira de se autenticar, preferencialmente com par de chaves, sem que o programa tenha que ficar esperando digitação de senha a cada reconexão. Se não abrir um multiplexador de terminal, também não vai adiantar muito, podendo surgir problemas em uma desconexão súbita. É possível habilitar Byobu para que seja iniciado a cada shell com o comando byobu-enable. A solução com autossh não é tão eficiente quanto mosh, mas já funciona bem, na combinação com Byobu.

Todos eles estão disponíveis nos repositórios principais do Debian GNU/Linux, entre outros. Portanto, recomendo pesquisar os atalhos do Byobu, no caso, para dominá-lo e usá-lo sempre! ( mosh ou autossh ) + byobu já! 💌


Byobu é, na realidade, um conjunto de scripts e configurações que visam tornar tmux ou GNU screen mais amigáveis, utilizando o que estiver disponível entre eles (tmux por padrão). Assim, as afirmações acima valem para eles também, caso prefira usá-los diretamente.


Consta ainda um projeto mais recente, chamado Eternal Terminal, que pretende funcionar semelhantemente a Mosh, porém lidando com TCP e alegando até suportar saltos de SSH. Embora publicado nos termos da licença Apache 2.0, não está disponível nos repositórios Debian oficiais até o momento. Então ainda não o testei, pois já fiquei satisfeito com autossh, fornecido pela distribuição.

#shell #OpenSSH #ssh #byobu #tmux #gnu #GNUlinux #debian #mosh #autossh #unix

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Solicitação enviada à equipe responsável pela VPN privativa de liberdade de uma universidade pública brasileira, por dificuldade de uso com cliente livre.

Desde ao menos esta manhã, ao tentar abrir conexão à VPN, como de praxe há tantos anos, utilizando vpnc, tanto do DebianSid” (mais recente possível dessa família) quanto do Ubuntu (Pro) 18.04, não há sucesso, tanto pelo usual NetworkManager com suporte a essa VPN instalado pelo pacote network-manager-vpnc-gnome, quanto tentando executar o vpnc diretamente, observando-se o seguinte registro:

vpnc: configuration response rejected:  (ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED)(13)

Seguem informações do programa vpnc no Debian “sid”:

vpnc version 0.5.3+git20220927-1
Copyright (C) 2002-2006 Geoffrey Keating, Maurice Massar, others
vpnc comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of vpnc under the terms of the GNU General
Public License.  For more information about these matters, see the files
named COPYING.
Built with certificate support.

Supported DH-Groups: nopfs dh1 dh2 dh5 dh14 dh15 dh16 dh17 dh18
Supported Hash-Methods: md5 sha1
Supported Encryptions: null des 3des aes128 aes192 aes256
Supported Auth-Methods: psk psk+xauth hybrid(rsa)

Já com o plugin OpenConnect do NetworkManager (pacote network-manager-openconnect-gnome), cujo suporte a GlobalProtect está disponível nas versões mais recentes (não na do Ubuntu 18.04), felizmente a conexão é bem-sucedida. No Debian sid, o pacote openconnect está na versão 9.12-1, enquanto no Ubuntu 18.04 disponibiliza-se 7.08-3. Segundo seu changelog, o suporte a PANGP iniciou na versão 8.0.0 do OpenConnect. Detalhes sobre o PANGP no OpenConnect também estão disponíveis.

Assim, o presente chamado é para dar notícia de que algo parece ter mudado na VPN, ontem ou hoje, que lamentavalmente não foi anunciado, tornando-a subitamente incompatível com o vpnc, e, portanto, solicitar que, sendo possível, considerem reabilitar o suporte ao mesmo, tendo em vista que é o cliente mais amplamente disponível e estável, em matéria de software livre, não privativo de liberdade, injusto e duvidoso por definição, questão que o poder público não deve esquecer, sobretudo no setor educacional. OpenConnect é, felizmente, uma opção razoável, embora menos estável, porém está disponível apenas às máquinas mais atualizadas. Por sua vez, vpnc foi utilizado com sucesso desde que a VPN foi disponibilizada pela universidade, até ontem. Caso tenha havido uma alteração dolosa e/ou seja impossível que ele volte a funcionar, protestamos diante da falta de consciência geral sobre o tema, cada vez mais grave, e que não houve anúncio, prévio ou posterior, sem permitir qualquer período de adaptação a esse tipo de alteração, direito normalmente concedido somente a usuários em regime de software privativo de liberdade.

#SoftwareLivre #VPN #InfoSec #ServiçoPúblico #universidade

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Reedição de publicação de 2006 em blog/site pessoal mantido de 1998 a 2012.

“Num futuro muito próximo”, no imenso sertão da Austrália, há uma espécie de patrulha rodoviária para tentar controlar gangues motorizadas que pilham as estradas. Dessa pequena corporação, faz parte o jovem protagonista Max Rockatansky (Mel Gibson), tido como o mais eficiente de seus integrantes.

Knight Rider (adaptado como o “Cavaleiro da Estrada”), um dos principais integrantes de uma gangue de motociclistas, fica entorpecido (“pedrado, pipado e doidão”), mata um policial e rouba uma das melhores e raras viaturas, modelo Pursuit Special V8:

— É um tarado das motos. Ficou doidão de repente, há umas horas! Conseguiu fugir, matou e roubou um dos especiais [...].

— Qual é o carro dele?

— Isso é que dói… é um dos nossos V8. Um dos especiais a metano, que anda pra cacete!

Um carro tipo cupê totalmente preto, modelo Ford XB Falcon personalizado, com chamativas molduras dos farois diranteiros, retangulares em cor cinza, e o enorme capô com abertura por onde saem partes mecânicas, um supercharger blower.A estória se inicia quando Knight Rider começa a ser perseguido pela patrulha e dá muito trabalho à corporação, tirando de ação dois carros e uma motocicleta. Max vai então ao seu encalço, com a viatura Interceptor. O efeito da droga do bandido começa a passar e ele chora ao perceber que sua fuga não terminaria bem. E acaba se acidentando e morrendo. Isso atiça a fúria do líder da gangue, Toecutter, que leva sua corja atrás de Max para vingança.

O filme é muito bom. Não convém contar o restante. Assista.

É curioso notar que, por muito tempo, “Mad Max” foi o filme que teve a maior taxa de lucro em comparação com seu custo da história. Isso durou até o sucesso de “A bruxa de Blair” (2000). Seu custo de produção foi de apenas 350 mil dólares (estimativa), contudo gerou uma receita de mais de 100 milhões de dólares. Seriam 28500%.

Ainda segundo a Wikipedia, George Miller, diretor e roteirista, é médico e trabalhou na ala de emergência de um hospital, onde teria presenciado muitos ferimentos e mortes de pessoas cujas histórias o inspiraram. Contudo, Miller achou que o público não acreditaria que esse tipo de roteiro ocorresse na atualidade. Daí teria vindo a idéia de fazer com que a aventura se passasse no futuro.

Em “Mad Max 2” (1981), há um prólogo adicionando que teria havido uma guerra nuclear mundial motivada pela falta de recursos energéticos. Depois disso, teria havido uma tentativa de se preservar o Estado, quando se passam os acontecimentos do primeiro filme. Na sequência, porém, não há mais resquícios de governo: paz e justiça deram lugar à sobrevivência a qualquer custo. Max, outrora policial rodoviário e depois justiceiro, tornara-se apenas um nômade das estradas.

Quando se assume que deveria haver uma harmonia na trilogia, o que intriga é algo que atinge o âmago ficcional da primeira produção, baseada em perseguições de automóveis em rodovias: em uma terra de ninguém, praticamente em ausência de Estado, como seria possível a manutenção de tão perfeitos pavimentos como vistos no primeiro filme, sem um buraquinho sequer? Pode-se imaginar um motivo para que os produtores tenham se esquecido desse detalhe e para que a audiência e a crítica sequer tenham notado: em nações mais desenvolvidas, talvez seja impensável que haja buracos em asfalto.

#MadMax #cinema #resenha #blog

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

🇬🇧 English version

Discordo fortemente quando alguém afirma equivocadamente que “Linux” (querendo frequentemente dizer GNU e outros sistemas tipo Unix) seria projetado para ser usado somente pela linha de comando e, assim, usuários finais seriam melhor servidos por um ou dois sistemas operacionais não livres para computadores pessoais, especialmente aquele que atualmente domina o mercado.

Há de fato um enorme esforço de “Linux”/etc. no lado do servidor (back-end), isso felizmente, já que é o sistema operacional que tem sustentado atualmente a sociedade da informação global, executando a maioria dos servidores da Web, a infraestrutura de telecomunicações em geral, os maiores supercomputadores, projetos científicos de variadas áreas, dispositivos móveis e embarcados, incluindo veículos automotores. Os ditos interpretadores de comandos na realidade tornam a vida de quem aprende a usá-los mais fácil e rápida. Isso não é uma fraqueza, e sim uma vantagem muito poderosa.

Dito isso, também tem havido grande desenvolvimento, por décadas, do que chamamos de ambientes de área de trabalho livres (Free Desktop), com diversas implementações, algumas menos e outras mais orientadas ao usuário final.

Captura de tela do Pantheon desktop, do Elementary OS. Apresenta fundo com uma foto de paisagem, barra superior transparente com letras e ícones brancos, destacando-se a ativação de um item responsável pela abertura de uma janela de escolha com vários ícones para lançar aplicativos e uma barra de texto por onde pode ser pesquisado algum aplicativo. Na parte inferior, há uma barra tipo dock com ícones pelos quais aparentemente também podem ser iniciados programas ou abertos aqueles que estejam em execução.

Usuários comuns de navegadores Web e aplicativos em geral não têm necessidade de saber muito sobre o que o computador faz por trás da interface gráfica humano-máquina. Eles contam com outras pessoas para suporte técnico, e os ambientes desktop livres não mudam esse fato. A maior diferença é que oferecem mais opções e liberdades, dando a impressão de uma escolha mais difícil. Contudo, independentemente do tipo de software envolvido, quando solicitados a instalar ou dar manutenção em uma máquina dessas, faz parte do trabalho de profissionais de TI levantar o que seus clientes precisam no computador, conhecer as opções disponíveis ou pesquisá-las, para satisfazer essas necessidades. Não precisa ser como uma religião com uma única verdade inquestionável para todas as situações, como infelizmente parece ser o caso com frequência. Ao contrário, a idéia aqui é empoderar os usuários para que consigam exercer sua liberdade e mantê-la sustentável.

Meu pai (com mais de 70 anos), que felizmente é saudável, mas nunca tinha usado um computador antes, acabou se tornando um usuário final de Xfce e Firefox praticamente sem treinamento. Ele sabe como ligar, colocar sua senha, iniciar o navegador por um ícone na tela, abrir alguns sites que deixei marcados na Barra de Favoritos, como de instituições financeiras, correio eletrônico, notícias etc. Eventualmente, aprendeu como digitar outros endereços simples, fazer buscas, e até a me chamar para uma sessão de assistência remota quando precisa. Isso teve início antes de ter começado a usar celulares inteligentes. É como o usuário idoso médio de outros sistemas, ou melhor. Há alguns docentes pós-doutores na universidade que, mesmo com o sistema operacional dominante, chegam a ter dificuldade para fazer isso tudo, talvez por falta da vontade necessária. Ele na realidade até chegou a experimentar, sem minha interferência, o sistema proprietário que veio instalado em um então novo notebook, já há vários anos. Não demorou até me pedir para “consertá-lo”, deixando como está acostumado. De vez em quando, atualizo para ele o Xubuntu, que então permanece estável, eficiente em uso de recursos, seguro, possuindo o que ele precisa, sendo que com outro sistema provavelmente a máquina já estaria obsoleta. Então, como poderia não estar feliz com isso? Ele reclama quando um site não faz o que ele quer, o provedor de Internet cai ou a impressora trava, como qualquer outro usuário. Por tudo que é tão elogiado naquele típico sistema operacional proprietário, dito intuitivo, era para ser bem fácil para todas as pessoas se acostumarem a ele, certo?

A lição é que qualquer mudança de hábito é muito difícil para a maioria das pessoas, que costumam ser teimosas. Se tivessem sido ensinadas desde o princípio a usar algum ambiente desktop, ferramentas e aplicativos livres, mesmo que diferentes de seus equivalentes privativos com funcionalidades semelhantes, elas estariam acostumadas e provavelmente evitariam a situação oposta. Assim como as massas têm sofrido lavagem cerebral para acreditarem que existe apenas uma maneira de usar o computador. É por isso que elas mantêm tudo na mesma, ainda que estejam sujeitas a obsolescência programada, aprisionamento tecnológico, práticas monopolistas, comprometimento de privacidade e segurança, ou algum outro tipo de dependência pesada das maiores corporações de tecnologia, preferindo isso a aprender qualquer coisa que pudesse torná-las capazes de mais liberdade.

#SoftwareLivre #Liberdade #GNU #Linux #GNULinux #CódigoAberto #GNOME #KDE #Xfce #LXDE #Pantheon #Budgie #Firefox #desktop #POSIX

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

🇵🇹🇧🇷 Versão em português

I strongly disagree when people mistakenly claim that “Linux” (meaning GNU and other Unix-like) is designed to be used only on the command line interface, and therefore end users would be better served by one or two more common desktop operating systems, especially the currently dominant one.

There is indeed a strong “Linux”/etc focus on the backend/server-side, thankfully, as they drive the information society world today, running most web and database servers and other infrastructure, supercomputers, important scientific projects, artificial intelligence development, mobile and embedded devices, like probably even your automobile. The said command line interpreters actually make life easier and faster for those who learn how to use them. This is not a weakness, but a very powerful feature.

Having said that, there has also been great development for decades on what we call Free Desktop environments, with many different implementations, some more end-user oriented than others.

Screenshot of Pantheon desktop, from Elementary OS, having a landscape wallpaper image, a transparent top bar with white characters and icons, highlighting the activation of an item responsable for opening an application selection menu with several icons to launch them and a text field for app searching. At the bottom, there is a dock with icons, probably for opening applications already running.

Regular web browser and most application users have no need to know much about what the computer is doing behind the graphical human-machine interface. They rely on other people for technical support, and Free Desktop environments do not change this fact. The main difference is that there are more options and freedoms, giving the impression of a harder choice. However, when asked to install software and maintain such a machine, it is the job of good computer technicians to learn the needs of their clients, know or find the options, and meet those needs. It does not have to be like a religion with a single, unquestionable, true solution for all situations, as is unfortunately often the case. On the contrary, the idea here is to empower users to fulfill their freedom and keep it sustainable.

My old man (over 70 years old), who is fortunately healthy but had never used a computer before, became a Xfce/Firefox “light” end user without proper training. He knows how to turn it on, enter his password, start the browser that has an icon, load some sites I left on the Bookmarks Toolbar, e.g. his banks, stock market, email provider, favorite news. Eventually, he learned how to type in other simple addresses, search, and even call me for remote assistance if needed. All this before he started using smartphones. Just like or better than the average older user of other systems. There are some PhD professors at the university who, even on the dominant OS, have a hard time doing all this, perhaps lacking the necessary will. He actually tried the built-in proprietary system without my interference after buying a new laptop (already years ago), but soon asked me to “fix” it. From time to time I upgrade Xubuntu for him, then it remains stable, resource efficient, secure, has what he needs, so how could he not be happy with it? He complains when a website doesn't do what he wants it to, the internet provider goes down, or the printer hangs, like everyone else. Based on what is so praised about the typical proprietary operating system, it should be very easy for all people to get used to it, right?

The lesson is that any habit change is very difficult for most people, and they are usually stubborn. If they had been taught from the beginning how to use some Free Software desktop environment, tools, and applications, even if they were different from most common proprietary counterparts with similar functionality, they would get used to them and probably avoid the opposite situation. Just as the masses have been brainwashed into believing that there is only one way to use a computer. That is why they prefer to keep it the same, even if it is subject to premature obsolescence, vendor lock-in, privacy and security compromise or any other kind of heavy dependence on Big Tech, rather than learn anything at all that would make them capable of broad freedom.

#FreeSoftware #FreeAsInFreedom #GNU #Linux #GNULinux #FOSS #GNOME #KDE #Xfce #LXDE #Pantheon #Budgie #Firefox #FreeDesktop #desktop #POSIX #PC

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Acaba sendo bastante interessante pelo menos alguém, em uma equipe que trabalha com um parque repleto de Debian GNU/Linux e/ou derivados como Ubuntu, utilizar Debian Sid ou pelo menos Testing na sua máquina de uso direto: pode ser possível antecipar as eventuais mudanças relevantes na distribuição, por ficar sabendo delas mais naturalmente e provavelmente ter que tratá-las ali assim que ocorrerem, bem antes das máquinas de produção.

Isso ainda permite minimamente contribuir com o teste do sistema operacional utilizado (normalmente) gratuitamente para seu sustento, sendo um projeto colaborativo. Acaba se acostumando a se desvencilhar de possíveis problemas em atualizações, bem como a manipular suas ferramentas e métodos mais recentes. Enfim, aprimorar-se mais do que se não fizesse isso.

Fica menos fácil se utilizar distribuições em formato distinto daquela predominante no seu parque. Muito mais difícil se fizer como muitos que teimam até em usar outros sistemas operacionais que não se justificam além das massas. Pior ainda, aqueles com arquiteturas totalmente proprietárias, específicas, longe dos padrões POSIX.

Esse conceito veio após o exemplo que segue.

Mensagem exibida ao se atualizar o pacote sudo do sid nesta sexta-feira, 2023-12-08:

apt-listchanges: News

sudo (1.9.15p2-1) unstable; urgency=medium

sudo-ldap has become a burden to maintain. This is mainly due to the fact that the sudo team has neither the manpower nor the know-how to maintain sudo-ldap adequately.

In practice, there are few installations that use sudo-ldap. Most installations that use LDAP as a directory service and sudo have now opted for sssd, ssdh-ldap and libsss-sudo.

The Debian sudo team recommends the use of libsss-sudo for new installations and the migration of existing installations from sudo-ldap to libsss-sudo and sssd.

The combination of sudo and sssd is automatically tested in autopkgtest of sudo.

This is also being discussed in #1033728 in the Debian BTS.

Debian 13, “trixie”, will be the last version of Debian that supports sudo-ldap. Please use the bookworm and trixie release cycles to migrate your installation away from sudo-ldap.

Please make sure that you do not upgrade from Debian 13 to Debian 14 while you're still using sudo-ldap. This is not going to work and will probably leave you without intended privilege escalation.

— Marc Haber mh+debian-packages@zugschlus.de Mon, 20 Nov 2023 10:07:57 +0100

Em suma, a equipe reponsável pelo empacotamento do sudo declara que trixie — codinome da versão em testing atual, a ser eventualmente paralisada para ser lançada como Debian 13, ainda sem data — será a última versão de Debian com disponibilidade do pacote sudo-ldap.

Felizmente, em máquinas mais recentes, acaba sendo mais frequentemente usado sssd para a integração com o LDAP por ser o que possui mais instruções na documentação, e é realmente uma alternativa apontada pela equipe do sudo agora.

Como Ubuntu é filho de Debian, as mudanças deste devem chegarão em algum momento a Ubuntu também. Nesse caso, se continuarem o padrão atual, provavelmente até 2026.

Claro que seria também possível manter máquinas no parque de servidores para testes com Debian sid ou testing, que precisariam ser frequentemente manipuladas, ou talvez seguir as listas de discussão (difícil por serem inúmeras), porém as atitudes não são excludentes.

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Seguem resultados de um rápido #teste de desempenho de leitura de dispositivos de armazenamento de dados comuns em algumas máquinas. São quatro unidades de discos rígidos (HDD), duas unidades de estado sólido (SSD) e um cartão de memória MicroSD. Os testes foram realizados utilizando o software GNOME Disks enquanto as partições existentes estavam montadas, ainda que sem uso intenso.

O SSD contido no laptop com #Ubuntu 18.04, em especial, está em uso há dez anos ou mais e já passou por três máquinas como dispositivo de armazenamento principal. Já soma mais de um ano ligado e não apresenta erros, segundo dados de SMART apresentados pelo GNOME Disks. Foi o mais barato de fabricante razoavelmente confiável (SanDisk no caso) encontrado à época.

Com a recente ampla disponibilidade de interação da máquina com o SSD por NVMe, a diferença de acesso aos dados tende a ser mais gritante ainda.

Apesar de não ter sido feito teste de gravação (há inúmeros disponíveis), a conclusão óbvia é a de que, por mais simples que seja o SSD, já está décadas à frente em quesito desempenho e se equipara ou talvez até ultrapasse em durabilidade, portanto passamos da hora de abolir os HDs no cotidiano.

Laptop com Ubuntu 22.04

HD principal (SATA)

Screenshot from 2023-08-01 08-03-02

HD externo (USB) Samsung M3 Portable

Screenshot from 2023-08-01 08-01-41

Laptop com Ubuntu 18.04

SSD (SATA) contendo partição principal (dados do sistema e de usuários)

Screenshot from 2023-08-01 08-53-33

HD (SATA) contendo partições secundárias (swap, NTFS entre outras)

Screenshot from 2023-08-01 08-51-45

Desktop com Ubuntu 18.04

SSD (SATA) contendo partição principal (/)

Screenshot from 2023-08-01 09-21-47

HD (SATA) contendo partição do usuário (/home)

Screenshot from 2023-08-01 09-19-00

Raspberry Pi 3 Model B

MicroSD classe 10

Screenshot from 2023-08-01 09-32-34

#hardware

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Última revisão: 13/11/2023

Ubuntu, recentemente (22.04[1] em diante), na sua variação para desktop, inclui um serviço “systemd-oomd” que mata processos que estejam consumindo muita memória, preventivamente, bem antes que ela se esgote e haja potencial travamento. A ideia parece boa, porém, como está implementada, acaba sendo exagerada.

Não adianta disponibilizar mais swap[2], pois o novo mecanismo entra em ação quando qualquer processo (leia-se provavelmente o navegador) tem a tendência de ocupar mais do que 50% da RAM por mais de 20s, por padrão. Pode conferir suas definições executando oomctl. Mesmo alterar as configurações (em /etc/systemd/oomd.conf) parece não solucionar, pois, no fim, impede que o usuário ocupe toda a memória.

Na prática comum, se a máquina não tiver muita RAM sobrando, o navegador, ao ser utilizado mais intensamente, acaba sendo fechado bruscamente, enquanto ainda praticamente nem foi usada swap. Pior que, se não olhar o syslog[3] (ou journalctl[4]), o usuário nem fica sabendo por quê[5]. Talvez culpe a aplicação. Havendo escassez de RAM, isso pode acontecer com qualquer programa razoavelmente espaçoso como, por exemplo, enquanto edita uma planilha ou outro arquivo, ou desenvolve um sistema. Há relatos[6] de que, dependendo da situação, até aquele que chamou os processos pode vir a ser encerrado, como seu terminal ou a área de trabalho completa. Portanto, há risco de perder dados não salvos.

Independentemente do que tentam sistemas operacionais, utilitários ou aplicativos para mitigar a questão, é claro que utilizar uma máquina com memória insuficiente terá efeitos indesejados ou será até inviável. Swap felizmente permite que mais memória esteja disponível para processos em execução, tendo o efeito adverso de lentidão ao transferir páginas de memória para/do armazenamento, sobretudo se este for mecânico[7]. O “systemd-oomd”, por matar processos antes que ocupem toda a memória, dá uma falsa sensação de menos travamento. Entretanto, o preço a pagar por essa comodidade é alto.

O que se pode fazer, por enquanto, data venia, é contrariar a Canonical (empresa que mantém o Ubuntu) e retornar ao que sempre funcionou, bem ou mal: confiar apenas no próprio Kernel (Linux) para matar emergencialmente os processos mais vorazes somente quando estiver esgotada a memória total, incluindo swap. É uma situação extrema em que já não há mais memória disponível, gerando congelamento até que o #Kernel, vagarosamente, consiga recuperar memória suficiente para os processos sobreviventes continuarem a execução. Essa problemática foi a motivação de Ubuntu incluir tal serviço paralelo, para evitar esse tipo de travamento. Contudo, acaba podendo ser pior.

É possível desabilitar o systemd-oomd com: sudo systemctl disable --now systemd-oomd.service

Mas, isto não garante que ele não seja invocado posteriormente por algum outro serviço. De fato, mesmo com o serviço desabilitado, ele pode acabar sendo encontrado em execução após um reboot, gerando os mesmos sintomas. Uma alternativa seria “mascará-lo”: sudo systemctl mask systemd-oomd [8]

A mais eficaz e definitiva solução é desinstalar o pacote systemd-oomd[9]. Não há dependentes, portanto não há impedimento:

sudo apt remove --purge systemd-oomd

Se, futuramente, o funcionamento de tal mecanismo for aperfeiçoado, ou se mudar de ideia, basta reinstalar esse pacote.

Observação

O texto está focado no #Ubuntu pois era uma distribuição que o autor utilizava no cotidiano à época da redação, todavia também é válido para outras que trazem o “systemd-oomd”, como Fedora ≥34.[10]


[1] Ubuntu 22.04 LTS lançado em abril de 2022. Confira os detalhes (em inglês). [2] Mecanismo de memória virtual: partição ou arquivo de troca de paginação de memória física para disco que permite ter mais memória livre. [3] Registro de eventos do sistema, geralmente disponível no arquivo /var/log/syslog. [4] Saiba como utilizar o journalctl para visualizar mensagens do systemd. [5] Cf. relato de bug do systemd. [6] Cf., p. ex., https://techhq.com/2022/07/ubuntu-22-oomd-app-killer-memory-pressure/, https://bugzilla.redhat.com/show_bug.cgi?id=1941340, https://bugzilla.redhat.com/show_bug.cgi?id=1933494, https://askubuntu.com/questions/1404888 [7] Há maneiras de otimizar um pouco o uso de swap atualmente, como zswap ou zram, boas sugestões. Confira ainda um texto do Arch Linux a respeito (em inglês), incluindo outras opções de limpeza automática de memória similares ao “systemd-oomd”. [8] Cf. https://www.cjjackson.dev/posts/what-is-systemd-oomd-how-to-disable-it/ [9] Cf. https://askubuntu.com/a/1423840/1007603 [10] Cf. relato de bug de 2021.

#systemd #RAM #Ubuntu #Fedora #GNU #Linux #swap

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0

Orgulhava-me por conseguir usar celulares até acabarem, desistindo apenas quando literalmente quebravam ou a reposição da bateria ficava inviável. Já fiz vários “ressuscitarem”, após deixarem de ter atualizações das fabricantes, instalando geralmente alguma versão de LineageOS (Cyanogenmod anteriormente), uma distribuição comunitária com atualização frequente do Android, sistema operacional cujas partes genéricas, incluindo o Kernel Linux, têm o código-fonte aberto. Código-fonte é a programação escrita que pode ser estudada, auditada e/ou reaproveitada. As fabricantes dos aparelhos adicionam ao #Android componentes específicos para cada modelo e normalmente promovem outras adaptações e personalizações, muitas vezes sem disponibilizar o código-fonte, infelizmente. Então, cabe normalmente a programadores voluntários da comunidade portar ou até reimplementar componentes necessários para que a distribuição alternativa funcione em determinado dispositivo.

A #Samsung teve a “brilhante” ideia de colocar em alguns modelos um mecanismo que impede qualquer tipo de alteração “não oficial” no firmware, software embutido na máquina, sendo que o bootloader, processo que carrega o sistema operacional ao ligar, poderia ser desbloqueado, o que possibilitaria instalar versões diferentes, apenas após uma semana de funcionamento com o mesmo cartão SIM (chip da operadora). Esta condição é validada por um servidor na Internet mantido pela empresa. Isso supostamente serviria para inviabilizar alterações caso o aparelho fosse extraviado. Ocorre que a Samsung não deu a devida manutenção a tal servidor rmm.samsung.com, cujo certificado para HTTPS se expirou em fins de 2021. Ou seja, agora o celular se recusa a se comunicar com o serviço que validaria sua situação para que permitisse desbloquear o bootloader nas opções de desenvolvedor.

Então é isto: ficamos com um aparelho que teve a última atualização em 2020, no caso do Galaxy A5 2017, e agora não podemos fazer mais nada a respeito. Após seis anos, o hardware está perfeito, a tela não tem um risco e até a bateria ainda está surpreendentemente útil. Porém, a obsolescência programada venceu.

Aparentemente, pouco adianta ser cuidadoso com algo feito para durar no máximo três anos. Que fazer agora? Jogar fora e poluir? Vender a preço de banana? Sugestões são bem-vindas.

Há informações a quem quiser ver que não sou o único a passar por isso no fórum especializado XDA.

Post scriptum

A ideia era experimentar LineageOS for microG, sendo microG uma implementação livre alternativa aos Google Play Services, ou seja, Android sem a dependência destes, para não oferecer tantos dados pessoais à empresa que domina o mercado.

  🇧🇷 🇵🇹  Este blog © 2023- por Daltux é publicado sob a Licença CC BY-SA 4.0.
🇺🇸 🇨🇦 🇬🇧  This blog © 2023- by Daltux is licensed under CC BY-SA 4.0