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년의 설치 기록이며 현재 새 서버에 사용할 버전 추천은 아닙니다.
sudo dnf install mariadb105-serverdnf는 뭘까요? 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]:위 출력은 설치 확인을 묻는 곳에서 끝납니다. 이후 설치를 마치고 다음 명령으로 서비스를 시작할 수 있었습니다.
$ sudo systemctl start mariadb