Как полностью удалить библиотеки php?

Я использую Zsh. когда я пытаюсь обновить систему, всплывают некоторые пакеты, связанные с php, я хочу удалить их

$ 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] 

Что я пробовал:

 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

И я пытался сделать то же самое с php5, а с purge ничего не изменилось. autoremove тоже не сработало

Обновление

Так как у меня до сих пор не было ответа, я запустил

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

, я искал лучшее решение, так или иначе, я не понимаю, как php5-fpmphp5-gd и php5-snmpphp5-sqlite нужно обновить, если они не установлены. Как система могла обнаружить, что их нужно обновить, но не обнаружила их, когда я попытался удалить их?

2
задан 24 August 2017 в 22:57

3 ответа

zsh, в отличие от удара, имеет другую систему шарика/подстановочного знака/расширения, таким образом, это работает по-другому так php*не мог бы работать, как Вы ожидаете.
Так вместо sudo apt-get remove php*, Вы могли:

  • Заключите его в кавычки:

    sudo apt-get remove "php*"
    
  • Bash это:

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

N.B. Также будучи плохой идеей (как ранее указано), sudo apt-get remove php * возвращенный названия файлов и foldersin текущий рабочий каталог (вероятно, Ваш корневой каталог) из-за * - но это также означает, есть ли у Вас какие-либо файлы в текущем рабочем начале каталога hte терминала php, у Вас может быть проблема с помощью php* запрашивать материал, поскольку это могло бы включать те имена файлов в расширение.

Другой N.B. php5-fpmphp5-gd и php5-snmpphp5-sqlite сила части обновления, поскольку для некоторых обновляемых пакетов были нужны те пакеты как новые зависимости. php5-fpmphp5-gd и php5-snmpphp5-sqlite, Вы, вероятно, имели в виду php5-fpm, php5-gd, php5-snmp, php5-sqlite... (рассмотрение вывода Вы, если, это было, потому что новые строки произошли в тех точках), Вы, вероятно, должны, работал:

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
4
ответ дан 24 August 2017 в 22:57

способность является альтернативой способному - добираются, который облегчает соответствовать нескольким именам пакета с помощью подобных регулярному выражению шаблонов.

, Например, для списка всех установленных пакетов, имена пакета которых содержат термин "php":

aptitude search ~iphp

Редактирование: при использовании zsh оболочки, заключите аргумент в кавычки, таким образом, это не повреждается на тильде:

sudo aptitude search "~iphp"

Или удалять их:

sudo aptitude remove ~iphp

или

sudo aptitude purge ~iphp

Консультируются эта ссылка для больше на синтаксисе поиска способности.

Примечание: способность более мощна, чем склонный - добираются, и поэтому облегчает поливать из шланга Вашу систему. Всегда проверяйте, какие пакеты это планирует удалить, установить, или снижение, прежде чем Вы подтвердите, что это должно идти вперед. Например, иногда для удовлетворения запроса для удаления пакета, способность должна была бы удалить набор других пакетов, которые зависят от него.

, Если Вы задаетесь вопросом, что заставило php пакеты быть установленными во-первых, можно сделать некоторое расследование путем поиска обратных зависимостей для пакета: какие пакеты зависят от пакет. Рекомендуемые зависимости установлены по умолчанию, но возможно переопределить, это и устанавливать пакет без "рекомендует" зависимости, или удалите, некоторые "рекомендуют" зависимости, не удаляя исходный пакет.

Для списка пакетов, которые в настоящее время устанавливаются, которые также зависят от, скажем, php5-fpm:

aptitude why php5-fpm

Это должно работать большую часть времени, но по различным причинам иногда для системы может быть невозможно сказать то, что заставило пакет быть автоматически установленным - возможно, это было однажды зависимость чего-то, но после обновления, это больше не зависело от, и т.д.

, Если Вы добираетесь command not found при попытке использовать способность, необходимо установить его в системе, как это:

sudo apt-get install aptitude

Примечание: в прошлом было распространено предупредить, что люди для не использования склонный - добираются и способность попеременно для фактического изменения системы, потому что они не могли отслеживать, которых пакеты были автоматически установлены друг другом. Это больше не проблема (начиная с по крайней мере 3 года назад), и они оба используют тот же способ записать, какие пакеты были автоматически установлены.

Редактирование: фиксированная способность, почему команда

4
ответ дан 24 August 2017 в 22:57

Можно использовать чистку, автоудалить и удалить. Я использую, автоудаляют как пример для этого.

$ sudo apt-get autoremove 'php*'

можно также использовать способность

$ sudo aptitude remove 'php*'

проверьте установленные пакеты

$ sudo apt-cache policy 'php*'

если все они не ни один так, что все php приложение не установлено

если существует установленный пакет, можно удалить его

$ sudo apt-get autoremove 'packagename'

Примечание: произведите чистку и удалите, не то же. purge удаляет пакет и его конфигурацию и remove удаляет пакет только.

2
ответ дан 24 August 2017 в 22:57

Другие вопросы по тегам:

Похожие вопросы: