У меня проблема с запуском базы данных, я пытаюсь ее переустановить. Так как это по сути новая установка.
Я делаю удаление с помощью pacman -R mariadb
. Я предполагаю, что не могу выполнить ни один двоичный файл из него. Но он все еще там.
Подозреваю, что при использовании Linux Mint будет происходить то же самое.
Может ли кто-нибудь подробно объяснить, когда именно произойдет удаление?
решение1
Как только вы запустите эту команду, все файлы из этого пакета будут удалены из вашей системы. Нет процесса, который бы планировал удаление на более позднее время.
Как происходит удаление:
У вашего менеджера пакетов (если честно, у любого менеджера пакетов) есть база данных со всеми пакетами, всеми установленными пакетами и каждым файлом всех установленных пакетов. Если я правильно помню, для pacman это должно быть где-то в /var/lib/pacman
Как только вы удаляете пакет, ваш менеджер пакетов просматривает список файлов, принадлежащих указанному пакету, и в основном просто rm -rf /path/to/file
.
Вы можете увидеть, какие файлы содержит пакет, если запустите pacman -Ql <package-name>
. В то время как -Q используется для запроса, l используется для вывода списка всех файлов, принадлежащих данному пакету.
Что касается вашей реальной проблемы: вы читали инструкцию по установке mariadb на archlinux?
Вам необходимо инициализировать каталог данных MariaDB перед запуском службы. Это можно сделать с помощью команды mariadb-install-db, например:
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
EDIT: Вероятно, вам лучше это сделать pacman -Rcs <package-name>
при удалении пакетов.
-c, --каскад
Удалить все целевые пакеты, а также все пакеты, которые зависят от одного или нескольких целевых пакетов. Эта операция рекурсивна и должна использоваться с осторожностью, поскольку она может удалить много потенциально необходимых пакетов.
-s, --рекурсивный
Удалить каждую указанную цель, включая все ее зависимости, при условии, что (A) они не требуются другим пакетам; и (B) они не были явно установлены пользователем. Эта операция рекурсивна и аналогична обратной операции --sync, и она помогает поддерживать чистоту системы без сирот. Если вы хотите пропустить условие (B), передайте эту опцию дважды.