셸: 특정 패키지에 대한 모든 관련 패키지를 제거하는 방법은 무엇입니까? / 우분투

셸: 특정 패키지에 대한 모든 관련 패키지를 제거하는 방법은 무엇입니까? / 우분투

최근에 호스팅 제공업체에 필요한 최소 패키지를 최소한으로 설치한다는 가정 하에 운영 체제를 다시 로드해 달라고 요청했지만 Ubuntu 12.04 64 bit minimalmysql이 설치되어 있어서 필요하지 않기 때문에 이와 관련된 모든 소프트웨어를 제거하고 싶었습니다.

내가 한 일은 다음과 같습니다.

$ sudo apt-get --purge remove mysql-client
$ sudo apt-get --purge remove mysql-server

하지만 난 아직도 mysql 바이너리와 파일을 찾고 있어요

$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/bin/X11/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

나는 다음과 같은 것을 생각하고 있었다

$ dpkg -s mysql*

그러나 이것은 도움이 되지 않습니다.

어떤 제안이 있으십니까?

답변1

왜 그렇게 필요하지 않다고 확신합니까? 아마도 다른 패키지가 이에 의존할 수도 있고 mysql 서버를 설정하는 데만 사용되는 것은 아닙니다. 예를 들어 일부 프로그램은 내부 데이터베이스를 관리하는 데 이를 사용합니다.

이제 귀하의 질문에 답하기 위한 첫 번째 단계는 실제로 어떤 패키지가 이러한 파일을 설치했는지 찾는 것입니다.

$ dpkg -S /usr/bin/mysql
mysql-client-core-5.5: /usr/bin/mysql

이는 Ubuntu 14.04 가상 머신의 출력입니다. 버전은 다를 수 있지만 동일한 원칙이 적용됩니다. 이제 패키지 이름을 알고 수동으로 삭제할 수 있습니다.

기본적으로 삭제한 두 패키지는 다음과 같습니다.위안바오다른 패키지를 가리킵니다. 따라서 이를 제거하면 함께 설치된 모든 패키지가 아닌 더미 패키지만 제거됩니다. mysql과 관련된 모든 것을 제거하려면 다음 명령을 실행하십시오.

sudo apt-get remove --purge mysql-*

답변2

apt-get remove특정 패키지에 포함된 파일을 사용하려면 다음을 수행할 수 있습니다.

apt-get remove $(dpkg  -S /usr/bin/mysql | cut -d ':' -f 1)

( /usr/bin/mysql, 삭제하려는 파일로 교체)

이 기능을 사용하면 apt-get패키지( dpkg 에서 검색)를 정말로 제거할지 묻는 메시지가 계속 표시됩니다. 때로는 패키지 이름을 본 후 이 작업을 수행하고 싶지 않다는 것을 깨닫는 경우도 있습니다.

관련 정보