5. Problemas a serem considerados para a trixie

Algumas vezes, mudanças introduzidas em uma nova versão têm efeitos colaterais que não podem ser evitados ou que acabam expondo bugs em outros locais. Esta seção documenta problemas conhecidos. Por favor, leia também a errata, a documentação dos pacotes relevantes, relatórios de bugs e outras informações mencionadas em Leitura complementar.

5.1. Itens específicos da atualização para trixie

Esta seção aborda itens relacionados à atualização da bookworm para a trixie.

5.1.1. Suporte reduido para i386

A partir do trixie, a arquitetura i386 já não é suportada como uma arquitetura normal: não existe kernel oficial nem instalador Debian para sistemas i386. Estão disponíveis menos pacotes para i386 porque muitos projetos ja não a suportam. O único propósito de manter a arquitetura é suportar código antigo ainda em execução, por exemplo, por meio de multiach <https://wiki.debian.org/Multiarch/HOWTO>`__ ou de chroot.

Os utilizadores que corram sistemas i386 não devem atualizar para trixie. Em vez disso, Debian recomenda ou reinstalar como amd64, onde for possível, ou remover o hardware. Cross-grading sem reinstalar é tecnicamente possível, mas é uma alternativa arriscada.

5.1.2. openssh-server já não lê ~/.pam_environment

O daemon Secure Shell (SSH) que é disponibilizado pelo pacote openssh-server e que permite logins de sistemas remotos, já não lê, por predefinição, o ficheiro ~/.pam_environment; esta funcionalidade tem um histórico de problemas de segurança e ficou obsoleta nas versões atuais da biblioteca Pluggable Authentication Modules (PAM). Se desejar utilizar esta funcionalidade, deve deixar de definir variáveis em ~/.pam_environment e passar a defini-las nos ficheiros de inicialização da sua shell (e.g. ~/.bash_profile ou ~/.bashrc) ou outro mecanismo idêntico em vez disso.

As ligações de SSH existentes não serão afetadas, mas as novas ligações podem comportar-se de forma diferente após a atualização. Se estiver a atualizar remotamente, normalmente é boa ideia assegurar que tem outra forma de entrar no sistema antes de iniciar a atualização; veja Preparar para recuperação.

5.1.3. OpenSSH já não suporta chaves DSA

As chaves Digital Signature Algorithm (DSA), conforme especificadas no protocolo Secure Shell (SSH), são inerentemente fracas: são limitadas a chaves privadas de 160-bit e a digest SHA-1. A implementação SSH disponibilizada pelos pacotes openssh-client e openssh-server tem o suporte desabilitado para chaves DSA desde OpenSSH 7.0p1 em 2015, lançado com Debian 9 ("stretch"), apesar de poder ser possível habilitar utilizando as opções de configuração HostKeyAlgorithms e PubkeyAcceptedAlgorithms respetivamente para as chaves de host e de utilizador.

Nesta altura as únicas utilizações que restam com DSA será ligar a dispositivos muito antigos. Para todas as outras utilizações, os outros tipos de chaves suportados por OpenSSH (RSA, ECDSA e Ed5519) são superiores.

Na altura de OpenSSH 9.8p1 em trixie, as chaves DSA já não são suportadas mesmo com as opções de configuração acima. Se tiver um dispositivo a que apenas se possa ligar utilizando DSA, então para o fazer pode utilizar o comando ssh1 disponibilizado pelo pacote openssh-client-ssh1.

No evento improvável de ainda necessitar utilizar chaves DSA para ligar a um servidor Debian (se não tiver a certeza, pode verificar acrescentando a opção -v à linha de comandos ssh que utiliza para ligar a esse servidor e ver a linha "Server accepts key:"), então terá de gerar chaves de subsituição antes de atualizar. Por exemplo, para gerar uma nova chave Ed25519 e habilitar logins para um servidor que a utilize, corra isto no cliente, substituindo username@server com os nomes apropriados de user e host:

$ ssh-keygen -t ed25519
$ ssh-copy-id username@server

5.1.4. Os comandos last, lastb e lastlog foram substituidos

