web-dev-qa-db-ja.com

32ビットKali OSへのPowerShellのインストールが失敗する

32ビットのKali Linux PCにPowerShellをインストールするときに問題が発生しました。私は このガイド に従い、次のように始めました:

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

次に、公開リポジトリのGPGキーをダウンロードして追加したので、APTはパッケージを信頼し、パッケージ署名の問題についてユーザーに警告します。

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

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

これまでのところ、更新プロセスでエラーは示されていません。Microsoftのソースは私のsource.listにあり、すべて順調に進んでいるはずです。

私が実行すると:

apt -y install powershell

私は得ます:

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

Powershellのリポジトリをsources.listに追加しました。

ただし、32ビットアーキテクチャシステムを使用していると報告します。 apt-cacheの出力により、リポジトリにPowershellパッケージが含まれていないことが確認されます。

Powershell GitHub を見ると、Microsoftは32ビットLinuxシステム用のPowershell用のLinuxパッケージを提供していないようです。ここでLinuxに使用できるすべてのソースおよびバイナリパッケージは、64ビットシステム用です。

ユーザーBobがコメントで指摘しているように、Powershell for Linuxは 。Net Core に依存しています。

ソースからのビルドに慣れている場合は、32ビットパッケージをビルドできる可能性がありますが、それは別の種類の質問です。 Powershellには64ビット命令と最適化に対する厳しい要件があるため、これは実際には機能しない可能性があります。

14
kemotep

PowerShellリポジトリを追加しましたが、これはAMD64バイナリのみを提供します(Microsoftに含めるように指示したアーキテクチャー修飾子によって示されています)。 32ビットシステムでバイナリを実行することはできません...つまり、CPUが64ビットモード(/proc/cpuinfoのプロセッサフ​​ラグでlmを検索して確認できる)をサポートしていない場合システムを適切に構成します。

(ライブKaliシステムを実行している場合は、代わりに64ビットKaliセットアップで再起動することもできます)。

次の手順はKali固有ではなく、Debianの派生物で機能します。

64ビットサポートを追加するには:

  • AMD64を有効にする:

    dpkg --add-architecture AMD64
    
  • システムが最新であることを確認します。

    apt update && apt upgade
    
  • 適切なカーネルをインストールします(これは、インストールされているディストリビューションと現在有効なカーネルによって異なります。uname -rを実行して、使用するパッケージ名を確認します):

    apt install linux-image-4.19.0-kali4-AMD64
    
  • 再起動し、Grubメニューの詳細オプションで、AMD64カーネルを選択します

  • microsoftのPowerShellリポジトリはDebian 9に基づいているため、対応するリポジトリを追加する必要がある場合があります(これは通常、Kaliのセットアップでは推奨されませんが、 Kali自身が文書化しています などです)。

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

    libicu57パッケージがKaliで利用できなくなったため、これがKaliで必要になりました。したがって、 Kali PowerShellインストールガイド に従っている場合でも、これを行う必要があります)

  • もう一度更新してPowerShellをインストールします。

    apt update && apt install powershell
    

これで、ほとんどが32ビットのインストールを実行できますが、必要に応じて64ビットのパッケージをインストールできます。

1
Stephen Kitt