LXC に PowerShell をインストール
〜 RockyLinux 版 〜
2024-11-22 作成 福島
TOP > tips > lxc-ps1
[ TIPS | TOYS | OTAKU | LINK | MOVIE | CGI | AvTitle | ConfuTerm | HIST | AnSt | Asob | Shell ]


前置き

普通に Linux で PowerShell を動かしても面白くないので、LXC にインストールしてみました。(簡単に消せるし)
フルのディストリビューションより LXC のほうが小規模 (デフォルトのライブラリが多くない) なので、
ちょーーっとだけハードルが高いのです。
LXC は予め構築しておいてください。

Linux 版 PowerShell 公式の説明はココです。
なお、Linux 版にバージョン 5.1 はありません。(Windows10/11 のデフォルトは 5.1)
なので、Linux 版と Windows 版を同じバージョンにするには Windows 側を変更する必要があります。

Linux で PowerShell を動かしたい人なんて、そうはいないと思うけどまぁどうぞ。


1. PowerShell のインストール

1-1. PowerShell のパッケージをダウンロードしておく
$ wget https://github.com/PowerShell/PowerShell/releases/download/v7.4.6/powershell-7.4.6-1.rh.x86_64.rpm
$ ls -ogh powershell-7.4.6-1.rh.x86_64.rpm
-rw-r--r--. 1 68M Oct 22 22:10 powershell-7.4.6-1.rh.x86_64.rpm  
公式で github.com なのかぁ。自社製品の頒布サイト名を自社ブランドにしないのは Linux 向けだから?
バージョンは 7.4.6 で、2024-10-22 に作成されたもの。
ファイルサイズは 68MB だけど展開すると 176MB になる。
1-2. ICU (ユニコードとローカライゼーションのライブラリ) をインストール
$ su
# dnf install -y libicu
1-3. PowerShell をインストール
# dnf install -y powershell-7.4.6-1.rh.x86_64.rpm
削除するときは普通に dnf remove powershell をすればいい。

# exit
$ ls -ogh `which pwsh`
lrwxrwxrwx. 1 32 Oct 16 16:51 /usr/bin/pwsh -> /opt/microsoft/powershell/7/pwsh  
$ ls -ogh /opt/microsoft/powershell/7/pwsh
-rwxr-xr-x. 1 71K Oct 16 16:50 /opt/microsoft/powershell/7/pwsh                  
$ du -sh /opt/microsoft/powershell/7/
176M    /opt/microsoft/powershell/7/                                             


2. 使ってみる

$ pwsh
ディレクトリ表示の確認
PowerShell 7.4.6
PS /home/admin> dir 

    Directory: /home/admin

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
-rw-r--r--      admin admin      10/22/2024 22:10     71262521 powershell-7.4.6
                                                               -1.rh.x86_64.rpm

PS /home/admin> exit 

Windows のターミナルとは表示が異なる。

$ echo 漢字は表示できますか? > utf8.txt
$ cat utf8.txt | nkf -s > sjis.txt
$ pwsh
漢字表示の確認
PowerShell 7.4.6
PS /home/admin> Get-Content ./utf8.txt                                       
漢字は表示できますか?
PS /home/admin> Get-Content ./sjis.txt 
���� �͕\���ł��܂����H         ← 文字化け
PS /home/admin> exit 

たぶん、使っている端末ソフトの調整をサボっているせい。
きっと内部ではうまいことやってくれるだろう。深く考えないことにする。

$ pwsh
Start-Sleep の挙動の確認
PowerShell 7.4.6
PS /home/admin> for ( $i = 0 ; $i -lt 50 ; $i ++ ) { Start-Sleep 0.1 } ; Write-Output "Done" … 5 秒経過 …
Done
PS /home/admin> exit 

バージョン 5.1 (Windows のデフォルト) だと瞬時に終了する)