The util-linux package no longer provides the last or lastb commands, and the login package no longer provides lastlog. These commands provided information about previous login attempts using /var/log/wtmp, /var/log/btmp, /var/run/utmp and /var/log/lastlog, but these files will not be usable after 2038 because they do not allocate enough space to store the login time (the Year 2038 Problem), and the upstream developers do not want to change the file formats. Most users will not need to replace these commands with anything, but the util-linux package provides a lslogins command which can tell you when accounts were last used.

Estão disponíveis dois substitutos diretos: last pode ser substituido por wtmpdb do pacote wtmpdb (o pacote libpam-wtmpdb também necessita ser instalado) e lastlog pode ser substituido por lastlog2 do pacote lastlog2 (libpam-lastlog2 também tem de ser instalado). Se quiser utilizar estes, terá de instalar os novos pacotes após a atualização, para mais informação veja NEWS.Debian de util-linux. O comando lslogins --failed disponibiliza informação similar a lastb.

If you do not install wtmpdb then we recommend you remove old log files /var/log/wtmp*. If you do install wtmpdb it will upgrade /var/log/wtmp and you can read older wtmp files with wtmpdb import -f <dest>. There is no tool to read /var/log/lastlog* or /var/log/btmp* files: they can be deleted after the upgrade.

5.1.5. RabbitMQ já não suporta filas HA

Já não são suportadas filas de high-availability (HA) por rabitmq-server a partir de trixie. Para continuar com uma configuração HA, estas filas têm de ser mudadas para "quorum queues".

De tiver uma instalação de OpenStack, por favor mude as filas para quorum antes de atualizar. Por favor note também que desde o lançamento "Caracal" de OpenStack em trixie, OpenStack apenas suporta files quorum.

5.1.6. RabbitMQ não pode ser atualizado diretamente desde bookworm

Não existe caminho direto de atualização e fácil para RabbitMQ de bookworm para trixie. Os detalhes acerca deste problema podem ser encontrados no bug 1100165.

O caminho de atualização recomendado é limpar completamente a base de dados rabbitmq e reiniciar o serviço (após a atualização para trixie). Isto pode ser feito ao apagar /var/lib/rabbitmq/mnesia e todo o seu conteúdo.

5.1.7. Atualizações maiores de versão de MariaDB só funcionam bem após ser corretamente desligado

MariaDB não suporta recuperação de erros em versões maiores. Por exemplo, se um servidor de MariaDB 10.11 sofrer uma paragem abrupta devido a falha de enegia ou por defeito de software, a base de dados tem de ser reiniciada com os mesmos binários de MariaDB 10.11 para que possa fazer uma recuperação de erros bem sucedida e reconciliar os ficheiros de dados e de log para avançar ou reverter as transações que foram interrompidas.

Se tentar recuperar de um crash com MariaDB 11.8 utilizando o directório de dados de uma instância de MariaDB 10.11 que tenha crashado, o novo servidor MariaDB irá recusar-se a iniciar.

Para assegurar que um servidor MariaDB seja corretamente desligado antes de ir para um upgrade de versão maior, páre o serviço com

# service mariadb stop

e de seguida verifique os logs do servidor e procure por Shutdown complete para confirmar que todos os dados e buffers foram esvaziados para o disco com sucesso.

Se não parou corretamente, reinicie-o para despoletar a recuperação de crash, aguarde, páre novamente e verifique que a segunda paragem foi correta.

Para informação adicional para administradores de sistema sobre como fazer backups e outra informação relevante, por favor veja /usr/share/doc/mariadb-server/README.Debian.gz.

5.1.8. Ping já não corre com privilégios elevados

A versão predefinida de ping (disponibilizada por iputils-ping) já não é instalada com acesso à capacidade linux CAP_NET_RAW, mas em vez disso utiliza sockets datagram ICMP_PROTO para comunicação de rede. O acesso a esses sockets é controlado de acordo com os grupos Unix do utilizador utilizando o sysctl net.ipv4.ping_group_range. Em instalações normais, o pacote linux-sysctl-defaults irá definir este valor para um valor largamente permissivo, permitindo que utilizadores não-privilegiados utilizem ping como esperado, mas alguns cenarios de atualização podem não instalar este pacote automaticamente. Para mais informação veja /usr/lib/sysctl.d/50-default.conf e a documentação do kernel para mais informação acerca da semântica desta variável.

