7

I am having some issues installing PowerShell on my 32-bit Kali Linux PC.  I followed this guide and started with:

apt update && apt -y install curl gnupg apt-transport-https

Next, I downloaded and added the public repository GPG key so APT will trust the packages and alert the user to any issues with package signatures.

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

With the GPG key added, I added the Microsoft package repository to its own package list file under /etc/apt/sources.list.d/ and updated the list of available packages.

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

No errors so far indicated in the update process, Microsoft sources are in my source.list, and everything should be good to go.

When I execute:

apt -y install powershell

I get:

root@kali:/opt# apt -y install powershell
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package powershell
14

You have successfully added the repository for Powershell to your sources.list.

However, you report to be using a 32-bit architecture system. Your output of apt-cache confirms that your Repositories do not contain the Powershell package.

Taking a look at the Powershell GitHub, it appears that Microsoft does not provide a Linux package for Powershell for 32-bit Linux systems. All of the source and binary packages available for Linux here are for 64-bit systems.

As user Bob points out in his comment, Powershell for Linux depends on .Net Core.

If you are familiar with building from source, you could potentially build a 32-bit package, but that is a different kind of question. This may not actually work as Powershell maybe has hard requirements for 64-bit instructions and optimizations.

1

You’ve added the PowerShell repository, but it only provides amd64 binaries (as indicated by the architecture qualifier Microsoft tell you to include). You can’t run the binaries on your 32-bit system... That is, unless your CPU supports 64-bit mode (which you can check by looking for lm in the processor flags in /proc/cpuinfo) and you configure your system appropriately.

(If you’re running a live Kali system, you might as well reboot into a 64-bit Kali setup instead.)

The following instructions aren’t Kali-specific, they will work on any Debian derivative.

To add 64-bit support:

  • enable amd64:

    dpkg --add-architecture amd64
    
  • ensure your system is up-to-date:

    apt update && apt upgade
    
  • install the appropriate kernel (this will vary, depending on the installed distribution and the currently-valid kernel; run uname -r to get an idea of the package name to use):

    apt install linux-image-4.19.0-kali4-amd64
    
  • reboot, and in the advanced options in the Grub menu, choose the amd64 kernel

  • since Microsoft’s PowerShell repository is based on Debian 9, you may need to add the corresponding repository (this isn’t typically recommended in Kali setups, but Kali themselves document it, so...):

    echo deb http://deb.debian.org/debian stretch main > /etc/apt/sources.list.d/stretch.list
    

    (this is now necessary on Kali because the libicu57 package is no longer available there, so you’d have to do this even if you were following the Kali PowerShell installation guide)

  • update again and install PowerShell:

    apt update && apt install powershell
    

Now you’ll still be running a mostly 32-bit install, but with the ability to install 64-bit packages where necessary.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.