Capítulo 5. Problemas a serem considerados para o jessie

Índice

5.1. Suporte LDAP
5.2. Estado da segurança dos navegadores web
5.3. ConsoleKit e gerenciadores de tela alternativos
5.4. Mudanças na área de trabalho GNOME e suporte
5.5. Mudanças na área de trabalho KDE
5.6. NetworkManager
5.7. Mudanças do Bootlogd
5.8. /etc/mtab e _netdev
5.9. A transição de pdksh para mksh
5.10. Compatibilidade puppet 2.6 / 2.7
5.11. Backends do SQL do Cyrus SASL
5.12. Firmware para controladores gráficos e de rede

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, também leia a errata, a documentação dos pacotes relevantes, relatórios de bugs e outras informações mencionadas na Seção 6.1, “Leitura complementar”.

5.1. Suporte LDAP

Uma característica das bibliotecas de criptografia usadas nas bibliotecas LDAP faz com que programas que usem LDAP e tentem mudar seus privilégios efetivos falhem quando conectam a um servidor LDAP usando TLS ou SSL. Isso pode causar problemas para programas setuid nos sistemas que usam libnss-ldap, como o sudo, su ou schroot e para programas setuid que realizam buscas LDAP, como o sudo-ldap.

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

Note que o libnss-ldapd recomenda o daemon de cache NSS (nscd) que você deve avaliar se é adequado para seu ambiente antes da instalação. Como uma alternativa ao nscd, você pode considerar o unscd.

Informações adicionais 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 navegadores que são afetados por um fluxo constante de vulnerabilidades de segurança. A alta taxa de vulnerabilidades e a ausência parcial de suporte do upstream na forma de ramos de longo prazo tornam muito difícil o suporte a esses navegadores com correções de segurança adaptadas. Além disso, as interdependências das bibliotecas tornam impossível atualizar para uma versão upstream mais nova. Por isso, navegadores feitos sobre os motores webkit, qtwebkit e khtml foram incluídos no Jessie, mas não estão cobertos pelo suporte de segurança. Esses navegadores não devem ser usados em sites web não confiáveis.

Para uso geral de navegador web nós recomendamos navegadores com base no motor Mozilla xulrunner (Iceweasel e Iceape) ou Chromium.

O Xulrunner tem tido um histórico de boa adaptabilidade para versões mais antigas ao longo dos ciclos de lançamento anteriores. O Chromium - enquanto construído sobre a base de código da Webkit - é um pacote sem dependência, que será mantido atualizado pela reconstrução das atuais versões do Chromium para a stable.

5.3. ConsoleKit e gerenciadores de tela alternativos

O ConsoleKit no Debian 8 não considera sessões iniciadas usando startx ou gerenciadores de tela sem integração com o consolekit (por exemplo, xdm ou slim) de modo local, o que pode impedir o acesso a alguns dispositivos.

Nós recomendamos o uso do gdm3, kdm ou lightdm ao invés disso.

5.4. Mudanças na área de trabalho GNOME e suporte

Por padrão, algumas ferramentas de acessibilidade não são habilitadas no gerenciador de tela do GNOME (gdm3). A forma mais simples de habilitar a ampliação ou um teclado visual é ativar o recepcionista (greeter) do shell.

Para fazer isso, edite o arquivo /etc/gdm3/greeter.gsettings e descomente o seguinte:

session-name='gdm-shell'

enquanto comenta

session-name='gdm-fallback'

Note que isso requer uma placa gráfica 3D compatível — que é a razão pela qual isso não é habilitado por padrão.

5.5. Mudanças na área de trabalho KDE

O pacote knetworkmanager tornou-se obsoleto, e foi substituído pelo plasma-widget-networkmanagement no novo espaço de trabalho KDE Plasma.

Caso você esteja usando o aplicativo independente knetworkmanager que é obsoleto, você deve estar preparado para fazer algumas configurações manuais após a atualização. Você pode precisar adicionar manualmente o plasma-widget-networkmanagement ao seu painel ou área de trabalho.

Além disso, se a conexão de rede não depender de ter um widget do network-manager em execução, você pode querer defini-la como uma conexão de sistema.

5.6. NetworkManager

O NetworkManager pode detectar se uma interface de rede é gerenciada pelo ifupdown a fim de evitar conflitos, mas não é capaz de fazer isso com outros programas de gerenciamento de rede tais como wicd-daemon. Problemas e comportamento inesperado podem ocorrer se dois desses daemons estiverem gerenciando a mesma interface ao tentar fazer uma conexão de rede.

Por exemplo, se o wicd-daemon e o NetworkManager estiverem ambos em execução, ao tentar usar um cliente wicd para fazer uma conexão, falhará com a mensagem de erro:

Falha na conexão: senha incorreta

Ao tentar usar um cliente NetworkManager pode igualmente falhar com a mensagem:

O NetworkManager não está sendo executado. Por favor, inicie-o.

É recomendado que os usuários do GNOME considerem instalar e experimentar o NetworkManager mas, se desejado, o daemon do NetworkManager pode ser permanentemente desabilitado usando o seguinte comando:

# update-rc.d network-manager disable

Após desabilitar o daemon, é recomendado examinar o conteúdo do /etc/resolv.conf. Esse arquivo é usado para especificar os servidores de DNS para resolução de nomes e o conteúdo desse arquivo pode ter sido substituído pelo NetworkManager.

5.7. Mudanças do Bootlogd