5.1.9. Alterações significativas ao empacotamente de libvirt

O pacote libvirt-daemon, que disponibiliza uma API e toolkit para gerir plataformas de virtualização, foi revista em trixie. Cada driver e backend de armazenamento agora vem num pacote binário separado, que permite uma flexibilidade muito maior.

É tomado cuidado durante as atualizações a partir de bookworm para reter os componentes existentes, mas em alguns casos a funcionalidade pode ser temporariamente perdida. Nós recomendamos que após a atualização reveja cuidadosamente a lista de pacotes binários instalados para se certificar que todos os esperados estão presentes; isto é também um óptimo momento para considerar desinstalar os componentes indesejados.

Além disso, alguns conffiles podem acabar marcados como "obsolete" após a atualização. O ficheiro /usr/share/doc/libvirt-common/NEWS.Debian.gz contém informação adicional acerca de como verificar se o seu sistema está afetado por este problema e como o endereçar.

5.1.10. Coisas para fazer depois da atualização e antes de reinicializar

Quando o apt full-upgrade terminar, a atualização "formal" estará completa. Para a atualização da trixie, não é necessária nenhuma ação especial antes de executar uma reinicialização.

5.2. Itens não limitados ao processo de atualização

5.2.1. Limitações no suporte de segurança

Há alguns pacotes onde o Debian não pode prometer fornecer portes retroativos mínimos para problemas de segurança. Esses são abordados nas subseções a seguir.

Nota

O pacote debian-security-support ajuda a acompanhar a situação do suporte de segurança dos pacotes instalados.

5.2.1.1. Situação da segurança dos navegadores web e seus motores de renderização

