re1*_*1gn 3 upgrade kali-linux windows-subsystem-for-linux
所以我的问题如下。我从 wsl 商店安装 Kali Linux,使用
$wsl --install -d kali-linux
. 以下已安装
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2019.2"
VERSION_ID="2019.2"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
Run Code Online (Sandbox Code Playgroud)
如果我这样做$sudo apt-get update
,我会收到以下错误
Get:1 http://kali.download/kali kali-rolling InRelease [30.6 kB]
Err:1 http://kali.download/kali kali-rolling InRelease
The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
Fetched 30.6 kB in 1s (40.9 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://kali.download/kali kali-rolling InRelease: The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
W: Failed to fetch http://http.kali.org/kali/dists/kali-rolling/InRelease The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
W: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)
然后我使用“Then
I do”手动安装kali-archive-keyring_2020.2_all.deb并按预期更新存储库。$sudo dpkg -i kali-archive-keyring_2020.2_all.deb
$sudo apt-get update
然后我$sudo apt-get upgrade
就这样做了到目前为止它有效我将我的卡利升级到
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2021.4"
VERSION_ID="2021.4"
VERSION_CODENAME="kali-rolling"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
Run Code Online (Sandbox Code Playgroud)
现在,当我执行命令时,$sudo apt-get upgrade
它说有软件包被保留。
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
apt apt-utils bind9-host bsdmainutils bsdutils coreutils cron curl dnsutils dpkg e2fsprogs fdisk findutils iproute2
iptables isc-dhcp-client libbind9-161 libbsd0 libc-bin libc6 libcryptsetup12 libcurl4 libdevmapper1.02.1 libext2fs2
libgnutls30 libiptc0 libirs161 libisccc161 libisccfg163 libldap-2.4-2 liblocale-gettext-perl liblwres161 libmount1
libp11-kit0 libpam-modules libpam-modules-bin librtmp1 libselinux1 libsemanage-common libslang2 libstdc++6
libsystemd0 libtext-charwidth-perl libtext-iconv-perl libudev1 libxml2 libxtables12 login logrotate mawk mlocate
mount net-tools passwd perl-base procps rsyslog sed sudo systemd tar udev util-linux vim-common vim-tiny wget whois
0 upgraded, 0 newly installed, 0 to remove and 67 not upgraded.
Run Code Online (Sandbox Code Playgroud)
从这一点来看,无论我尝试安装什么,它总是会导致以下错误,并且 kali 已损坏,我无法进一步使用操作系统。
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6:amd64 (--configure):
installed libc6:amd64 package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
例如,如果我$sudo apt-get update
事后尝试,结果会是
sudo: account validation failure, is your account locked?
我查找了错误,但我并不幸运地找到任何合理的解决方案。对于这个问题的任何帮助,我将不胜感激。提前致谢!
我可以重现这一点,我真的很惊讶他们竟然漏掉了这一点。正如此答案中所述,问题在于 Kali 文件对于手动安装的版本来说已经过时了。
可悲的是,看起来这个位置正是我们wsl --install
为 Kali 所做的事情所使用的。
更新密钥环(正如您尝试的那样)曾经足以修复它,但现在不行了。现在更多的签名和/或包已经过时了。
我们也可能找到修复它们的方法,但目前最简单的解决方案是使用 Microsoft Store 安装,而不是命令wsl --install
。我从 Microsoft Store 在 WSL 中安装了 Kali,并且立即安装为 2021.3。
wsl --unregister kali-linux
请注意,在安装 Microsoft Store 版本之前,您应该先执行另一次操作。
如果您无法从 Microsoft Store 安装(并且根据评论,由于公司政策,您不能安装),那么还有一些替代方案。所有这些都涉及获取 Kali tarball,然后wsl --import
对其进行编译。
我亲自用 Kali 成功测试了这些:
选项 1:从另一台可以访问 Microsoft Store 的计算机复制 WSL Kali
如果它适合您,这可能是最可靠的方法。您不会在工作计算机上安装任何商店软件包,因此它至少不应违反该策略。
使用另一台非工作 PC(假设您有访问权限)从应用商店安装 WSL 和 Kali。
使用您的用户名和密码(您最终想要在工作计算机上使用的用户名和密码 - 无论它是否存在于该计算机上的 Windows 中)进行配置。
(可选)继续并sudo apt get update && sudo apt get upgrade
.
退出卡利
从 PowerShell 或 CMD:
wsl --export kali-linux kali_clean.tar`
Run Code Online (Sandbox Code Playgroud)
使用 USB 驱动器将生成的 tarball 传输到您的工作计算机(假设政策允许)。如果不允许 USB,则将生成的 tarball 放在您可以访问的云中的某个位置,并将其下载到您的工作计算机。如果您无论如何都要安装虚拟机作为替代方案,那么在我看来,这与该过程一样安全(并且符合策略)。最终,您需要下载一些东西来在您的工作计算机上安装 Kali(或任何其他发行版)。
现在在您的工作计算机上...
跳到下面“从 tarball 安装和配置 Kali”的说明...
选项 2:从 Kali WSL 构建脚本构建
Kali 是我见过的少数几个可以轻松找到 WSL 构建过程的发行版之一。它直接列在获取 Kali页面上。
您首先需要一个单独的 WSL 实例。因为我们知道 Ubuntu 从 开始工作wsl --install -d Ubuntu
,所以就从它开始吧。完成后您可以将其删除。
在Ubuntu中...
sudo apt install -y debootstrap
git clone https://gitlab.com/kalilinux/build-scripts/kali-wsl-chroot.git
cd kali-wsl-chroot
sudo ./build_chroot.sh
# The build should complete for x64 but fail for ARM. That's okay as long as `./x64/install.tar.gz` is created.
sudo mv ./x64/install.tar.gz /mnt/c/somewhere/on/c/kali.install.tar.gz`
Run Code Online (Sandbox Code Playgroud)
退出Ubuntu
wsl --unregister Ubuntu
如果需要,请卸载 Ubuntu 发行版 ( )。
跳到下面“从 tarball 安装和配置 Kali”的说明...
选项 3:使用 Kali Docker 映像创建 tarball
Microsoft在此提供了有关如何手动导入几乎所有发行版的说明。您需要:
首先安装另一个发行版,例如 Ubuntu(当然,它可以通过 正常工作)wsl --install
安装 Docker Desktop(如果政策和许可证允许)。请注意,Docker Desktop 现在需要企业使用的付费许可证,具体取决于您公司的规模。作为替代方案,您可以在 Ubuntu 发行版中安装 Docker 引擎(它仍然是免费的/OSS)。
docker pull kalilinux/kali
或docker pull kalilinux/kali-rolling
(请参阅Kali Docker 镜像。
运行图像 ( docker run kalilinux/kali:latest
)
获取图像的名称docker ps -a
将容器导出为 tarballdocker export <name_or_id_from_above> kali.tar
继续下面的说明“从 tarball 安装和配置 Kali”...
在 Windows 中为 Kali 创建一个目录。我倾向于使用像%userprofile%\WSL\instances\kali
我自己这样的东西。
cd
到 PowerShell 中的该目录。
wsl --import Kali . path\to\kali.tar --version 2
(或kali.tar.gz
选项 2)
这将使用 tarball 创建一个 Kali 实例,然后可以使用 启动它wsl -d kali
。
您还可以使用 将其设置为默认值wsl --set-default kali
。
对于第二个(构建脚本)和第三个(Docker 映像)选项,您需要adduser
WSL 用户并设置其密码:
adduser <username>
usermod <username> -aG adm,cdrom,sudo,dip,plugdev
Run Code Online (Sandbox Code Playgroud)
对于所有这些,WSL 都会以root
用户身份自动启动。/etc/wsl.conf
这可以通过根据此超级用户答案创建来更改。
归档时间: |
|
查看次数: |
5761 次 |
最近记录: |