Antworten:
Dadurch sollten alle Pakete, deren Name mit "" beginnt, php
und alle damit zusammenhängenden Elemente vollständig entfernt werden .
sudo apt-get purge 'php*'
php*
wird als regulärer Ausdruck behandelt und jedes Paket mit ph
dem Namen wird entfernt.
Ich empfehle nicht zu laufen sudo apt-get purge php*
.
Das war erschreckend! Glücklicherweise habe ich die -y
Option nicht eingegeben, da ungefähr hundert Pakete ohne php
Namen ausgewählt wurden.
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Wie es funktioniert:
Zunächst wird eine Liste der Pakete erzeugt wird diese Reihe von Befehlen: dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
.
Tipp: Sie können diesen Teil des Befehls in Ihrem Terminal ausführen, um zu sehen, welche Pakete entfernt werden. Sie sollten etwas bekommen wie:
libapache2-mod-php5 php5 php5-cli php5-common php5-json
Schließlich , wenn Sie den vollständigen Befehl, diese Liste der Pakete ausgeführt wird , um sudo apt-get purge bestanden, alle Pakete zu entfernen.
Tipp: Wenn es für Sie sicherer ist, können Sie es genauso einfach separat ausführen und die Liste der zu entfernenden Pakete wie folgt kopieren und einfügen:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
aptitude
es auf Ubuntu nicht installiert ist oder nicht installiert werden kann apt-get cache
?
Sie werden wahrscheinlich alle PHP * -Pakete von Ihrem System entfernen wollen. Etwas mit einem Platzhalter sollte funktionieren
sudo apt-get purge php.*
Vielleicht interessiert Sie auch, wie Sie ein Rollback auf PHP 5.2 durchführen, um zu erfahren, wo Sie als Nächstes vorgehen müssen.
php*
wird als regulärer Ausdruck behandelt und jedes Paket mit ph
dem Namen wird entfernt.
Zuerst müssen Sie Apache und all seine Abhängigkeiten entfernen mit:
sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
und dann:
sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql
Wenn Sie Probleme mit phpMyAdmin haben, versuchen Sie Folgendes in das Terminal einzugeben:
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
In Ihrem Fall könnten Sie nach allen Paketen suchen:
sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n" " "
und dann lösche sie:
sudo apt-get purge <list of packages found>
aptitude
ist nicht auf meinem System installiert (16.04)
sudo apt-get install aptitude
Zusätzlich zu den in den anderen Antworten erwähnten Löschvorgängen möchten Sie wahrscheinlich ausgeführt werden, wenn Sie absolut sicher sein möchten, dass alles entfernt wurde
cd /
sudo find -name "php"
Welches zeigt Ihnen Dateien / Ordner mit dem Namen PHP in ihnen. Sie werden dann jeden dieser Dateipfade überprüfen wollen, dh:
cd /usr/local/include/php
ls
Und löschen Sie sie nach Bedarf. Achten Sie jedoch darauf, dass Sie nichts löschen, was für einen anderen Prozess wichtig ist, den Sie weiterhin ausführen müssen, es sei denn, Sie möchten dies ebenfalls neu installieren.
Um ein Verzeichnis oder eine Datei zu entfernen, verwenden wir den rm
Kommentar mit dem -rf
Flag. In dem obigen Beispiel würden wir also Folgendes eingeben:
sudo rm -rf /usr/local/include/php
Die Regex, die die beiden Leute sagten, ist falsch.
Anstelle von php.*
oder php*
sollte man verwenden^php*
Das ist die richtige Antwort.
Sie würden also Folgendes verwenden:sudo apt-get purge "^php*"
Obwohl ich nicht empfehle, diese Methode zu verwenden, ist sie in hohem Maße automatisiert, und ich empfehle Ihnen, diese Methode zu verwenden sudo apt list --installed | grep php
, um die Liste der Pakete abzurufen und die folgenden Paketnamen zu verwenden, die Sie mit dem obigen Befehl in diesem Befehl erhalten haben:
sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
^php*
undphp*
php.*
werden jedoch auch Fälle behandelt, in denen php
am Anfang des Paketnamens angezeigt wird. Es gibt keinen Grund, beides zu verwenden, ^php*
und php.*
es sollte auch so sein ^php.*
. apt-get scheint zu wissen, dass php*
es sich um einen Glob handelt, nicht um einen regulären Ausdruck. Wenn Sie jedoch den ^
Buchstaben hinzufügen , kann es sich möglicherweise nicht um einen Glob handeln, sodass Sie jedes Paket erhalten, das mit "ph" beginnt.