我开始在我的 Kali Linux 机器上设置我的第一个 DVWA。我尝试mariadb-server
使用apt-get install mariadb-server
root 身份进行安装。我遇到了错误,无法继续。
Preparing to unpack .../6-mariadb-client-10.3_1%3a10.3.23-1_amd64.deb ...
Unpacking mariadb-client-10.3 (1:10.3.23-1) ...
Selecting previously unselected package mariadb-server-core-10.3.
Preparing to unpack .../7-mariadb-server-core-10.3_1%3a10.3.23-1_amd64.deb ...
Unpacking mariadb-server-core-10.3 (1:10.3.23-1) ...
Selecting previously unselected package rsync.
Preparing to unpack .../8-rsync_3.2.2-2_amd64.deb ...
Unpacking rsync (3.2.2-2) ...
Setting up mariadb-common (1:10.3.23-1) ...
update-alternatives: error: alternative path /etc/mysql/mariadb.cnf doesn't exist
dpkg: error processing package mariadb-common (--configure):
installed mariadb-common package post-installation script subprocess returned error exit status 2
Errors were encountered while processing:
mariadb-common
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@kali:~#
我认为问题出在 dpkg 包损坏上。我需要对此有更多的了解。
答案1
好的,根据错误,您丢失了一个文件。您可以做的是下载并解压软件包并插入丢失的文件,然后重新安装软件包。
首先,通过运行以下命令下载软件包:
cd
mkdir mariadbcommon
cd mariadbcommon
apt-get download mariadb-common
现在,提取文件:
ar xvf *
tar xvf dat*
然后,将所需的文件复制到正确的位置:
cp ./etc/mysql/mariadb.cnf /etc/mysql/mariadb.cnf
最后,重新安装包:
apt-get update
apt-get install --reinstall mariadb-common
为了更好地衡量,重新安装原始包:
apt-get install --reinstall mariadb-server
如果覆盖系统范围的配置文件没有问题,您可以运行以下命令:
apt install --reinstall -o Dpkg::Options::="--force-confmiss" mariadb-common
和
apt install --reinstall -o Dpkg::Options::="--force-confmiss" mariadb-server
有错误请留言。
此外,当您遇到丢失文件错误时,它有助于apt-file
确定包含该文件的包。以下将引导您完成解决问题的过程。
首先,安装 apt 文件:
apt-get update
apt-get install apt-file
apt-file update
/etc/mysql/mariadb.cnf
现在,例如,要搜索包含丢失文件的包,请运行以下命令:
apt-file search /etc/mysql/mariadb.cnf
apt-get download
接下来,使用或apt download
命令下载所需的包,下载包(deb 文件) 。
然后,使用该ar xvf *
命令解压deb文件,然后使用该tar xvf dat*
命令解压包含系统文件的“data.tar.xz”文件。
最后,使用命令将提取的文件复制到正确的位置cp
。