“is duplicate with”が表示されてmigrate2rocky.sh が失敗する

CentOSからRockyLinuxへのマイグレーション時に”〜is duplicate with〜”が多数表示されてマイグレーションできなかったときのメモ。

この原因は複数のパッケージが異なるバージョンが存在しているために表示されるメッセージのようだ。

下記を参考にした。

https://cloudlinux.zendesk.com/hc/en-us/articles/115005427605-How-do-I-fix-duplicated-packages-issue

yum-utilsをインストール

#sudo yum install yum-utils -y

重複したパッケージをリストアップする

#sudo package-cleanup –dupes | tail -n +3

重複したパッケージをカウントする

#sudo package-cleanup –dupes | tail -n +3 | wc -l

重複したパッケージをクリーンアップする

#sudo package-cleanup –cleandupes

上記を実行後、RockyLinuxへのマイグレーションを実施。

#sudo git clone https://github.com/rocky-linux/rocky-tools.git

#sudo cd rocky-tools/migrate2rocky/

#sudo chmod +x migrate2rocky.sh

#sudo ./migrate2rocky.sh -r

20分ほどかかってアップグレードが完了すると「Complete!」と表示されればOK。

その後に以下のような注意書きが表示されたらその中身に従うこと。

CentOS Stream Migration Notes:

自分の場合はSubscription Manager が見つかったから削除しろと表示されたので削除を実施。

Subscription Manager found on system.

#sudo dnf remove subscription-manager dnf-plugin-subscription-manager

Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log

その後再起動して無事にRockyLinuxへマイグレーション完了。

cat /etc/redhat-release
Rocky Linux release 8.9 (Green Obsidian)

自分は更にここから続けて以下を実施してRocky Linux 9へアップグレード完了。

https://phoenixnap.com/kb/upgrade-rocky-linux-8-to-9

WSL+electron+Vue環境でのエラーや作業メモ

■windowsからWSLファイルシステムへのアクセス

エクスプローラを開き、パスに \\wsl$ を入力


■XServer

 WSLで起動したGUIのアプリをWindows上で表示させるためには以下が必要。

https://sourceforge.net/projects/vcxsrv/

インストール後、xlaunchをwindows上で起動します。起動時にMultipleWindows、Start no clientを選択して、さらにClipBoard,Primary Selection、Native opengl、Disabl access controlを選択および追加パラメータとして「-ac」を追加する

■エラー

ERROR in src/background.ts:62:56

TS2571: Object is of type ‘unknown’.   

60 |       await installExtension(VUEJS_DEVTOOLS);   
61 |     } catch (e) {  >
62 |       console.error(“Vue Devtools failed to install:”, e.toString());       |                                                        ^   
63 |     }   
64 |   }   
65 |   createWindow();

■対処

アプリ名/src/background.tsの61行目を } catch (e : any) { に修正する

■WSL上のUbuntuからWindowsのexeファイルできない

ビルドするにはWineが必要(参照 https://wiki.winehq.org/Ubuntu)

sudo dpkg –add-architecture i386

sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
sudo apt update
sudo apt install –install-recommends winehq-stable

WSLでvue+Electorn環境を構築

PowerShellを管理者権限で実行します。

PowerShellのWindowsで以下のように表示されたらPowerShellを最新版に更新してください。

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

なお、バージョンはコマンドで確認できますが、この時、古いバージョンが表示された時は古いバージョンのPowerShellと新しいバージョンが共存している状態となります。

PowerShellをスタートメニューから実行している場合、PowerShell7(x64)のアイコンが新たにあるはずですので、それを今後は実行します。

PowerShellで以下を実行してください。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl –set-default-version 2

下記のコマンドで利用できるディストリビューションが表示されるので、ここではUbuntu-22.04をインストールします。

wsl –list –online

wsl –install -d Ubuntu-22.04

この実行時に以下のように表示された場合、にアクセスして「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードしてインストールしてから再度同じコマンド( wsl –install -d Ubuntu-22.04 )を実行します。

Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????

Press any key to continue…

ユーザ名とパスワードを求められますので、自由に決めて入力します。これはsudoコマンドで必要になるので覚えておきます。

上記でインストールしたものをアンインストールする場合は以下のようにします。

wsl –shutdown

wsl –unregister Ubuntu-22.04

「wsl -l -v」の実行により,Linux 用 Windows サブシステム・ディストリビューションの名前と既定の Linux サブシステムが確認できます。

「*」が既定の Linux サブシステムです。

上記完了後Ubuntuの画面が表示されるので、ここからはUbuntu上で実行します。

$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev

nvmをインストールします。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

source ~/.bashrc

nvm –version

nvmでNode.jsをインストールします。
nvmを使ってインストールできるNode.jsのバージョン一覧を表示します。

nvm ls-remote

ここではNode.jsのバージョン18.15.0を指定してみます。
nvm install 18.15.0

バージョン18.15.0を利用することを明示的に示します。
nvm use 18.15.0

念のためNodeのバージョンを確認します。
node -v

次にVueCLIをインストールします。

npm install -g @vue/cli

下記コマンドでVueがインストールされたことを確認します。

vue –version

下記を実行します。

npm install -g @vue/cli-service-global

以上でVue.jsアプリ作成に必要な準備は完了です。

AWS Lightsailで.htaccessを使いたい

Lightsailで.htaccessを使いたかったのでメモ。

.htaccessの有効化をするには以下のファイルを修正する必要がある。

/opt/bitnami/apps/wordpress/conf/httpd-app.conf

<Directory "/opt/bitnami/apps/wordpress/htdocs">
    Options +MultiViews +FollowSymLinks
    # AllowOverride None ←これを無効にして
    AllowOverride All ←これを追加
    <IfVersion < 2.3 >
        Order allow,deny

上記を修正した後はapacheを再起動します。

$ sudo /opt/bitnami/ctlscript.sh restart apache

これを使いたかったのはWordPressで多言語サイトを構築するためにBogoプラグインを入れたのだが、多言語化したサイトのURLが https://xxxx.xx/en/123 のように言語名をサブディレクトリにしたかったのに https://xxxx.xx/123?lang=en のようになってしまったため。

このため、上記の手順で.htaccessを使用できるようにした後、.htaccessファイルを以下のコマンドで書き込みできるようにし、

chmod 666 /apps/wordpress/htdocs/.htaccess

WordPressの管理画面で[設定]-[パーマリンク]を自分は以下のように設定してこれを可能にした。

/%year%/%monthnum%/%day%/%post_id%

上記設定後はまた権限を以下のように戻しておくこと。

chmod 644 /apps/wordpress/htdocs/.htaccess