quinta-feira, 26 de dezembro de 2024

Sequoia quebra os repositórios apt. Como corrigir isso.

For the English version go to: https://www.adilson.net.br/2024/12/sequoia-breaks-apt-repos-how-to-fix-it.html

Depois de muito tempo sem atualizar o blog, vou escrever sobre algo bem recente que aconteceu em alguns dos meus sistemas aqui.

Para quem não sabe, normalmente uso Debian Sid nos desktops e notebooks com várias personalizações e repositórios de terceiros.

E, na semana do Natal, alguns desenvolvedores entregaram um presente para o próprio APT, de acordo com o último changelog.

apt (2.9.19) unstable; urgency=medium


  * Replace GnuTLS and gcrypt with OpenSSL

  * Replace GnuPG with Sequoia on supported Debian platforms

    - methods: Add new sqv method

    - debian: Add default policy to allow SHA-1 self-signatures until 2026

    - debian: Plug sqv into the package build

  * Smaller bits:

    - apt-helper: Add a hash-file helper to debug file hashing

    - Use sq in the test suite, remove apt-key

    - abicheck: Add symbol-merge.py helper

    - Symbols: Merge stable, noble, testing, unstable


 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Dec 2024 12:16:19 +0100

 

 Eles trocaram o GnuPG pelo Sequoia, que é uma implementação alterantiva para o PGP. Só que essa implementação tem umas configurações que, por padrão, bloqueiam o hash inseguro sha-1 para verificar as assinaturas de critografia. 

 Os desenvolvedores até colocaram uma alteração na politica do Sequoia que permite o uso do sha-1 até 2026, para dar tempo dos repositórios se adequarem. 

 Mas sabem como é o Debian Sid.

 

Tem coisas que o Sid quebra

 

 E quebrou com alguns repositórios. Alguns desses erros foram: 

 Err:39 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease

  Sub-process /usr/bin/sqv returned an error code (1), error message is: Signing key on DB085A08CA13B8ACB917E0F6D938EC0D038651BD is not bound:            primary key   because: No binding signature at time 2024-12-17T17:27:20Z   because: Policy rejected non-revocation signature (PositiveCertification) requiring collision resistance   because: SHA1 is not considered secure since 2013-02-01T00:00:00Z  

  W: Falhou ao buscar https://pkgs.k8s.io/core:/stable:/v1.31/deb/InRelease  Sub-process /usr/bin/sqv returned an error code (1), error message is: Error: Policy rejected packet type  Caused by:     Signature Packet v3 is not considered secure since 2021-02-01T00:00:00Z

    

  Até tentei verificar algo relacionado na explicação abaixo:

  

  apt (2.9.19) unstable; urgency=medium


  This release switches to OpenSSL for hashing and TLS, replacing the

  GnuTLS and gcrypt libraries.


  This release switches to Sequoia for OpenPGP verification on supported

  Debian platforms. A Sequoia policy override enabling SHA1 self-signatures

  until 2026 is included. To override the policy, the following environment

  variables and files are considered:


  * The APT_SEQUOIA_CRYPTO_POLICY environment variable, and failing that:

    - /etc/crypto-policies/back-ends/apt-sequoia.config,

    - /var/lib/crypto-config/profiles/current/apt-sequoia.config

  * The SEQUOIA_CRYPTO_POLICY environment variable, and failing that:

    - /etc/crypto-policies/back-ends/sequoia.config

    - /var/lib/crypto-config/profiles/current/sequoia.config


 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Dec 2024 12:16:22 +0100


 Só que as configurações não deram certo. A documentação do Sequoia https://docs.rs/sequoia-policy-config/latest/sequoia_policy_config/index.html não indicava um local correto para configuração e nem mesmo o ChatGPT conseguia uma configuração correta.

  Se nem a IA sabia como configurar corretamente:

 

 


 

 imagina um humano que só esbarrou no erro. 

 

 Depois de pesquisar muito. Descobri onde foi configurado as politicas do Sequoia no apt:

 

/usr/share/apt/default-sequoia.config


Como não explicam direito outros lugares alternativos 😵‍💫, vai neste mesmo:


