CentOS Stream 8 から AlmaLinux(beta)への移行

CentOS 8(Streamではない)からAlmaLinux(beta) へ移行できることは先日の記事に書いた。

今度は、CentOS Stream 8からAlmaLinux(beta) で移行できるか試してみた。

環境

$ cat /etc/redhat-release
CentOS Stream release 8

$ rpm -qa | grep -i centos
centos-stream-repos-8-2.el8.noarch
centos-stream-release-8.4-1.el8.noarch
centos-gpg-keys-8-2.el8.noarch

手順

手順は、先日のStreamでないCentOS 8の記事を参照。

shobon.hatenablog.com


但し、「方法・その1」のスクリプトでは、エラーになる。

# bash almalinux-deploy.sh
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release package                                      OK
Remove centos-gpg-keys package                                        OK
Remove centos-linux-repos package                                     OK
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
        ファイル /etc/centos-release (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /etc/redhat-release (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /etc/rpm/macros.dist (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /etc/system-release (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /etc/system-release-cpe (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /usr/lib/os-release (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /usr/lib/systemd/system-preset/90-default.preset (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。
        ファイル /usr/share/redhat-release (パッケージ almalinux-release-8.3-3.el8.x86_64 から) は、パッケージ centos-stream-release-8.4-1.el8.noarch からのファイルと競合しています。


という訳で、方法2で試してみた。

前述の「centos」を含むパッケージを削除

# rpm -e --nodeps centos-stream-repos centos-stream-release centos-gpg-keys

AlmaLinuxのリポジトリをインストール

# rpm -ivh https://repo.almalinux.org/almalinux/8.3-beta/BaseOS/x86_64/os/Packages/almalinux-release-8.3-2.el8.x86_64.rpm

OSパッケージ群の更新

# dnf distro-sync
・
・色々updateされる
・
AlmaLinux 8.3 - BaseOS                                                                                                                                                              3.3 MB/s | 3.4 kB     00:00
GPG 鍵 0xC21AD6EA をインポート中:
 Userid     : "AlmaLinux <packager@almalinux.org>"
 Fingerprint: E53C F5EF 91CE B0AD 1812 ECB8 51D6 647E C21A D6EA
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
これでよろしいですか? [y/N]: y

初回はGPG鍵のインポートを要求される。

OS情報は変わった模様。

# cat /etc/redhat-release
AlmaLinux release 8.3 Beta (Purple Manul)

後はOSを再起動して、サービスの稼働等を確認する。



Stream 8からの移行については、公式な手順が見つけられなかった。
操作しているように見えても、この手順が正しい、合っているかは分からない(´・ω・`)

今月には、AlmaLinux のほかRocky Linuxもリリース予定となっているので、CentOS 8界隈は色々とありそう。

VMwareの仮想マシンがセキュアブートの影響で起動しなくなった

以下の記事でCentoS 8→AlmaLinux(beta)へ移行後、OSを再起動した際に陥った現象。

shobon.hatenablog.com


OSを再起動したら、画面に「Security Violation」と表示された画面でストップし、Linuxが起動しなかった。

f:id:savakan:20210228094540p:plain


環境は、次の通り。

  • VMware ESXi 7.0
  • CentOS 8→AlmaLinuxへ移行した後に再起動した


以下が類似?あるいは関係している気がするが、調査しきれていない。
UEFI Secure Boot: system fails to boot with "Verification failed: (0x1A) Security Violation - Red Hat Customer Portal
RHEL8.2 および8.3 betaでSecure Bootが有効だとインストールができない - Qiita

rhel 8 セキュアブート」などでGoogle検索すると、現象はHITする。


VMware環境のため、
 仮想マシンの設定の編集>仮想マシン オプション>起動オプション>セキュアブート
のチェックを外すと起動する。

f:id:savakan:20210228095048p:plain

CentOS 8.3 から AlmaLinux(beta)への移行

CentOS 8(Stream ではない)から、AlmaLinux(beta)への移行を試してみた。

環境

$ cat /etc/redhat-release
CentOS Linux release 8.3.2011

$ rpm -qa | grep -i centos
centos-linux-repos-8-2.el8.noarch
centos-linux-release-8.3-1.2011.el8.noarch
centos-gpg-keys-8-2.el8.noarch

手順

手順は、以下を参考にすると2つ。
How to migrate from CentOS to AlmaLinux - LinuxConfig.org
The Unofficial Way To Migrate To AlmaLinux From CentOS 8 - OSTechNix

【方法・その1】
GitHubでホストされている公式のalmalinux-deployスクリプトを利用する方法

【方法・その2】
上記の手順が提供される前までの手法。あるいは、上記でうまくいかない場合などに利用する方法


現段階では移行先がベータ版なので、ベータ版ではないリリースがあった際には、手順の再確認が必要。

方法・その1

移行スクリプトを入手

# curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

実行権を与えて実行

# chmod +x almalinux-deploy.sh
# bash almalinux-deploy.sh
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release package                                      OK
Remove centos-linux-release package                                   OK
Remove centos-gpg-keys package                                        OK
Remove centos-linux-repos package                                     OK
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:almalinux-release-8.3-3.el8      ################################# [100%]
Install almalinux-release package                                     OK
・
・色々アップグレード/ダウングレードされる
・
完了しました!
Run dnf distro-sync -y                                                OK

Migration to AlmaLinux is completed, please reboot the system

切り替わったか確認。

$ cat /etc/redhat-release
AlmaLinux release 8.3 Beta (Purple Manul)

OSを再起動して、各サービスなどを確認する。

このスクリプトを利用する方法の場合、実行時にいくつかの前提条件をチェックしてくれる。
(Streamの場合や、セキュアブートが有効になっているとエラーになる)

方法・その2

前述の環境にところで表示された「centos」を含むパッケージを削除
GUI環境の有無でパッケージが異なる。詳細は、上記の参考リンクを参照。)

# rpm -e --nodeps centos-linux-repos centos-linux-release centos-gpg-keys

AlmaLinuxのリポジトリをインストール

# rpm -ivh https://repo.almalinux.org/almalinux/8.3-beta/BaseOS/x86_64/os/Packages/almalinux-release-8.3-2.el8.x86_64.rpm

OSパッケージ群の更新

# dnf distro-sync
・
・色々アップグレード/ダウングレードされる
・
AlmaLinux 8.3 - BaseOS                                                    
                                                                          
                                3.3 MB/s | 3.4 kB     00:00
GPG 鍵 0xC21AD6EA をインポート中:
 Userid     : "AlmaLinux <packager@almalinux.org>"
 Fingerprint: E53C F5EF 91CE B0AD 1812 ECB8 51D6 647E C21A D6EA
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
これでよろしいですか? [y/N]: y

OS情報は変わった模様。
ここだけ見る限りは、移行されたように見える。(ベータ版だけど)

$ cat /etc/redhat-release
AlmaLinux release 8.3 Beta (Purple Manul)

インストール後、OSを再起動して、必要なサービス等を動作確認する。
f:id:savakan:20210228094112p:plain

dnfコマンドの参照先が、AlmaLinuxのリポジトリになったことや、適当なパッケージの検索やインストール/updateができるかも確認する。


【2021/3/1 追記】
2/28の公開時点では、2つの移行手順のうち片方だけでしたが、3/1に両方の手順を記載しました。
3/1時点では、betaではなく

AlmaLinux release 8.3 RC (Purple Manul)

のようになっている。

「プリンターはFlashを印刷できませんでした」の印刷エラーメッセージが出る

年が明け、追加の年賀状を印刷しようとしたところで、表題のメッセージが出た。

f:id:savakan:20210102142617p:plain


が、印刷物を見た限り、きちんと印刷されているように見える。


環境は、以下の通り。

  • Windows 10 20H2
  • はがきデザインキット 14.0.0(2021年1月2日時点で最新)
  • Adobe Air 32.0.0.215
  • プリンタ:Brother DCP-J567N

(こちらの記事を参照:プリンタが壊れたので新しいのを買った - しょぼんメモリ (´・ω・`)


先月に印刷した際には、こんなメッセージは発生しなかった。

「プリンターはFlashを印刷できませんでした」というメッセージから、2020年12月31日でサポートが終了したFlashが関係しているように思えるが、ネット上でそれらしい情報は得られず。
(今後、出てくるかもしれないけど)


イベントログを見てみても、関係してそうなログが見つからず。

「はがきデザインキット」ではなく、Word/PDF文書などの印刷では上記のメッセージは表示されなかった。

「はがきデザインキット」から、プリンタではなくPDFへ印刷してみると、メッセージは表示されない。

やはりFlashが関係しているのかもしれないが、調べられそうな項目が思いつかず保留。

今回は印刷できたと思っているが、いずれ同じメッセージが出て、印刷ができなかった時には対処せざるを得ないので、メモしておく。
(何かわかったら追記予定)

CentOS 8.3 から CentOS Stream 8 へ移行する

CentOS 8 が2021年で終了!?と、ビックリな件名のニュース記事も見かけた訳ですが、書き残しておこうと思います。

情報源は、以下です。

blog.centos.org

mag.osdn.jp


CentOS 8.x(従来のマイナーバージョン)は終了してしまい、ローリングリリースのStream になるようです。

Stream やRHELFedoraの関係性については、赤帽さんのBlogで解説されています。

rheb.hatenablog.com


色々と想うところはあるのですが、既にあるCentOS 8をどうしようか?というのが本記事です。

情報を探していると、公式FAQに書いてありました。
centos.org

Q7: How do I migrate my CentOS Linux 8 installation to CentOS Stream?

という訳で、テスト用マシンでやってみました。


【環境】
$ cat /etc/redhat-release
CentOS Linux release 8.3.2011


前述のFAQに書いてある通り、パッケージをインストールしてコマンドを打つだけです。

# dnf install centos-release-stream
# dnf swap centos-{linux,stream}-repos
# dnf distro-sync

# cat /etc/centos-release
CentOS Stream release 8

途中、色々なパッケージがインストールされたりupdateされたりしましたが、FAQに書いてあった通りでした。

現状、8.3 とStreamで差が大きくないでしょうから、移行時にエラーは出にくい気がしますが、
これからStream で長く運用していくうえで、従来までは無かった問題が出てくるかもしれません。


今までは、
 Fedora - RHEL - CentOS
という関係だったものが、
 Fedoa - CentOS - RHEL
という構造になり、メリット・デメリットがあるのでしょうけれど、
個人的には従来のようなクローンOSだった方が、嬉しかったです(´・ω・`)


【2020/12/23 追記】
コマンドの部分に「dnf swap centos-{linux,stream}-repos」の行を追加。
(12/9 に記事を書いた時点では、元のサイトにも書いてなかったような気がする・・・?)

ミラーリポジトリが提供されなくなったCentOS 6でyum update/search/install などを使う方法(別解)

先日書いた以下の記事への検索流入が多いので、別な方法も書いてみる。
shobon.hatenablog.com


目的は上記の記事と同じ。
サポート終了となってyumコマンドが失敗する環境にて、
2020年11月末までのパッチを適用したい場合や、何らかの理由でCentOS 6のパッケージをインストールしたい場合に、
Vaultリポジトリを使うようにすること。

前回の記事と設定する手順が異なるので、

  • 前回の記事または今回の記事のいずれかで設定 ・・・OK
  • 前回と今回の記事の両方を設定 ・・・NG

です。
両方見て、設定しやすい方を選べば良いと思います。


今回の方法は、2つの設定ファイルを編集します。
設定変更前に、ファイルのバックアップを推奨。

<手順1>
/etc/yum.repos.d/CentOS-Base.repo にて、以下の3つの配下にenabled=0 の行をを追加。

  • [base]
  • [updates]
  • [extras]

デフォルトでは、CentOS-Base.repoの [centosplus]や[contrib] の配下に同じ設定があるので参照。
これでミラーサーバのリポジトリが無効になります。


<手順2>
/etc/yum.repos.d/CentOS-Vault.repo の末尾に、CentOS 6.10 のURL定義を追加します。
以下は、CentOS-Vault.repo に記載されていた CentOS 6.9 までの設定を参考にした例です。

[C6.10-base]
name=CentOS-6.10 - Base
baseurl=http://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

[C6.10-updates]
name=CentOS-6.10 - Updates
baseurl=http://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

[C6.10-extras]
name=CentOS-6.10 - Extras
baseurl=http://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

enabled=1 の行を入れる事で、このリポジトリを参照するようになります。
もし、contrib や centosplus も参照するならば、同様に追加します。


設定後、キャッシュを削除してupdateやsearch/install等を試します。

# yum clean all
# yum update/search/install など

ミラーリポジトリが提供されなくなったCentOS 6でyum update/search/install などを使う方法

2020/11/30 でCentOS-6 がサポート切れとなった事に伴い、yum でエラーが発生するようになった。
yum-cron で失敗してroot宛にメールが来て気付くケースが多いかもしれない。

ログインしてyum updateしても、下記のようなエラーになる。

# yum update
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
更新処理の設定をしています
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
エラー: Cannot find a valid baseurl for repo: base

CentOS-5 のサポートが終了した時には、
http://ftp.jaist.ac.jp/pub/Linux/CentOS/5.11/readme
へアクセスするとリポジトリの書き換え先URLが記載されていた。

http://vault.centos.org/5.11/

同じように、
http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.10/readme
へアクセスしてはみたものの、サポートが終了した旨しか書いていない。

が、
https://vault.centos.org/
へ行ってみると、
https://vault.centos.org/6.10/
も用意されているので、参照するリポジトリURLを書き換えれば、
CentOS-6 でパッケージの追加や更新の適用は可能。

サポートは終了しているので、後継OSへ移行するのが推奨されるけど、
まだCentOS6を使わなければならない場合は、
せめて11月末までにリリースされたパッケージのアップデートを適用しておきたいところ。

設定ファイルのバックアップを取ったうえで、
/etc/yum.repos.d/CentOS-Base.repo を以下のように書き換える。

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://vault.centos.org/6.10/os/$basearch/

[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://vault.centos.org/6.10/updates/$basearch/

[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://vault.centos.org/6.10/extras/$basearch/

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://vault.centos.org/6.10/centosplus/$basearch/

[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
 ↓
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
baseurl=http://vault.centos.org/6.10/contrib/$basearch/

あとは、キャッシュを削除してから update や search/install を行う。

# yum clean all

# yum update
 あるいは
# yum search ***
 など


【2020年12月8日】
別な方法も書きました。

shobon.hatenablog.com