Capítulo 5. Problemas a estar atento na jessie

Índice

5.1. suporte a LDAP
5.2. Estado da segurança dos navegadores web
5.3. ConsoleKit e gestores de display alternativos
5.4. Alterações e suporte do desktop GNOME
5.5. Mudanças no ambiente KDE
5.6. NetworkManager
5.7. perl-suid removido
5.8. Versões do Request Tracker
5.9. Alterações ao bootlogd
5.10. /etc/mtab e _netdev
5.11. A transição pdksh para mksh
5.12. Compatibilidade Puppet 2.6 / 2.7
5.13. Implicações de Multiarch para a toolchain
5.14. Backends Cyrus SASL SQL
5.15. Firmware para drivers de rede de placas gráficas

Por vezes, as alterações introduzidas num novo lançamento têm efeitos secundários que não podemos evitar razoavelmente, ou aparecerão bugs noutro lado. Esta secção documenta os problemas que conhecemos. Por favor leia também a errata, a documentação dos pacotes relevantes, relatórios de bugs e outra informação mencionada em Secção 6.1, “Leitura adicional”.

5.1. suporte a LDAP

Uma característica das bibliotecas criptográficas usadas nas bibliotecas LDAP provoca uma falha quando programas que usam LDAP tentam mudar os privilégios efectivos ao ligar-se a um servidor LDAP usando TLS ou SSL. Isto pode causar problemas a programas setuid em sistemas que usem libnss-ldap como sudo, su ou schroot e para programas setuid que executem pesquisas LDAP como sudo-ldap.

É recomendado substituir o pacote libnss-ldap pelo libnss-ldapd, uma nova biblioteca que usa um daemon separado (nslcd) para todas as consultas LDAP. O substituto para o libpam-ldap é libpam-ldapd.

Note que libnss-ldapd recomenda o daemon de cache NSS (nscd) que deve avaliar em termos de adequação ao seu ambiente antes da instalação. Como alternativa ao nscd pode considerar o unscd.

Mais informações estão disponíveis nos bugs #566351 e #545414.

5.2. Estado da segurança dos navegadores web

O debian 8 inclui diversos motores de navegador de internet que são afectados por um fluxo regular de vulnerabilidades de segurança. A alta taxa de vulnerabilidades e a falta parcial de suporte dos criadores sob a forma de lançamentos com largos períodos de suporte, torna muito difícil suportar estes navegadores através da adaptação de correcções de segurança (backports). Além disto, as interdependências entre bibliotecas tornam impossível a actualização para versões originais mais recentes. Como tal, os navegadores criados sob os motores webkit, qtwebkit e khtml estão incluídos no Jessie, mas não estão cobertos pelo suporte de segurança. Estes navegadores não devem ser utilizados para aceder a sites que não sejam de confiança.

Para um navegador web recomendamos os browsers criados sobre o motor xulrunner da Mozilla (Iceweasel e Iceape) ou Chromium.

O xulrunner tem uma histórico de boa portabilidade para lançamentos mais antigos de ciclos de lançamentos anteriores. O Chromium - apesar de construido sobre o código Webkit - é um pacote de terminação, que será mantido actualizado ao recompilar os actuais lançamentos Chromium para o estável.

5.3. ConsoleKit e gestores de display alternativos

O ConsoleKit em Debian 8 não considera as sessões iniciadas utilizando o startx ou gestores de display sem integração com consolekit (e.g. xdm ou slim) como local, o que poderá prevenir o acesso a alguns dispositivos.

Nós recomendamos, em vez disso, utilizar um dos gdm3, kdm ou lightdm.

5.4. Alterações e suporte do desktop GNOME

Por omissão, algumas das ferramentas de acessibilidade não estão activas no gestor de display de GNOME (gdm3). A forma mais simples de activer o zoom ou um teclado gráfico é activar o greeter da shell.

Para o fazer, edite o ficheiro /etc/gdm3/greeter.gsettings, e retire o comentário ao seguinte:

session-name='gdm-shell'

e comentar

session-name='gdm-fallback'

Note que necessita de placa gráfica 3D compatível - que é a razão porque não vem activo por omissão.

5.5. Mudanças no ambiente KDE

O pacote knetworkmanager foi depreciado e substituido pelo plasma-widget-networkmangement no novo KDE Plasma Workspace.

Se está a utilizar a aplicação depreciada knetworkmanager, prepare-se para depois da actualização ter que fazer alguma configuração manual. Poderá ter que acrescentar manualmente o plasma-widget-networkmanagement ao seu painel ou ambiente de trabalho.

