Я подозревал, что установка xfce4
вызывает некоторые проблемы в Ubuntu, поэтому я удалил их, используя apt-get remove xfce4 xfce4-goodeis
.
Но когда я запустил 'dpkg -l', я все еще вижу некоторые библиотеки и пакеты для xfce4 :
$ dpkg -l | grep -i xfce
rc libexo-1-0:amd64 0.10.2-2 amd64 Library with extensions for Xfce
rc libgarcon-1-0 0.2.1-1 amd64 freedesktop.org compliant menu implementation for Xfce
rc libxfce4ui-1-0 4.11.0-0ubuntu1~ppa0.13.10.1 amd64 widget library for Xfce - Gtk+2 variant
rc libxfce4ui-common 4.11.0-0ubuntu1~ppa0.13.10.1 all common files for libxfce4ui
rc libxfce4util6 4.10.1-1 amd64 Utility functions library for Xfce4
rc libxfcegui4-4 4.10.0-2 amd64 Basic GUI C functions for Xfce4
rc libxfconf-0-2 4.10.0-2 amd64 Client library for Xfce4 configure interface
rc mousepad 0.3.0-2 amd64 simple Xfce oriented text editor
rc thunar 1.6.3-1ubuntu1 amd64 File Manager for Xfce
rc xfce4-appfinder 4.10.1-1 amd64 Application finder for the Xfce4 Desktop Environment
rc xfce4-clipman 2:1.2.3-2ubuntu1 amd64 clipboard history utility
rc xfce4-mixer 1:4.10.0-1ubuntu2 amd64 Xfce mixer application
rc xfce4-notes 1.7.7-3ubuntu2 amd64 Notes application for the Xfce4 desktop
rc xfce4-panel 4.10.1-1ubuntu1 amd64 panel for Xfce4 desktop environment
rc xfce4-power-manager 1.2.0-2ubuntu1 amd64 power manager for Xfce desktop
rc xfce4-session 4.10.1-1ubuntu1 amd64 Xfce4 Session Manager
rc xfce4-settings 4.11.1-0ubuntu1~ppa0.13.10.1 amd64 graphical application for managing Xfce settings
rc xfce4-terminal 0.6.2-3ubuntu1.1 amd64 Xfce terminal emulator
rc xfce4-volumed 0.2.0-0ubuntu1 amd64 volume keys daemon
rc xfdesktop4 4.11.2-0ubuntu1~ppa0.13.10.1 amd64 xfce desktop background, icons and root menu manager
rc xfwm4 4.11.1-0ubuntu1~ppa0.13.10.1 amd64 window manager of the Xfce project
Я скопировал все эти пакеты \ библиотеки, чтобы сформировать Команда apt-get remove
для удаления всех этих зависимостей, и команда выполнялась нормально, но запуск dpkg -l | grep -i xfce
снова показал эти зависимости!
Почему эти зависимости все еще установлены?
Обратите внимание на rc
в начале списка.
r
: Удалить (помечен для удаления)
c
: имеются файлы конфигурации.
Разница между apt-get remove
и purge
(из man apt-get
)
remove
remove is identical to install except that packages are removed instead of installed.
Note the removing a package leaves its configuration files in system.
purge
purge is identical to remove except that packages are removed and purged (any
configuration files are deleted too).
Когда вы выбираете apt-get remove
, ваш dpkg -l
отражает это. Если бы вас использовали apt-get purge
, вы могли бы избежать такой ситуации. Чтобы избавиться от них, попробуйте в терминале,
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
Он очистит все пакеты, которые помечены для удаления. Перед тем, как очистить их, вы можете проверить список, который вы собираетесь удалить, используя
dpkg --list | grep "^rc" | cut -d " " -f 3
Я думаю, у вас нет других пакетов, помеченных для удаления, кроме тех, что из xfce
. Если вы не уверены в этом. Вместо этого используйте следующее:
dpkg --list | grep -i xfce | cut -d " " -f 3 | xargs sudo dpkg --purge
Зависимости еще не установлены .
Когда вы запускаете dpkg -l
, dpkg
звонит dpkg-query
. Записи в первом столбце (где вы видите rc
) состоят из двух однобуквенных сокращений.
Первая буква указывает желаемое состояние пакета, как указано в действиях по управлению пакетами. r
означает, что оно предназначено для удаления. Это означает, что либо
Чтобы увидеть, в чем дело, обратитесь ко второму письму, c
. Это указывает на то, что из пакета установлено. Если нет файлов какого-либо вида , вторая буква гласит n
(хотя на самом деле, поскольку вы запускаете dpkg -l
/ dpkg --list
без аргументов и затем анализируете выходные данные, запись просто вообще не появляется, если не было файлов).
c
означает, что все, что установлено, это конфигурационные файлы . Обычно небезопасно предполагать, что пользователь хочет удалить их при удалении пакета. Если вы хотите удалить их, вы можете передать флаг --purge
в apt-get
(или указать действие purge
вместо действия remove
) при удалении пакетов.
Чтобы удалить эти файлы конфигурации, даже если сами пакеты удалены, вы все равно можете удалить их, либо с помощью dpkg -P ...
или apt-get purge ...
. Использование dpkg
для очистки многих пакетов может быть несколько сложным , но apt-get
будет соответствовать регулярным выражениям (как это делает grep
) для имен пакетов. Предполагая, что вам нужна одна короткая команда, которая удаляет все эти пакеты, и * если вы действительно хотите удалить все пакеты с xfce
в их именах, это поможет:
sudo apt-get purge xfce.\*
Обратите внимание, что *
не является подстановочным знаком, .\*
соответствует нулю или более любого символа. .
необходимо для этого (см. Ниже). Это регулярное выражение эквивалентно просто xfce
, но оно распознается как как регулярное выражение apt-get
, потому что оно содержит специальный символ *
.
(Точно так же, если вы использовали xfce\*
или xfce*
, он удалил бы все пакеты с xfc
в имени. Люди пытались избавиться от Wine, удалив wine*
, в результате чего каждый пакет с win
где-нибудь в имени, которое удаляется, нарушая их системы!)
Или, если вы предпочитаете провести чистку с dpkg
, легко понятный способ (который, я думаю, таким образом уменьшает количество ошибок) сделать это чтобы сказать dpkg-list
, как отформатировать собственный вывод:
sudo dpkg -P `dpkg-query -f='${Package}\n' -W | grep xfce`
Или вы можете просто запустить dpkg-query -f='${Package} ' -W | grep xfce
, что позволит вам проверить вывод, чтобы убедиться, что это то, что вам нужно, а затем скопировать и вставить это пространство -лимитный список пакетов в команду sudo apt-get purge
или sudo dpkg -P
.