O bootlogd foi movido do sysvinit-utils para um pacote separado bootlogd. Se você deseja continuar usando bootlogd, você precisa instalar o pacote bootlogd. Note que o arquivo de configuração /etc/default/bootlogd e sua opção BOOTLOGD_ENABLE não existem mais; se você não deseja executar o bootlogd, remova o pacote bootlogd.

5.8. /etc/mtab e _netdev

O arquivo /etc/mtab, usado para armazenar a lista de sistemas de arquivos montados atualmente, foi alterado para ser um link simbólico para /proc/mounts. Para quase todos os casos, essa mudança resultará em um sistema mais robusto uma vez que a lista nunca pode se tornar inconsistente com a realidade. Entretanto, caso você use a opção _netdev no /etc/fstab para indicar que o sistema de arquivos é um sistema de arquivos de rede exigindo um tratamento especial, isso não será mais definido no /proc/mounts após a reinicialização. Isso não causará problemas para sistemas de arquivos de redes padrão tais como NFS, que não precisa da opção _netdev. Os sistemas de arquivos que não são afetados por esse problema são ceph, cifs, coda, gfs, ncp, ncpfs, nfs, nfs4, ocfs2 e smbfs. Para sistemas de arquivos que precisam de _netdev para desmontagem correta ao desligar, por exemplo, ao utilizar um NBD, um mtab estático será a única forma de usar _netdev no wheezy. Caso você tenha tal configuração, então, após concluir a atualização para wheezy restaure um /etc/mtab estático fazendo o seguinte:

  • Edite o /etc/init.d/checkroot.sh e comente estas linhas:

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

  • Caso você tenha reinicializado o sistema, e o /etc/mtab agora seja um link simbólico:

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

    Adicione novamente a opção _netdev remontando os sistemas de arquivos afetados:

    # mount -o remount filesystem
    

    O /etc/mtab será completamente recriado na próxima vez que você reinicializar o sistema.

5.9. A transição de pdksh para mksh

O pacote pdksh (Public Domain Korn Shell) está sendo aposentado para a versão após o jessie, pois o pdksh não é mais mantido (ele foi visto em desenvolvimento ativo pela última vez em 1999).

O pacote mksh (MirBSD Korn Shell) contém o seu sucessor; ele tem evoluído a partir do Public Domain Korn Shell e tem sido mantido atualizado com o padrão POSIX no shell. No Debian jessie, o pdksh é um pacote de transição utilizando o lksh, uma variante do mksh construído com opções especiais de compatibilidade para fornecer um link simbólico para o executável pdksh. Esse executável de compatibilidade se comporta um pouco mais como o tradicional Public Domain Korn Shell do que o mksh atual. Porém, uma vez que ele contém correções que mudam o seu comportamento, ele não é uma simples substituição por outro. Então, você é aconselhado a mudar os seus scripts

#!/bin/pdksh

para

#!/bin/mksh

e testá-los. Se o teste falhar, você é aconselhado a corrigir os seus scripts. Se, por alguma razão, isso não for possível, você pode modificá-los para scripts

#!/bin/lksh

e testá-los novamente. Esse teste tem maiores chances de sucesso sem mudar muito o seu código. Entretanto, esteja ciente que em algum momento no futuro o pacote de transição será removido do Debian.

O executável de compatibilidade não é adequado para uso interativo, então, como administrador de sistema, ajuste o shell de login dos seus usuários do Korn Shell. Para interrupção mínima do serviço, faça isso antes da atualização do SO: instale manualmente o pacote mksh e mude o login e/ou shells interativos dos usuários que utilizem pdksh para mksh. Além disso, encorajamos que você copie o /etc/skel/.mkshrc em seus diretórios pessoais: isso proporciona algumas funções do shell como pushd, popd e dirs e um agradável

PS1

(prompt do shell).

5.10. Compatibilidade puppet 2.6 / 2.7

TODO: Do puppet 2.7 and 3.7 have a similar issue?

Quando atualizar um sistema gerenciado pelo Puppet do squeeze para o wheezy, você deve garantir que o puppetmaster correspondente execute, pelo menos, a versão 2.7 do Puppet. Caso o mestre esteja executando o puppetmaster do squeeze, o sistema wheezy gerenciado não será capaz de conectar ao mesmo.

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

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

Para resolver esse problema o puppetmaster deve ser atualizado. Um mestre 2.7 é capaz de gerenciar um sistema cliente 2.6.

5.11. Backends do SQL do Cyrus SASL

A configuração dos backends do motor do SQL para o Cyrus SASL, como fornecida no pacote libsasl2-modules-sql, mudou de configuração específica de banco de dados (por exemplo, mysql) para o plugin auxprop sql genérico.

Os arquivos de configuração para aplicativos usando SASL têm que ser atualizados, por exemplo:

auxprop_plugin: mysql

deve ser substituído por:

auxprop_plugin: sql
sql_engine: mysql

Além disso, a consulta SQL (se utilizada) precisa ter o %u substituído por %u@%r, porque o usuário e o realm agora são fornecidos separadamente.

5.12. Firmware para controladores gráficos e de rede

Alguns controladores de hardware, incluindo controladores para placas de rede (com ou sem fio), assim como o controlador para chipsets gráficos ATI/AMD, exigem firmware carregável para funcionar corretamente.

Esse firmware muitas vezes não é software livre e, como tal, só está disponível a partir do repositório non-free, nos pacotes firmware-linux e outros.