在 32 位 Kali OS 上安装 PowerShell 失败

WeA*_*One 8 software-installation 32bit kali-linux powershell

我在 32 位 Kali Linux PC 上安装 PowerShell 时遇到一些问题。我遵循了本指南并开始于:

apt update && apt -y install curl gnupg apt-transport-https
Run Code Online (Sandbox Code Playgroud)

接下来,我下载并添加了公共存储库 GPG 密钥,因此 APT 将信任这些包并提醒用户注意包签名的任何问题。

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)

添加 GPG 密钥后,我将 Microsoft 包存储库添加到其自己的包列表文件下/etc/apt/sources.list.d/并更新了可用包的列表。

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" \
                                                > /etc/apt/sources.list.d/powershell.list
apt update
Run Code Online (Sandbox Code Playgroud)

到目前为止,更新过程中没有显示错误,Microsoft 源在我的 source.list 中,一切都应该顺利进行。

当我执行:

apt -y install powershell
Run Code Online (Sandbox Code Playgroud)

我得到:

root@kali:/opt# apt -y install powershell
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package powershell
Run Code Online (Sandbox Code Playgroud)

kem*_*tep 14

您已成功将 Powershell 的存储库添加到您的sources.list.

但是,您报告使用的是 32 位体系结构系统。您的输出apt-cache确认您的存储库不包含 Powershell 包。

看看Powershell GitHub,似乎微软没有为 32 位 Linux 系统的 Powershell 提供 Linux 包。此处可用于 Linux 的所有源代码和二进制包均适用于 64 位系统。

正如用户 Bob 在评论中指出的那样,Linux 的 Powershell 依赖于.Net Core

如果您熟悉从源代码构建,您可能会构建一个 32 位包,但这是一个不同类型的问题。这实际上可能不起作用,因为 Powershell 可能对 64 位指令和优化有严格的要求。