Atualização: 9 de janeiro 2025: Um leitor anonimo comentou sobre /etc/crypto-policies/back-ends/apt-sequoia.config. Esta pasta não existe no meu sistema. Então tive que fazer um


mkdir -p /etc/crypto-policies/back-ends/ 

e criar o arquivo apt-sequoia.config para adicionar a configuração abaixo:

Dentro encontra a seguinte configuração:


[hash_algorithms]

sha1.second_preimage_resistance = 2026-01-01


Tenta alterar para 

[hash_algorithms]

#sha1.second_preimage_resistance = 2026-01-01

sha1= 2030-01-01

[packets]

signature.v3 = 2030-01-01


Comentei a primeira linha e adicionei o sha1 com a data para 01/01/2030.


Daí adicionei o campo packets com configuração de signature.v3, que também foi afetada, para 01/01/2030.


Após salvar o arquivo o erro desapareceu.


Esta é apenas uma solução temporária enquanto os desenvolvedores façam as correções no apt ou, quem mantem os repositórios, façam as atualizações nas assinaturas para padrões mais recentes que o Sequoia suporta sem problemas.

Tem que estar em mente que o SHA-1 já não é mais seguro e uma atualização do apt pode sobrescrever o /usr/share/apt/default-sequoia.config. Se o erro voltar, terá que aplicar as alterações novamente no arquivo.


Caso encontrem uma alternativa melhor, me informe nos comentários que será testado.


Agora você pode tentar a solução acima:


Um Feliz Ano Novo para todos.

Sequoia breaks apt repos. How to fix it.

Para versão em português vai em: https://www.adilson.net.br/2024/12/sequoia-quebra-os-repositorios-apt-como.html


After a long time without updating this blog, I will write about a issue that happened with some systems here.

If you have not noticed. I use Debian Sid in my desktops and notebooks with lots of customizations and third party repositories.

And, on this Christimas week, some devs give a present for the apt, as shown in this last changelog:


apt (2.9.19) unstable; urgency=medium


  * Replace GnuTLS and gcrypt with OpenSSL

  * Replace GnuPG with Sequoia on supported Debian platforms

    - methods: Add new sqv method

    - debian: Add default policy to allow SHA-1 self-signatures until 2026

    - debian: Plug sqv into the package build

  * Smaller bits:

    - apt-helper: Add a hash-file helper to debug file hashing

    - Use sq in the test suite, remove apt-key

    - abicheck: Add symbol-merge.py helper

    - Symbols: Merge stable, noble, testing, unstable


 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Dec 2024 12:16:19 +0100


They switched from GnuPG to Sequoia, that is an alternative PGP implementation. But this implementations has some configurations that default blocks the insecure sha-1 hash for checking crypto signiatures.

The devs also put a change on the Sequoia policy that allows sha-1 until 2026.


But you know how Debian sid is like:


There are some things that Sid breaks.

And it breaks some repos. Some errors were:


Err:39 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease

  Sub-process /usr/bin/sqv returned an error code (1), error message is: Signing key on DB085A08CA13B8ACB917E0F6D938EC0D038651BD is not bound:            primary key   because: No binding signature at time 2024-12-17T17:27:20Z   because: Policy rejected non-revocation signature (PositiveCertification) requiring collision resistance   because: SHA1 is not considered secure since 2013-02-01T00:00:00Z  


  W: Falhou ao buscar https://pkgs.k8s.io/core:/stable:/v1.31/deb/InRelease  Sub-process /usr/bin/sqv returned an error code (1), error message is: Error: Policy rejected packet type  Caused by:     Signature Packet v3 is not considered secure since 2021-02-01T00:00:00Z


Even I tried to check something related below:


  apt (2.9.19) unstable; urgency=medium


  This release switches to OpenSSL for hashing and TLS, replacing the

  GnuTLS and gcrypt libraries.


  This release switches to Sequoia for OpenPGP verification on supported

  Debian platforms. A Sequoia policy override enabling SHA1 self-signatures

  until 2026 is included. To override the policy, the following environment

  variables and files are considered:


  * The APT_SEQUOIA_CRYPTO_POLICY environment variable, and failing that:

    - /etc/crypto-policies/back-ends/apt-sequoia.config,

    - /var/lib/crypto-config/profiles/current/apt-sequoia.config

  * The SEQUOIA_CRYPTO_POLICY environment variable, and failing that:

    - /etc/crypto-policies/back-ends/sequoia.config

    - /var/lib/crypto-config/profiles/current/sequoia.config


 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Dec 2024 12:16:22 +0100



