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

введите описание здесьвведите описание здесьЦиклы на фабриках Evolution замедляют работу системы до внезапных и длительных остановок. Когда я получаю доступ к системному монитору, я могу остановить отдельные процессы, которые вызывают проблему. Эти процессы заключаются в следующем;

evolution-source-registry

в частности, фабрика эволюционных адресных книг

Как только фабрика эволюционной адресной книги остановлена, процессы в конечном итоге заменяются процессами с аналогичными именами, но цикл останавливается. Когда я подключаюсь к Thunderbird, он существенно замедляется. Первоначально я использовал Evolution Mail при запуске Ubuntu 12.10, но удалил ее и использовал Thunderbird.

Мои характеристики ноутбука:
Ubuntu 13.04 32-bit
2,0 ГГц (двухъядерный, оба ядра с тактовой частотой 2,0 ГГц)
1 ГБ ОЗУ После выполнения рекомендованных процедур для полного удаления я получил ошибку чтения кеша после полного удаления эволюции из диспетчера пакетов. Повторная загрузка пакетов в диспетчере пакетов включила распознавание электронной почты и вызвала ошибку, показанную на скриншоте.

9 ответов

Решение

Чтобы удалить Evolution, просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo apt-get --purge remove evolution evolution-exchange evolution-plugins evolution-common evolution-webcal

Приведенная выше команда не удаляет сервер данных эволюции, сервер данных эволюции общий

Я бы порекомендовал вам использовать Synaptic Package Manager для полного удаления Evolution. Просто найдите его и отметьте для полного удаления.

Также просто чтобы быть уверенным, после удаления сделать:

sudo rm /usr/share/indicators/messages/applications/evolution

Теперь имейте в виду, что удаление эволюции, также удалит панель гномов. для установки просто сделайте:

sudo apt-get install gnome-panel

Удаление - это грязное дело, но отключение относительно просто.

Конечно, это должно быть сделано с использованием dpkg divert и любого другого, чтобы не перепутать apt/dpkg при обновлении системы.

cd /usr/share/dbus-1/services
# This part create a copy of your original files
sudo cp org.gnome.evolution.dataserver.AddressBook.service org.gnome.evolution.dataserver.AddressBook.service.backup
sudo cp org.gnome.evolution.dataserver.Calendar.service org.gnome.evolution.dataserver.Calendar.service.backup
sudo cp org.gnome.evolution.dataserver.Sources.service org.gnome.evolution.dataserver.Sources.service.backup
sudo cp org.gnome.evolution.dataserver.UserPrompter.service org.gnome.evolution.dataserver.UserPrompter.service.backup

# This part makes the trick
sudo ln -snf /dev/null  org.gnome.evolution.dataserver.AddressBook.service
sudo ln -snf /dev/null  org.gnome.evolution.dataserver.Calendar.service
sudo ln -snf /dev/null  org.gnome.evolution.dataserver.Sources.service
sudo ln -snf /dev/null  org.gnome.evolution.dataserver.UserPrompter.service

С Ubuntu 18.04 (и, вероятно, 16.04) вы не можете избавиться от Evolution, не избавившись от GNOME, поэтому лучше всего отключить его.

Основываясь на ответе PAStheLoD и его комментариях, я написал скрипт для отключения сервисов эволюции и информирования dpkg/apt об изменениях, чтобы они не уничтожались при обновлениях. Надеюсь, это поможет тем из вас, кто, как и я, запишет настройки вашей системы на тот случай, если вам потребуется переустановить.

Я проверял это на Ubuntu 18.04.1 LTS.

#!/bin/bash

##
## Disables the Evolution mail program's services by moving the services files
## to another directory.
##
## This must be run as root.
##

SERVICES_HOME="/usr/share/dbus-1/services"
DISABLED_DIR="$SERVICES_HOME/disabled"


exitOnError()
{
    local errorCode=$1
    local errorMessage="$2"

    echo "$errorMessage"
    exit $errorCode
}


main()
{
    # Make sure that we are running as root and that the services directory didn't change!
    if ! [ $(id -u) = 0 ]; then
        exitOnError -1 "Script must be run as root or sudo.  Exiting..."
    fi

    if [ ! -d "$SERVICES_HOME" ]; then
        exitOnError -2 "Services directory $SERVICES_HOME does not exist.  Exiting..."
    fi

    mkdir -p "$DISABLED_DIR"

    find "$SERVICES_HOME" -maxdepth 1 -type f -name "org.gnome.evolution.dataserver.*" ! -name "*.bak" -printf "%f\0" | while IFS= read -r -d $'\0' servicename; do
        # Tell dpkg/apt to update the file in DISABLED_DIR instead of the one in SERVICES_HOME
        dpkg-divert --quiet --divert "$DISABLED_DIR/$servicename" --rename --add "$SERVICES_HOME/$servicename" || exitOnError -3 "Unable to divert service $servicename."

        ln -snf /dev/null  "$SERVICES_HOME/$servicename"
        echo "Disabled service $servicename"
    done

    echo "All evolution services have been disabled.  Please restart for changes to take effect."
}

main

Чтобы отменить это, выполните следующее:

sudo rm /usr/share/dbus-1/services/org.gnome.evolution.dataserver.*
sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.AddressBook.service
sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.Calendar.service
sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.Sources.service
sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.UserPrompter.service
sudo rmdir /usr/share/dbus-1/services/disabled

Ничто из вышеперечисленного не помогло мне, поскольку фабрика электронных адресных книг продолжала работать и загружать 99% ЦП даже после команды очистки. Исполняемый файл находится в /usr/lib/evolution:

-rwxr-xr-x 1 root root 10544 Jul 30  2013 camel-index-control-1.2
-rwxr-sr-x 1 root mail 14664 Jul 30  2013 camel-lock-helper-1.2
-rwxr-xr-x 1 root root 27760 Jul 30  2013 e-addressbook-factory
-rwxr-xr-x 1 root root 31984 Jul 30  2013 e-calendar-factory

В крайнем случае я удалил папку с этим:

sudo mv /usr/lib/evolution /usr/lib/evolution-fu

И теперь он остановился.

На Ubuntu 19.04, чтобы остановить эволюцию:

#!/bin/bash
chmod -x /usr/libexec/evolution-addressbook-factory
chmod -x /usr/libexec/evolution-calendar-factory
chmod -x /usr/libexec/evolution-data-server/evolution-alarm-notify
chmod -x /usr/libexec/evolution-source-registry
apt install gnome-session && apt purge evolution && apt autoremove
  1. часть будет отмечать только gnome-session как установленную вручную, поэтому она не удаляется третьей частью (gnome-core зависит от gnome-session)
  2. часть удалит эволюцию (ядро gnome зависит от эволюции, поэтому ядро ​​gnome также будет удалено)
  3. part очистит все пакеты, которые система считает ненужными (без шага 1 это также привело бы к удалению gnome-session)

Если вы хотите отключить этот дурацкий бесполезный процесс эволюции, сделайте следующее:

for i in /usr/libexec/evoluti*; do sudo mv $i "$i.useless"; done

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

Объединение нескольких ответов здесь вместе в общий сценарий оболочки:

https://github.com/mcandre/dotfiles/blob/master/эволюция-сервисы

У apt-get есть опция --purge для полного удаления пакета.

В терминале:

sudo apt-get remove --purge evolution
sudo apt-get autoclean

Опция autoclean произведет очистку в пакете, хранящемся в вашей системе. Поэтому, если у вас несколько версий пакета, apt-get сохранит только последнюю версию.

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