当实际删除软件包时,尤其是 arch

当实际删除软件包时,尤其是 arch

我在运行数据库时遇到问题,我尝试重新安装它。因为它本质上是全新安装。

我正在使用 进行删除pacman -R mariadb。我的假设是我无法从中执行任何二进制文件。但它仍然在那里。

我怀疑使用 Linux mint 时它也会做同样的事情。

有人可以全面解释实际删除的时间吗?

答案1

一旦运行该命令,该包中的所有文件都会从系统中删除。没有任何进程可以将删除安排到以后的时间。

至于删除是如何进行的:

你的包管理器(任何包管理器)在某个地方都有一个数据库,其中包含所有包、所有已安装的包以及所有已安装包的每个文件。 pacman 的 IIRC 这应该位于/var/lib/pacman 一旦你删除一个包,你的包管理器就会浏览属于该包的文件列表,基本上只是rm -rf /path/to/file.

如果运行,您可以看到包包含哪些文件pacman -Ql <package-name>。 -Q 用于查询,而 l 用于列出给定包拥有的所有文件。

关于您的实际问题:您是否阅读了 archlinux 上 mariadb 的安装说明?

您需要在启动服务之前初始化 MariaDB 数据目录。这可以使用 mariadb-install-db 命令完成,例如: mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

编辑:您可能应该pacman -Rcs <package-name>在删除软件包时这样做。

-c,--级联

删除所有目标包,以及依赖于一个或多个目标包的所有包。此操作是递归的,必须小心使用,因为它可能会删除许多可能需要的包。

-s、——递归

删除指定的每个目标,包括其所有依赖项,前提是 (A) 其他包不需要它们; (B) 它们不是由用户明确安装的。此操作是递归的,类似于向后 --sync 操作,它有助于保持干净的系统,没有孤儿。如果要省略条件 (B),请传递此选项两次。

联机帮助页

相关内容