Как удалить python debian
Я установил Python 2.7.9 на Ubuntu 14.04 путем компиляции его источника , на .configre , make и make altinstall . make altinstall потому что я не хочу перезаписывать Python 2.7.6 по умолчанию. Самостоятельно установленный 2.7.9 находится во /usr/local/bin/python2.7 многих других файлах в других каталогах /usr/local . Из README в исходном установочном пакете:
В системах Unix и Mac, если вы собираетесь установить несколько версий Python с использованием одного и того же префикса установки (аргумент --prefix для скрипта configure), вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписан при установке другой версии.
Все файлы и каталоги, установленные с помощью «make altinstall», содержат главную и вспомогательную версии и, следовательно, могут работать бок о бок. «make install» также создает $ / bin / python, который ссылается на $ /bin/pythonX.Y.
Если вы намереваетесь установить несколько версий, используя один и тот же префикс, вы должны решить, какая версия (если есть) является вашей "основной" версией. Установите эту версию, используя «make install». Установите все остальные версии, используя «make altinstall».
Например, если вы хотите установить Python 2.5, 2.6 и 3.0 с 2.6 как основной версией, вы должны выполнить «make install» в вашем каталоге сборки 2.6 и «make altinstall» в других.
Теперь я хочу удалить самостоятельно установленную 2.7.9.
К счастью, у меня все еще есть исходный код, но, к сожалению, в Makefile нет раздела удаления
Затем я попробовал другой способ: сначала создайте deb из исходного кода и компиляции, установите deb (возможно, перезаписывая установленные файлы make altinstall ), а затем удалите deb.
Но когда я создаю файл deb с помощью checkinstall , я не уверен, что и как мне следует поступить иначе, чем для make altinstall for make install . Что я пробовал это:
Интересно, как я могу создать deb, чтобы установка deb дублировала процесс установки make altinstall ?
Мы довольно часто устанавливаем новые пакеты в свою систему, например, нам нужно решить определенную задачу и мы ставим все программы, которые могут помочь и проверяем их по очереди, но будет лучше если в системе не будет ненужных программ.
Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов Debian различными способами, рассмотрим как удалить пакет имя которого вы знаете, а также как удалить все ненужные пакеты из системы.
Удаление пакетов Debian
Самый простой способ удалить программу Debian, которая вам больше не нужна - это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:
$ sudo apt-get remove имя_программы
Или можно удалить все пакеты, которые касаются этой программы, например:
$ sudo apt-get remove имя_программы*
Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.
sudo apt-get remove evolution
Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию --purge или команду purge:
sudo apt-get --purge remove evolution
sudo apt-get --purge --auto-remove remove evolution
sudo apt-get purge --auto-remove evolution
Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:
find / -name evolution
Дальше смотрим имя пакета, которому принадлежит выбранный файл:
sudo dpkg -S /usr/bin/evolution
А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или --remove. Но тут вам придется указать все зависимости:
sudo dpkg --remove evolution evolution-plugins
У dpkg есть свой аналог команды purge, это опция -p или --purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:
sudo dpkg --purge evolution evolution-plugins
Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию --force-remove-reinstreq:
sudo dpkg --remove --force-remove-reinstreq имя_пакета
Также можно использовать опцию --force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:
sudo dpkg -r --force-depends имя_пакета
Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:
sudo apt-get install deborphan
Затем для поиска всех пакетов, которые можно удалить наберите:
Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:
deborphan | xargs sudo apt-get -y remove --purge
Имя каждого пакета будет подставлено в конец строки.
Удаление пакетов в GUI
Пакеты можно удалять не только через терминал, но и через графический интерфейс. В Debian используется окружение рабочего стола Gnome, поэтому там доступен центр приложений Gnome Software. Вы можете запустить его из главного меню системы:
Затем перейдите на вкладку "Установлено":
Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку "Удалить":
После этого вам нужно будет ввести пароль пользователя, а затем дождаться завершения удаления. Как видите, все очень просто.
Выводы
В этой статье мы рассмотрели как выполняется удаление программ debian несколькими способами. Как видите, это достаточно просто. Если вы имеете немного опыта использования терминала, то сможете получить все его преимущества, в противном же случае можете использовать графический интерфейс. Если у вас остались вопросы, спрашивайте в комментариях!
Ubuntu предупреждает меня, что есть тонны системных компонентов, которые также будут удалены. Это выглядит действительно страшно.
Итак, есть ли способ удалить Python 2.7 без удаления системных зависимых компонентов, или я могу указать этим зависимостям использовать Python 3.3?
Я бы не рекомендовал это. Версия Python не на всех так совместимых, так что старые скрипты могут иметь проблемы опыт , если вы не будете иметь правильную версию. вы правы, python3.3 объявил, что он несовместим с python 2.7. Таким образом, я лучше просто держать его. Спасибо за совет!Ты не можешь
Долгосрочные планы (например, 14.04)
Переместите Python 2 во вселенную, перенесите все приложения Python в main на Python 3. Мы никогда полностью не избавимся от Python 2.7, но так как никогда не будет Python 2.8, а Python 2.7 будет ко времени почти 4 года выпуск 14.04 LTS, пришло время перенести Python 2 во вселенную.
Это означает, что у многих базовых пакетов есть жесткие зависимости от 2.7, и все же потребуется много времени для переноса вещей. Обратите внимание, что в Python 3 внесены многочисленные несовместимые изменения назад - это не обычное обновление пакета.
Если вы действительно хотите избавиться от Python 2.7, вам придется дождаться релиза 14.04, но гарантии нет.
Вы не можете, и вы действительно не хотите.
Python резко изменился между 2.7 и 3.0 и сломал обратную совместимость. Python скрипты, написанные для 2.7, которые используются для поддержки большого количества инфраструктуры системы, не обязательно будут работать должным образом с Python 3.x. Эти скрипты должны быть обновлены для работы с новой версией, и пока это не произойдет, вам нужно будет поддерживать Python 2.7.
Вот почему вы замечаете такое большое количество зависимостей на старом Python - система зависит от него. Кроме того, нет ничего плохого в том, что обе версии Python установлены в одной системе. И в будущем вы можете столкнуться с приложениями, которые все еще используют Python 2.7, поэтому держать его под рукой - хорошая идея.
Приехал сюда в 2019 году, потому что я развиваю в Python3 по умолчанию, и пришел к такому же выводу, как ОП после видящего Что бы быть удален после запуска apt purge python
Так что я действительно хотел было назвать Python3 только с python , я побежал
Таким образом, если Python2.7 все еще необходим, он может быть вызван явно с помощью python2.7 простого вызова по python умолчанию для Python3 из-за символической ссылки.
У меня нет скриптов уровня bash, с которыми вызывается python2.7, python так что это изменение не будет разрушительным - в то время как другим системам потребуется соответствующим образом скорректировать свои скрипты, если они это сделают.
Основным барьером на пути к распределению, переключающему команду python с python2 на python3, является не поломка внутри дистрибутива, а поломка приватных сторонних скриптов, разработанных sysadmins и другими пользователями.
Ответ на этот вопрос не является прямым ответом на OP, но как кто - то , кто имел подобный вопрос это функциональность я искал, когда я думал об удалении 2.7. Вместо того, чтобы удалять, просто расставьте приоритеты, какие из них использовать python .
Пакеты программного обеспечения snap - это очень удобная вещь, поскольку они позволяют один раз подготовить установочный пакет, который потом можно развернуть в любом дистрибутиве поддерживающим эту технологию, а таких дистрибутивов довольно много. Для управления пакетами snap используется специальный пакетный менеджер.
Устанавливать пакеты надо с помощью него, соответственно и удалять тоже. В этой небольшой статье мы рассмотрим как удалить snap пакет в Linux.
Удаление snap пакета
Для удаления пакета вам надо знать его имя. Если вы устанавливали пакет давно и уже не помните как точно он назывался, есть несколько способов его узнать. Если пакет был найден на snapcraft.io, можно найти его там ещё раз и нажать кнопку Install, чтобы узнать команду установки и имя пакета:
Кроме того можно просто посмотреть все установленные пакеты, обычно их не очень много, затем уже из них выбрать то, что надо удалить:
В данном случае пакет называется onenote-desktop. Для того чтобы его удалить достаточно выполнить такую команду:
sudo snap remove onenote-desktop
Это полностью удалит пакет и приложение из системы. Но есть ещё одна особенность, которая может быть вам интересной. По умолчанию пакетный менеджер snap сохраняет две предыдущие версии пакетов при обновлении. Поскольку один пакет занимает 500-700 мегабайт, это достаточно много и вы можете захотеть удалить эти пакеты. Можно попросить пакетный менеджер сохранять только одну резервную копию с помощью такой команды:
sudo snap set system refresh.retain=2
В параметры передается цифра 2. Это значит одна актуальная версия, а одна резервная. Меньше нельзя. Но если очень надо, то можно вручную удалить старые версии пакетов. Только хочу предупредить, что вы это делаете на свой страх и риск. Это может сломать систему и таким образом можно удалять только сами приложения, системные пакеты такие как core, snapd и другие трогать ни в коем случае нельзя. Сначала надо посмотреть список всех пакетов вместе с версиями, это можно сделать такой командой:
Обращать внимание надо на ревизии. В данном примере у меня есть две версии телеграмма, одна активная - 2398 и одна резервная (disabled) - 2391. Версию 2391 можно попробовать удалить. Для этого выполните такую команду:
snap remove telegram-desktop --revision=2391
После этого указанная ревизия будет удалена, место на диске освободится, но у вас останется рабочая версия Telegram. Хочу ещё раз предупредить, что системные пакеты трогать не стоит, это может вызвать проблемы.
Выводы
В этой статье мы рассмотрели как удалить snap пакет в Ubuntu и как удалить старые версии snap пакетов чтобы освободить память. Как видите, это очень просто.
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Читайте также: