воскресенье, 3 февраля 2019 г.

Полное удаление wicd из Linux Mint

Общие сведения о wicd можно прочитать здесь, а отзывы пользователей по использованию данной программы в этой ветке форума.

Для установки wicd одной командой выполните в терминале

sudo apt update && sudo apt install -y wicd && sudo systemctl stop NetworkManager.service && sudo systemctl disable NetworkManager.service && shutdown -r now

После перезагрузки компьютера будет запущена программа wicd и далее всё по-русски.

В принципе, работа wicd не вызывала у меня нареканий. Но в конечном итоге пришлось от неё отказаться и вернуться на Network Manager. В моей LAN используется автоматическое внесение в DNS хостов и сопоставленных им IP, полученных от dhcp (подробности). При использовании wicd такой механизм работать перестал.

Ситуация же с удалением wicd напомнила мне фразу из к/ф "17 мгновений весны":

Запоминается последняя фраза – это Штирлиц вывел для себя, словно математическое доказательство. Важно, как войти в нужный разговор, но еще важнее искусство выхода из разговора.

"Выход" из wicd сопровождался таким количеством остаточных следов, что пришлось разработать целую операцию по их удалению.

Сначала возникла идея осуществить цикл удаления терминальной командой в одну строку. Но после учёта всех компонентов, которые необходимо удалить для пущей чистоты системы, было принято решение разбить процедуру на несколько этапов, каждый из которых оформить как скрипт sh.

В список подлежащих удалению компонентов не были включены

/usr/lib/python2.7/dist-packages/wicd  и
/usr/lib/python2.7/dist-packages/wicd-1.7.4.egg-info

так как версия python со временем может измениться. Эти компоненты можно удалить вручную, запустив с правами суперпользователя (через sudo) Midnight Commander или графический менеджер файлов.

В итоге получилось 8 последовательно запускаемых скриптов, которые выполняют процедуру очистки системы от wicd. Все эти 8 скриптов выполняются в рамках объединённой команды по удалению, например wicd-purge.sh (исполняемый файл), запускаемой в терминале:

sudo /home/user/wicd-purge.sh

#!/bin/bash
/home/user/1.sh
/home/user/2.sh
/home/user/3.sh
/home/user/4.sh
/home/user/5.sh
/home/user/6.sh
/home/user/7.sh
/home/user/8.sh

Содержание каждого из скриптов приведено ниже:

Листинг 1.sh

#!/bin/bash
apt purge -y wicd
exit

Листинг 2.sh

#!/bin/bash
rm -fr /etc/wicd
rm -fr /etc/default/wicd
rm -fr /var/run/wicd
rm -fr /var/log/wicd
rm -fr /var/lib/wicd
rm -fr /usr/share/wicd
rm -fr /usr/bin/wicd
rm -fr /run/wicd
rm -fr /usr/share/bug/python-wicd
rm -fr /usr/share/bug/wicd-daemon
rm -fr /usr/share/bug/wicd-gtk
rm -fr /usr/share/doc/python-wicd
rm -fr /usr/share/doc/wicd-daemon
rm -fr /usr/share/doc/wicd-gtk
rm -fr /sys/fs/cgroup/devices/system.slice/wicd.service
rm -fr /sys/fs/cgroup/systemd/system.slice/wicd.service
exit

Листинг 3.sh

#!/bin/bash
rm /etc/dbus-1/system.d/wicd.conf
rm /etc/init.d/wicd
rm /etc/rc0.d/K01wicd
rm /etc/rc1.d/K01wicd
rm /etc/rc2.d/S03wicd
rm /etc/rc3.d/S03wicd
rm /etc/rc5.d/S03wicd
rm /etc/rc6.d/K01wicd
rm /etc/xdg/autostart/wicd-tray.desktop
rm /usr/lib/pm-utils/sleep.d/55wicd
rm /usr/share/app-install/desktop/wicd-gtk.wicd.desktop
rm /usr/share/app-install/icons/wicd-gtk.svg
rm /usr/share/applications/wicd.desktop
rm /usr/bin/wicd-client
rm /usr/bin/wicd-cgtk
rm /usr/sbin/wicd
exit

Листинг 4.sh