Debian 13 inclui vários motores de navegador da web que são afectados por um fluxo regular de vulnerabilidades de segurança. A alta taxa de vulnerabilidades e a parcial falta de suporte dos autores sob a forma de branches de longo termo torna muito difícil suportar estes navegadores e motores com backports de correções de segurança. Além disso, as interdependências entre bibliotecas tornam extremamente difícil atualizar para novos lançamentos de originais mais recentes. As aplicações que utilizam o pacote fonte webkit2gtk (e.g. epiphany estão cobertas por suporte de segurança, mas as aplicações que utilizam qtwebkit (pacotes fonte qtwebkit-opensource-src não estão.

Como navegador da web recomendamos Firefox ou Chromium. Estes irão manter-se atualizados ao recompilar os atuais lançamentos ESR para a stable. A mesma estratégia pode ser aplicada a Thunderbird.

Assim que um lançamento se tornar oldstable, os browsers suportados oficialmente poderão não continuar a receber atualizações para o período standard de cobertura. Por exemplo, o Chromium apenas irá receber suporte de segurança por 6 meses em oldstable em vez dos típicos 12 meses.

5.2.1.2. Pacotes baseados em Go e em Rust

Atualmente, a infraestrutura do Debian apresenta problemas para reconstruir pacotes de tipos que sistematicamente usam ligação estática. Antes da buster, isso não era um problema na prática, mas com o crescimento do ecossistema Go, isso significa que os pacotes baseados em Go serão cobertos por suporte de segurança limitado até que a infraestrutura seja aprimorada para lidar com eles de forma a facilitar a sua manutenção.

Na maioria dos casos se forem garantidas as atualizações às bibliotecas de desenvolvimento de Go ou de Rust, estas apenas poderão vir através dos lançamentos pontuais.

5.3. Obsolescência e depreciação

5.3.1. Pacotes obsoletos dignos de nota

A seguinte lista é de pacotes conhecidos e obsoletos dignos de nota (veja Pacotes obsoletos para uma descrição).

A lista de pacotes obsoletos inclui:

  • O pacote libnss-gw-name foi removido de trixie. Em vez disso, o autor sugere utilizar libnss-myhostname.

  • O pacote pcregrep foi removido de trixie. Pode ser substituido por grep -P (--perl-regexp) ou pcre2grep (de pcre2-utils).

5.3.2. Componentes obsoletos para a trixie

Com a próxima versão do Debian 14 (codinome forky), alguns recursos ficarão obsoletos. Os usuários precisarão migrar para outras alternativas para evitar problemas quando atualizarem para o Debian 14.

Isso inclui os seguintes recursos:

  • O pacote sudo-ldap será removido em forky. A equipa sudo de Debian decidiu descontinuar devido às dificuldades de manutenção e utilização limitada. Os sistemas novos e existentes devem, em vez disso, utilizar libss-sudo.

    Atualizar Debian trixie para forky sem completar esta migração poderá resultar na perda da escalada de privilégios esperada.

    Para mais detalhes, por favor refira-se ao bug 1033728 e ao ficheiro NEWS no pacote sudo.

  • A funcionalidade sudo_logsrvd, utilizada para registo de input/output de sudo, poderá ser removida em Debian forky a menos que algum maintainer avance. Este componente é de uso limitado no contexto Debian, e mantê-lo acrescenta complexidade desnecessária ao pacote sudo básico.

    Para discussões que estão a decorrer, veja bug 1101451 e o ficheiro NEWS no pacote sudo.

  • O pacote libnss-docker já não é desenvolvido pelos autores e necessita da versão 1.21 da Docker API. A versão obsoleta da API ainda é suportada por Docker Engine v26 (distribuida por Debian trixie) mas será removida em Docker Engine v27+ (distribuido por Debian forky). A menos que volte a haver desenvolvimento pelos autores, o pacote será removido em Debian forky.

  • Os pacotes openssh-client e openssh-server atualmente suportam autenticação e troca de chaves GSS-API, que é normalmente utilizada para autenticar serviços Kerberos. Isto causou alguns problemas, especialmente do lado do servidor onde acrescenta uma nova superfície de ataque de pré-autenticação, e por isso os pacotes OpenSSH principais de Debian irão, por isso, deixar de o suportar a partir de forky.

    Se estiver a utilizar autenticação GSS-API ou troca de chaves (procure por opções que começem com GSSAPI nos seus ficheiros de configuração de OpenSSH) então deverá instalar agora o pacote openssh-client-gssapi (nos clientes) ou openssh-server-gssapi (em servidores). Em trixie, estes são pacotes vazios que dependem respetivamente de openssh-client e openssh-server; em forky, serão compilados separadamente.

  • sbuild-debian-developer-setup foi depreceado a favor de sbuild+unshare

    sbuild, a ferramenta para compilar pacotes Debian num ambiente mínimo, teve uma grande atualização e agora deve funcionar fora da caixa. Como resultado, o pacote sbuild-debian-developer-setup já não é necessário e foi tornado obsoleto. Pode testar a nova versão com:

    $ sbuild --chroot-mode=unshare --dist=unstable hello
    
  • Os pacotes fcitx foram depreceados em favor de fcitx5

    A framework fcitx de método de entrada, também conhecido como fcitx4 ou fcitx 4.x, já não é mantida pelos autores originais. Como resultado, todos os pacotes relacionados de método de entrada foram agora depreceados. O pacote fcitx e os pacotes com nome começado por fcitx- serão removidos em Debian forky.

    Os utilizadores atuais de fcitx são encorajados a mudar para fcitx5 seguindo o guia de migração dos autores de fcitx e a página do Wiki Debian.

5.4. Bugs severos conhecidos

Apesar de o Debian ser lançado quando está pronto, isso infelizmente não significa que não existam bugs conhecidos. Como parte do processo de lançamento, todos os bugs com severidade séria ou mais alta são ativamente acompanhados pela Equipe de Lançamento, assim uma visão geral desses bugs que foram marcados para serem ignorados na última parte do lançamento da trixie podem ser encontrados no Sistema de Acompanhamento de Bugs do Debian. Os seguintes bugs afetavam a trixie no momento do lançamento e merecem menção neste documento:

Número do bug

Pacote (fonte ou binário)

Descrição

1032240

akonadi-backend-mysql

servidor akonado falha o arranque já que não consegue ligar a base de dados mysql

1032177

faketime

faketime não finge a hora (em i386)

918984

src:fuse3

disponibiliza caminho para atualização fuse -> fuse3 para bookworm

1016903

g++-12

tree-vectorize: Código errado no nível O2 (-fno-tree-vectorize está a funcionar)

1034752

src:gluegen2

incorpora non-free headers