데비안에서 openssl 1.0.1을 업그레이드하는 방법

데비안에서 openssl 1.0.1을 업그레이드하는 방법

핵심요약: libssl 1.0.2 이상이 필요한 패키지를 설치하려고 하는데 설치할 수 없습니다.

# 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

내가 시도한 것에 대한 긴 이야기 :

나는 데비안 제시를 가지고 있습니다:

# 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

내 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

libssl(openssl의 일부인 것으로 알고 있음)을 1.0.2 이상으로 업그레이드해야 합니다. 실행했는데 apt-get update && apt-get upgrade여전히 1.0.1입니다. 나는 또한 다음을 시도했습니다.

# 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

주의 깊게 읽은 후 시스템을 업그레이드하기로 결정했습니다. 나는 도망 갔다 apt-get dist-upgrade. 그런 다음 내 /etc/apt/source.list파일을 편집하여 교체하고 다시 실행했습니다. 이제 모든 것이 괜찮아 보입니다.jessiestretchapt-get update && apt-get upgrade && apt-get dist-upgrade

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

이제 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

하지만 내 시스템에 libssl 1.0.1, 1.0.2 및 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

패키지를 설치하려고 하면 이전과 똑같은 오류가 발생합니다. 마치 dpkg가 1.0.1만 보고 다른 것은 보지 못하는 것 같습니다. 내가 할 수 있는 다른 작업에 대한 팁이 있나요?

고쳐 쓰다:

우분투에서 openssl_1.0.2g-1ubuntu4.13_amd64.deb를 다운로드하고 다음을 시도했습니다.

# 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

글쎄, 그건 공식적인 일이고, 아무 의미도 없고 어떻게 해야 할지 모르겠습니다. 설치하려는 openssl 1.0.2g가 1.0.2g에 의존한다고 하는데 1.0.1이 있어서 설치할 수 없는 걸까요? 지금 너무 혼란스러워요...하하

업데이트 2:

libssl을 제거하고 apt-get remove libssl1.0.0ubuntu 1.0.2g 패키지(i386 및 amd64, 그렇지 않으면 불평할 것임)를 다운로드하여 설치했습니다. pgks.org에서 다운로드했는데 더 "공식적인" 소스를 찾을 수 없었습니다:( ) 마침내 설치할 수 있었습니다 my_package_name. 나는 지금 내 시스템이 엉망이라고 확신하며 누군가 시스템을 엉망으로 만들지 않는 간단하고 간단한 해결책을 제공할 때까지(가능하다면) 이 질문을 열어 두겠습니다... :/

답변1

오류 메시지에는 다음이 포함되어 있습니다. 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.

메시지의 중요한 부분은 1.0.2g이고 1.0.1t를 찾고 있습니다. 패키지가 의존하는 정확한 버전 1.0.2g가 필요합니다. 패키지에서는 상위 버전(예: 1.0.2l)이나 하위 버전(예: 1.0.2d)을 사용할 수 없는 것 같습니다.

또한 패키지 관리자는 서로 다른 기본 디렉터리에 여러 병렬 설치를 허용할 수도 있습니다. 이 패키지의 원치 않는 버전을 제거해 볼 수도 있습니다(참고: 제거하기 전에 이 버전에 의존하는 다른 패키지가 없는지 확인해야 합니다).

노력하다apt-get install openssl=1.0.2g

이제 OS가 Stretch로 업그레이드되었으므로 오류 메시지의 동일한 부분이 달라졌을 것입니다.

답변2

TL, DR: 필요한 OpenSSL 패키지는 jessie-backports입니다. 그러나 데비안을 다운그레이드하는 것은지원되지 않음.


다음 줄을 관찰하십시오 dpkg.

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

설치하려는 패키지는 libssl1.0.0정확한 이름이 " "인 패키지 에 의존하므로 libssl1.0.2설치가 도움이 되지 않습니다. 스트레치로 업그레이드하지 않은 경우 libssl1.0.0v1.0.2g 및 > v1.0.2g와 바이너리 호환되는 jessie-backports에서 v1.0.2l을 가져올 수 있습니다.OpenSSL 버전 관리 체계.

그런데 당신은할 수 없다jessie-backport가 문제 없이 확장 작업을 수행할 것으로 기대합니다.


첫 번째 업데이트에서:

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

openssl과 libssl은 서로 다른 두 패키지이며 설치하려는 패키지는 후자에 따라 다릅니다. 설치하려는 Ubuntu openssl 패키지의 libssl1.0.0버전은 1.0.2g 이상이지만 1.0.1t < 1.0.2g입니다.


게다가 Forticlient는 Debian에서 작동하도록 설계되지 않았기 때문에 작동시키기가 어려울 것입니다.

답변3

이 특별한 경우에는 dsstorefile1의 의견에 동의합니다.

"우분투와 데비안 패키지를 혼합할 수는 없습니다. 물론 가능하지만 두 패키지가 호환되지 않기 때문에 운영 체제가 손상될 것입니다."

일반적인 용도의 경우 apt-get 대신 aptitude를 사용할 수 있습니다. 적성은 종속성을 확인하기 때문입니다.

답변4

시스템을 중단시키지 않는 간단하고 간단한 비해킹 솔루션입니다. 가능하다면...:/

명령하다백포팅 사용openssl 업그레이드 예

sudo apt -t jessie-backports install openssl

관련 정보