Я пытался удалить codeblocks из программного обеспечения Ubuntu. После нажатия remove
появляется сообщение "Невозможно удалить code::blocks IDE. Нет пакетов для удаления"
Я попробовал другой способ, запустив sudo apt-get purge codeblocks
в терминале. Но он показывает
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
codeblocks-contrib : Depends: libboost-system1.62.0 but it is not installable
Depends: libhunspell-1.4-0 but it is not installable
Depends: libwxgtk3.0-0v5 (>= 3.0.2+dfsg) but it is not installable
Depends: libwxsmithlib0 (= 20.03) but 20.03-3 is to be installed
Depends: codeblocks (= 20.03) but it is not going to be installed
Recommends: valgrind but it is not going to be installed
Recommends: cppcheck but it is not going to be installed
Recommends: cscope but it is not going to be installed
Recommends: cccc but it is not going to be installed
codeblocks-dev : Depends: libcodeblocks0 (= 20.03) but 20.03-3 is to be installed
codeblocks-libwxcontrib0 : Depends: libwxgtk3.0-0v5 (>= 3.0.2+dfsg) but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Как удалить кодовые блоки?
после бегаdpkg -l | grep codeblocks
iU codeblocks 20.03-3 amd64 Code::Blocks integrated development environment (IDE)
iU codeblocks-common 20.03-3 all common files for Code::Blocks IDE
iU codeblocks-contrib 20.03 amd64 contrib plugins for Code::Blocks IDE
ii codeblocks-contrib-common 20.03 all common files for the contrib plugins for Code::Blocks IDE
iU codeblocks-dev 20.03 amd64 Code::Blocks development libraries (SDK)
ii codeblocks-headers 20.03 all Code::Blocks development headers (SDK)
iU codeblocks-libwxcontrib0 20.03 amd64 Code::Blocks shared libraries for wxContribItems
iU codeblocks-libwxcontrib0-dbgsym 20.03 amd64 Debug symbols for codeblocks-libwxcontrib0
iU codeblocks-wxcontrib-dev 20.03 amd64 Code::Blocks development libraries for wxContribItems
iU codeblocks-wxcontrib-headers 20.03 all Code::Blocks development headers for wxContribItems
iU libcodeblocks0 20.03-3 amd64 Code::Blocks shared library
решение1
Пакеты, доступные для загрузки, являются версией Debian. Они несовместимы с Ubuntu из-за конфликтующих файлов. Codeblocks доступен из репозитория Universe по умолчанию в Ubuntu (версия 20.03-3). Кроме того, пакеты Ubuntu были объединены в несколько пакетов, поэтому нет необходимости загружать что-либо дополнительно.
Первый, удалите пакеты Debian CodeBlocks с помощью следующей команды:
sudo dpkg -P $(dpkg -l | grep codeblocks | awk '{print $2}') libwxsmithlib0 libwxsmithlib0-dev wxsmith-dev wxsmith-headers
Затемвыполните следующие команды, чтобы обновить список пакетов и переустановить блоки кода из репозиториев Ubuntu:
sudo add-apt-repository universe
sudo apt update
sudo apt install --reinstall $(apt-cache search codeblocks | awk '{print $1}')
Для пояснения используемых команд следующая команда ищет и выводит список пакетов, связанных с блоками кода:
apt-cache search codeblocks
В первом столбце (слева) перечислены имена пакетов. Таким образом, чтобы перечислить только имена пакетов, мы можем использовать awk
для печати только первый столбец, который представлен $1
следующим образом:
apt-cache search codeblocks | awk '{print $1}'
Чтобы вставить вывод этой команды в другую команду, мы можем использовать $()
. Таким образом, чтобы установить пакеты, перечисленные командой выше, мы можем использовать следующую команду:
sudo apt install --reinstall $(apt-cache search codeblocks | awk '{print $1}')
Дополнительная помощь:
Для поиска доступных пакетов, вы можете использовать apt-cache search
так:
apt-cache search codeblocks
Фильтровать результатыЧтобы включить только те результаты, которые содержат слово «codeblocks», мы можем использовать grep
следующую команду:
apt-cache search codeblocks | grep -i codeblocks
Для дополнительной информациидля конкретного пакета мы можем использовать apt-cache show
команду следующим образом:
apt-cache show codeblocks
Чтобы вывести список всех установленных пакетов,мы можем использовать dpkg -l
и фильтровать результаты следующим образом:
dpkg -l | grep codeblocks
Нажмите здесь для получения дополнительной информации о кодах состояния dpkg(например, ii
, iU
, и т.д.). По сути, ii
означает полностью установленный и iU
означает, что пакет не полностью установлен.