Для удобства у меня есть это в ~/.bash_aliases
, что позволяет мне легко очищать потерянные пакеты:
# Remove orphaned packages.
# Needs single quotes, otherwise the newlines that "pacman -Qqdt" outputs
# cause trouble.
# The parentheses create a subshell meaning "set -x" that prints the executed
# Bash commands is unset when the subshell exits at the end of the command.
# Arguments to "pacman -Q":
# -d restrict output to packages installed as dependencies
# -t list packages that are no longer required by any installed package
# -q suppress version numbers of packages (this would confuse pacman -R)
alias cleanup_packages='(set -x; sudo pacman -Rs $(pacman -Qdtq))'
Статус rc
в начале вывода dpkg -l
означает, что пакет уже удален, но его конфигурация осталась. Так что apt remove
тут ни при чем.
Вы можете удалить его полностью, очистив его конфигурацию:
sudo apt purge arangodb3
My goal is to check if a package has been installed, and if not, install it.
Тогда вам, вероятно, следует просто установить его :, если он уже установлен, он не будет повторно -установлен (, хотя будет обновлен при необходимости ), если нет, то будет.
Чтобы определить, правильно ли установлен пакет, запустите
dpkg-query -W -f '${db:Status-Status}' package
(заменив package
соответствующим образом ). Если это выводит installed
, пакет установлен; все остальное означает, что это не (или не полностью ).