6 Backports de código-fonte #
O SUSE faz uso intensivo de backports, por exemplo, na migração de correções e recursos de software atuais para pacotes lançados do SUSE Linux Enterprise. As informações neste capítulo explicam por que pode ser equivocado comparar os números de versão para determinar os recursos e a segurança dos pacotes de software do SUSE Linux Enterprise. Este capítulo explica também como o SUSE mantém o software do sistema protegido e atualizado assegurando a compatibilidade de seu software de aplicativo em coexistência com os produtos SUSE Linux Enterprise. Você também aprenderá como verificar os problemas de segurança pública que são realmente resolvidos no software do sistema SUSE Linux Enterprise e o status atual do seu software.
6.1 Prós do backporting #
O foco principal dos desenvolvedores de upstream está na evolução do software que eles criam. Em geral, eles combinam correção de bugs com a introdução de novos recursos que ainda não foram amplamente testados e que podem inserir novos bugs.
Para os desenvolvedores de distribuição, é importante saber a diferença entre:
correções de bugs com potencial limitado para interromper a funcionalidade; e
mudanças que possam interromper a funcionalidade existente.
Normalmente, os desenvolvedores de distribuição não seguem todas as mudanças de upstream quando um pacote torna-se parte de uma distribuição lançada. Normalmente, eles mantêm a versão de upstream que lançaram inicialmente e criam patches com base nas mudanças de upstream para corrigir os bugs. Esta prática é conhecida como backporting.
Em geral, os desenvolvedores de distribuição apenas lançam uma nova versão do software em dois casos:
quando as mudanças entre os pacotes e as versões de upstream tornam-se tão grandes que o backporting não é mais viável, ou
quando o software apresenta um comportamento inerentemente errôneo ao longo de sua vida, como um software antimalware.
O SUSE faz uso intensivo de backports para buscar o equilíbrio ideal entre as várias questões que envolvem o software empresarial. As mais importantes são:
Oferecer interfaces estáveis (APIs) nas quais os fornecedores de software podem confiar na hora de desenvolver produtos para usar com os produtos empresariais do SUSE.
Garantir que os pacotes usados no lançamento dos produtos empresariais do SUSE sejam da mais alta qualidade e tenham sido completamente testados, sozinhos e como parte do produto empresarial inteiro.
Manter as diversas certificações dos produtos empresariais do SUSE por outros fornecedores, como as certificações para produtos Oracle ou SAP.
Permitir que os desenvolvedores do SUSE se concentrem na criação da próxima versão do produto, sem dividir a atenção entre uma ampla gama de versões.
Manter uma visão clara do que compõe uma versão empresarial específica, para que nosso suporte possa oferecer informações precisas e imediatas sobre ela.
6.2 Contras do backporting #
Existe uma regra da política geral de que nenhuma versão nova de upstream de um pacote é introduzida em nossos produtos empresariais. Essa regra não é, na verdade, absoluta. Para determinados tipos de pacotes, em um software antivírus específico, as questões de segurança têm um peso maior do que a abordagem conservadora, o que é preferível do ponto de vista do controle de qualidade. Para os pacotes dessa classe, ocasionalmente, são inseridas versões mais recentes em uma versão lançada da linha de produtos empresariais.
Também para outros tipos de pacotes, às vezes a opção é introduzir uma nova versão em vez de fazer backport. Isso é feito quando a realização do backport não é economicamente viável ou quando existe um motivo técnico bastante relevante para se introduzir uma versão mais recente.
6.3 Implicações dos backports na interpretação dos números de versão #
Devido à prática de backporting, não é possível simplesmente comparar números de versão para determinar se um pacote do SUSE inclui a correção de determinado problema ou se um recurso específico foi adicionado a ele. Com o backporting, a parte de upstream do número de versão do pacote do SUSE apenas indica em qual versão de upstream o pacote do SUSE está baseado. Ele pode incluir correções de bugs e recursos que não estejam na versão de upstream correspondente, mas que passaram por backport no pacote do SUSE.
As ferramentas de exploração de segurança são uma área específica em que pode haver problemas com esse valor limitado de números de versão quando há backporting envolvido. Algumas ferramentas de exploração de vulnerabilidades de segurança (ou alguns testes dessas ferramentas) operam exclusivamente com as informações de versão. Portanto, essas ferramentas e testes tendem a gerar “falsos positivos” (quando uma parte do software é identificada incorretamente como vulnerável) quando há backports envolvidos. Durante a avaliação dos relatórios das ferramentas de varredura de segurança, sempre verifique se uma entrada baseia-se no número da versão ou no teste real de vulnerabilidade.
6.4 Verificando bugs corrigidos e recursos que passaram por backport #
Há vários locais onde as informações sobre correções de bugs e recursos que passaram por backport estão armazenadas:
O registro de mudanças do pacote:
tux >
rpm -q --changelog name-of-installed-packagetux >
rpm -qp --changelog packagefile.rpmA saída documenta resumidamente o histórico de mudanças do pacote.
O registro de mudanças do pacote pode incluir entradas como
bsc#1234
(“Bugzilla Suse.Com”) que fazem referência a bugs no sistema de monitoramento Bugzilla do SUSE ou links para outros sistemas de monitoramento de bugs. Por causa das políticas de confidencialidade, nem todas as informações podem ser acessadas por você.Um pacote pode incluir um arquivo
/usr/share/doc/PACKAGENAME/README.SUSE
, com informações gerais de alto nível específicas ao pacote do SUSE.O pacote de origem RPM contém os patches que foram aplicados durante a compilação dos RPMs binários regulares como arquivos separados, que poderão ser interpretados se você estiver familiarizado com a leitura de código-fonte. Consulte o Section 6.1.3.5, “Installing or Downloading Source Packages” para ver as fontes de instalação do software do SUSE Linux Enterprise. Consulte o Section 6.2.5, “Installing and Compiling Source Packages” para criar pacotes no SUSE Linux Enterprise. Consulte o manual de RPM máximo para obter detalhes sobre as criações de pacote de software para o SUSE Linux Enterprise.
Para obter correções de bug de segurança, consulte os anúncios de segurança do SUSE. Em geral, eles fazem referência aos bugs por meio de nomes padronizados, como
CAN-2005-2495
, que são mantidos pelo projeto Common Vulnerabilities and Exposures (CVE) (Vulnerabilidades e Exposições Comuns).