機能 
 構成・方式 
 動作 
 タスク 
    サービス管理
    ログ管理(journald)
    シャットダウン
    ターゲット変更
    ネットワーク確認
    ネットワーク設定
    nmcli
    nmtui
    IPv6無効化
    GNOME関連
    ホスト名の変更
    ファイアウォール
    ポート確認
    リポジトリ
    EPELリポジトリ
    バージョンアップ
    パーティション
    パーティション拡張
    パーティション削除
    LVM
    LVM作成
    LVM削除
    ファイルシステム
    SELinux
    コンソール画面
    GUI画面ロック
    入力の取り消し
    6 から 7 へ
 インストール 

 サービス管理
      一覧     # systemctl list-unit-files --type=service
起動     # systemctl start xxxx.service
停止     # systemctl stop xxxx.service
    そのUnitに依存しているUnitが動いていると停止できず。
再起動     # systemctl restart xxxx.service
自動起動する     # systemctl enable xxxx.service
自動起動しない     # systemctl disable xxxx.service

 ログ管理(journald、CentOS7~)
 ・全てのログ
# journalctl -l --no-page
出力中止「Ctrl + c」
 ・最新のログから表示
# journalctl -r
 ・最新のログ(5行)
# journalctl -n 5
 ・最新のログを表示し続ける。
# journalctl -f
 ・プライオリティ別に表示
# journalctl -p [プライオリティ値 又は プライオリティ]
 ・ログ(ジャーナル)の保存場所
# ls -laR /run/log/journal/
「/run」ディレクトリは「tmpfs」にマウント
OSを再起動でデータがクリア

 シャットダウン  ・シャットダウン # systemctl poweroff  ・再起動 # systemctl reboot  ・システムを停止する、電源は切らない。 # systemctl halt  ・オプション --no-wall  省略するとログインしている全ユーザに通知メッセージを送信
 ターゲット変更(動作モードの変更)
 ・現在のターゲット    ターゲット(動作モード)構成 $ systemctl get-default multi-user.target  ・「graphical.target」に変更 # systemctl set-default graphical.target # rm /etc/systemd/system/default.target # ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
 ネットワーク確認
 ・最小構成では、「net-tools(ifconfig、route、arp、netstatなど)」はインストールされない。
 ・IPアドレス
$ ip addr show
 ・ルーティングテーブル
$ ip route show
 ・ARPテーブル
$ ip neighbor show
 ・セッション  TCPの状態   ITCL2
$ ss -nat   (TCPポート)
$ ss -nlt   (TCPポート待ち受け)
$ ss -nau   (UDPポート)
$ ss -nlu   (UDPポート待ち受け)

 ネットワーク設定
 ・ネットワークインターフェィスの設定ファイルからも行える。
 ・「NetworkManager」 が起動している場合、「nmtui」「nmcli」が使用できる。

 nmcli
 ・NetworkManagerが認識するデバイスとその状態
$ nmcli dev status デバイス タイプ 状態   接続 virbr0 bridge 接続済み virbr0 enp0s31f6 ethernet 接続済み enp0s31f6 enp2s0 ethernet 接続済み enp2s0 virbr0-nic tap 接続済み virbr0-nic enp6s0 ethernet 利用不可 -- lo loopback 管理無し --  ・現在アクティブな接続のみ
$ nmcli con show -active
 ・コネクションの状態 (管理無しは対象外)
$ nmcli con 名前 UUID タイプ デバイス enp0s31f6 68e38e3e-fc1b-・・・・ 802-3-ethernet enp0s31f6 enp6s0 3e3b4213-1756-・・・・ 802-3-ethernet -- enp2s0 917812ca-9ba4-・・・・ 802-3-ethernet enp2s0 virbr0-nic 7e426bdd-e2ea-・・・・ generic virbr0-nic virbr0 5378461b-ca9e-・・・・ bridge virbr0  ・「管理無し」を「接続済み」に
# vi /etc/sysconfig/network-scripts/ifcfg-xxxx
「NM_CONTROLLED=no」をコメントアウト
 ・ネットワークだけ更新