#!/bin/bash
rm /usr/share/icons/hicolor/128x128/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/16x16/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/192x192/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/22x22/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/24x24/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/32x32/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/36x36/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/48x48/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/64x64/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/72x72/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/48x48/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/96x96/apps/wicd-gtk.png
rm /usr/share/icons/hicolor/scalable/apps/wicd-gtk.svg
rm /usr/share/pixmaps/wicd-gtk.xpm
exit

Листинг 5.sh

#!/bin/bash
rm /usr/share/locale/ca/LC_MESSAGES/wicd.mo
rm /usr/share/locale/cs/LC_MESSAGES/wicd.mo
rm /usr/share/locale/da/LC_MESSAGES/wicd.mo
rm /usr/share/locale/de/LC_MESSAGES/wicd.mo
rm /usr/share/locale/el/LC_MESSAGES/wicd.mo
rm /usr/share/locale/en/LC_MESSAGES/wicd.mo
rm /usr/share/locale/en_GB/LC_MESSAGES/wicd.mo
rm /usr/share/locale/es/LC_MESSAGES/wicd.mo
rm /usr/share/locale/et/LC_MESSAGES/wicd.mo
rm /usr/share/locale/fr/LC_MESSAGES/wicd.mo
rm /usr/share/locale/fr_CA/LC_MESSAGES/wicd.mo
rm /usr/share/locale/gl/LC_MESSAGES/wicd.mo
rm /usr/share/locale/he/LC_MESSAGES/wicd.mo
rm /usr/share/locale/hr/LC_MESSAGES/wicd.mo
rm /usr/share/locale/hu/LC_MESSAGES/wicd.mo
rm /usr/share/locale/it/LC_MESSAGES/wicd.mo
rm /usr/share/locale/ja/LC_MESSAGES/wicd.mo
rm /usr/share/locale/nl/LC_MESSAGES/wicd.mo
rm /usr/share/locale/pl/LC_MESSAGES/wicd.mo
rm /usr/share/locale/pt/LC_MESSAGES/wicd.mo
rm /usr/share/locale/pt_BR/LC_MESSAGES/wicd.mo
rm /usr/share/locale/ru/LC_MESSAGES/wicd.mo
rm /usr/share/locale/si/LC_MESSAGES/wicd.mo
rm /usr/share/locale/sk/LC_MESSAGES/wicd.mo
rm /usr/share/locale/sv/LC_MESSAGES/wicd.mo
rm /usr/share/locale/tr/LC_MESSAGES/wicd.mo
rm /usr/share/locale/uk/LC_MESSAGES/wicd.mo
rm /usr/share/locale/zh_CN/LC_MESSAGES/wicd.mo
rm /usr/share/locale/zh_TW/LC_MESSAGES/wicd.mo
exit

Листинг 6.sh

#!/bin/bash
rm /usr/share/man/man1/wicd-client.1.gz
rm /usr/share/man/man1/wicd-gtk.1.gz
rm /usr/share/man/man5/wicd-manager-setting.conf.5.gz
rm /usr/share/man/man5/wicd-wired-setting.conf.5.gz
rm /usr/share/man/man5/wicd-wireless-setting.conf.5.gz
rm /usr/share/man/man8/wicd.8.gz
rm /usr/share/man/nl/man1/wicd-client.1.gz
rm /usr/share/man/nl/man1/wicd-gtk.1.gz
rm /usr/share/man/nl/man5/wicd-manager-settings.conf.5.gz
rm /usr/share/man/nl/man5/wicd-wired-settings.conf.5.gz
rm /usr/share/man/nl/man5/wicd-wireless-settings.conf.5.gz
rm /usr/share/man/nl/man8/wicd.8.gz
rm /usr/share/pixmaps/wicd-gtk-xpm
rm /usr/share/python/runtime.d/wicd-daemon.rtupdate
rm /usr/share/python/runtime.d/wicd-gtk.rtupdate
exit

Листинг 7.sh

#!/bin/bash
find  /var/lib/dpkg/info/ -name 'python-wicd.*' -delete
find  /var/lib/dpkg/info/ -name 'wicd-*' -delete
exit

Листинг 8.sh

#!/bin/bash
systemctl enable NetworkManager.service
shutdown -r now

После выполнения wicd-purge.sh и последующим за этим рестартом системы снова активизируется Network Manager и дальнейшая работа осуществляется так как это было до установки wicd.

Если запросить в файловой системе поиск объектов wicd, то результат должен быть примерно таким:


Комментариев нет:

Отправить комментарий