티스토리 뷰
Node.JS 마이크로서비스 코딩공작소를 따라해보기 위해 Maria DB를 설치하는 와중에 패키지의 의존성이 맞지않아 설치가 되지 않는 에러를 만났다.

에러를 해결하기 위해 이것 저것 검색해보던 중 기존에 Mysql이 설치된 환경에서는 apt를 가지고 명령어를 통해 maria DB를 설치 할 수 없다고 했다. 해결하기 위해서는 Mysql을 삭제하고 설치해야 하는 상황이었다.
sudo apt-get remove mariadb-server mariadb-client mysql-server mysql-client
위의 명령어로 모두 삭제한 후 다시 설치를 했는데 역시 같은 에러를 만났다. 또다시 검색을 해보던 중 mysql-common 또는 libmysqlclient의 버전 번호가 MariaDB 리포지토리보다 공식 Ubuntu 또는 Debian 리포지토리에서 더 높은 경우는 드물지만 실제로 발생했습니다. 배포 리포지토리의 MySQL 버전에 존재했지만 MariaDB 리포지토리의 MariaDB 버전에서 이미 수정 된 버그에 대한 중요한 버그 수정 릴리스로 인해 발생했을 때마다 MariaDB를 설치하려고 할 때 위에서 설명한 상황이 존재하면 다음과 같은 오류가 발생합니다. 라는 글을 찾았다. 오류의 내용은 나와 같은 내용이었고 이에 대한 해결책으로 설치할 패키지의 정확한 버전을 지정하는 것이었다.
apt-cache show mysql-common | grep Version
apt-cache show libmysqlclient18 | grep Version
위의 명령어로 각 버전을 확인하고, 아래 명령어를 활용해 설치를 시켰다.
apt-get install mariadb-server-5.5 mariadb-client-5.5 \
libmysqlclient18=<version-number> \
mysql-common=<version-number>
// 10.6버전을 설치하려 했기 때문에 다음과 같은 명령어를 적용시켰다.
sudo apt-get install mariadb-server-10.6 mariadb-client-10.6 \
libmysqlclient18=1:10.6.4+maria~focal \
mysql-common=1:10.6.4+maria~focal
하지만 다시 아래와 같은 에러를 만나게 되었다. 비슷하지만 mariadb-client-core-10.6의 의존성이 맞지 않는 내용이었다. 그래서 위의 명령어에 해당 패키지를 추가시켜보았다.

sudo apt-get install mariadb-server-10.6 mariadb-client-10.6 \
libmysqlclient18=1:10.6.4+maria~focal \
mysql-common=1:10.6.4+maria~focal \
mariadb-client-core-10.6 // 추가된 부분

마침내 설치가 완료되어 실행시킬 수 있었다. 아래 출처에 추가적으로 업그레이드 문제에 대한 해결 방법도 나와있다.
출처