Como atualizar o openssl 1.0.1 no debian

1

TL; DR: Estou tentando instalar um pacote que precisa do libssl 1.0.2 ou superior, mas não consigo:

# dpkg -i my_package_name_3.0.1.8_amd64.deb
Selecting previously unselected package my_package_name.
(Reading database ... 266120 files and directories currently installed.)
Preparing to unpack my_package_name_3.0.1.8_amd64.deb ...
Unpacking my_package_name (3.0.1.8) ...
dpkg: dependency problems prevent configuration of my_package_name:
 my_package_name depends on libssl1.0.0 (>= 1.0.2g); however:
  Version of libssl1.0.0:amd64 on system is 1.0.1t-1+deb8u9.

dpkg: error processing package my_package_name (--install):
 dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.23-1) ...
Processing triggers for mime-support (3.60) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Errors were encountered while processing:
 my_package_name

Longa história do que tentei:

Eu tinha debian jessie:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.11 (jessie)
Release:        8.11
Codename:       jessie
# uname -a
Linux 10.mylocalhostname.com 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux

E meu openssl é 1.0.1

# dpkg -l 'openssl'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                                  Version                         Architecture                    Description
+++-=====================================================-===============================-===============================-===============================================================================================================
ii  openssl                                               1.0.1t-1+deb8u9                 amd64                           Secure Sockets Layer toolkit - cryptographic utility

Eu preciso atualizar o libssl (que eu entendo é parte do openssl?) para 1.0.2 ou superior. Eu corri um apt-get update && apt-get upgrade e ainda estou no 1.0.1. Eu também tentei:

# apt-get install openssl=1.0.2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Version '1.0.2' for 'openssl' was not found

Depois de ler, decidi atualizar meu sistema. Eu corri apt-get dist-upgrade . Então eu editei meu /etc/apt/source.list para substituir jessie para stretch . Reexecutei apt-get update && apt-get upgrade && apt-get dist-upgrade . Parece que está tudo bem agora:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.5 (stretch)
Release:        9.5
Codename:       stretch

E agora eu tenho o openssl 1.1.0:

# dpkg -l 'openssl'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                                  Version                         Architecture                    Description
+++-=====================================================-===============================-===============================-===============================================================================================================
ii  openssl                                               1.1.0f-3+deb9u2                 amd64                           Secure Sockets Layer toolkit - cryptographic utility

Mas ainda não consigo instalar o meu pacote, embora pareça que o meu sistema agora possui libssl 1.0.1, 1.0.2 e 1.1.0:

# apt-cache policy libssl1.0.0
libssl1.0.0:
  Installed: 1.0.1t-1+deb8u9
  Candidate: 1.0.1t-1+deb8u9
  Version table:
 *** 1.0.1t-1+deb8u9 100
        100 /var/lib/dpkg/status
# apt-cache policy libssl1.0.2
libssl1.0.2:
  Installed: 1.0.2l-2+deb9u3
  Candidate: 1.0.2l-2+deb9u3
  Version table:
 *** 1.0.2l-2+deb9u3 500
        500 http://mirror.it.ubc.ca/debian stretch/main amd64 Packages
        500 http://security.debian.org stretch/updates/main amd64 Packages
        500 http://http.debian.net/debian stretch/main amd64 Packages
        100 /var/lib/dpkg/status
# apt-cache policy libssl1.1
libssl1.1:
  Installed: 1.1.0f-3+deb9u2
  Candidate: 1.1.0f-3+deb9u2
  Version table:
 *** 1.1.0f-3+deb9u2 500
        500 http://mirror.it.ubc.ca/debian stretch/main amd64 Packages
        500 http://security.debian.org stretch/updates/main amd64 Packages
        500 http://http.debian.net/debian stretch/main amd64 Packages
        100 /var/lib/dpkg/status

E quando tento instalar meu pacote, recebo exatamente o mesmo erro de antes, como se o dpkg só visse 1.0.1 e nada mais. Alguma dica sobre o que mais posso fazer?

ATUALIZAÇÃO:

Eu baixei o openssl_1.0.2g-1ubuntu4.13_amd64.deb do Ubuntu e tentei fazer isso:

