⇧ amazing...
WSL 2(Windows SubSystem for Linux 2)でRHEL(Red Hat Enterprise Linux)を使用する
とりあえず、
⇧ 上記サイト様によりますと、利用したいOSイメージを取得して、適当なディレクトリにマウントしておく必要がありそう。
yum、ないしは、dnfが利用できる環境で作業する必要があるようです。
VirtualBoxでRed Hat Enterprise Linux 8の仮想マシンを作成してあったので、IPアドレスを確認。enp0s8のIPアドレスにSSH接続できる模様。
WinSCPで接続できました。
まずは、Red Hat Enterprise Linux 8の仮想マシンにRed Hat Enterprise Linux 9のisoイメージを配置する必要がある模様。
Red Hatのアカウントがあれば、isoイメージがダウンロードできるのでダウンロードしておく。
WinSCP でアップロード。
流石にファイルサイズが大きいので、時間がかかります。
ディレクトリを作成して、アップロードできたisoイメージを作成したディレクトリにマウントする。
mkdir -p /opt/RHEL-9 mount -o loop rhel-baseos-9.0-x86_64-dvd.iso /opt/RHEL-9
続いて、リポジトリを作成。
sudo vi /etc/yum.repos.d/rhel9-local.repo
以下の内容を記載。
[Local-BaseOS] name=Red Hat Enterprise Linux 9 - BaseOS metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///opt/RHEL-9/BaseOS/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [Local-AppStream] name=Red Hat Enterprise Linux 9 - AppStream metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///opt/RHEL-9/AppStream/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
で、:wqで保存。
Subscription ManagerのCacheを消すってことかな?
sudo dnf clean all sudo subscription-manager clean
Subscription Managerの警告をOFFにするらしい。
sudo vi /etc/yum/pluginconf.d/subscription-manager.conf
enable=1となっているのを、
enabled=0に修正して、:wqで保存。
で、インストール先を指定して、作成したリポジトリからインストール。
sudo dnf -y -c /etc/yum.repos.d/rhel9-local.repo --installroot $PWD/rhel9-rootfs --disablerepo "*" --enablerepo "Local-BaseOS" groupinstall "Minimal Install"
/etc/yum.repos.d/rhel9-local.repoのgpgcheck=0にしてみる。
う~む、どっちにしろエラー。
調べたところ、
⇧ 上記サイト様を参考に、問題となってるモジュールをリセットしてみる。
dnf module reset httpd dnf module reset -y satellite-5-client
問題は無くなったのですが、エラーは変わらず...
/etc/yum.repos.d/rhel9-local.repoを変更してみたけど、
変わらずエラー。
う~む、Red Hat Enterprise Linuxのバグ?
仕方ないので、バージョン9.1のisoイメージに切り替えてみる。
マウントし直す。
再度、試してみたけど、
⇧ 同じパッケージでエラーになる...
起動してるRed Hat Enterprise Linuxでtar.gzを作って対応する
なんか、エラーが解消できそうにないので、VirtualBoxで稼働してるRed Hat Enterprise Linuxからtar.gzを作ったものを利用することにします。
⇧ 上記サイト様を参考にさせていただきます。
/直下のディレクトリを圧縮。
cd / tar cvfzp rhel8.tar.gz bin dev etc home lib lib64 media opt run root sbin srv usr var
/opt/RHEL-9/BaseOS/に中途半端にインストールされてるものが残ってたのと、rootディレクトリにRed Hat Enterprise Linux 9のisoイメージのファイルが配置されてたんで、圧縮に想像以上に時間がかかりました...。
で、圧縮されたファイルは、Windows側にダウンロードします。
⇧ WinSCPだと相当時間がかかるので、scpコマンドなどでCUIでダウンロードする方が良いかもしれません、というか時間かかり過ぎるのでWinSCPは断念しました。
転送するファイルサイズを確認したところ、
で、およそ24GBということなのだけど、
というか、scpコマンドでも結構時間かかるっぽい...う~む、isoイメージのファイルを削除してから圧縮するべきでしたな...
3時間ぐらいで25%ってことは、単純計算、12時間かかるってことで、朝一で実施しとかないと終わらないってことね...
isoイメージファイルを削除して圧縮し直して転送し直すことにしました、流石に12時間もかけてられん...。
に圧縮されました、それでも9GBか...。だいぶ早く転送が完了いたしました。
ちなみに、
⇧ 通信の暗号化の種類によって転送のスループットが変わるようです。
そもそもとして、
⇧ scpコマンドを使わないという選択肢があるっぽい。ただ、ncコマンドはセキュリティ的な安全性は無いということみたいね...
そして、悲報...
scpは設計が非常に古いため、新しいセキュリティ機能の追加やプログラムの修正が難しいとされており、OpenSSHはscpについて「時代遅れで、柔軟性がなくすぐに修正できない」プロトコルだと表明しています。
古くなったscpの代替として推奨されているコマンドが「sftp」や「rsync」コマンドです。
開発者たちが慣れ親しんだ「scp」コマンドはなぜ「時代遅れで柔軟性がなくすぐに修正できない」のか? - GIGAZINE
⇧ scpコマンドの利用は芳しくないらしい...
推奨するなら使用方法を詳細に説明してほしいところですかね...
というか、Windowsの場合、標準でrsync使えないらしいんだが...推奨するんなら標準で使えるようにしといて欲しいよね...
ダウンロードできたら、WSL 2(Windows SubSystem for Linux 2)へインポート。
wsl --import [DistroName] [InstallLocation] [InstallTarFile]
ユーザー追加など。
RHEL(Red Hat Enterprise Linux)を導入できたのだけど、
急激にCドライブの容量が逼迫したので、
⇧ 上記サイト様を参考にアンインストール。
アンインストールしたんだけど、存在したはずの50GBほどの空き容量が戻ってこない...
WSL 2(Windows SubSystem for Linux 2)でインポートした途端に逼迫したので、WSL 2が悪さをしたんだとは思うけど...本当、ブラックボックス過ぎるな...
⇧ 上記サイト様を参考に、Cドライブ内でサイズの大きなファイルを確認してみる。
Get-ChildItem -Path "C:\" -Force -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Length -ge 1GB} | Select-Object Fullname, Length
DiskInfoというツールでも調べてみる。
⇧ C:\Usersでドライブ容量の60%ほど消費されていて、
⇧ RHEL8(Red Hat Enterprise Linux 8)のtar.gzを作るために作業した仮想マシンのディスクサイズが妙に大きくなっている...
とりあえず、
⇧ 上記サイト様を参考に、サイズを削減しようと思ったのだけど、
⇧ 1.32GBのサイズなのでそこまで消費してない...
一旦、WSL 2(Windows SubSystem for Linux 2)とは関係ない、isoイメージファイルとかの削除などで対応。
WSL 2(Windows SubSystem for Linux 2)がブラックボックスす過ぎて、気軽に使えない...
あと、VirtualBoxの仮想マシンのディスクサイズが急に大きくなった原因もよく分からずです...
ディスク使用率を確認してみたのだけど、
⇧ 14GBとぐらいで、45.54GB消費されてる内の残りはどこで消費されてるん?
全てのファイルシステムを確認してみるも、
⇧ ディスクを大量消費しているものは見当たらんのだけど...
う~む、どうやら、
⇧ 「.vmdk」ってファイルがやんごとなき容量を使ってるっぽいんだけど、
VMDK (short for Virtual Machine Disk) is a file format that describes containers for virtual hard disk drives to be used in virtual machines like VMware Workstation or VirtualBox.
⇧ で、「virtual hard disk drivers」はと言うと、
A disk image, in computing, is a computer file containing the contents and structure of a disk volume or of an entire data storage device, such as a hard disk drive, tape drive, floppy disk, optical disc, or USB flash drive. A disk image is usually made by creating a sector-by-sector copy of the source medium, thereby perfectly replicating the structure and contents of a storage device independent of the file system. Depending on the disk image format, a disk image may span one or more computer files.
Virtualization
A hard disk drive or solid-state drive in a virtual machine is implemented as a disk image, stored either as a collection of flat files, collectively called a split flat file, where each one is typically 2GB in size, or as a single, large monolithic flat file.
Disk image formats include the VHD format used by Microsoft's Hyper-V, the VDI format used by Oracle Corporation's VirtualBox, the VMDK format used for VMware virtual machines, and the QCOW format used by QEMU.
⇧ 仮想マシンのディスクってことなんかね?
VirtualBoxで仮想ディスク(vmdkファイル)を「可変サイズのストレージ」に設定している場合、一度増えた容量は使っていなくても増えたままになってしまう。
そのため、本来のサイズよりもvmdkファイルで確保している領域が大きくなってしまい、ディスクをひっ迫する原因となる。
⇧ な~るほど、VirtualBox Managerで確認したところ、
⇧ 確かに、「可変サイズのストレージ」になっておりました...
時間がある時に、「.vmdk」ファイルの圧縮をせねばですかね...
それにしても、WSL 2(Windows SubSystem for Linux 2)に導入したRHEL(Red Hat Enterprise Linux)を使う間もなく削除することになるとはね...
毎度モヤモヤ感が半端ない...
今回はこのへんで。