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

vsftpdで「500 oops bad bool value in config file for ...」のエラーになる

【環境】
CentOS Linux release 7.8.2003 (Core)
vsftpd-3.0.2-27.el7.x86_64


ちょっとテスト環境にFTPサーバが欲しくてvsftpを設定したものの、
次のようなエラーログが出てサービスが起動しない。

500 oops bad bool value in config file for use_localtime


エラーメッセージから察するに、「use_localtime」付近にエラーがありそうなものの、
設定ファイルを見ても分からない。

と、viでカーソルを移動していたら、use_localtime の後ろに半角スペースが入ってので、これを削除したら直った。

半角スペースがあっても書式エラーなのか・・・

他のソフトウェアでは設定値の後ろに半角スペース、コメントが書いている事も多いうえに、

スペースが原因だと分かりにくい(´・ω・`)

autofs でマウント時にSMBバージョンのログが出る

【環境】
$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

$ rpm -qa | grep autofs
autofs-5.1.4-40.el8.x86_64


autofsにて、次のような接続設定である。

/mnt/nas -fstype=cifs,iocharset=utf8,credentials=/path-to-credential  ://192.168.1.5/path

これでマウントすると、/var/log/messages に以下のようなログが出る。

Oct 18 20:10:01 cent8 kernel: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.


マウント時にdialectが指定されておらず、CIFS(SMB1)より安全なSMB2.1以降(SMB3など)で接続されたとのメッセージ。

接続時にバージョンを指定すれば、このログの出力を抑制できる。

/mnt/nas -fstype=cifs,vers=2.1,iocharset=utf8,credentials=/path-to-credential  ://192.168.1.5/path

もし、SMB1しかサポートしていないような古いNASへ接続する場合には、
vers=1.0 を指定すれば良い。