CentOS 7を入れてみる。
従来からディスクトップはwindows/MacOSX。計算リソースをLinuxと想定してますので、いわゆる最小環境で構築してみます。
まずは、OSのインストールから。
ネットワーク設定 メモ zfs XDMCP CentOS/repo

kernelを最新にする

CentOS7のディストリビューターが提供しているkernelではなく、http://elrepo.org/tiki/HomePageが提供しているkernelを使ってみる
まずはELRepoのリポジトリをインストールします

[root@centos7 ~]# rpm --import  https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@centos7 ~]# yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
 
(RHEL8系なら)
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
 
(RHEL9系なら)
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

「/etc/yum.repos.d/elrepo.repo」が置かれて、これには elrepo, elrepo-testing, elrepo-kernel, elrepo-extras なリポジトリが記載され、elrepoのみが有効.
っで elrepo-kernelリポジトリで提供されているパッケージは下記で確認出来て、「kernel-lt」と「kernel-ml」がある.
「kernel-lt」は長期サポート版 長期サポート版って言っても kernel.org では複数の長期サポート版があって、そのなかの1つだけが選ばれている
「kernel-ml」はmain linestable版. main linestable版って実は他にあるstable版よりも最新版で出来立てのカーネル. 「長期サポート」ほどこなれてない枯れてないカーネル. だから不安定って訳ではない. バグもあるだろうが、それは他のカーネルとして同じ.

[root@centos7 ~]# yum list available --disablerepo=* --enablerepo=elrepo-kernel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: ftp.ne.jp
Available Packages
kernel-lt.x86_64                                                      5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-devel.x86_64                                                5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-doc.noarch                                                  5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-headers.x86_64                                              5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-tools.x86_64                                                5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-tools-libs.x86_64                                           5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                     5.4.240-1.el7.elrepo                                      elrepo-kernel
kernel-ml.x86_64                                                      6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-devel.x86_64                                                6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-doc.noarch                                                  6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-headers.x86_64                                              6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-tools.x86_64                                                6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-tools-libs.x86_64                                           6.2.11-1.el7.elrepo                                       elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                     6.2.11-1.el7.elrepo                                       elrepo-kernel
perf.x86_64                                                           5.4.240-1.el7.elrepo                                      elrepo-kernel
python-perf.x86_64                                                    5.4.240-1.el7.elrepo                                      elrepo-kernel
[root@centos7 ~]#

「kernel-ml」版を使ってみる.

