답변:
이렇게하면 이름이 시작된 패키지와 관련된 패키지가 완전히 제거됩니다 php
.
sudo apt-get purge 'php*'
php*
정규식으로 취급 ph
하고 이름이 포함 된 패키지 는 제거됩니다.
나는 달리기를 권장 하지 않습니다sudo apt-get purge php*
.
무서웠 어! 다행히도 -y
옵션을 입력하지 않았습니다 php
. 이름 없이 약 수백 개의 패키지를 선택했기 때문 입니다.
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
작동 방식 :
먼저이 일련의 명령을 사용하여 패키지 목록이 생성됩니다 dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
.
힌트 : 터미널에서 명령의이 부분을 실행하여 어떤 패키지가 제거되는지 확인할 수 있습니다. 다음과 같은 것을 얻어야합니다.
libapache2-mod-php5 php5 php5-cli php5-common php5-json
마지막으로 전체 명령을 실행하면이 패키지 목록이 sudo apt-get purge로 전달되어 모든 패키지가 제거됩니다.
힌트 : 안전하다고 생각되면 따로 쉽게 실행할 수 있으며 패키지 목록을 복사하여 붙여 넣어 제거 할 수 있습니다.sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
aptitude
설치되어 있지 않거나 우분투에 설치할 수 없습니다, 방법에 대한 apt-get cache
검색?
시스템에서 모든 php * 패키지를 제거하고 싶을 것입니다. 와일드 카드가있는 것이 작동해야합니다.
sudo apt-get purge php.*
다음 단계 로 PHP 5.2로 롤백하는 방법에 관심이있을 수 있습니다 .
php*
정규식으로 취급 ph
하고 이름이 포함 된 패키지 는 제거됩니다.
먼저 다음을 사용하여 Apache와 모든 종속 항목을 제거해야합니다.
sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
그리고:
sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql
phpMyAdmin에 문제가 있다면 이것을 터미널에 입력하십시오 :
dpkg-reconfigure phpmyadmin
sudo apt-get -y purge libapache2-mod-php5 libapache2-mod-php5filter libexpect-php5 libgv-php5 libow-php5 php5 php5-adodb php5-auth-pam php5-cgi php5-cli php5-common php5-curl php5-dbg php5-enchant php5-exactimage php5-ffmpeg php5-fpm php5-geoip php5-gmp php5-idn php5-imagick php5-imap php5-interbase php5-intl php5-json php5-lasso php5-ldap php5-librdf php5-mapscript php5-memcache php5-memcached php5-mhash php5-midgard2 php5-ming php5-mssql php5-mysql php5-mysqlnd php5-odbc php5-pgsql php5-ps php5-pspell php5-radius php5-recode php5-remctl php5-rrd php5-sasl php5-snmp php5-sqlite php5-suhosin php5-svn php5-sybase php5-tidy php5-tokyo-tyrant php5-uuid php5-xcache php5-xdebug php5-xmlrpc php5-xsl
귀하의 경우 모든 패키지를 검색 할 수 있습니다.
sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n" " "
그런 다음 제거하십시오.
sudo apt-get purge <list of packages found>
aptitude
내 시스템 (16.04)에 설치되어 있지 않습니다
sudo apt-get install aptitude
다른 답변에 언급 된 퍼지 외에도 모든 것이 제거되었는지 확인하려면 실행하고 싶을 것입니다
cd /
sudo find -name "php"
php라는 이름의 파일 / 폴더가 표시됩니다. 그런 다음 각 파일 경로를 확인하려고합니다. 예 :
cd /usr/local/include/php
ls
적절하게 삭제하십시오. 다시 설치하지 않으려면 계속 실행해야하는 다른 프로세스에 중요한 항목은 삭제하지 않도록주의하십시오.
디렉토리 또는 파일을 제거하려면 플래그 rm
와 함께 주석을 사용 -rf
하므로 위의 예에서 다음을 입력하십시오.
sudo rm -rf /usr/local/include/php
두 사람이 말한 정규식이 잘못되었습니다. 또는 One
대신에php.*
php*
^php*
정답입니다.
따라서 다음을 사용합니다.sudo apt-get purge "^php*"
이 방법을 사용하는 것은 권장하지 않지만 고도로 자동화되어 sudo apt list --installed | grep php
패키지 목록을 가져 오고이 명령의 위 명령에서 얻은 패키지 이름을 사용하도록 권장합니다.
sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
^php*
와php*
php.*
경우도 다룹니다 php
. 이 모두를 사용할 필요는 없습니다 ^php*
와 php.*
또한,해야한다 ^php.*
; apt-get은 그것이 php*
정규 표현식이 아니라 glob 라는 것을 알고있는 것처럼 보이지만 ^
문자 를 추가하면 glob이 될 수 없으므로 "ph"로 시작하는 모든 패키지를 얻을 수 있습니다.