O que significa “-45.el7” em “httpd 2.4.6-45.el7”?

6

Instalei httpd no CentOS 7, mas a versão instalada é 2.4.6-45.el7 . Esta página diz que a versão mais recente de httpd é 2.4.25.

Eu quero saber se 2.4.6-45.el7 é equivalente a 2.4.25 . O que significa -45.el7 ? Existe alguma documentação sobre isso?

    
por user677900 16.01.2017 / 19:02

4 respostas

12

Essa é a versão 2.4.6 e a parte após o - é a versão de lançamento do pacote.

el (sem e1 como indicado na pergunta) representa Enterprise Linux e a seguinte é sua versão correspondente ( 7 ). Esta versão é consistente em todas as distribuições relacionadas e RedHat (incluindo o CentOS).

A versão de empacotamento muda quando precisa ser reconstruída devido a uma alteração em outro pacote, e é por isso que ele aumenta, mesmo que o pacote de código real ainda seja o mesmo.

    
por 16.01.2017 / 19:14
5

Como você pode ver na documentação aberta da Red Hat , os caracteres após - são a versão Release

[root@host ~]# yum info httpd
Available Packages
Name        : httpd
Arch        : x86_64
Version     : 2.4.6
Release     : 45.el7.centos
Size        : 2.7 M
Repo        : base/7/x86_64
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.

Ao analisar a convenção de nomenclatura do RPM , podemos encontrar a mesma estrutura explicada como um pacote de exemplo:

name-version-release.architecture.rpm
  • release is the number of times this version of the software has been packaged.

Isso significa que um pacote com o nome 2.4.6-45.el7 tem a versão de software upstream 2.4.6 e foi reempacotado (para correções ou melhorias) criando 45 "versões internas" do repositório que fornece esse pacote. Ainda olhando para o campo Release , el7 significa a versão do Enterprise Linux que estamos usando, seguida de .centos (a distribuição). O caractere - é usado para separar a versão upstream das informações específicas do fornecedor, enquanto . é usado para denotar informações específicas sobre a versão ou release.

No entanto, à medida que as distribuições baseadas em RPM evoluem, mais coisas estão sendo adicionadas aos nomes dos pacotes e podemos encontrar alguns nomes como kexec-tools-1.102pre-126.el5_7.7.x86_64 , onde você pode encontrar :

  • name : kexec-tools-1.102pre-126 . Versão upstream que o empacotador está usando como "stable / base" para desenvolver e aplicar correções ao software. Como notado nos comentários de Christian Long, esta parte é dividida em version ( 1.102pre ) e release ( -126 )
  • EL version : versão do sistema operacional - el5_7 . Como os pontos estão sendo usados como separador de informações, o sublinhado significa Enterprise Linux versão 5.7.
  • Package Release : O mesmo que acima: .7 "repacks" deste pacote.
  • Architecture : arquitetura de pacotes - .x86_64 - útil quando você precisa instalar software de outras arquiteturas compatíveis, como i386 packages em distribuições baseadas em 64 bits.

Em alguns pacotes, você pode até encontrar .20161112git no nome do pacote, mostrando quais correções específicas estão sendo retornadas a partir daquele dia no repositório upstream. Exemplo: libpcap-1.4.0-4.20130826git2dbcaa1.el6.x86_64

Você pode consultar changelogs para ver o que foi melhorado / corrigido, quais problemas da Red Hat foram fechados e CVEs corrigidos, comparando com a versão atual do pacote:

[root@host ~]# rpm -q --changelog httpd
* Thu Nov 03 2016 CentOS Sources <[email protected]> - 2.4.6-45.el7.centos
- Remove index.html, add centos-noindex.tar.gz
- change vstring
- change symlink for poweredby.png
- update welcome.conf with proper aliases