But these configurations didn't worked. The Sequoia documentation https://docs.rs/sequoia-policy-config/latest/sequoia_policy_config/index.html does't show a right place for this configuation and, even, ChatGPT hasn't got a right answer for this issue.


If, even, an IA knows how to configure it correctly:



Imagine a human that saw this error for the first time:



After a lot of research. I discovered where they configure apt Sequoia policies:


/usr/share/apt/default-sequoia.config



Since they didn't explain any alternative locations 😵‍💫, I will edit this file.

Update Jan 9th 2025: An anonymous reader commented about  /etc/crypto-policies/back-ends/apt-sequoia.config . This folder does not exists on my system so I have to do a

mkdir -p /etc/crypto-policies/back-ends/ 

and create apt-sequoia.config for adding the configuration below.

Inside you will find this configuration:


[hash_algorithms]
sha1.second_preimage_resistance = 2026-01-01


Try to change them to:

[hash_algorithms]
#sha1.second_preimage_resistance = 2026-01-01
sha1= 2030-01-01

[packets]
signature.v3 = 2030-01-01

I commented the first line and add sha1 with a date to 01/01/2030.


Then I put a [packet] section with signature.v3, that is also affected, with a date to 01/01/2030.


After saving this file the error vanished.


This is a temporary solution until the devs make some fixes to apt or the repositories signatures are updated to the most recent standards that are supported by Sequoia.


And, keep in mind, that SHA-1 is not safe anymore and any apt update will overwrite /usr/share/apt/default-sequoia.config. If theses errors  return, you have to repeat all changes again.

So you can use the new solution above.


If you find a better alternative, show me in the comments below that they will be tested.


Happy New Year for all.

sábado, 10 de junho de 2023

Lançado o Debian Bookworm

 




Depois de 1 ano, 9 meses e 28 dias de desenvolvimento. O projeto Debian acaba de lançar, agora a pouco, a versão 12 de sua distribuição. Também conhecida como Bookworm.


Esta versão vem com várias novidades como a criação de mais uma seção nos repositórios, separando o firmwares não livres do non-free, criado a non-free-firmware. Melhoria nas traduções e muitos outros detalhes que podem ser vistos no link do anúncio do lançamento.


Para baixar os cds, dvds e outras mídias para instalação é só acessar o site https://www.debian.org.


Tenham um bom final de semana.

domingo, 29 de janeiro de 2023

Como que o ChatGPT conseguiu recriar o Palpite para Mega Sena.

 

Hoje é dia de mexer com a moda do momento.




Ultimamente só se fala no ChatGPT e no que ele consegue fazer. Nos últimos dias resolvi brincar com ele e ver no que ele consegue fazer. 

Vendo a capacidade dele de gerar códigos eu lembrei que tem um que já tem o código aberto. O Palpite para Mega Sena, que gera seis números aleatórios para apostar na Mega Sena.

Então eu tive uma ideia. Que tal ele tentar gerar o código explicando como ele faz. Comecei com C usando a seguinte descrição:



O resultado impressiona já que chega perto do que estava precisando. Depois de solicitar os ajustes necessários, consegui rodar o programa com perfeição

Depois pedi para reescrever em Bash, em  Pascal, python e outros. Em bash, para ajudar, eu ofereci algumas funções e conseguiu adaptar numa boa.

Em assembly já desistiu de cara:



Mas prossegui com as perguntas e testes. Alguns desses testes foram feitos nas minhas máquinas Linux. Outros foi usado o https://tio.run/, que oferece uma sandbox para rodar qualquer código que ele suporta.

O resultado de tudo isso eu juntei e disponibilizei em um repositório do Github. Lembrando que nem tudo é perfeito e alguns códigos não foram testados. Quem quiser testar fique a vontade e compartilha a resposta ou pergunte ao ChatGPT se consegue corrigir ou não.

Por enquanto é só isso. Tenham uma boa semana.

