Мне нужно очистить свой сервер от пакетов PHP 5.3 (их много), чтобы можно было скомпилировать PHP 5.2. Какой самый простой / безопасный способ избавиться от них всех?
package-management
php
corev
источник
источник
php*
будет рассматриваться как регулярное выражение, и любой пакет сph
его именем будет удален.Я не рекомендую бегать
sudo apt-get purge php*
.Это было страшно! К счастью, я не набрал эту
-y
опцию, потому что выбрал около ста пакетов безphp
имени.Как это устроено:
Во- первых , список пакетов генерируется с помощью этой серии команд:
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 * из вашей системы. Что-то с подстановочным знаком должно работать
Возможно, вас заинтересует Как откатиться до PHP 5.2, чтобы узнать, куда идти дальше.
источник
php*
будет рассматриваться как регулярное выражение, и любой пакет сph
его именем будет удален.Во-первых, вы должны удалить Apache и все его зависимости с помощью:
а потом:
Если у вас есть какие-либо проблемы с phpMyAdmin, попробуйте ввести это в Терминале:
источник
В вашем случае вы можете искать все пакеты:
а затем очистить их:
источник
aptitude
не установлен в моей системе (16.04)sudo apt-get install aptitude
В дополнение к любым чисткам, упомянутым в других ответах, если вы хотите быть полностью уверены, что все удалено, вы, вероятно, захотите запустить
Который покажет вам файлы / папки с именем php в них. Затем вы захотите проверить каждый из этих путей к файлам, а именно:
И удалите их по мере необходимости. Будьте осторожны, чтобы не удалить ничего, что критично для другого процесса, который вам нужно продолжать, хотя, если вы не хотите переустанавливать это тоже.
Чтобы удалить каталог или файл, мы используем
rm
комментарий с-rf
флагом, поэтому, учитывая приведенный выше пример, мы набрали бы:источник
Выражение, которое сказали два человека, неверно.
Вместо использования
php.*
илиphp*
следует использовать^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».