Blog

Amazon Linux 2023에서 MariaDB의 libcrypto.so.10 의존성 오류 해결

MariaDB 설치가 의존성 오류로 막혔습니다

EC2의 Amazon Linux 2023 인스턴스에서 yum으로 MariaDB를 설치하다가 오류를 만났습니다. 필요한 libcrypto.so.10, libssl.so.10을 제공하는 패키지가 없다고 나왔습니다.

$ sudo yum install mariadb-server
Last metadata expiration check: 0:02:34 ago on Tue May  2 06:58:19 2023.
Error: 
 Problem: conflicting requests
  - nothing provides libcrypto.so.10()(64bit) needed by MariaDB-server-10.3.36-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by MariaDB-server-10.3.36-1.el7.centos.x86_64
  - nothing provides libssl.so.10()(64bit) needed by MariaDB-server-10.3.36-1.el7.centos.x86_64
  - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by MariaDB-server-10.3.36-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(OPENSSL_1.0.2)(64bit) needed by MariaDB-server-10.3.36-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10()(64bit) needed by MariaDB-server-10.3.37-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by MariaDB-server-10.3.37-1.el7.centos.x86_64
  - nothing provides libssl.so.10()(64bit) needed by MariaDB-server-10.3.37-1.el7.centos.x86_64
  - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by MariaDB-server-10.3.37-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(OPENSSL_1.0.2)(64bit) needed by MariaDB-server-10.3.37-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10()(64bit) needed by MariaDB-server-10.3.38-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(libcrypto.so.10)(64bit) needed by MariaDB-server-10.3.38-1.el7.centos.x86_64
  - nothing provides libssl.so.10()(64bit) needed by MariaDB-server-10.3.38-1.el7.centos.x86_64
  - nothing provides libssl.so.10(libssl.so.10)(64bit) needed by MariaDB-server-10.3.38-1.el7.centos.x86_64
  - nothing provides libcrypto.so.10(OPENSSL_1.0.2)(64bit) needed by MariaDB-server-10.3.38-1.el7.centos.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

위 오류의 패키지 이름에는 el7.centos가 붙어 있습니다. 당시 사용하던 Amazon Linux 2023과 맞지 않는 저장소의 패키지를 설치하려던 상황이었습니다.

인스턴스 버전에 맞는 문서를 찾았습니다

저장소를 만들고 설정을 바꿔도 해결되지 않았습니다. 그러다 AWS의 Amazon Linux 2023 LAMP 설치 문서를 찾았고 인스턴스를 Amazon Linux 2023으로 만들었다는 점을 떠올려 문서를 읽었습니다.

문서에는 당시 다음 명령이 있었습니다. 아래 패키지와 버전은 2023년의 설치 기록이며 현재 새 서버에 사용할 버전 추천은 아닙니다.

Shell
sudo dnf install mariadb105-server

dnf는 뭘까요? yum으로 설치하는 줄 알았는데 문서의 명령은 달랐습니다. 패키지 이름까지 문서대로 바꿔 실행하자 의존성이 해결됐습니다.

AWS 패키지 관리 문서에 따르면 Amazon Linux 2023의 기본 패키지 관리자는 DNF이며 yum도 DNF를 가리킵니다. 해결된 건 명령 이름보다 패키지가 달라진 덕분입니다. 패키지 이름이 mariadb-server에서 mariadb105-server로 바뀌었고 설치 대상의 저장소도 운영체제에 맞는 amazonlinux였습니다.

$ sudo dnf install mariadb105-server
Last metadata expiration check: 0:39:24 ago on Tue May  2 06:58:19 2023.
Dependencies resolved.
=============================================================================================================================================
 Package                                        Architecture       Version                                     Repository               Size
=============================================================================================================================================
Installing:
 mariadb105-server                              x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux              10 M
Installing dependencies:
 mariadb-connector-c                            x86_64             3.1.13-1.amzn2023.0.3                       amazonlinux             196 k
 mariadb-connector-c-config                     noarch             3.1.13-1.amzn2023.0.3                       amazonlinux             9.2 k
 mariadb105                                     x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux             1.6 M
 mariadb105-common                              x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux              31 k
 mariadb105-errmsg                              x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux             215 k
 mysql-selinux                                  noarch             1.0.4-2.amzn2023.0.3                        amazonlinux              36 k
 perl-B                                         x86_64             1.80-477.amzn2023.0.3                       amazonlinux             180 k
 perl-DBD-MariaDB                               x86_64             1.22-1.amzn2023.0.4                         amazonlinux             153 k
 perl-DBI                                       x86_64             1.643-7.amzn2023.0.3                        amazonlinux             700 k
 perl-Data-Dumper                               x86_64             2.174-460.amzn2023.0.2                      amazonlinux              55 k
 perl-File-Copy                                 noarch             2.34-477.amzn2023.0.3                       amazonlinux              21 k
 perl-FileHandle                                noarch             2.03-477.amzn2023.0.3                       amazonlinux              17 k
 perl-Math-BigInt                               noarch             1:1.9998.18-458.amzn2023.0.2                amazonlinux             189 k
 perl-Math-Complex                              noarch             1.59-477.amzn2023.0.3                       amazonlinux              48 k
 perl-Sys-Hostname                              x86_64             1.23-477.amzn2023.0.3                       amazonlinux              18 k
 perl-base                                      noarch             2.27-477.amzn2023.0.3                       amazonlinux              17 k
Installing weak dependencies:
 mariadb105-backup                              x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux             6.2 M
 mariadb105-cracklib-password-check             x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux              16 k
 mariadb105-gssapi-server                       x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux              18 k
 mariadb105-server-utils                        x86_64             3:10.5.18-1.amzn2023.0.1                    amazonlinux             216 k

Transaction Summary
=============================================================================================================================================
Install  21 Packages

Total download size: 20 M
Installed size: 117 M
Is this ok [y/N]:

위 출력은 설치 확인을 묻는 곳에서 끝납니다. 이후 설치를 마치고 다음 명령으로 서비스를 시작할 수 있었습니다.

Shell
$ sudo systemctl start mariadb