Die Installation von PowerShell unter 32-Bit-Kali-Betriebssystem schlägt fehl

8

Ich habe einige Probleme bei der Installation von PowerShell auf meinem 32-Bit-Kali-Linux-PC. Ich folgte dieser Anleitung und begann mit:

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

Als Nächstes habe ich den GPG-Schlüssel für das öffentliche Repository heruntergeladen und hinzugefügt, damit APT den Paketen vertraut und den Benutzer auf Probleme mit Paketsignaturen hinweist.

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

Mit dem hinzugefügten GPG-Schlüssel habe ich das Microsoft-Paketrepository zu seiner eigenen Paketlistendatei unter hinzugefügt /etc/apt/sources.list.d/und die Liste der verfügbaren Pakete aktualisiert.

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

Bisher wurden im Update-Prozess keine Fehler angezeigt. Microsoft-Quellen befinden sich in meiner source.list, und alles sollte in Ordnung sein.

Wenn ich ausführe:

apt -y install powershell

Ich bekomme:

root@kali:/opt# apt -y install powershell
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package powershell
Wir sind eins
quelle
3
was apt-cache search powershellzeigt dir
Tim Kennedy
3
Beim Durchsuchen dieses Repos wird "Powershell" aufgelistet. hast du ein amd64 system ( uname -m)
Jeff Schaller
1
@ JeffSchaller Ich bin i686.
WeAreOne
1
@WeAreOne, es scheint nicht, dass Microsoft Powershell für 32-Bit-Architektur unter Linux unterstützt.
Kemotep
1
@kemotep Siehe auch github.com/PowerShell/PowerShell/issues/4707 und github.com/PowerShell/PowerShell/issues/7659 - es sieht so aus, als ob es auch von .NET Core abhängt
Bob

Antworten:

14

Sie haben das Repository für Powershell erfolgreich zu Ihrem hinzugefügt sources.list.

Sie geben jedoch an, ein 32-Bit-Architektursystem zu verwenden. Ihre Ausgabe von apt-cachebestätigt, dass Ihre Repositorys das Powershell-Paket nicht enthalten.

Ein Blick auf den Powershell GitHub zeigt , dass Microsoft kein Linux-Paket für Powershell für 32-Bit-Linux-Systeme bereitstellt. Alle hier für Linux verfügbaren Quell- und Binärpakete gelten für 64-Bit-Systeme.

Wie Benutzer Bob in seinem Kommentar betont, hängt Powershell für Linux von .Net Core ab .

Wenn Sie mit dem Erstellen aus dem Quellcode vertraut sind, können Sie möglicherweise ein 32-Bit-Paket erstellen. Dies ist jedoch eine andere Art von Frage. Dies funktioniert möglicherweise nicht, da Powershell möglicherweise hohe Anforderungen an 64-Bit-Anweisungen und -Optimierungen stellt.

kemotep
quelle
2

Sie haben das PowerShell-Repository hinzugefügt, es enthält jedoch nur amd64Binärdateien (wie durch das von Microsoft angegebene Architekturqualifikationsmerkmal angegeben). Sie können die Binärdateien nicht auf Ihrem 32-Bit-System ausführen ... Das heißt, es sei denn, Ihre CPU unterstützt den 64-Bit-Modus (den Sie anhand lmder Prozessor-Flags überprüfen können /proc/cpuinfo) und Sie konfigurieren Ihr System entsprechend.

(Wenn Sie ein Live-Kali-System verwenden, können Sie stattdessen auch ein 64-Bit-Kali-Setup neu starten.)

Die folgenden Anweisungen sind nicht Kali-spezifisch, sie funktionieren mit jedem Debian-Derivat.

So fügen Sie 64-Bit-Unterstützung hinzu:

  • aktivieren amd64:

    dpkg --add-architecture amd64
    
  • Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist:

    apt update && apt upgade
    
  • Installieren Sie den entsprechenden Kernel (dies hängt von der installierten Distribution und dem aktuell gültigen Kernel ab; führen Sie ihn aus uname -r, um eine Vorstellung vom zu verwendenden Paketnamen zu erhalten):

    apt install linux-image-4.19.0-kali4-amd64
    
  • Starten Sie neu und wählen Sie in den erweiterten Optionen im Grub-Menü den amd64Kernel aus

  • Da das PowerShell-Repository von Microsoft auf Debian 9 basiert, müssen Sie möglicherweise das entsprechende Repository hinzufügen (dies wird in Kali-Setups normalerweise nicht empfohlen, aber Kali selbst dokumentiert es , also ...):

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

    (Dies ist jetzt für Kali erforderlich, da das libicu57Paket dort nicht mehr verfügbar ist. Sie müssten dies also tun, selbst wenn Sie die Kali PowerShell-Installationsanleitung befolgen würden. )

  • Aktualisieren Sie erneut und installieren Sie PowerShell:

    apt update && apt install powershell
    

Jetzt führen Sie immer noch eine meistens 32-Bit-Installation aus, können jedoch bei Bedarf 64-Bit-Pakete installieren.

Stephen Kitt
quelle
Hilfe der nächsten Stufe in dieser Antwort. Vielen Dank!
Bürger