# dpkg -i openssl_1.0.2g-1ubuntu4.13_amd64.deb 
dpkg: warning: downgrading openssl from 1.1.0f-3+deb9u2 to 1.0.2g-1ubuntu4.13
(Reading database ... 266120 files and directories currently installed.)
Preparing to unpack openssl_1.0.2g-1ubuntu4.13_amd64.deb ...
Unpacking openssl (1.0.2g-1ubuntu4.13) over (1.1.0f-3+deb9u2) ...
dpkg: dependency problems prevent configuration of openssl:
 openssl depends on libssl1.0.0 (>= 1.0.2g); however:
  Version of libssl1.0.0:amd64 on system is 1.0.1t-1+deb8u9.

dpkg: error processing package openssl (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
 openssl

Então, é oficial, isso não faz sentido e eu não tenho ideia do que fazer. Ele está me dizendo que o openssl 1.0.2g que estou tentando instalar depende de 1.0.2g e é por isso que não posso instalá-lo desde que eu tenho 1.0.1? Estou tão confuso agora ... lol

UPDATE 2:

Eu removi libssl apt-get remove libssl1.0.0 , baixei e instalei os pacotes do ubuntu 1.0.2g (ambos i386 e amd64, caso contrário ele iria reclamar; eu baixei eles do pgks.org, não consegui encontrar uma fonte mais "oficial" :( ) e eu poderia finalmente instalar o my_package_name , mas eu tenho certeza que meu sistema está todo bagunçado agora, eu vou checar.Eu deixarei essa questão aberta até que alguém forneça uma solução simples e direta que não bagunça o sistema, se é que isso é possível ...: /

    
por msb 23.08.2018 / 00:51

3 respostas

0

Sua mensagem de erro inclui o seguinte my_package_name depends on libssl1.0.0 (>= 1.0.2g); however: Version of libssl1.0.0:amd64 on system is 1.0.1t-1+deb8u9.

A parte importante da mensagem é 1.0.2g e está encontrando 1.0.1t. Você precisa da versão exata 1.0.2g, já que esta é a versão da qual seu pacote está dependendo. Não parece que o pacote permita versões superiores como 1.0.2l nem versões inferiores como 1.0.2d.

Observe também que o gerenciador de pacotes pode permitir várias instalações lado a lado em diferentes diretórios base. Você pode querer tentar remover as versões que não são necessárias para este pacote (nota: você precisaria garantir que nenhum outro pacote dependa dessas versões antes de removê-las)

Experimente apt-get install openssl=1.0.2g

Eu apostaria que a mesma parte da sua mensagem de erro é diferente agora que o sistema operacional foi atualizado para o Stretch.

    
por 23.08.2018 / 01:18
0

TL, DR: O pacote OpenSSL que você precisa é de backports jessie. No entanto, o downgrade da Debian é sem suporte .

Observe esta linha em dpkg :

my_package_name depends on libssl1.0.0 (>= 1.0.2g); however:

O pacote que você está tentando instalar depende de um pacote com o nome exato de " libssl1.0.0 ", e é por isso que instalar libssl1.0.2 não ajuda. Se você não tinha atualizado para alongar, então você poderia ter extraído libssl1.0.0 v1.0.2l de jessie-backports, o que acontece com ambos serem binariamente compatíveis e > v1.0.2g devido ao esquema de versões do OpenSSL .

A propósito, você não pode esperar que os jessie-backports trabalhem em alongamentos sem problemas.

Da sua primeira atualização:

openssl depends on libssl1.0.0 (>= 1.0.2g); however:
 version of libssl1.0.0:amd64 on system is 1.0.1t-1+deb8u9.

Note que openssl e libssl são dois pacotes diferentes, e o pacote que você está tentando instalar depende do último. O pacote openssl do Ubuntu que você tentou instalar quer que a versão libssl1.0.0 seja > = 1.0.2g, mas 1.0.1t < 1,0,2g.

O ponto principal é que o Forticlient não foi projetado para funcionar no Debian, então fazê-lo funcionar vai ser hacky.

    
por 23.08.2018 / 07:08
0

Para este caso especial, eu concordo com o comentário feito por dsstorefile1.

"Você não pode misturar pacotes Ubuntu e Debian. Bem, você poderia, mas eventualmente acabaria com um sistema operacional quebrado, já que os pacotes dos dois são incompatíveis."

E para uso comum, você pode usar o aptitude em vez do apt-get, porque o aptitude verifica dependências.

    
por 23.08.2018 / 07:47