ブログネタ飽和病により更新が停滞しているので、時事ネタで軽くリハビリです。ある意味、ネタ不足の時より書けない気がする・・・
2019/09/24 にCentOS 8.0がリリースされたので、開発環境用にインストールと、いつもやるようなベースシステムの構築をやってみたのでメモメモです。
リンク集
サッと見ただけですがOSインストール
私の場合、適当なLinux環境で、インストールイメージから QEMU + KVM で起動して、VNC でグラフィカルなインスコ画面を表示して、イメージファイルを完成させます。そのあとは、普通にOSを起動してSSHで作業です。全体の流れは今までとたいして変わらないので、インストール中に気になったことでも書いておきます。
インストールイメージ
OSイメージのダウンロードは、CentOS Mirror でリストを確認して、好きな所を選びます。例えば、この辺 にお世話になります。昔と違ってネットワークが速いので、boot.iso でも dvd1.iso でもさほど変わらないのですが、ネットワークインストールである CentOS-8-x86_64-1905-boot.iso を使えばいいと思います。
起動すると、いつも通りキーボード(+言語)を選択したあとに、インストールパッケージの選択やディスクパーティションの管理が始まります。
ネットワーク
ネットワークインストールなので、いったんOFFになっているのを、ONにしてあげる必要があります。Fedora29 あたりを触ったときもそうでしたが、ネットワーク名が eth0 とかじゃなくて ens3 という名前になっています。どっかのスクリプトでアドレス管理するのに、ip a コマンドからの grep eth 的なことしてたら変更が必要になるのかな、みたいな。
ベースレポジトリ
ネットワークインストールなのでレポジトリを利用させてもらうのですが、初期値である近辺からの自動取得だとエラーになったので、自分でURLを入力します。CentOS7 までのメモを見て、似たような感じで入力したらエラーになったので、置き場が変わったのかな、と思います。ちゃんと中身は見てからやんないとバチがあたりますね。例えば、下記のようなURLを入力します。BaseOS の下ということになります。
http:// を選択しつつ、それ以下を入力します。コンソール作業のめんどいところですが、ほぼココだけなので我慢しる!
通ったら、最小限の構成 でも選択しておきます。
KDUMP
新要素です。デフォでONなので、環境的にいったんOFFにしました。ちゃんとこの辺を見て、どんなものなのかは知っておくとよさげです。ディスクパーティション
デフォにするにしても、一回は選択して完了させる必要があります。初見だったので、デフォでいきましたが普通に /boot が ext4 で、メインパーティションは XFS でした。この辺は完全にお好みなのでスルーで。
OSの基本システム構築
開発用のベースイメージなのでたいしたことはしてないし、たいした出来事もなかったのですが一応。言語や時刻
インストール時に選択できるのですが、逃した時、変更したい時はこのあたりですね。
1 2 3 4 5 6 |
# ホスト名 hostnamectl set-hostname "$HOSTNAME" # タイムゾーン timedatectl set-timezone Asia/Tokyo # 言語 localectl set-locale LANG=ja_JP.utf8 |
yumパッケージ管理
yum が dnf になったということですが、まぁ普通に yum install できますし、ぼちぼち気持ちを dnf に切り替えていけば良いかなと。最小構成になってるし、コンテナじゃないので基礎パッケージはそれなりにドカンと入れちゃうのですが、CentOS7 の時の一覧をわりとそのままの名前で入れることができました。Python関連が 2 -> 3 になった影響で、そのへんは無いよ、とか言われましたが、体感はなにも不満がないです。
/etc/yum ディレクトリだったのが /etc/yum -> /etc/dnf へのシンボリックリンクになっているのに対し、/etc/yum.repos.d/ はそのままディレクトリだったりして、ふ~むってなったので、下記あたりをあとで読んでおくとします。
SELinux
SELinux警察がきそうですが、圧倒的速度でOFFにします。小さい設定のわりに大きな影響なので、いろいろ設定したあとに、reboot して一通り確認するとよいですね。
1 2 3 |
setenforce 0 sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config |
iptables / firewalld
iptables は nftables に変わったということですが、私は firewalld を習得済みなので、名前が変わっただけということになるのかな?といっても、クラウド配下では VPC Security Group のようなファイアウォール・サービスがあるので基本不要ですよね。
1 2 |
systemctl stop firewalld.service systemctl disable firewalld.service |
私の場合、VPNサーバー や NAT Gateway なシステムを構築管理するから使いますが・・・多くの人には実質不要かと。ただ、iptables システム自体の機能や考え方は、セキュリティ面で重要なものなので、ないがしろにしてよいという意味ではないです。
SSH + SSSD + LDAP
これはだいぶ私的なものですが、過去に書いた CentOS7 用の下記記事の内容は、全部そのままの内容で正常稼働しました。やったね!CentOS 5 -> 6 , 6 -> 7 や、Debian 4 -> 5 , 5 -> 6 などはもっと苦労した気がするのですが、ベース部分のみとはいえ CentOS 7 -> 8 の変化は少なくて楽な印象でした。その分、言語系を始めとしたアプリケーション方面に色々変化が多そうなので、これからといったところでしょうか。
新しいOSバージョンが出るたびに、そんなところ変えなくていいよ~とか思うわけですが、SSSD とか chrony とか NetworkManager とか、新しいOSでわざわざ習得して切り替えたシステムが、そのまま次も採用されて動いてくれると、先見の明があるインフラエンジニアとして勝った感が得られ、とても良いです:-)