Além disso, se a sua ligação de rede não deve depender de ter um widget network-manager a correr, poderá querer definir como ligação de sistema.

5.6. NetworkManager

NetworkManager pode detectar se um interface de rede é gerido pelo ifupdown de modo a evitar conflitos, mas não é capaz de o fazer com outros programas de gestão de rede, tal como o wicd-daemon. Podem resultar problemas e comportamento inesperado se dois daemons estiverem a gerir o mesmo interface quando tentarem establecer uma ligação de rede.

Por exemplo, se o wicd-daemon e o Networkmanager estiverem ambos a correr, tentar utilizar um cliente wicd para fazer a ligação irá falhar com a seguinte mensagem de erro:

A ligação falhou: palavra-passe errada

Tentar utilizar um cliente NetworkManager poderá falhar com a mensagem:

O NetworkManager não está a correr. Por favor inicie-o.

É recomendado que os utilizadores do GNOME considerem instalar e tentar o NetworkManager mas, se o desejarem, o daemon NetworkManager pode ser permanentemente desabilitado utilizando o seguinte comando:

# update-rc.d network-manager disable

Após desabilitar o daemon, é recomendado examinar o conteúdo de /etc/resolv.conf. Este ficheiro é utilizado para especificar os servidores de DNS para a resolução de nomes. O conteúdo deste ficheiro pode ter sido alterado pelo NetworkManager.

5.7. perl-suid removido

O suidperl foi removido na versão original 5.12, por isso o pacote perl-suid que era distribuido em Debian também foi removido. Alternativas possíveis podem passar por utilizar um wrapper simples em C para executar um script Perl a partir de um local definido, ou utilizando uma ferramenta mais genérica, tal como o sudo.

5.8. Versões do Request Tracker

Note que se tem instalado o request-tracker3.8 no seu sistema squeeze, o pacote foi removido do wheezy, para ser substituído pelo request-tracker4. São necessários alguns passos manuais para actualizar entre o request-tracker3.8 e o request-tracker4: por favor instale o request-tracker4 em paralelo á sua instalação do request-tracker3.8 já existente e consulte as notas de instalação/actualização em /usr/share/doc/request-tracker4/README.Debian.gz (seção: Upgrading from request-tracker3.8 to request-tracker4).

O mesmo conselho se aplica se ainda tiver em utilização o request-tracker3.6 ou versão mais antiga de lançamentos Debian anteriores; se for este o caso é recomendado actualizar passo a passo, seguindo os respectivos documentos de actualização.

5.9. Alterações ao bootlogd

bootlogd foi movido do sysvinit-utils para um pacote bootlogd separado. Se desejar continuar a utilizar o bootlogd, tem de instalar o pacote bootlogd. Note que o ficheiro de configuração /etc/default/bootlogd e a sua opção BOOTLOGD_ENABLE já não existem; se não desejar correr o bootlogd, remova o pacote bootlogd.

5.10. /etc/mtab e _netdev

O ficheiro /etc/mtab, utilizado para guardar a lista dos sistemas de ficheiros actualmente montados, foi alterado para ser um link simbólico para /proc/mounts. Para quase todos os casos, esta alteração resultará num sistema mais robusto já que a lista nunca ficará inconsistente com a realidade. No entanto, se utilizar a opção _netdev em /etc/fstab para indicar que um sistema de ficheiros é um sistema de ficheiros de rede que necessita de cuidados especiais, isto não será mais definido em /proc/mounts após reiniciar. Isto não irá causar problemas para sistemas de ficheiros de rede standard tais como o NFS, o qual não se suporta na opção _netdev. Os sistemas de ficheiros que não são afectados por este tópico são os ceph, cifs, coda, gfs, ncp, ncpfs, nfs, nfs4, ocfs2 e smbfs. Para sistemas de ficheiros que se suportem em _netdev para o correcto umount ao desligar, por exemplo ao utilizar NBD, um mtab estático será a única forma de utilizar _netdev no wheezy. Se tiver tal configuração, então após completar a actualização para wheezy restore um /etc/mtab estático fazendo o seguinte:

  • Edite o ficheiro /etc/init.d/checkroot.sh, e comente as seguintes linhas:

            if [ "$rootmode" != "ro" ]; then
                    mtab_migrate
            fi
    

  • Se reiniciou o sistema, e /etc/mtab for agora um link simbólico:

    # rm /etc/mtab
    # cp /proc/mounts /etc/mtab
    

    Acrescente novamente a opção _netdev ao remontar os sistemas de ficheiros afectados.

    # mount -o remount filesystem
    

    /etc/mtab será novamente criado da próxima vez que reiniciar o sistema.