[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
 
[root@centos7 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  525.105.17  Tue Mar 28 18:02:59 UTC 2023
GCC version:  gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
 
[root@centos7 ~]# yum list installed |grep "^kernel"
kernel.x86_64                               3.10.0-1160.el7            @anaconda
kernel-devel.x86_64                         3.10.0-1160.el7            @anaconda
kernel-headers.x86_64                       3.10.0-1160.el7            @anaconda
kernel-tools.x86_64                         3.10.0-1160.el7            @anaconda
kernel-tools-libs.x86_64                    3.10.0-1160.el7            @anaconda
 
[root@centos7 ~]# yum --enablerepo=elrepo-kernel install kernel-ml         kernel-ml-devel
[root@centos7 ~]# yum --enablerepo=elrepo-kernel swap    kernel-tools-libs kernel-ml-tools-libs
[root@centos7 ~]# yum --enablerepo=elrepo-kernel install kernel-ml-tools
 
[root@centos7 ~]# yum list installed |grep "^kernel"
kernel.x86_64                               3.10.0-1160.el7            @anaconda
kernel-devel.x86_64                         3.10.0-1160.el7            @anaconda
kernel-headers.x86_64                       3.10.0-1160.el7            @anaconda
kernel-ml.x86_64                            6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-devel.x86_64                      6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-tools.x86_64                      6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-tools-libs.x86_64                 6.2.11-1.el7.elrepo        @elrepo-kernel
 
[root@centos7 ~]# yum remove kernel-devel
 
[root@centos7 ~]# yum list installed |grep "^kernel"
kernel.x86_64                               3.10.0-1160.el7            @anaconda
kernel-headers.x86_64                       3.10.0-1160.el7            @anaconda
kernel-ml.x86_64                            6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-devel.x86_64                      6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-tools.x86_64                      6.2.11-1.el7.elrepo        @elrepo-kernel
kernel-ml-tools-libs.x86_64                 6.2.11-1.el7.elrepo        @elrepo-kernel
 
[root@centos7 ~]# awk -F\' '$1=="menuentry " {print $2}' /boot/efi/EFI/centos/grub.cfg
CentOS Linux (6.2.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-94b619334e744f8883de4bb66b89e9c6) 7 (Core)
 
[root@centos7 ~]# 
[root@centos7 ~]# grub2-set-default "CentOS Linux (6.2.11-1.el7.elrepo.x86_64) 7 (Core)"
[root@centos7 ~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
[root@centos7 ~]# reboot

再起動後

[root@centos7 ~]# uname -r
6.2.11-1.el7.elrepo.x86_64
[root@centos7 ~]#

動作がすっごい早い. だが「WARNING: CPU: 0 PID: 0 at arch/x86/mm/pat/set_memory.c:644 __change_page_attr_set_clr+0x12aa/0x1420」とABRTが来る

timezone変更

間違ってタイムゾーンを日本以外にした場合の変更方法

timedatectl set-timezone Asia/Tokyo

「i8042 No controller found」でブート停止

とある計算機でブートシーケンスの途中で「i8042 No controller found」と表示されてフリーズしてしまった.
grubで「systemd.unit=rescure.target」としてシングルモード起動を試みたがこれも駄目.
はじめ「i8042 No controller found」に注目して色々調べたがどうやら関係ないみたい.
結果は単にVGAの問題のようでgrubに「nomodeset」を加えたら無事起動した. ただstartxしても800x600なので
恒久的対策としては
「/etc/default/grub」にて「GRUB_CMDLINE_LINUX」項目に「nomodeset」と「video=1920x1080」を加え下記を実行する

[root@c ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau nomodeset video=1920x1080"
GRUB_DISABLE_RECOVERY="true"
[root@c ~]#
 
(BIOSなら)
[root@c ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
 
(UEFIなら)
[root@c ~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

/var/log/secureに「unrecognized ENCRYPT_METHOD value [DES]」が並ぶ

使っているパスワード暗号化アルゴリズムが古いDESだから
「/etc/sysconfig/authconfig」にて「PASSWDALGORITHM=descrypt」だと起こるようで、
「authconfig --passalgo=sha512 --update」で更新させます
これで「PASSWDALGORITHM=sha512」となって回避されるかと.

rsyslogに使ってもいないwifiデバイス情報が表示される

ログ記載を無効にしたいなら「nmcli radio wifi off」を実行

[root@d ~]# nmcli d
DEVICE          TYPE      STATE         CONNECTION
enp3s0          ethernet  connected     eno25
wlp6s0          wifi      disconnected  --
p2p-dev-wlp6s0  wifi-p2p  disconnected  --
eno1            ethernet  unavailable   --
enp7s0          ethernet  unavailable   --
lo              loopback  unmanaged     --
 
[root@d ~]# nmcli radio wifi off
 
[root@d ~]# nmcli d
DEVICE          TYPE      STATE        CONNECTION
enp3s0          ethernet  connected    eno25
eno1            ethernet  unavailable  --
enp7s0          ethernet  unavailable  --
wlp6s0          wifi      unavailable  --
p2p-dev-wlp6s0  wifi-p2p  unavailable  --
lo              loopback  unmanaged    --
[root@d ~]#

dmesgの出力で時刻を見たい

単にdmesgを実行すると下記のように「1976528.543195」な表記となる. これではいつのことなのか不明

[saber@c ~]$ dmesg |tail -n 5
[1976528.543195] fuse init (API version 7.27)
[2089193.412175] RPC request reserved 200 but used 268
[2384452.495402] nfs: server qnap not responding, timed out
[2384630.169188] NFS: state manager: check lease failed on NFSv4 server qnap with error 13
[2759081.473780] RPC request reserved 200 but used 268
[saber@c ~]$

っで「dmesg -T」とすると一応いつのことなのかが分かる

[saber@c ~]$ dmesg -T|tail -n 5
[Mon May 10 02:54:31 2021] fuse init (API version 7.27)
[Tue May 11 10:12:16 2021] RPC request reserved 200 but used 268
[Fri May 14 20:13:15 2021] nfs: server qnap not responding, timed out
[Fri May 14 20:16:13 2021] NFS: state manager: check lease failed on NFSv4 server qnap with error 13
[Wed May 19 04:17:04 2021] RPC request reserved 200 but used 268
[saber@c ~]$

特定のユーザもしくはグループのみアクセス許可にする

まず authconfig で「pam_access」を有効にします

authconfig --enablepamaccess --update

有効になったかの確認は「authconfig --test」で出来ます. 「pam_access is enabled ()」という行があればok.

次に誰を許可するかを定義します. 定義を記載するファイルは「/etc/security/access.conf」
最低限rootは入れますが、network経由はダメで、コンソールとかならokとするなら

+:root:LOCAL
-:ALL:ALL

とする. ただこれでは、root以外のユーザはログインできない. 特定ユーザのネット経由のログインを許可するなら

+:illya:ALL
+:root:LOCAL
-:ALL:ALL

もしグループで許可するなら

+:fgo:ALL
+:root:LOCAL
-:ALL:ALL

とする.
「/etc/ssh/sshd_config」で縛る方法もあるけど、こちらはコンソールのみとか特定のfromのみとかの定義が可能
メインのグループでなくても適用されます.

*注意: rootを外すとcronがエラーになります

dmesgの出力を管理者に制限する

「/etc/sysctl.conf」に下記を加える

kernel.dmesg_restrict = 1

nicをethXとして認識させながらインストール

OSインストール時に「Install CentOS 7」を選んでTabキーを押下する。
すると

> vmlinux initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quit

と表記される。この文字列の最後に「biosdevname=0 net.ifnames=0」を加える

> vmlinux initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 biosdevname=0 net.ifnames=0

これで行ける. ただこれはOS側が認識するnicの出現順であってnicカードの追加で容易に変化する.
なので利用は仮想サーバに限定かな

インストールに使用するisoを選ぶ

ここに最新のCentOSのインストーラーがある。
http://ftp.riken.jp/Linux/centos/7/isos/x86_64/
完全版(DVD)やスペシャルパック版(Everything)みたいなのがある。
CD/USBでブートしてOSコンテンツはネット経由で引き出すのもある(NetInstall)。
ここでは最小構成の環境で構築して、必要な追加品はネット経由で取得したいので Minimal版(566 MB) を使用する。

入手したisoファイル
CentOS-7.0-1406-x86_64-Minimal.iso(566 MB)

OSインストール

通常ならCentOS-7.0-1406-x86_64-Minimal.isoをDVD/USBメモリーに焼いて、それを使って起動させます。
仮想環境でテスト目的ならisoファイルをそのまま使うことになる。起動直後に
2014y07m13d_015823104.png
と表示される。ここでは「Install CentOS 7」を選択する。すると画面解像度「800x600」で「CENTOS 7 INSTALLATION」画面が表示され、手始めに使用する言語を選択して「続行」ボタンをクリックします。
2014y07m13d_020351128.png
次に表示された「インストールの概要」画面で各種のインストール定義を行う。
2014y07m13d_024049486.png
「日付と時刻」「キーボード」「言語サポート」らの項目は既定で構わない。
*万が一、キーボードのレイアウトが異なるのなら「キーボード」リンクを選択して適切なキーボードを選ぶ。既定では日本語選択時は日本語106キーボードみたい。
「インストールソース」は、DVDから起動しているのでそのままの「ローカルメディア」でOK。
「ソフトウエアの選択」は、OSをどのような構成でインストールするかが問われる。ここでは目的の「最小限のインストール」で十分なのだが、そのほかにもディスクトップ環境を提供する選択肢もある。

次に、この画面で不十分とされた「インストール先」リンクをクリックして、HDDのパーティションを定義します。
2014y07m13d_021406704.png
ここでは8GBのHDDに/boot(512MB)、swap(1024MB)、/(ルート)(残り全部)の3領域を作る。表示された「インストール先」画面の「パーティション構成」選択肢で「パーティション構成を行いたい」を選択して、画面上部の「完了」ボタンをクリックする。
2014y07m13d_021740767.png
すると画面が「手動パーティション設定」画面に切り替わる。パーティション設定スキーマとしてプルダウンから「標準パーティション」を選択する。
2014y07m13d_022034712.png
その後、画面下部の「+」ボタンをクリックして、
2014y07m13d_022414320.png
マウントポイントと割り当てサイズを指定する。
/boot2014y07m13d_022547585.png
swap2014y07m13d_022650145.png
/(ルート)2014y07m13d_022806113.png
*割り当てる容量にサイズを記入しないと残り全てが割り当てられるみたい。
定義が完了すると下記のようなHDDレイアウトになる。画面上部の「完了」ボタンを押して「手動パーティション設定」を終わらせる。
2014y07m13d_023558585.png
すると、HDDに対する作業一覧が表示される。ここで「変更を適用する」ボタンを押すと、定義したパーティションの作成が行われる。
2014y07m13d_044104827.png

再び、「インストールの概要」画面に戻る。
次に「ネットワークとホスト名」リンクをクリックしてマシンのIPアドレス、ホスト名を定義します。
2014y07m13d_044353617.png
表示された「ネットワークとホスト名」画面にて、右下の「設定」ボタンをクリックする。
2014y07m13d_044623726.png
ここではNICのデバイス名はens192であるが、不定の模様。表示されたens192の設定画面にて、「全般」タグを開く、ここで「この接続が利用可能になった時は自動的に接続する」を有効にする。
2014y07m13d_045051785.png
次に、「IPv4のセッティング」でDHCPか固定IPを定義して「保存」ボタンをクリックします。すると「ネットワークとホスト名」画面にて指定したIPの概要と同時にこのens192が利用可能であるスイッチが入る。
2014y07m13d_045359362.png
それと同時に、ホスト名も自動補完されるみたい。
2014y07m13d_045643832.png
これで「ネットワークとホスト名」画面の左上の「完了」ボタンを押す。

再び「インストールの概要」画面に戻る。
これでインストールに必要な情報がまとまったので、左下の「インストールの開始」ボタンを押してOSのインストールを行わせます。
2014y07m13d_045935209.png

インストールが開始されると、直後にrootかユーザの作成を求められる。ユーザを作りsudoでroot権限を得て管理者面を行使するのもありだけど、ここはrootを作りました。
2014y07m13d_061954090.png
インストールが完了すると下図の知らせが表示される。「再起動」ボタンを押して完了となる。
2014y07m13d_093402539.png

VMwareESXiで構築中の画面サイズ

VMwareESXiでCentOSをインストールすると設定画面が小さくて、他の設定項目が見辛いときがある
2017y07m23d_222959750.png
ブートファームウエアが、BIOSならこうなるみたい。画面サイズは800x600。
だけど、EFIなら自動調節してくれるみたい

ブートファームウエアが、BIOSのままでESXiの画面サイズを大きくするには、
インストールメディアの起動途中で、「Install CentOS Linux 7」を選択して、
2017y07m23d_223242637.png
「Tab」ボタンを押下します。すると画面下にブートコマンドが表示される
2017y07m23d_223444675.png

このコマンドの最終行に「resolution=1024x678」をキーボードで追加入力してリターンキーを押下します
2017y07m23d_223728760.png

すると、ESXiのインストール画面サイズが拡大して、上記の図では見えなかった「ヘルプ」ボタンが見えるようになる
2017y07m23d_224140172.png

*備考
「resolution=1024x678」の指定以外に「vga=773」(1024x768x8bit)、「vga=775」(1280×1024x8bit)の指定も可能

画面サイズ

「最小構成」で構築したのでログイン画面はテキストモードである。
2014y07m13d_093617738.png
だが、画面が1280×768なWXGA(Wide-XGA)として表示される。VMwareだけの問題なのかも知れないが、調整を施す。
一旦仮想マシンを停止させ、「仮想マシンのプロパティ」を開き、「オプション」タブで「詳細/全般」を開く。
2014y07m13d_094418133.png
そこで表示されている「構成パラメータ...」ボタンをクリックして、
2014y07m13d_094529897.png
表示された「構成パラメータ」画面で、画面下部にある「行の追加」ボタンを押して、名前をsvga.maxWidth、値は680そしてもう一つ名前svga.maxHeight、値480の行を追加する。
2014y07m13d_094901345.png
「OK」ボタンをクリックして、「構成パラメータ」画面を閉じて、「仮想マシンのプロパティ」画面も「OK」ボタンをクリックして閉じる。そして仮想マシンを起動すると画面サイズ680x480のVGAなテキストログイン画面になる。

画面サイズ gurb

VMwareではなく、Linuxマシン側から画面サイズを変更してみる。
*vga(680x480)にはできないみたい。800x600が最低限みたい。
方法は2つある。

1.vga引数を使う

[root@c105 ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=jp106 crashkernel=auto  vconsole.font=latarcyrheb-sun16 rhgb quiet vga=771"
#
# *GRUB_CMDLINE_LINUXに vga=771を追加する
#
GRUB_DISABLE_RECOVERY="true"
[root@c105 ~]#
[root@c105 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@c105 ~]#

2.TERMINAL_OUTPUTをgfxtermにして、GRUB_GFXMODEで解像度を渡す

[root@c105 ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
#
#GRUB_TERMINAL_OUTPUT="console"
#
GRUB_TERMINAL_OUTPUT="console"
GRUB_GFXMODE=640x480
# *640x480を指定しても800x600が採用される
#
GRUB_CMDLINE_LINUX="vconsole.keymap=jp106 crashkernel=auto  vconsole.font=latarcyrheb-sun16 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
[root@c105 ~]#
[root@c105 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@c105 ~]#

もしUEFIベースで構築しているのなら

[root@c105 ~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

とする。/boot/grub2/grub.cfgは従来のBIOS向け。UEFIなら/boot/efi/EFI/centos/grub.cfg

日本語環境で最小構成でインストール後、ディスクトップ環境を入れたら。。。

単純にCentOS7を最小構成でインストールして、

[root@nfs1 ~]# yum -y groupinstall "GNOME Desktop" && reboot

としたらコンソール画面に文字化けが発生してしまった。
2014y10m01d_232902377.png
一応、このままでもssh経由で接続は可能で、下記コマンドを実施して一時的に文字化けを解消してみる

[root@nfs1 ~]# localectl
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp
 
[root@nfs1 ~]# localectl set-locale LANG=en_US.utf8
[root@nfs1 ~]# localectl
   System Locale: LANG=en_US.utf8
       VC Keymap: jp106
      X11 Layout: jp
 
[root@nfs1 ~]# reboot

英語環境としてOSを起動し直すと下記のような文面が見えた。
2014y10m02d_004954199.png
どうやら2)License information(License not accepted)が完了していないのが原因見たい。
なので「2」のLicense informationを選択して、次に「I accept the license agreement.」となる「2」を入力します。
2014y10m02d_005355777.png
これで、I accept the license agreement.が有効になりました。
続いて「c」と入力して Initial setup of CentOS Linux 7 (Core)に戻り、再び「c」を入力して完了させます。
2014y10m02d_005846481.png
戻って、ログイン画面になります。
2014y10m02d_003424462.png

ここで、localectlを元に戻す。

[root@nfs1 ~]# localectl set-locale LANG=ja_JP.utf8
最新の60件
2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-06 2024-10-05 2024-10-04 2024-10-03 2024-10-02 2024-10-01 2024-09-30 2024-09-29 2024-09-28 2024-09-27 2024-09-22 2024-09-20 2024-09-17 2024-09-12 2024-09-09 2024-09-08 2024-09-06 2024-09-05 2024-09-04 2024-09-02 2024-09-01 2024-08-31 2024-08-28 2024-08-18 2024-08-17 2024-08-16 2024-08-15 2024-08-14 2024-08-11

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-04-16 (日) 02:31:19