* Wed Aug 03 2016 Luboš Uhliarik <[email protected]> - 2.4.6-45
- RFE: run mod_rewrite external mapping program as non-root (#1316900)

* Tue Jul 12 2016 Joe Orton <[email protected]> - 2.4.6-44
- add security fix for CVE-2016-5387

* Tue Jul 05 2016 Joe Orton <[email protected]> - 2.4.6-43
- add 451 (Unavailable For Legal Reasons) response status-code (#1343582)

* Fri Jun 17 2016 Joe Orton <[email protected]> - 2.4.6-42
- mod_cache: treat cache as valid with changed Expires in 304 (#1331341)

* Wed Feb 24 2016 Jan Kaluza <[email protected]> - 2.4.6-41
- mod_cache: merge r->err_headers_out into r->headers when the response
  is cached for the first time (#1264989)
- mod_ssl: Do not send SSL warning when SNI hostname is not found as per
  RFC 6066 (#1298148)
- mod_proxy_fcgi: Ignore body data from backend for 304 responses (#1263038)
- fix apache user creation when apache group already exists (#1299889)
- fix apache user creation when USERGROUPS_ENAB is set to 'no' (#1288757)
- mod_proxy: fix slow response time for reponses with error status code
  when using ProxyErrorOverride (#1283653)
- mod_ldap: Respect LDAPConnectionPoolTTL for authn connections (#1300149)
- mod_ssl: use "localhost" in the dummy SSL cert for long FQDNs (#1240495)
- rotatelogs: improve support for localtime (#1244545)
- ab: fix read failure when targeting SSL server (#1255331)
- mod_log_debug: fix LogMessage example in documentation (#1279465)
- mod_authz_dbd, mod_authn_dbd, mod_session_dbd, mod_rewrite: Fix lifetime
  of DB lookup entries independently of the selected DB engine (#1287844)
- mod_ssl: fix hardware crypto support with custom DH parms (#1291865)
- mod_proxy_fcgi: fix SCRIPT_FILENAME when a balancer is used (#1302797)
---remaining output suppressed---
    
por 16.01.2017 / 20:22
2

Não é .e17 , mas .el7 e significa centos 7.

2.4.6 é o número da versão principal e -45 os patches do backport estendido.

    
por 16.01.2017 / 19:13
0

Responder a um detalhe em @nwildner é excelente responder .

Ele deu como exemplo o arquivo rpm kexec-tools-1.102pre-126.el5_7.7.x86_64 .

Neste exemplo, 1.102pre é a versão upstream e 126.7 é a versão do pacote rpm. A convenção de nomenclatura do rpm usa traços para separar o nome da versão-release. Essa página diz: "A única restrição colocada na versão é que ela não pode conter um traço".

Se você fizer o download de kexec-tools -1.102pre-126.el5_7.7.x86_64.rpm , você pode ver a versão e os números de lançamento.

rpm -qi kexec-tools-1.102pre-126.el5_7.7.x86_64.rpm

Name        : kexec-tools
Version     : 1.102pre
Release     : 126.el5_7.7
Architecture: x86_64

Se você olhar no changelog para esse arquivo rpm, poderá ver a versão de pacote 126, 126.1, etc., até 126.7. Todos são baseados na versão upstream do 1.102pre .

rpm -q --changelog kexec-tools-1.102pre-126.el5_7.7.x86_64.rpm

* Thu Jan 12 2012 Amerigo Wang <[email protected]> - 1.102pre-126.7
- Remove the restriction for Xen HVM guests, resolve bug 772164.

* Fri Apr 29 2011 Amerigo Wang <[email protected]> - 1.102pre-126.6
- Add the missing part of the previous patch. Resolve bug 700636.

* Fri Mar 04 2011 Amerigo Wang <[email protected]> - 1.102pre-126.5
- Get the backup memory region dynamically. Resolve bug 682085.

O mais confuso é que a tag de distribuição (a parte 'el5_7') está algumas vezes presa no meio da string de lançamento. Aqui, por exemplo, a maior parte da string de lançamento é '126', a parte menor da string de lançamento é '7' e a tag de distribuição fica presa entre as duas.

Aqui está o que o kexec-tools.spec que foi usado para construir este arquivo rpm seria semelhante.

Name:         kexec-tools
Version:      1.102pre
Release:      126%{?dist}.7

Para saber mais sobre o formato de nomenclatura RPM, consulte o Guia de empacotamento de RPM , especialmente a parte sobre building RPMs .

    
por 12.01.2018 / 00:35

Tags