今年の初めに2020年1月17日にRHEL 8.1をベースにした「CentOS-8 1911」がリリースされてから、既に数ヶ月。
サーバは安定が大切なので、そうそう新しいバージョンは手を出しづらいですが、いずれは現在のCentOS7系も2024年にはサポート終了が予定されているので、今のうちから触っておきたいところです。
そんな訳で早速新しいバージョンを入れてみて触ってみましたよ。
@参考 [CentOS-announce] Release for CentOS Linux 8 (1911)
ISOのダウンロードと準備
いつもの通りに公式の各ミラーからダウンロード。サイズは、7GBと結構なサイズです。また当然ですが、デフォルトでソフトウェア11.47GBとスワップ領域が5GB程は必要ですので結構大きく取る必要もあります。運用には色々と不要ですが。
@ http://isoredirect.centos.org/centos/8/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
まずはアップデート
今回は仮想環境に入れたのですが、特別面白みもなく普通にすんなりインストール完了。
サイトを見るだけなら普通にデスクトップとして使えるので、いずれ自宅でネット見るだけのマシンに入れてみたいところです。
まずはアップデートしてから、通常の設定を行ってみます。パッケージ管理ツール yum コマンドも使えるけど、DNF (Dandified YUM) が、 CentOS 8 ではデフォルトらしく早速使ってみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# dnf update CentOS-8 - AppStream 6.3 MB/s | 6.8 MB 00:01 CentOS-8 - Base 6.0 MB/s | 6.0 MB 00:00 CentOS-8 - Extras 4.9 kB/s | 5.5 kB 00:01 依存関係が解決しました。 =========================================================================================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ =========================================================================================================================================================================== インストール: kernel x86_64 4.18.0-147.8.1.el8_1 BaseOS 1.5 M kernel-core x86_64 4.18.0-147.8.1.el8_1 BaseOS 25 M kernel-modules x86_64 4.18.0-147.8.1.el8_1 BaseOS 22 M アップグレード: buildah x86_64 1.11.6-6.module_el8.1.0+298+41f9343a AppStream 8.5 M cockpit-podman noarch 11-1.module_el8.1.0+298+41f9343a AppStream 1.0 M container-selinux noarch 2:2.124.0-1.module_el8.1.0+298+41f9343a AppStream 47 k ---- 略 ------ 依存関係のインストール: conmon x86_64 2:2.0.6-1.module_el8.1.0+298+41f9343a AppStream 37 k grub2-tools-efi x86_64 1:2.02-78.el8_1.1 BaseOS 465 k トランザクションの概要 =========================================================================================================================================================================== インストール 5 パッケージ アップグレード 186 パッケージ |
躓いたメモ備考:
1 2 3 4 5 |
CentOS-8 - AppStream [ === ] --- B/s | 0 B --:-- ETA ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。 'dnf clean packages' を実行することでキャッシュパッケージを削除できます。 エラー: パッケージのダウンロード中にエラーが発生しました: Curl error (28): Timeout was reached for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock [Connection timed out after 30000 milliseconds] |
ルーターでDNSが引けなかったようなので、Google先生DNSを設定して解決。一応Ipv6は止めておいた。
足りないパッケージもあるかもしれないので、elrepoとepelも追加しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# dnf install elrepo-release メタデータの期限切れの最終確認: 0:10:34 時間前の 2020年04月21日 12時04分47秒 に実施しました。 依存関係が解決しました。 =========================================================================================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ =========================================================================================================================================================================== インストール: elrepo-release noarch 8.0-2.el8.elrepo extras 13 k トランザクションの概要 =========================================================================================================================================================================== インストール 1 パッケージ ダウンロードサイズの合計: 13 k インストール済みのサイズ: 5.0 k 合計 41 kB/s | 13 kB 00:00 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : elrepo-release-8.0-2.el8.elrepo.noarch 1/1 検証 : elrepo-release-8.0-2.el8.elrepo.noarch 1/1 インストール済み: elrepo-release-8.0-2.el8.elrepo.noarch |
1 2 |
# wget "https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" # rpm -Uvh epel-release-latest-8.noarch.rpm |
リポジトリが追加されたか確認
1 2 3 4 5 6 7 8 9 |
# dnf repolist ELRepo.org Community Enterprise Linux Repository - el8 54 kB/s | 147 kB 00:02 Extra Packages for Enterprise Linux 8 - x86_64 6.4 MB/s | 6.4 MB 00:00 repo id repo の名前 状態 AppStream CentOS-8 - AppStream 5,281 BaseOS CentOS-8 - Base 2,231 elrepo ELRepo.org Community Enterprise Linux Repository - el8 87 *epel Extra Packages for Enterprise Linux 8 - x86_64 5,315 extras CentOS-8 - Extras |
アップデートとアップグレード再度
1 |
# dnf -y update && dnf -y upgrade |
sudoも設定しておく
一般ユーザーからroot昇格にSudo設定、 sudoers ファイル内に追加しておく。/etc/sudoers ファイルにユーザーを追加だが、/etc/sudoers ファイルには、元々sudoコマンド利用グループがある。ちなみにDebianの場合は、sudoグループ。CentOSの場合はwheelグループ。
CentOS8でどうなってるか確認。調べると今回も/etc/sudoersにユーザの権限が指定されていて。 こちらを編集してユーザに管理者権限を追加とのこと。
以下手順。
まずはrootになり、visudoコマンドで/etc/sudoersを編集
1 |
# visudo |
97 98 99 100 101 |
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL kato ALL=(ALL) ALL #これを追加 |
例としてユーザー名kato にホストのルート権限を渡してすべてのコマンドが使える状態に。以上でユーザの管理者権限設定完了。
テストしてみる。
1 2 3 4 5 6 7 8 |
# exit ログアウト $ sudo dnf -y upgrade [sudo] kato のパスワード: メタデータの期限切れの最終確認: 0:18:07 時間前の 2020年04月21日 12時21分39秒 に実施しました。 依存関係が解決しました。 行うべきことはありません。 完了しました! |
問題なさそう。しかしいつもパスワードを打つのは面倒なので、指定ユーザはパスワード無しにsudoでroot権限を打たせたい。## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL とあるので、同じように変更
1 2 3 4 5 |
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL kato ALL=(ALL) NOPASSWD:ALL #これを変更 |
CentOSでCockpit
初期設定でサーバを選択していればWEB GUIがデフォルトで入っているらしい。ならば入れないと……と。まずは入ってるか確認
1 |
#dnf list installed | grep cockpit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ dnf list installed | grep cockpit モジュラーの依存に関する問題: 問題 1: conflicting requests - nothing provides module(perl:5.26) needed by module perl-DBD-SQLite:1.58:8010020191114033549:073fa5fe-0.x86_64 問題 2: conflicting requests - nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64 cockpit.x86_64 196.3-1.el8 @anaconda cockpit-bridge.x86_64 196.3-1.el8 @anaconda cockpit-packagekit.noarch 197.3-1.el8 @AppStream cockpit-podman.noarch 11-1.module_el8.1.0+298+41f9343a @AppStream cockpit-storaged.noarch 197.3-1.el8 @AppStream cockpit-system.noarch 196.3-1.el8 @anaconda cockpit-ws.x86_64 196.3-1.el8 @anaconda |
なんか色々依存で問題ありそうなので、入れ直しておく
1 |
#sudo dnf -y install cockpit |
ファイアウォールの確認(備考ね)
Cockpit接続は9090ポートを利用らしいので、許可されているか確認。
早速CockPit稼働
1 2 3 4 5 6 7 |
#systemctl start cockpit.socket ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ==== 'cockpit.socket'を開始するには認証が必要です。 Authenticating as: root Password: ==== AUTHENTICATION COMPLETE ==== |
動かくか確認
1 2 3 4 5 6 7 8 9 10 11 |
$ systemctl status cockpit.socket ● cockpit.socket - Cockpit Web Service Socket Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; disabled; vendor preset: disabled) Active: active (listening) since Tue 2020-04-21 12:54:30 EDT; 1min 1s ago Docs: man:cockpit-ws(8) Listen: [::]:9090 (Stream) Process: 24229 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, status=0/SUCCESS) Process: 24222 ExecStartPost=/usr/share/cockpit/motd/update-motd localhost (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 26213) Memory: 1.0M CGroup: /system.slice/cockpit.socket |
アドレス:9090 でアクセス
おお、来ました。早速中身を見てみます。
シンプルでいいですね。
簡単なログならここで見られるので、普段コマンドになれてないWEBデザイナーや事務スタッフにログ確認してもらう時などは重宝しそうです。
サービスで自動起動なんかも確認できます。これは見やすいですね。ここでインストールされているサービスの「起動」「再起動」「停止」とサービス自動起動について「有効」「無効」の設定を行うことできる模様。
更にシステムの診断を行うツールまであります。システムの設定と診断情報を収集してレポートを作成する機能で「レポートの作成」をクリックすることでシステムのレポートが作成される模様。
実際に実行してみると結構時間がかかる。3~5分程掛かった。初期状態でも5MB程あり、ダウンロード形式は、sosreport-localhost-2020-04-21-cjfynnj.tar.xz と、sosreport-サーバ名-日付-cjfynnj.tar.xzとなっており、解凍すると……
多少加工が必要なファイル一覧に。
最後に
久しぶりにCentOSを初心に戻って触ってみましたが、dnfやCockpitなど本当に触りやすくなりました。GUIも本当に簡単な用途ならWindowsの代わりになるレベルです。まぁデスクトップ用途なら他のディストリビューションをつかうのでしょうが、ブラウザメインなら面白いかもしれません。