Como remover completamente bibliotecas php?

1

Eu uso o zsh. quando tento atualizar o sistema, alguns pacotes relacionados ao php aparecem, eu quero removê-los

$ sudo apt-get upgrade              
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  fonts-opensymbol kdelibs-bin kdelibs5-data kdelibs5-plugins kdoctools
  libkcmutils4 libkde3support4 libkdeclarative5 libkdecore5 libkdesu5
  libkdeui5 libkdewebkit5 libkdnssd4 libkemoticons4 libkfile4 libkhtml5
  libkidletime4 libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4
  libknewstuff3-4 libknotifyconfig4 libkntlm4 libkparts4 libkprintutils4
  libkpty4 libkrosscore4 libktexteditor4 libnepomuk4 libnepomukquery4a
  libnepomukutils4 libplasma3 libsolid4 libssl1.0.0 libssl1.0.0:i386
  libthreadweaver4 openssl php-pear php5-cli php5-common php5-curl php5-fpm
  php5-gd php5-intl php5-mysql php5-pspell php5-readline php5-recode php5-snmp
  php5-sqlite php5-tidy php5-xmlrpc php5-xsl
54 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 18.4 MB/20.0 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 

O que eu tentei:

 sudo apt-get remove php
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package php

▶ sudo apt-get remove php*
zsh: no matches found: php*

sudo apt-get remove php *
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'dropbox' is not installed, so not removed
E: Unable to locate package php
E: Unable to locate package avlfolder
E: Unable to locate package boot-scripts
E: Unable to locate package Calibre Library
E: Unable to locate package Desktop
E: Unable to locate package Documents
E: Unable to locate package Downloads
E: Unable to locate package Dungeons and Dragons Online
E: Unable to locate package Games
E: Unable to locate package java ide
E: Unable to locate package jdownloader
E: Unable to locate package lello
E: Unable to locate package liberam
E: Unable to locate package Music
E: Unable to locate package netbeans-8.0
E: Couldn't find any package by regex 'netbeans-8.0'
E: Unable to locate package netbeans-8.0.desktop
E: Couldn't find any package by regex 'netbeans-8.0.desktop'
E: Unable to locate package Pictures
E: Unable to locate package PlayOnLinux's virtual drives
E: Unable to locate package projects
E: Unable to locate package Public
E: Unable to locate package qtprojects
E: Unable to locate package Savage2
E: Unable to locate package sketchbook
E: Unable to locate package Templates
E: Unable to locate package text.txt
E: Couldn't find any package by regex 'text.txt'
E: Unable to locate package themes
E: Unable to locate package tor-browser-linux64-3.6.1_en-US.tar.xz
E: Couldn't find any package by regex 'tor-browser-linux64-3.6.1_en-US.tar.xz'
E: Unable to locate package Videos
E: Unable to locate package VirtualBox VMs
E: Unable to locate package workspace
E: Unable to locate package xal

E eu tentei o mesmo com php5 e com purge , nada mudou. autoremove não funcionou

Atualizar

Desde que não tive resposta até agora, corri

sudo apt-get remove --purge php-pear php5-cli php5-common php5-curl php5-fpmphp5-gd php5-intl php5-mysql php5-pspell php5-readline php5-recode php5-snmpphp5-sqlite php5-tidy php5-xmlrpc php5-xsl
[sudo] password for elie: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package php5-fpmphp5-gd
E: Unable to locate package php5-snmpphp5-sqlite

Eu estava procurando uma solução melhor, de qualquer forma, não entendo como php5-fpmphp5-gd e php5-snmpphp5-sqlite precisam ser atualizados se não estiverem instalados. Como o sistema poderia detectar que precisavam ser atualizados, mas não os detectou quando tentei removê-los?

    
por Lynob 24.06.2014 / 01:37

5 respostas

3

O zsh, ao contrário do bash, tem um sistema glob / curinga / expansão diferente, por isso funciona de forma diferente, portanto php* pode não funcionar como esperado. Por isso, em vez de sudo apt-get remove php* , você poderia:

  • Citar:

    sudo apt-get remove "php*"
    
  • Bash it:

    bash -c "sudo apt-get remove php*"
    

NB Ainda sendo uma má idéia (como apontado anteriormente ), sudo apt-get remove php * retornou os nomes dos arquivos e pastas no diretório de trabalho atual (provável seu diretório home) por causa do * - mas isso também significa que se você tiver algum arquivo no diretório de trabalho atual do terminal hte começando com php , você pode ter um problema usando php* para solicitar pode incluir esses nomes de arquivos na expansão.

Outro NB php5-fpmphp5-gd e php5-snmpphp5-sqlite pode fazer parte da atualização, pois alguns dos pacotes que estão sendo atualizados precisavam desses pacotes como novas dependências. Por php5-fpmphp5-gd e php5-snmpphp5-sqlite , você provavelmente quis dizer php5-fpm , php5-gd , php5-snmp , php5-sqlite ... (olhando para a saída que você forneceu, foi porque as linhas novas ocorreram nesses pontos) você provavelmente deveria de correu:

sudo apt-get remove --purge php-pear php5-cli php5-common php5-curl php5-fpm php5-gd php5-intl php5-mysql php5-pspell php5-readline php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
    
por Wilf 07.07.2014 / 05:28
3
O

aptitude é uma alternativa ao apt-get, o que facilita a correspondência de vários nomes de pacotes usando padrões de expressões regulares.

Por exemplo, para listar todos os pacotes instalados cujos nomes de pacotes contenham o termo "php":

aptitude search ~iphp
  

Editar: ao usar o shell zsh, cite o argumento para que ele não quebre o til:

sudo aptitude search "~iphp"

Ou para desinstalá-los:

sudo aptitude remove ~iphp

ou

sudo aptitude purge ~iphp

Consulte esta referência para mais informações sobre a sintaxe de pesquisa do aptitude.

Nota: o aptitude é mais poderoso que o apt-get e, portanto, torna mais fácil a mangueira do seu sistema. Sempre verifique quais pacotes está planejando remover, instalar ou fazer o downgrade antes de confirmar que deve prosseguir. Por exemplo, às vezes, para satisfazer o seu pedido de desinstalação de um pacote, o aptitude precisaria desinstalar um monte de outros pacotes que dependem dele.

Se você está se perguntando o que causou pacotes php a serem instalados, você pode fazer algum trabalho de detetive procurando dependências reversas para um pacote: quais pacotes dependem de um pacote. As dependências recomendadas são instaladas por padrão, mas é possível sobrescrever isso e instalar um pacote sem suas dependências "recommends", ou remover algumas dependências "recommends" sem remover o pacote original.

Para listar os pacotes atualmente instalados que também dependem, digamos, do php5-fpm:

aptitude why php5-fpm

Isso deve funcionar na maioria das vezes, mas por várias razões, às vezes, pode ser impossível para o sistema dizer o que causou a instalação automática de um pacote - talvez já tenha sido uma dependência de algo, mas depois de um upgrade ele não é mais dependente em, etc.

Se você obtiver um command not found ao tentar usar o aptitude, você precisa instalá-lo em seu sistema, assim:

sudo apt-get install aptitude

Nota: no passado, era comum avisar as pessoas para não usarem o apt-get e o aptitude de forma intercambiável para realmente modificar o sistema, porque eles não conseguiam controlar quais pacotes eram automaticamente instalados uns pelos outros. Isso não é mais um problema (há pelo menos três anos) e ambos usam a mesma maneira de registrar quais pacotes foram instalados automaticamente.

Edit: aptitude fixo porque comando

    
por thomasrutter 07.07.2014 / 05:40
1

você pode usar purge, autoremove & amp; remover 'eu estou usando autoremove como um exemplo para isso'

$ sudo apt-get autoremove php*

você também pode usar o aptitude

$ sudo aptitude remove php*

verifique os pacotes instalados

$ sudo apt-cahe policy php*

se todos eles não forem nenhum, então todo o aplicativo php não está instalado

se houver um pacote instalado, você poderá excluí-lo por

$ sudo apt-get autoremove 'packagename'
    
por hwez 06.07.2014 / 00:24
0

Use este comando para o seu problema:

sudo apt-get -y purge php*
    
por sparkmood 04.07.2014 / 01:00
-1

Se você tiver o Apache (ou algum outro servidor web), você pode colocar este código no diretório raiz do Apache (geralmente / var / www /) em um arquivo chamado [somename] .php:

<?php

        phpinfo();

?>

Em seguida, você pode acessá-lo de um navegador da Web acessando http://localhost/[somename].php . Se esse arquivo for executado, ele informará se e qual versão do php está instalada no sistema. Você também pode executar este comando:

apt-cache policy php5

para ver se você tem o php5 instalado.

Se esses comandos mostrarem que o php está instalado, você poderá removê-lo usando:

apt-get purge php*

Se esses comandos não mostrarem o php instalado, provavelmente ele está sendo atualizado como uma dependência de outro pacote. Às vezes, eles não aparecem como recém-instalados (não sei por quê).

    
por ChrisR. 04.07.2014 / 02:05