Мне нужно очистить свой сервер от пакетов PHP 5.3 (их много), чтобы иметь возможность скомпилировать PHP 5.2. Какой самый простой/безопасный способ избавиться от них всех?
решение1
Этот метод не рекомендуется использовать без тщательного изучения. Читайте комментарии ниже.
Это должно полностью удалить любой пакет с именем, начинающимся с , php
и все, что с ним связано.
sudo apt-get purge 'php*'
НЕ НАЖИМАЙТЕ y
, ПОКА НЕ УБЕДИТЕСЬчто в списке удаляемых пакетов нет других пакетов (кроме связанных с пакетами php), например:
php-common* python-openssl* php-curl* ... and tons of packages
Если это так, введите n
, скопируйте список (и очистите его от ненужных пакетов) и вручную удалите их:
sudo apt-get purge php-common* php-curl* ... and tons of packages
решение2
янерекомендую запустить 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
решение3
Вы, вероятно, захотите удалить все пакеты php* из вашей системы. Что-то с подстановочным знаком должно сработать
sudo apt-get purge php.*
Вас может заинтересоватьКак откатиться до PHP 5.2куда двигаться дальше.
решение4
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>