Відповіді:
Це має повністю видалити будь-який пакунок з іменем, що починається з 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
він не встановлений або не може бути встановлений на Ubuntu, як щодо apt-get cache
пошуку?
Ви, ймовірно, захочете очистити всі пакети php * зі своєї системи. Щось із wild-card повинно працювати
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
Зворотне вираження двох людей сказало невірно.
Замість використання php.*
або php*
One слід використовувати^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*
це глобус, а не регулярний вираз, але коли ви додасте ^
символ, він не може бути глобусом, тому ви отримаєте кожен пакунок, який починається з "ph".