2019-09-26そのうち記事にするが、急いでCentOS8をインストールする用事があったので、リリース直後のCentOS8を物理マシンにセットアップしてみた。するとなんだかいろいろ奇妙なことが起こるので、一覧にしていくことにした。したら随時アップデートするハメになるかもしれない。いうか備忘録を作らないと最終的な調整のために追い付かないような気がするので。)したら、tarがないと怒られた。Minimumにtarを入れない判断はどうなのか。まあdnfで入れたけどさ。lsの挙動が変なんか左側にへんなスペースが入るなーおかしいなと思っていたら、こんな事情だった。ファイル名にメタ文字が入るとシングルクォートで括るのだが、そのときクォートの分だけパディングが入って、そのせいで段組みが1文字分ずれるのだ。左側に1文字分スペースが入るこれについてはTwitterでコメントを頂いた。設定しとくといいと思います。(8.22)のmanpageを見ると、実は載っているが微妙に異なる。(8.30)はこうだ。quotingmanpageには以前のバージョンから-Qや--quoting-styleなどのオプションはあるが、そもそもメタ文字をクォートする動作そのものについては何の説明もない。いつどのタイミングか分からないが、メタ文字の扱いが突然変更になったようだ。-Nによる動作の違いを比較してみると、-Nオプションの比較クォートされたファイルを含むと、有無を言わさずすべてのカラムにパディングが入るようだ。自分が言いたいのはこうだ。それは美しいのか?いずれにせよそれはオプションにして、デフォルトは「これまで通り」にしてほしい何でもかんでも「新しく、変える」のはヤメてほしいとにかくワークアラウンドとして、-Nをつけるしかないようだ。.vimrcを読み込めていないのだ。なんでそんなことが起こるのか分からず、.vimrcを読むルールを改めて調べてみたが、たとえばvimのマニュアルを見ても、特に何も書いていない。そこで「vimがどの.vimrcを読んだか」を調べる方法を調べた。.vircを読むそうだ。このような記述はvimのマニュアルにはまったく書いてないので、どうしてこうなったのか理解できない。何かの拍子にコロっと.vimrcに戻ることも考えられるので、symlinkを置いておくのがよいのではないかと思っている。【9/28追記】Twitterでこんな情報を見つけた。2019示されたbugzillaはこちら。.vimrcvim-minimalは他のvimパッケージ用に書かれた.vimrcを読むとエラーを吐くので、.vimrcを読むべきではないという結論に至ったようだ。CentOS8になり、デフォルトのvim-minimalは.vimrcを読まなくなったわけである。vimに対する自分の態度は以前も記事にしたので繰り返さない。vim自身の互換性の問題についても特にコメントはない。.vircで大丈夫だと思う。インストーラでWifiを使ったのにWifiドライバはインストールしてくれないMinimumインストールが元凶なのかもしれないが、一応メモ。GUIインストーラでWifiを設定してインストールし、DHCPでIPアドレスを貰い、NTPも受信でき、timezoneも設定でき、特に問題なくインストールが終わってリブートしてみると、NetworkManager-wifiパッケージが入っていないのでネットに繋がらない。ネットに繋がらないのでdnfが動かず(一時的に)詰んでしまう。手動でインストールしなければならない。Wifiの設定はインストール時に作ったものが残っているので、そのままズバっと繋がる。インストーラのバグなのではないかと思う。自宅LAN環境で、ルータをCentOS8に変えたら、名前解決に5200msぐらい時間がかかるようになってしまった。IPv6がらみの問題っぽいが、徹底的にIPv6設定を排除しているにも関わらず事態が改善しない。問題はリゾルバっぽいなと思い立ち、/etc/resolv.confに次の設定を追記したら直った。single-requestこれはglibcに対して「問い合わせの際にIPv4/IPv6アドレスを同時に問い合わせるのを抑制し、順に問い合わせる」という動作に変える。manpageにはこうある。process).当初、記述を見て「IPv6を問い合わせちゃうんだから事態は解決しないのでは...」と思っていたのだが、職場のHさんの助言で試したら改善したというオチだった。自宅のアクセス回線事業者が提供するDNSサーバが、この問題に当たっていたことが根本の原因だったようだ。クラウドのVMでは再現しないのでだいぶ首をひねることになった。いうわけでどうやらglibcのアップデートに伴いリゾルバの動作が変わったようなのだが、CentOS7のglibcのバージョンをチェックしてみると2.17だという(CentOS8は2.28)。なんか言ってることが合致しない...が、問題は解決したのでワークアラウンドということで示しておくことにする。蛇足だが、resolv.confはNetworkManagerが上書きしてしまうので、固定化するために/etc/NetworkManager/NetworkManager.confの以下のセクションに追記しなければならない。nftablesがdisabled【10/4追記】CentOS8では、iptablesが廃止されnftablesに移行になったことがハイライトのひとつだった。nftablesでいろいろルールを作ったら、当然リブートに備えてセーブしておき、起動時にはちゃんとロードされるようにしておきたい。そのためにはたいていsysconfigディレクトリを見ればよい。/etc/sysconfig/nftables.confがあって、ご丁寧にこんな風に書いてあった。"/etc/nftables/ipv6-nat.nft"好きなルールを追記するとか、デフォルトのルールをコメントアウトしてロードできるというわけだ。ところが、標準インストールではこの仕組みは働かない。nftablesdisableddisabledになっているのだ。このためブート時のロード機構も動かず、ファイルにいくら記述しても無駄、ということになってしまう。/usr/lib/systemd/system/nftables.service.しておかなければならない。ついでに言うと、firewalldと衝突しないように注意が必要だ。