CentOS8.x dnfで初期設定

 

今年の初めに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 ではデフォルトらしく早速使ってみます。

 

# 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 パッケージ

 

躓いたメモ備考:

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も追加しておく。

# 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                                                                                                                                  


 

# wget "https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm"
# rpm -Uvh epel-release-latest-8.noarch.rpm

 

リポジトリが追加されたか確認

# 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

アップデートとアップグレード再度

# 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を編集

 

# visudo
## 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 にホストのルート権限を渡してすべてのコマンドが使える状態に。以上でユーザの管理者権限設定完了。

テストしてみる。

# 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 とあるので、同じように変更

## 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がデフォルトで入っているらしい。ならば入れないと……と。まずは入ってるか確認

#dnf list installed | grep cockpit
$ 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

なんか色々依存で問題ありそうなので、入れ直しておく

#sudo dnf -y install cockpit

 

ファイアウォールの確認(備考ね)

Cockpit接続は9090ポートを利用らしいので、許可されているか確認。

 

早速CockPit稼働

#systemctl start cockpit.socket

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
'cockpit.socket'を開始するには認証が必要です。
Authenticating as: root
Password: 
==== AUTHENTICATION COMPLETE ====

 

動かくか確認

$ 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の代わりになるレベルです。まぁデスクトップ用途なら他のディストリビューションをつかうのでしょうが、ブラウザメインなら面白いかもしれません。

 

 

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG