Índice
libinput
dbgsym
por
padrãonet-tools
se tornará
obsoleto em favor do iproute2
_netdev
é recomendada ao usar
dispositivos AoE (ATA over ethernet)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 na Seção 6.1, “Leitura complementar”.
Esta seção aborda itens relacionados à atualização da jessie para a stretch.
![]() | Nota |
---|---|
Esta seção somente se aplica a sistemas que usam um kernel personalizado,
onde |
A montagem de /usr
usando somente ferramentas
encontradas em /
não tem mais suporte. Isso tem
funcionado somente para algumas poucas configurações específicas no passado,
e agora elas estão explicitamente sem suporte.
Isso significa que para a stretch todos os sistemas onde
/usr
seja uma partição separada precisam usar um
gerador de initramfs que montará /usr
. Todos os
geradores de initramfs na stretch fazem isso.
Os espelhos hospedados pelo Debian cessarão o fornecimento de acesso via
FTP. Se você tem usado o protocolo ftp:
no seu
sources.list, por favor, migre para http:
. Por favor,
considere o seguinte exemplo para a migração:
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security stretch/updates main # variante tor (requer apt-transport-tor) # deb tor+http://vwakviie2ienjx6t.onion/debian stretch main # deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
Os exemplos acima não incluem non-free
e
contrib
. Por favor, lembre-se de incluí-los caso você
precise desses componentes habilitados.
Para mais informação, por favor, consulte este anúncio: Shutting down public FTP services.
A seguinte lista é de pacotes conhecidos e obsoletos dignos de nota (veja Seção 4.8, “Pacotes obsoletos” para uma descrição).
A lista de pacotes obsoletos inclui:
A maior parte dos pacotes -dbg
foi removida do
repositório main
. Eles foram substituídos por pacotes
-dbgsym
, que estão disponíveis no repositório
debian-debug
. Por favor, veja Seção 2.2.8, “Um novo arquivo para símbolos de depuração”.
Os gerenciadores de senhas fpm2
e
kedpm
não são mais mantidos pelo
upstream. Por favor, use outro gerenciador de senhas, como o pass
, keepassx
, ou keepass2
. Certifique-se de extrair as suas
senhas do fpm2
e kedpm
antes de remover os pacotes.
O pacote net-tools
tornou-se
obsoleto em favor do iproute2
. Veja
Seção 5.3.9, “O pacote net-tools
se tornará
obsoleto em favor do iproute2
” ou o
manual de referência Debian para mais informação.
O pacote de ferramentas de monitoramento nagios3
foi removido da stretch. O pacote
icinga
é o substituto mais
próximo. Ele lê os seus arquivos de configuração a partir de um caminho
diferente do usado pelo nagios mas, fora isso, é compatível.
Quando o apt-get dist-upgrade
terminar, a atualização
“formal” estará completa. Para a atualização da stretch,
não é necessária nenhuma ação especial antes de executar uma
reinicialização.
Por padrão, o compilador GNU GCC 6 fornecido pelo Debian stretch compilará todos os executáveis como independentes de posição. Isso fornece uma forma de mitigar uma classe inteira de vulnerabilidades.
Infelizmente, o kernel Linux fornecido no Debian 8 (até o 8.7) apresenta um
problema que pode fazer com que alguns programas compilados como executáveis
independentes de posição falhem com uma mensagem não descritiva como
falha de segmentação
. Esse problema está resolvido na
versão de Linux fornecida na 8.8 (versão 3.16.43 ou posterior) e no kernel
fornecido no Debian 9 (versão 4.9 ou posterior).
We recommend that you upgrade your kernel to a fixed version and then reboot before starting the upgrade to stretch. If you are running the kernel from Debian 8.8 or newer, you are not affected by this issue.
Se você estiver executando uma versão afetada do kernel durante a atualização, nós recomendamos fortemente que você faça uma reinicialização no kernel da stretch imediatamente depois da atualização para evitar de ser atingido por esse problema.
![]() | Nota |
---|---|
Esta seção é direcionada principalmente a desenvolvedores ou administradores de sistemas. Usuários de desktop dificilmente serão afetados por esta seção. |
O que foi citado acima também leva a algumas mudanças das quais deve-se estar ciente.
A ferramenta file (entre outras) classificará tais binários como um “objeto compartilhado” em vez de um “executável”. Se você tiver filtros baseados em arquivos binários, pode ser preciso atualizá-los (por exemplo, filtros de spam).
Bibliotecas estáticas sendo compiladas em um executável agora também precisam ser compiladas como código independente de posição. A seguinte mensagem de erro do "linker" é um sintoma disso:
relocação ... contra "[SÍMBOLO]" não pode ser usada ao fazer um objeto compartilhado; recompile com -fPIC
Note que, mesmo apesar de a mensagem de erro dizer -fPIC, é suficiente recompilar com -fPIE (que é o padrão nos pacotes GCC 6 que são parte da stretch).
Historicamente, executáveis independentes de posição têm sido associados com
perda de desempenho em alguns tipos de equipamento. Notadamente, a
arquitetura Debian i386
(máquinas Intel 32-bit). Enquanto
o GCC 5 e o GCC 6 têm grandemente melhorado
o desempenho para executáveis independentes de posição em Intel
32-bit, essa otimização pode não ser aplicável para todas as
arquiteturas. Por favor, considere avaliar o desempenho do seu código se
você estiver usando como alvo arquiteturas de máquina com um número muito
limitado de registradores.
Devido à falta de interesse e testabilidade, o Debian removeu a vasta maioria dos pacotes de compatibilidade com a "Linux Standard Base" (LSB).
O Debian ainda fornecerá alguns poucos utilitários LSB chave usados
internamente e externamente, tais como lsb-release
e as funções de inicialização do
sysvinit em lsb-base
. Além disso, o
Debian ainda firmemente apresenta suporte ao "Filesystem
Hierarchy Standard" (FHS) versão 2.3 com as pequenas alterações descritas no
Manual de Políticas Debian.
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.
Note que o pacote debian-security-support
ajuda a acompanhar a
situação do suporte de segurança dos pacotes instalados.
O Debian 9 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 portadas retroativamente. 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 na stretch, 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 recomendamos Firefox ou Chromium.
Chromium - enquanto construído sobre a base de código Webkit - é um pacote sem dependência, que será mantido atualizado através da reconstrução das versões atuais do Chromium para a estável. O Firefox e o Thunderbird também serão mantidos atualizados através da reconstrução das versões ESR atuais para a estável.
A plataforma Node.js é construída em cima da libv8-3.14
, que vivencia um alto volume de
problemas de segurança, mas atualmente não há voluntários no projeto ou na
equipe de segurança suficientemente interessados e dispostos a gastar a
grande quantidade de tempo necessária para conter esses problemas
encontrados.
Infelizmente, isso significa que a libv8-3.14
, o nodejs
e o ecossistema de pacotes node-*
associados não devem ser atualmente utilizados com conteúdo não confiável,
tal como dados não avaliados oriundos da Internet.
Além disso, esses pacotes não receberão quaisquer atualizações de segurança durante o tempo de vida da versão stretch.
Na maioria dos casos, os pacotes deverão atualizar sem problemas entre jessie e stretch. Existe um pequeno número de casos onde alguma intervenção pode ser necessária, seja antes ou durante a atualização; esses estão detalhados a seguir, baseados por pacote.
O OpenSSH versão 7 desabilitou algumas cifras antigas e o protocolo SSH1 por padrão. Por favor, seja cuidadoso ao atualizar máquinas nas quais você somente tem acesso via SSH.
Além disso, o valor padrão da opção de configuração "UseDNS" mudou de sim para não. Isso pode causar o bloqueio de usuários que usam a funcionalidade "from=" em authorized_keys para limitar o acesso ssh por máquina, o que é especialmente problemático ao atualizar remotamente.
Por favor, veja a documentação do OpenSSH para mais informação.
Esta seção aborda algumas mudanças incompatíveis no APT que podem afetar o seu sistema.
O APT agora tentará descartar todos os privilégios de "root" antes de obter arquivos a partir dos espelhos. O APT pode detectar alguns casos comuns onde isso falharia e alternativamente obter coisas como "root" com um aviso. Entretanto, ele pode falhar em detectar algumas configurações exóticas (por exemplo, regras de "firewall" específicas por "UID").
Se você encontrar problemas com essa funcionalidade, por favor, mude para o
usuário _apt
e verifique se ele:
tem acesso de leitura aos arquivos em
/var/lib/apt/lists
e
/var/cache/apt/archives
.
tem acesso de leitura ao armazenamento de confiança do APT
(/etc/apt/trusted.gpg
e
/etc/apt/trusted.gpg.d/
)
pode resolver nomes DNS e baixar arquivos. Exemplos de métodos para testar:
# A partir do pacote dnsutils (se estiver usando tor, por favor, verifique com tor-resolve). $ nslookup debian.org >/dev/null || echo "Não pode resolver debian.org" $ wget -q https://debian.org/ -O- > /dev/null || echo "Não pode baixar a página inicial de debian.org"
Para problemas com o DNS, por favor, verifique se
/etc/resolv.conf
pode ser lido.
O APT 1.1 introduziu um novo motor de "pinning" que agora combina com a descrição na página de manual.
O antigo motor atribuía uma prioridade de "pin" por pacote; o novo motor atribui prioridades de "pin" por versão. Ele então escolhe a versão com o valor de "pin" mais alto que não seja um rebaixamento de versão ou que tenha um valor de "pin" > 1000.
Isso muda o efeito de alguns "pins", especialmente os negativos. Anteriormente, fazer "pinning" em uma versão para -1 efetivamente prevenia o pacote de ser instalado (o "pin" do pacote era -1); isso agora apenas previne de ser instalada a versão desse pacote.
![]() | Nota |
---|---|
Esta seção somente se aplica se você tem (ou pretende ter) repositórios de terceiros habilitados ou se você mantém um repositório APT. |
Para melhorar a estabilidade do download e assegurar a segurança do conteúdo baixado, o APT agora exige o seguinte de um repositório APT:
O arquivo InRelease deve estar disponível.
Todos os metadados devem incluir pelo menos somas de verificação SHA256 de todos os itens. Isso inclui a assinatura GPG do arquivo InRelease.
Assinaturas no arquivo InRelease devem ser feitas com um tamanho de chave de 2048 bits ou maior.
Se você depende de um repositório de terceiros que não consegue atender os requisitos acima, por favor, encoraje-os a atualizarem o repositório. Mais informação sobre o arquivo InRelease pode ser encontrada na Wiki do Debian.
![]() | Nota |
---|---|
Esta seção somente é relevante se você ajustou ou precisa mudar a configuração padrão de entrada do Xorg. |
Na jessie, o driver padrão de entrada para o Xorg é o driver
evdev
. Na stretch, o padrão mudou para
libinput
. Se você tem uma configuração do Xorg que
depende do driver evdev
, você terá que convertê-la para o
driver libinput
ou reconfigurar o seu sistema para usar o
driver evdev
.
O que segue é uma configuração de exemplo para libinput
para habilitar a funcionalidade “Emulate3Buttons”.
Section "InputClass" Identifier "mouse" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "on" EndSection
Insira-a em
/etc/X11/xorg.conf.d/41-middle-emulation.conf
,
reinicialize o computador (ou reinicie o seu Xserver) e ela deverá estar
agora habilitada.
O driver evdev
ainda está disponível no pacote
xserver-xorg-input-evdev
.
Devido à falta de mantenedores no upstream, o sistema de inicialização Upstart foi removido da stretch. Se o seu sistema depende desse pacote, você deve notar que ele não será atualizado durante o tempo de vida do Debian 9 e, a partir do Debian 10 (burster), trabalhos do Upstart poderão ser removidos dos pacotes.
Por favor, considere mudar para um sistema de inicialização com suporte, como systemd ou OpenRC.
![]() | Nota |
---|---|
Esta seção é direcionada principalmente a desenvolvedores ou organizações que constroem os seus próprios pacotes debian. |
A suíte de ferramentas debhelper agora gerará pacotes
dbgsym
por padrão para binários ELF. Se você desenvolve e
empacota binários, por favor, verifique se as suas ferramentas têm suporte a
esses pacotes extras gerados automaticamente.
Se você usa reprepro
, você deve
atualizá-lo para a versão 4.17.0 pelo menos. Para aptly
, você precisará pelo menos a versão 1.0.0,
que infelizmente não está disponível no Debian stretch.
Caso as suas ferramentas não sejam capazes de lidar com isso adequadamente,
você pedir ao debhelper que desabilite essa funcionalidade adicionando
“noautodbgsym
” na variável DEB_BUILD_OPTIONS
do seu serviço de construção. Por favor, veja a
página de manual do dh_strip para mais informação.
O aplicativo openssl espera argumentos do tipo opção antes de argumentos do tipo não opção. Por exemplo, isto não funciona mais:
openssl dsaparam 2048 -out file
enquanto isto ainda funciona:
openssl dsaparam -out file 2048
O comando openssl enc mudou o "digest" (usado para criar a chave a partir da "passphrase") de MD5 para SHA256. O "digest" pode ser especificado com a opção -md no caso de arquivos antigos precisarem ser descriptografados com um OpenSSL mais novo (ou vice-versa).
As cifras 3DES e RC4 não estão mais disponíveis para comunicação TLS/SSL. Servidores que usam OpenSSL não podem oferecê-las e clientes não podem conectar a servidores que oferecem somente elas. Isso significa que o OpenSSL e o Windows XP não compartilham nenhuma cifra em comum.
O pacote libssl-dev
fornece arquivos
de cabeçalho para compilar contra o OpenSSL 1.1.0. A API mudou
consideravelmente e é possível que o software não vá compilar mais. Existe
uma visão
geral das mudanças. Se você não pode atualizar o seu software,
existe também o pacote libssl1.0-dev
, que fornece cabeçalhos para o
OpenSSL 1.0.2.
![]() | Nota |
---|---|
Esta seção se aplica a código mantido fora do Debian - módulos e scripts Perl legados, de terceiros ou locais. |
Alguns módulos foram removidos do Perl "core" e agora são distribuídos em
pacotes separados. Exemplos notáveis são CGI
, disponível
no pacote libcgi-pm-perl
, e
Module::Build
, disponível no pacote libmodule-build-perl
.
O diretório de trabalho atual (.
) foi removido da lista
padrão de diretórios "include", @INC
. Isso pode afetar o
uso de require()
, do()
, etc, onde os
argumentos são arquivos no diretório atual.
Todos os programas e módulos perl distribuídos pelo Debian devem ter sido corrigidos para tratar quaisquer incompatibilidades causadas pelo descrito acima; por favor, relate bugs se esse não for o caso. Como a mudança foi agora feita no perl 5.26.0, software de terceiros deve também começar a ser corrigido. Informação para desenvolvedores sobre como corrigir esse problema é fornecida nas notas de lançamento do perl 5.26 (veja a seção SECURITY).
Se necessário, você pode retornar temporariamente o .
em
@INC
globalmente, comentando a linha em
/etc/perl/sitecustomize.pl
, mas você deve fazer isso
somente se compreender os riscos potenciais. Essa medida paliativa será
removida no Debian 10. Você pode também definir a variável de
ambiente PERL_USE_UNSAFE_INC
em um contexto específico
que terá o mesmo efeito.
A lista completa de mudanças no Perl desde o Debian 8 está disponível em perl522delta e perl524delta.
O pacote da linguagem procedural PostgreSQL PL/Perl na jessie é incompatível
com a versão do Perl na stretch. O pacote postgresql-plperl-9.4
será removido durante a
atualização, tornando procedimentos Perl no lado do servidor
disfuncionais. Atualizar para PostgreSQL 9.6 não deverá ser afetado; os
procedimentos funcionarão no novo cluster PostgreSQL se o pacote postgresql-plperl-9.6
estiver instalado. Em caso
de dúvida, faça uma cópia de segurança de seus clusters PostgreSQL 9.4 antes
de atualizar para a stretch.
O pacote net-tools
não faz mais
parte de novas instalações por padrão, uma vez que a sua prioridade foi
rebaixada de importante para opcional. Os usuários são aconselhados a usar o
moderno conjunto de ferramentas iproute2
no seu lugar (que tem sido parte de
novas instalações já por vários lançamentos). Se você ainda prefere
continuar usando os programas do net-tools
, você pode simplesmente instalá-los
via
apt install net-tools
Aqui está um resumo dos comandos do net-tools, junto com os seus equivalentes do iproute2:
comandos legados do net-tools | comandos substitutos do iproute2 |
---|---|
arp | ip n (ip neighbor) |
ifconfig | ip a (ip addr), ip link, ip -s (ip -stats) |
iptunnel | ip tunnel |
nameif | ip link |
netstat | ss, ip route (para netstat -r), ip -s link (para netstat -i), ip maddr (para netstat -g) |
route | ip r (ip route) |
![]() | Nota |
---|---|
Isso somente se aplica a sistemas que têm dispositivos ATA over ethernet (AoE) montados. Se o sistema não monta nenhum compartilhamento de rede, você pode pular esta seção com segurança. |
Devido a uma limpeza na forma de lidar com a desconfiguração de rede,
dispositivos AoE em uso não são mais tratados como o esperado durante o
desligamento, possivelmente resultando em travamentos e/ou perda de
dados. Para mitigar essa situação, é sugerido montar tais dispositivos
usando a opção de montagem _netdev
. Essa opção está
disponível ao usar swap sobre AoE também.
Durante a atualização, você poderá ver alguns avisos como:
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at /usr/share/perl5/Debconf/Question.pm line 72. Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line 30.
Isso é inofensivo e acontece se o pacote perl-base
é atualizado antes do pacote
debconf
.
![]() | Nota |
---|---|
Esta seção somente se aplica a sistemas que estejam usando SELinux, o que não é habilitado por padrão. |
Na stretch, o armazenamento de políticas SELinux foi movido de
/etc/selinux/
para
<nome_da_politica>
/var/lib/selinux/
.
Além disso, o formato usado dentro do armazenamento mudou.
<nome_da_politica>
As políticas fornecidas pelo Debian (por exemplo, a partir do pacote
selinux-policy-default
) serão
migradas automaticamente. Entretanto, políticas específicas do sistema
precisam ser migradas manualmente.
O pacote semanage-utils
fornece o
script /usr/lib/selinux/semanage_migrate_store
para
fazer essa transição.
O iSCSI Enterprise Target (IET), empacotado no pacote iscsitarget
em lançamentos anteriores, não está
mais presente no Debian, uma vez que ele não funciona mais com versões
recentes do kernel, e o projeto não teve mais atividade de desenvolvimento
nos últimos anos.
Os usuários do IET são encorajados a migrarem para a pilha LIO, que tem
suporte total no Debian stretch. O pacote targetcli-fb
fornece o utilitário de
configuração para o alvo iSCSI LIO.
Como a pilha LIO foi desenvolvida independentemente do IET, a configuração deve ser migrada manualmente.