PHP tamamen nasıl kaldırılır?


57

PHP 5.2'yi derleyebilmek için sunucumu PHP 5.3 paketlerinden (bol miktarda var) temizlemem gerekiyor. Hepsinden kurtulmanın en kolay / en güvenli yöntemi nedir?

Yanıtlar:


86

Bu, adıyla başlayan bir ad phpve bununla ilgili herhangi bir paketi tamamen kaldırmalıdır .

sudo apt-get purge 'php*'

Tamam ikinize de teşekkürler. Ben sadece cevabınızı seçtim, çünkü Marco Karma eksikliği gibi görünmüyor :)
corev

Pekala, PHP 5.2'yi şimdi kurmanın en iyi yolu hakkında bir fikriniz var mı?
corev

6
Bu kesin komut TÜM paketleri sistemimden sildi. Hiç kimseye kullanmasını tavsiye etmiyorum.
Caballero

13
php*Bir regex olarak muamele görecek ve phonun adına sahip olan paketler kaldırılacaktır.
muru

4
Bunun gerçekten güvenli bir fikir olmadığını düşünen tek kişi ben miyim?
Daan

67

Koşmayı tavsiye etmiyorumsudo apt-get purge php* .

Bu korkunçtu! Neyse ki, -yseçeneği yazmadım, çünkü adsız yüzlerce paket seçti php.

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

Nasıl çalışır:

Birincisi , paketlerin bir listesi komutları bu serisini kullanarak oluşturulur: dpkg -l | grep php| awk '{print $2}' |tr "\n" " ".

İpucu: Hangi paketlerin kaldırılacağını görmek için komutun bu bölümünü terminalinizde çalıştırabilirsiniz. Gibi bir şey almalısınız: libapache2-mod-php5 php5 php5-cli php5-common php5-json

Son olarak , full komutu çalıştırdığınızda, bu paketler listesi tüm paketleri kaldırarak sudo apt-get purge öğesine iletilir.

İpucu: Sizin için daha güvenli hissediyorsa, bunları ayrı ayrı kolayca çalıştırabilir ve kaldırmak için paketlerin listesini kopyalayıp + yapıştırabilirsiniz:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json


3
Bu kabul edilen cevap olmalıdır
Dark Star1

1
Tek bir sözdizimini önerdiğiniz gibi görünüyor, çünkü çok geniş, ancak emrinizin ne yaptığını açıklar mısınız?
Vince,

2
Ya aptitudeUbuntu'ya yüklenmemişse ya da yüklenemiyorsa, apt-get cachearamaya ne dersiniz ?
Vicky Dev

17

Muhtemelen tüm php * paketlerini sisteminizden temizlemek isteyeceksiniz. Joker karakterli bir şey çalışması gerekir

sudo apt-get purge php.*

Daha sonra nereye gideceğinizi öğrenmek için PHP 5.2'ye nasıl geri dönebilirsiniz?


5
php*Bir regex olarak muamele görecek ve phonun adına sahip olan paketler kaldırılacaktır.
muru

3

Öncelikle, Apache'yi ve tüm bağımlılıklarını aşağıdakilerle kaldırmalısınız:

sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

ve sonra:

sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql 

PhpMyAdmin ile ilgili herhangi bir sorunuz varsa, bunu Terminal'e girmeyi deneyin:

dpkg-reconfigure phpmyadmin

*** Dikkatlice okumadan kopyala-yapıştır olanlara dikkat edin, bu OP'nin istediği gibi olmayan
apache'yi

2
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

Senin durumunda tüm paketleri arayabilirsin:

sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n"  " "

ve sonra onları temizleyin:

sudo apt-get purge <list of packages found>

aptitudesistemime yüklenmedi (16.04)
kleinfreund

Yetenek yüklemek istiyorsanız, bunu yazarak yapabilirsinizsudo apt-get install aptitude
Just In Time Berlake

2

Diğer cevaplarda belirtilen temizleme işlemlerine ek olarak, her şeyin kaldırıldığından tamamen emin olmak istiyorsanız, kaçmak isteyebilirsiniz.

cd /
sudo find -name "php"

Bu size içinde php ismiyle dosya / klasör gösterecektir. Daha sonra bu dosya yollarının her birini kontrol etmek isteyeceksiniz, yani:

cd /usr/local/include/php
ls

Ve bunları uygun şekilde silin. Yine de tekrar yüklemek zorunda kalmak istemediğiniz sürece, çalışmaya devam etmeniz gereken başka bir işlem için kritik olan herhangi bir şeyi silmemeye dikkat edin.

Bir dizini veya dosyayı kaldırmak için, rmyorumu -rfbayrakla birlikte kullanırız , bu nedenle yukarıdaki örnekte şunu yazdık:

sudo rm -rf /usr/local/include/php

1

İki kişinin söylediği regex yanlış.
Kullanmak yerine php.*ya da php*kullanmalı^php*

Bu doğru cevap.
Yani kullanırsın:sudo apt-get purge "^php*"

Her ne kadar bu yöntemi kullanmanızı tavsiye etmemekle birlikte, yüksek oranda otomatikleştirilmiş olmasına ve sudo apt list --installed | grep phpbu komutta yukarıdaki komutlardan aldığınız paket adlarını kullanmak için paket listesini almak için kullanmanızı rica ediyorum :

sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO


Bu, örneğin libapache2-mod-php'yi kaldırmaz.
Patrick B.

@PatrickB. Yani ikisini de kullanmak zorunda ^php*vephp*
Amirhossein

Ancak paket adının başında görünen php.*durumları da kapsayacaktır php. Her ikisini de kullanmak için hiçbir sebep yok ^php*ve php.*ayrıca olmalı ^php.*; apt-get, php*bunun bir glob olduğunu , regex'in olmadığını biliyor gibi görünüyor , ancak ^karakteri eklediğinizde muhtemelen bir glob olamaz, bu nedenle "ph" ile başlayan her paketi alırsınız.
Patrick B.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.