5.11. A transição pdksh para mksh

O pacote Public Domain Korn Shell (pdksh) está a ser retirado do lançamento após o jessie, porque o pdksh não é mais mantido (não foi activamente desenvolvido após 1999).

O pacote MirBSD Korn Shell (mksh) contém o seu sucessor; este evoluiu a partir do Public Domain Korn Shell e foi sendo mantido actualizado de acordo com o standard POSIX sobre a shell. Em Debian jessie, pdksh é um pacote de transição que utiliza lksh, uma variante do mksh compilado com opções especiais de compatibilidade para disponibilizar um symlink binário pdksh. Esta compatibilidade binária comporta-se mais como a tradicional Public Domain Korn Shell do que o actual mksh. No entanto como contém correcções que alteram o seu comportamento por isso não é uma pura substituição. Por isso é-lhe aconselhado mudar o seu

#!/bin/pdksh

nos scripts para

#!/bin/mksh

e testar o seu funcionamento. Se o teste falhar, é aconselhado a corrigir os seus scripts. Se, por alguma razãom, isto não for possível, pode mudar para

#!/bin/lksh

scripts, e testa-los novamente. Este teste tem mais hipóteses de sucesso sem alterar muito o seu código. No entanto, note que em algum ponto no futuro o pacote de transição sairá dos arquivos Debian.

A compatibilidade binária não é adequada para a utilização interactiva, por isso como administrador de sistema, ajuste a shell de login dos seus utilizadores de Korn Shell. Para uma interrupção mínima de serviço, faça isto antes da actualização do sistema operativo: instale manualmente o pacote mksh e altere as shells de login e/ou shells interactivas dos utilizadores que utilizam pdksh para mksh. Além disso, é encorajado a copiar /etc/skel/.mkshrc para os seus directórios pessoais (home): isto dispinibiliza algumas funções da shell como pushd, popd e dirs e uma agradável

PS1

(shell prompt).

5.12. Compatibilidade Puppet 2.6 / 2.7

Ao actualizar um sistema gerido pelo Puppet de squeeze para wheezy, tem de assegurar que o puppetmaster correspondente corre pelo menos a versão 2.7 do Puppet. Se o mestre estiver a correr o puppetmaster do squeeze, o sistema wheezy gerido não será capaz de se ligar a ele.

Tal combinação levará á seguinte mensagem de erro durante uma execução do puppet agent:

Não foi possível obter o catálogo do servidor remoto: Erro 400 no SERVIDOR: Sem suporte para o método POST de http

De modo a resolver este problema o puppetmaster tem de ser actualizado. Um mestre 2.7 será capaz de gerir um sistema cliente 2.6.

5.13. Implicações de Multiarch para a toolchain

A introdução de multiarch (conforme descrito em Secção 2.2.2, “Multiarch”) altera a localização de alguns ficheiros, os quais podem não corresponder a pressupostos feitos por componentes de toolchain. A toolchain de Debian foi actualizada, mas os utilizadores que tentarem compilar ou utilizar compiladores externos podem necessitar saber isto.

Podem ser encontradas algumas dicas para contornar estes problemas em /usr/share/doc/libc6/NEWS.Debian.gz e no relatório de bug #637232.

5.14. Backends Cyrus SASL SQL

A configuração de backends SQL para Cyrus SASL, conforme disponibilizado pelo pacote libsasl2-modules-sql, foi alterada da configuração específica da base de dados (e.g. mysql) para o plugin genérico de sql auxprop.

Os ficheiros de configurações para aplicações que utilizam SASL foram actualizados, por exemplo:

auxprop_plugin: mysql

deve ser substituido por:

auxprop_plugin: sql
sql_engine: mysql

Além disso, a consulta SQL (se utilizado) necessita ter %u substituido por %u@%r, pois o utilizador e realm são agora indicados separadamente.

5.15. Firmware para drivers de rede de placas gráficas

Alguns drivers de hardware, incluido os drivers para placas de rede (com e sem fios), assim como os drivers para chipsets de gráficos ATI/AMD, necessitam que seja carregado firmware para funcionarem correctamente.

Esse firmware normalmente não é software livre, e por isso apenas está disponível a partir do arquivo non-free, em firmware-linux e noutros pacotes.