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

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

최근에 호스팅 제공업체에 최소한의 필수 패키지가 설치되어 있다고 가정하여 OS를 다시 로드하도록 요청했지만 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 서버를 설정하는 데에만 사용되지는 않으며, 예를 들어 일부 프로그램은 이를 사용하여 내부 DB를 관리합니다.

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

$ 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가 발견됨)를 정말로 제거할지 묻는 메시지가 계속 표시되며 때로는 패키지 이름을 본 후에 제거를 원하지 않는다는 것을 깨닫는 경우도 있습니다.

관련 정보