# nmcli dev disconnect iface iface-name
# nmcli dev connect iface iface-name
 ・複数のIFを持つ場合の注意
デフォルトのルートは一つにする。
仮想化でブリッジを使用している場合、デフォルトのIFを同じブリッジにする。
一つ以外は「このネットワークはデフォルトのルートには使用しない」をチェック
確認
# nmcli connection show eth0
「GENERAL.デフォルト:いいえ」の場合、接続できない。(IPV4)
 ・デバイスを追加
nmcli con add type ethernet ifname デバイス名 con-name 接続プロファイル名
 ・固定IPアドレスを設定
nmcli con mod 接続プロファイル名 ipv4.method manual ipv4.addresses “192.168.0.3/24 192.168.0.254”

 nmtuiを用いたネットワーク設定(ネットワーク追加例)
 ・現状確認
$ ip addr (MACアドレスなどを控える。)
 ・nmtui起動、「接続の編集」、不要なプロファイルがあれば「削除」、「追加」、設定
プロファイル名入力(例、eth2)
デバイス情報入力
xx:xx:xx:xx:xx:xx (eth2) 又は
eth2 (xx:xx:xx:xx:xx:xx)
アドレスなど追加

 IPv6の無効化
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# sysctl -p

 「control-center」「nm-connection-editor」
 ・「control-center」グラフィカルユーザーインターフェイスツール
Network設定ツールを含んでいる
 ・「nm-connection-editor」グラフィカルユーザーインターフェイスツール
control-centerでは処理されない特定のタスクに利用できる。
nm-connection-editor起動
接続するNW-IFをクリック、編集をクリック
「IPv4のセッティング」をクリック
「手動」を選択
「追加」をクリック
IPアドレスなどを入力、「保存」をクリック
「閉じる」をクリック
システムを再起動

 ホスト名の変更
# hostnamectl --static set-hostname host01.it-o.net
# cat /etc/hostname
# hostname

 ファイアウォール 「firewalld
 ・稼働状況
# firewall-cmd --state
# systemctl status firewalld
 ・許可されたサービス一覧を取得
# firewall-cmd --list-all
# firewall-cmd --list-services --zone=public
 ・全てのゾーン
# firewall-cmd --list-all-zones
 ・9個の事前定義済ゾーン
 ・事前に定義されているサービス一覧を取得
# firewall-cmd --get-services
 ・ゾーン一覧取得
# firewall-cmd --get-zones
 ・デフォルトゾーンの確認
# firewall-cmd --get-default-zone
 ・ゾーンの変更
# firewall-cmd --change-interface=eth2 --zone=internal
 ・ゾーンの変更、再起動後も追加を有効にする。
# firewall-cmd --change-interface=eth2 --zone=internal --permanent
 ・サービスの許可、ゾーンにサービスを追加
# firewall-cmd --add-service=https --zone=public
 ・ポート開放
# firewall-cmd --add-port=22/tcp --zone=public
 ・サービスの許可、再起動後も追加を有効にする。
# firewall-cmd --add-service=https --zone=public --permanent
 ・サービスの禁止、ゾーンからサービスを外す。
# firewall-cmd --remove-service=https --zone=public
 ・サービスの禁止、再起動後も外したのを有効にする。
# firewall-cmd --remove-service=https --zone=public --permanent
 ・設定の再読み込み
# firewall-cmd --reload
 ・firewalld停止
# systemctl stop firewalld
 ・firewalld停止確認
# systemctl status firewalld
 ・firewalld自動起動停止
# systemctl disable firewalld
 ・firewalld自動起動停止設定確認
# systemctl is-enabled firewalld
 ・NetworkManagerによって管理されないインターフェースのみに使用するパラメータ
--permanent
--add-interface
使用例
firewall-cmd --add-interface=br0 --zone=public --permanent
 ・デフォルトで用意されているサービス一覧、ICMPタイプ一覧