segunda-feira, 3 de outubro de 2022

Criando pacotes NVIDIA para Debian usando kernel 6.0

Finalmente o kernel 6.0 foi lançado ( https://lkml.iu.edu/hypermail/linux/kernel/2210.0/00685.html  ) e já é hora de atualizar a minha máquina para esta versão do kernel.


Mas, primeiro, tenho que verificar o site http://rglinuxtech.com/ para ver se tem alguma pegadinha. E encontrei uma em http://rglinuxtech.com/?p=3060. Existe uma versão recente do driver da NVIDIA mas, na época em que estou escrevendo esta publicação, a última versão disponível no Debian experimental é a 510.85.02-2. E eu preciso da versão 515.76.

Então me resta duas opções. Aplicar um patch no 510.85.02 ou pegar os fontes de https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers. Eu preferi fazer um fork.

Tem algumas diferenças entre a 510 e a 515. Mas, depois de um tempo, finalmente criei todos os pacotes e atualizei o meu sistema.

Se estiver impaciente e não pode esperar que a Debian libere esta versão ou não gosta de usar o instalador da NVIDIA. Você pode pegar os fontes em https://github.com/adilsond/nvidia-graphics-drivers . Infelizmente eu só tenho PPA's do Ubuntu e não encontrei um equivalente para a Debian. Então você precisa ler as instruções para gerar todos os pacotes.

Tenham uma boa semana.

Building NVIDIA packages for Debian using kernel 6.0

Finally kernel 6.0 has been released ( https://lkml.iu.edu/hypermail/linux/kernel/2210.0/00685.html  ) and it time to update my machine for this kernel.



But first I have to check http://rglinuxtech.com/ if there is some catch. And I found one from NVIDIA:  http://rglinuxtech.com/?p=3060 .  There is a recent NVIDIA driver but, when I was writing this, the last version available from Debian experimental is: 510.85.02-2. And I need 515.76.


So there are only two options. Patch 510.85.02 or get their source code from https://salsa.debian.org/nvidia-team/nvidia-graphics-drivers . I choose forking it.

There are a few differences between 510 and 515 but, after some time, I finally build all packages needed to update my system.

If you are impatient and you cannot wait Debian to release this version or you don't like to use NVIDIA installer. You can get the sources from: https://github.com/adilsond/nvidia-graphics-drivers . Unfortunately I have only Ubuntu PPA's and there is no Debian equivalent. So you have to read the instructions for building all packages.

Have a nice week

terça-feira, 17 de maio de 2022

Legacy G Suite continuará existindo de forma gratuita para contas pessoais

 

Hoje é uma dica de economia para os usuários do antigo Google Apps gratuito

Para entender como é essa história do Google Workspace (Antigo G Suite, mais antigo Google Apps) gratuito, vamos rebobinar até quando isso tudo começou.

Tudo começou com o Google Apps, que permite utilizar o Gmail com o seu próprio domínio e a edição mais simples era gratuita. Ou seja, você só paga pelo domínio no registro.br ou em outras empresas de registro.

Eu tive contato em 2009 e, ao registrar o adilson.net.br, criei a conta no Google Apps para usar como o meu email principal, a partir de 2010. Era bom até 2012, quando a versão gratuita foi descontinuada. Mas, quem tinha, podia manter a versão gratuita para sempre.


Seria para sempre até, em janeiro de 2022, veio a má notícia:



Sim, o estrago é grande já que pagar para usar o Workspace não é nada agradável ainda sendo um usuário comum. Isso não era somente comigo. Várias pessoas, ao redor do mundo, reclamaram já que criaram as suas contas gratuitas  antes de 2012 e se viram traídos já que a promessa de manter gratuito não seria cumprida.


Vão acabar com a versão gratuita e não sou empresa para gastar. Meus aplicativos do Android, meus arquivos e emails...


A reclamação foi tanta que liberaram um formulário para levantar quem usava a versão legada do G Suite para uso pessoal. A forma de uso pessoal é o seguinte: Pode ser o seu próprio uso ou era usado por uma família inteira.  Sim, muitos criaram a conta do G Suite e tinham um domínio para a família inteira. Davam contas do Gmail para esposa, filhos, primos.

Com base no formulário o Google ia entrar em contato com alguma opção para quem tinha até 10 contas de usuário ativas. O que complica com quem distribuiu contas com o seu domínio com muita gente. E tinham que fazer até o dia 1º de maio, quando houver uma mudança automática de planos (Isso se não for feita a migração antecipada ou cancelasse a conta).

Mas o Google muda os planos, adia a data da mudança para 1º de junho e cria uma lista de espera para um plano 'sem custo' e sem Gmail com seu domínio personalizado. Para alguns, como o meu caso, isso não resolve já que uso bastante o email. Também criaram descontos por 1 ano para a versão Business starter para quem migrar antes.

Mesmo assim não era o ideal. Mas, nesta segunda-feira, tudo mudou. E este tweet resume tudo:


Ou seja, criaram a opção de se manter onde está. Desde que não seja conta comercial, pode optar por este caminho. Ou seja, finalmente uma notícia que agradou muita gente.

Para quem se encaixa, como eu, no G Suite Legacy, pode acessar a opção via painel do administrador. Caso não apareça é só ir em: https://admin.google.com/?action_id=SE_SELF_TRANSITION e seguir as instruções na tela.

Só ir no Personal use.

Depois de revisar, confirma que é para uso pessoal (personal use)
    
Pronto, seus problemas terminaram. Não precisa se preocupar em pagar.

Com isso termina a agnoia para muita gente, que não tem dinheiro para pagar um monte de contas de usuários só porque é pessoa física. Fica como tudo era antes e é um alivio.

Para empresas, não tem outra saída, terá que pagar, até para ter acesso a recursos empresariais.  E a data limite mudou para 27 de junho.


Com isso a novela do Google Workspace fica resumida assim:



Assim, desde que marque a opção, tudo vai continuar igual como antes. O que é um final feliz nisso. E finalizando: 

Ainda mais continuando com a versão 0800.
    

Obs: Se fez a migração depois de 19 de janeiro de 2022, desde que a sua conta gratuita foi criada até  2012, quando esta opção deixou de existir, entre em contato com o suporte neste link: https://support.google.com/a/answer/1047213 que vão reverter de volta a versão Legacy.

quarta-feira, 23 de fevereiro de 2022

/etc/apt/trusted.gpg mostrando warning no apt. Como resolver essa mensagem.

 A última versão do apt começa a mostrar uma pequena mensagem. Mais ou menos semelhantes a essa:

W: https://repo.skype.com/deb/dists/stable/InRelease: Key is stored in legacy tr
usted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key
(8) for details.

Isso por conta de uma mudança no próprio aplicativo do apt, que interfere nas chaves gpg utilizadas.

apt (2.4.0) unstable; urgency=medium

 GPG verification now first tries only the trusted.gpg.d keys, before
 then falling back to the legacy trusted.gpg keyring and issuing a
 warning to migrate keys if verification succeeded in the fallback.

-- Julian Andres Klode <jak@debian.org>  Tue, 22 Feb 2022 20:01:00 +0100

"A verificação GPG agora, primeiramente, apenas as chaves dentro do trusted.gpg.d, antes de voltar para o chaveiro legado trusted.gpg e emitindo um alerta para migrar as chaves se a verificação for bem sucedida no fallback."


Isso só acontece na versão 2.4.0 que já entrou no Debian Sid e pode aparecer no Ubuntu e derivados em breve.



Mas como silenciar essas mensagens??


A solução é bem mais simples.


Entra no /etc/apt/trusted.gpg.d e rode o comando


ln -s /etc/apt/trusted.gpg


Assim é criado um link simbólico e o apt nem solta a mensagem. É uma solução prática, rápida e não trará nenhuma dor de cabeça mais para frente.


Tenham uma boa semana.

domingo, 15 de agosto de 2021

Criando um pendrive com mais de um sistema operacional com o Ventoy

Nestes tempos em que muitas máquinas não vem mais com drive de CD/DVD, precisamos nos virar com os pendrives e bootar pela porta USB. Mas isso nem sempre é fácil.

Para uma distribuição Linux atual podemos pegar uma imagem e rodar o comando:

dd if=imagem.iso of=/dev/sdd (Usei sdd como exemplo. Mas pode ser sdb, sdc ou qualquer outro dependendo da sua máquina. Só não pode ser sda ou algum outro ocupado por um HD senão perde os seus arquivos e talvez terá que reinstalar o seu sistema operacional).

No Windows você pode apelar para o Rufus.

Já uma imagem de instalação Windows, tem a ferramenta própria da Microsoft (Media Creation Tool) ou, se estiver no Linux, procurar por algumas ferramentas, por exemplo: https://github.com/WoeUSB

Mas hoje eu esbarrei em uma nova ferramenta que permite fazer algo que facilita muito as coisas. Você, simplesmente, joga algumas isos e pode bootar elas em um menu, na inicialização. Essa ferramenta se chama Ventoy.


Para usar só é preciso fazer um download em https://www.ventoy.net/en/download.html e escolher o arquivo conforme o seu sistema operacional. Aqui vou usar o Linux, por exemplo. Neste caso o ventoy-1.0.50-linux.tar.gz que é a última versão no momento da publicação. Descompacta, entra dentro da pasta ventoy-1.0.50 e rode o comando, como root ou  usando o sudo antes: bash VentoyWeb.sh

Vai aparecer uma mensagem assim:


===============================================================
 Ventoy Server 1.0.50 is running ...
 Please open your browser and visit http://127.0.0.1:24680
===============================================================

################## Press Ctrl + C to exit #####################

Acessa o site que vai encontrar a interface web do programa:



Se estiver em inglês pode ir em Languages se quiser mudar. De preferência deixe um pendrive plugado. Neste exemplo estou usando um de 8 GB para testar. Vai em Instalar. Ele vai alertar que os dados serão perdidos já que será reformatado e clica em OK 2 vezes. (Verificação dupla para não se arrepender depois).

Após a instalação o pendrive estará pronto para uso. Entre no pendrive e copie algumas isos.


No exemplo coloquei as imagens do Clonezilla, do Debian Bullseye, que saiu ontem, o Gparted Live, o Rocky Linux e a instalação do Windows 10.

Só não coloquei o Ubuntu por falta de espaço.

Agora pegue um computador e inicializa pela usb que vai encontrar a seguinte tela:


Neste ponto é só escolher uma imagem no menu e, pronto, a iso vai iniciar sem problemas.

Quando quiser atualizar é só colocar uma nova imagem no pendrive e ele estará pronto para o uso.

As vezes pode acontecer de uma iso não funcionar e deixar a tela bagunçada. Nos testes isso aconteceu em um notebook Dell com as imagens da Debian e Rocky Linux e não aconteceu em uma máquina virtual. Neste caso existe um workaround.

Crie uma pasta ventoy dentro do pendrive e baixe o arquivo https://www.ventoy.net/download/ventoy.json nele . O conteúdo este arquivo é simplesmente:
{
    "theme": {        
        "display_mode": "CLI"
    }
}

Ele muda a interface para texto, no estilo simples do GRUB, e a inicialização das isos ocorre sem problemas.

OBS: No FAQ ele menciona o problema em imagens Windows. Mas nos testes isso ocorreu nestas duas imagens Linux e o Windows inicializou normal. Pelo menos a solução deu certo no notebook Dell.

Com isso você terá um pendrive inicializável com a opção de rodar qualquer imagem de uma maneira fácil e prática.

Como referência vou deixar este vídeo, que foi no qual descobri esta ferramenta do canal TechHut. Ele está em inglês mas mostra a ferramenta já em ação.


Tenham um bom domingo.

sábado, 14 de agosto de 2021

Lançado o Debian Bullseye

 



Depois de 2 anos, 1 mês, 9 dias de desenvolvimento e um sábado inteiro de atualizações, foi lançando, agora a pouco, a versão 11.0 da distribuição Debian, também conhecida como Bullseye, o cavalo do Woody.

Existem várias novidades que está descrito no link de lançamento, o que pode incluir o suporte ao sistema exFAT dentro do kernel oficial. A inclusão do pacote ipp-usb, para uso de impressoras, via USB sem um driver específico e muitos outros.

Para baixar os cds, dvds e outras mídias para instalação é só acessar o site https://www.debian.org.

Tenham um bom final de semana.