“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

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

rm ディレクトリを削除

Linuxでファイルやディレクトリを削除するためのコマンド。

ディレクトリを削除するには、下記のように「-r」オプションをつけます。
再帰的にディレクトリ内のファイルも含めて全て削除されます。
$ rm -r ディレクトリ名

以下のように「-f」オプションを追加することで、確認なしで削除もできます。

$ rm -rf ディレクトリ名

lightsailのapacheを再起動

下記コマンド一発でした。
sudo /opt/bitnami/ctlscript.sh restart apache

sftpを利用してlightsailに接続する際は以下を参照。
https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-connecting-to-linux-unix-instance-using-sftp