# ls /usr/lib/firewalld/services/
# ls /usr/lib/firewalld/icmptypes/
 ・パニックモードに入る。(緊急時にすべてのNW通信を遮断)
# firewall-cmd --panic-on
 ・パニックモードを抜ける。
# firewall-cmd --panic-off

 ポート確認
 ・nmapの実行例
# nmap 192.168.1.xx      Starting Nmap 6.40 ( http://nmap.org ) at 2020-12-27 00:52 JST      Nmap scan report for 192.168.1.xx      Host is up (0.00033s latency).      Not shown: 998 filtered ports      PORT STATE SERVICE      22/tcp open ssh      53/tcp closed domain(受ける状況( Listent )にない。)
 リポジトリ
 ・「CentOS-Base.repo」への追加
/etc/yum.repos.d
[base]、[updates]へ追加
exclude=pacemaker* corosync*・・・・
 ・リンクにアクセスできない場合
リポジトリが古すぎる場合はリンク切れを起こしエラーになる。
/etc/yum.repos.d
「#mirrorlist=・・・・」から「baseurl=・・・・」へ変更
exclude=pacemaker* corosync*・・・・・
 ・ダウンロード開始(Downloading Packages:)でエラーになる場合
キャッシュをクリア
# yum clean all

 EPEL(Extra Packages for Enterprise Linux)リポジトリを追加
 ・CentOS標準のリポジトリでは提供されていないパッケージ向け
 ・epel-releaseパッケージをインストールして、EPELリポジトリを使えるようにする。
# yum install epel-release.noarch
 ・EPELを「無効」にする。
# vi /etc/yum.repos.d/epel.repo
[epel]
enable=0 (1から0へ変更)
 ・EPELリポジトリを指定してインストール
# yum --enablerepo=epel install xxxxxxxx

 バージョンアップ
 ・ゾーン一覧取得
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
# yum check-update
# yum update
 ・カーネル
# uname -r
3.10.0-693.11.6.el7.x86_64
$ yum info kernel
インストール済みパッケージ
利用可能なパッケージ
# yum install kernel
前のバージョンが残る
# reboot
# uname -r

 パーティションの作成
 ・使用中のデバイスにパーティションを作成しない。
kvm では、レスキューモードで立ち上げる。
 ・parted を起動
# parted パーティション作成するデバイス(/dev/vda など)     GNU Parted 3.1     /dev/vda を使用     GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。  ・空きを確認     (parted)print     モデル: Virtio Block Device (virtblk)     ディスク /dev/vda: 215GB     セクタサイズ (論理/物理): 512B/512B     パーティションテーブル: msdos     ディスクフラグ:     番号 開始 終了 サイズ タイプ ファイルシステム フラグ      1 1049kB 1075MB 1074MB primary xfs boot      2 1075MB 95.2GB 94.1GB primary lvm  ・10GB のプライマリパーティション追加(デフォルトのファイルシステム)     (parted)mkpart primary 95200 105200     (parted)print     番号 開始 終了 サイズ タイプ ファイルシステム フラグ      1 1049kB 1075MB 1074MB primary xfs boot      2 1075MB 95.2GB 94.1GB primary lvm      3 95.2GB 105GB 10.0GB primary     (parted)quit  ・確認     # cat /proc/partitions     # lsblk -p     # parted -l (/dev/vdax)
 パーティションの拡張
 ・「3」を10GB拡張
(parted) resizepart 3 115GB
    通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
    (/etc/fstab にマウントポイントがない場合に表示)
 ・確認
 ・XFSファイルシステムのサイズ拡大
# xfs_growfs /mount/point -D size
# xfs_growfs /home2 (例、マウントポイントが/home2の場合)

 パーティションの削除
 ・レスキューモードでブート又は、マウントを解除し、デバイス上のスワップ領域をオフ
 ・# parted device
 ・(parted) print
 ・(parted) rm マイナー番号
  通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

 LVM
 ・LVM 確認用コマンド     pvs  pvdisplay  pvscan     vgs  vgdisplay  vgscan     lvs  lvdisplay  lvscan  ・ボリュームグループのサイズ変更
 ・論理ボリュームのサイズ変更
pvs
 ・「論理ボリューム」の情報を表示
# lvs     LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert     home centos -wi-ao---- 50.00g     root centos -wi-ao---- 50.00g     swap centos -wi-ao---- <7.88g     var centos -wi-ao---- <91.12g  ・「--resizefs」オプションで縮小 ( lvreduce --resizefs -L -20g /dev/centos/home )
GFS2、XFS のファイルシステムが含まれる論理ボリュームは縮小に対応していない。
 ・「home」を20GB縮小
# lvreduce -L -20g /dev/centos/home      WARNING: Reducing active and open logical volume to 30.00 GiB.      THIS MAY DESTROY YOUR DATA (filesystem etc.)     Do you really want to reduce centos/home? [y/n]: y      Size of logical volume centos/home changed from 50.00 GiB (12800 extents) to 30.00 GiB (7680 extents).      Logical volume centos/home successfully resized. # lvs      LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert      home centos -wi-ao---- 30.00g      root centos -wi-ao---- 50.00g      swap centos -wi-ao---- <7.88g      var centos -wi-ao---- <91.12g
 LVM作成
 ・作成例(サイズ:20GB、名前:centos-mailman)
# lvcreate --name mail --size 2G centos
# lvcreate --name postfix --size 1G centos
# lvcreate --name mailman1 --size 1G centos
# lvcreate --name mailman2 --size 1G centos
# lvcreate --name mailman3 --size 1G centos

 LVM削除
 ・削除例(LV名:/dev/mapper/centos-mailman)
マウントしているファイルシステムをアンマウント後
# umount /usr/local/data
# lvremove /dev/mapper/centos-mailman
マウントされていたら、/etc/fstabからもコメントアウト

 ファイルシステム
 ・DRBDデバイスにファイルシステムを作成

 SELinuxの無効化
# getenforce
# setenforce 0
# vi /etc/sysconfig/selinux

 コンソール画面に切り替え
 ・「Ctrl」「Alt」「F2」

 GUI画面ロック ・画面ロック 「Ctrl」「Alt」「L」 ・カーテン解除 「Enter」または、マウスを下から上にドラッグアンドドロップ
 入力の取り消し
 ・「Ctrl」「U」

 6 から 7 へ
 ・事前作業
パッケージのアップデート
シリアルコンソールを有効にしておく。(仮想マシンの場合)
OSのイメージバックアップ(仮想マシンの場合)
インプレースアップグレード用のツールをインストール
・perl
・openscap
・pcre-devel
・libxml2-devel
・libxslt-devel
・m2crypto
・python-simplejson
・mod_wsgi
CentOSコミュニティのサイトから、必要なパッケージ入手
・preupgrade関連の最新版
・redhat-upgrade-tool関連の最新版
パッケージをインストールしたら、GPGキーをインポート
 ・システムの診断
# preupg -s CentOS6_7
OpenSCAP Error
openscapをダウングレード
/root/preupgrade-results/preupg_results-xxxx.tar.gz の確認
「fail」「error」無し、needs_action x個、needs_inspection x個
 ・アップグレードの実施
# centos-upgrade-tool-cli --force --network 7
--instrepo=http://vault.centos.org/centos/7.x.1x11/os/x86_64/
--addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64/
finding updates 100%
rpm transaction 100%
rpm install 100%
setting up system for upgrade
Finished. Reboot to start upgrade.
再起動後に実際のアップグレード
 ・アップグレード後の作業
カスタムメイドのsysvinitスクリプトから*.serviceへ
xinetdサービスの設定
ファイヤウォールの設定
ログの設定
サーバーの修正
HAクラスターの移行
Pacemaker、Corosync、CMAN(クラスターマネージャ)
CentOS7からはCMANの機能がCorosyncにFIX
PHPの修正
APの動作確認、修正