Linux

Linuxの導入概要と便利なコマンド

インストールと設定の概要

※現在稼働している環境は、未だ整理中ですが、HTTP/2環境で動作していますので、LAMP環境はこのサイトの説明通りではありません!(参考サイトの方法で導入しています)

サーバー用に選択したCentOS7のインストールを行うため、まずはインストール用のISOイメージファイルを入手し、それをDVDに書き込む所から開始です。

ISOイメージファイルの入手とDVDの作成

CentOS7はリンク先のサイトからISOイメージファイルを入手します。これをDVD-Rに書き込みます。サイトの中に有るボタン「Get CentOS Now」をクリックしてダウンロードし、PCでDVD-Rに書き込みます。ブータブルDVDとして使用します。(下図参照)

インストールするPCの準備作業・・・UEFIとBIOS

CentOS7をインストールするPCでは、BIOSがレガシーモードにしないと、UEFIモードでインストール出来ても、OSが起動しない事が有りましたので、レガシーモードにBIOSを変更する必要が有るかも知れません。

インストールは最小構成でインストールします

CentOS7のインストールはこちらのページを参考にして下さい。但しインストールするソフトは、「最小構成」+「互換性ライブラリ+開発ツール」を選択する事を推奨します。全画面がCUI環境だけでは、Webを参照しながらの作業は、やりにくくなるなるので、まずは別のデスクトップPC(Linux[LinuxはLinus Torvaldsの登録商標です]でもWindowsでもOKです)からSSH接続して操作を出来るようにします。
但し、最終的にはSSH接続に制限をかける必要が有ります。その作業は最後に行いますので、まずはSSH接続出来るようにします。

インストール後は、主にSSH接続して作業します

Linuxの場合は、ターミナルを起動してサーバーにログインします。Windowsの場合はターミナルソフト使うか、Windows10ではインストールされているShellで使えるのでしょうか?今はWindowsは使用していないので分かりません。

公開前に、WAF(Web Application Firewall)を導入します

OSのfirewallではなく、Web Applicaeion用のfirewall機能です。ここではModSecurity機能を導入しました。

SSH接続は公開後も使用しますが、公開前のセキュリティ設定です

サイトを公開後SSHで接続する場合は、公開前に、(1) ログインでのSSH接続を禁止、(2) rootでSSH接続を禁止します。(3) SSH接続は一般で登録ユーザーのみ、(4) 鍵認証によるSSH接続に制限します・・・これらの作業が出来たのを確認したら、公開が行えます。

サーバーの公開場所は、他のPCとネットワークを別にします

外部からのパケットを受け入れるネットワークは、サーバーを設置しているだけのネットワークにします。このネットワークはセキュリティを厳しくする必要が有るためです。その他の宅内PCはそのネットワークの先に接続したルーターに移動します。(下図参照)

コマンド色々

サーバーの起動した時刻を調べる

# date --date=@$(expr `date +%s` - `cut -d "." -f 1 /proc/uptime`)
2019年  3月 17日 日曜日 18:23:55 JST

一方稼働時間を調べる

連続稼働時間は

# uptime
 21:44:15 up 46 days,  3:20,  1 user,  load average: 0.00, 0.05, 0.09

起動しているサービス一覧を表示する

# systemctl list-units --type=service
UNIT                         LOAD   ACTIVE SUB     DESCRIPTION
abrt-ccpp.service            loaded active exited  Install ABRT coredump hook
abrt-oops.service            loaded active running ABRT kernel log watcher
abrtd.service                loaded active running ABRT Automated Bug Reporting 
atd.service                  loaded active running Job spooling tools
auditd.service               loaded active running Security Auditing Service
chronyd.service              loaded active running NTP client/server
crond.service                loaded active running Command Scheduler
dbus.service                 loaded active running D-Bus System Message Bus
firewalld.service            loaded active running firewalld - dynamic firewall 
getty@tty1.service           loaded active running Getty on tty1
・・・・・「省略」・・・・・

mailを確認する

システムのroot宛のメールの確認

# mail -u root
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/mail/root": 1288 messages 1286 unread
    1 (Cron Daemon)         Sat Sep 29 13:01  29/1050  "Cron <root@cent-nishi"
>U  2 (Cron Daemon)         Sat Sep 29 14:01  63/2303  "Cron <root@cent-nishi"
 U  3 (Cron Daemon)         Sat Sep 29 15:01  63/2303  "Cron <root@cent-nishi"
 U  4 (Cron Daemon)         Sat Sep 29 16:01  63/2303  "Cron <root@cent-nishi"
・・・・・・[省略]
 U 19 (Cron Daemon)         Sun Sep 30 18:01  63/2304  "Cron <root@cent-nishi"
 U 20 (Cron Daemon)         Sun Sep 30 19:01  63/2300  "Cron <root@cent-nishi"
& p3    未読の3番目のメールを読む
Message  3:
From root@cent-niship.localdomain  Sat Sep 29 15:01:02 2018
Return-Path: <root@cent-niship.localdomain>
X-Original-To: root
Delivered-To: root@cent-niship.localdomain
From: "(Cron Daemon)" <root@cent-niship.localdomain>
To: root@cent-niship.localdomain
・・・・[省略]
X-Cron-Env: <USER=root>
Date: Sat, 29 Sep 2018 15:01:01 +0900 (JST)
Status: RO
--続ける-- 

メールを終了するには・・・

--続ける-- q [エンター]
& &nbspq [エンター]
#

システム監視

sysstatのインストール

最初に、SysStatをインストールしておきます。インストールはコマンドラインで行います

# yum -y install sysstat
# systemctl start sysstat
# systemctl enable sysstat

コマンドオプション一覧

sar コマンドに下記のようなオプションを指定することでそれぞれのログが参照可能です。

# sar --help
使い方: sar [ オプション ] [ <間隔> [ <回数> ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I {  [,...] | SUM | ALL | XALL } ] [ -P {  [,...] | ALL } ]
[ -m {  [,...] | ALL } ] [ -n {  [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [  ] | -o [  ] | -[0-9]+ ]
[ -i  ] [ -s [  ] ] [ -e [  ] ]

当日分の統計情報を表示する

# CPU
# sar -u

09時30分02秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
09時40分01秒     all      0.14      0.00      0.09      0.07      0.00     99.70
・・・
10時20分01秒     all      0.46      0.00      0.12      0.16      0.00     99.26
10時30分01秒     all      0.25      0.00      0.10      0.12      0.00     99.54
平均値:  	all	0.25      0.00      0.11      0.09      0.00     99.55

# メモリー
# sar -r

09時30分02秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
09時40分01秒   2634964   4651528     63.84      2116   2213564   1374444      9.31   2409816    554240        56
・・・
10時20分01秒   2630684   4655808     63.90      2116   2213744   1378324      9.34   2414036    554200        56
10時30分01秒   2632608   4653884     63.87      2116   2213780   1374212      9.31   2412284    554172         0
平均値: 	2638898   4647594     63.78      2116   2213669   1369273      9.28   2405952    554213        34

# I/O
# sar -b

09時30分02秒       tps      rtps      wtps   bread/s   bwrtn/s
09時40分01秒      0.38      0.00      0.38      0.00      6.88
09時50分01秒      0.27      0.00      0.27      0.00      4.77
・・・
10時20分01秒      1.92      0.00      1.92      0.00     76.76
10時30分01秒      1.09      0.00      1.09      0.00     36.73
平均値: 	0.96      0.00      0.96      0.00     30.86

# ネットワーク

# sar -n DEV

09時30分02秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09時40分01秒    enp2s0      1.86      8.00      0.13      1.13      0.00      0.00      0.00
09時50分01秒    enp2s0      1.84      7.80      0.12      1.13      0.00      0.00      0.00
・・・
10時20分01秒    enp2s0      1.50      1.49      0.41      1.20      0.00      0.00      0.00
10時30分01秒    enp2s0      2.03      6.48      0.29      1.36      0.00      0.00      0.00

平均値:      IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均値:     enp2s0      1.86      5.57      0.27      1.22      0.00      0.00      0.00


# ロードアベレージ

# sar -q

09時30分02秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
09時40分01秒         0       183      0.10      0.07      0.05         0
09時50分01秒         0       185      0.03      0.05      0.05         0
・・・
10時20分01秒         0       184      0.16      0.10      0.06         0
10時30分01秒         0       185      0.03      0.06      0.05         0
平均値:              0       184      0.08      0.07      0.06         0

ログファイルを指定して過去の統計情報を表示する。

ログファイルは /var/log/sa 配下に、日にちごとに分割保管されています。

# 指定ファイルから取得済み全情報を出力
# sar -A -f /var/log/sa/sa03

11時50分01秒     CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
12時00分01秒     all      0.13      0.00      0.08      0.06      0.00      0.00      0.00      0.00      0.00     99.73
12時00分01秒       0      0.11      0.00      0.09      0.00      0.00      0.00      0.00      0.00      0.00     99.80
12時00分01秒       1      0.15      0.00      0.07      0.12      0.00      0.00      0.00      0.00      0.00     99.66

平均値:      CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
平均値:      all      0.33      0.00      0.10      0.07      0.00      0.00      0.00      0.00      0.00     99.50
平均値:        0      0.38      0.00      0.10      0.01      0.00      0.00      0.00      0.00      0.00     99.51
平均値:        1      0.28      0.00      0.10      0.13      0.00      0.00      0.00      0.00      0.00     99.49

# 指定ファイルから指定した時間内のロードアベレージを出力
# sar -q -s 11:00:00 -e 12:00:00 -f /var/log/sa/sa03

11時00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
11時10分01秒         0       185      0.07      0.07      0.05         0
11時20分01秒         0       185      0.15      0.09      0.06         0
11時30分01秒         0       184      0.31      0.16      0.08         0
11時40分01秒         0       184      0.01      0.06      0.06         0
11時50分01秒         0       185      0.06      0.08      0.06         0
平均値:    	    0       185      0.12      0.09      0.06         0

今現在の統計情報を表示する。

# CPU の使用率を 1秒おきに 3回出力
# sar -u 1 3
Linux 3.10.0-862.14.4.el7.x86_64 (east19-mikas.com) 	2019年04月03日 	_x86_64_(2 CPU)

12時28分03秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
12時28分04秒     all      0.00      0.00      0.50      0.00      0.00     99.50
12時28分05秒     all      0.00      0.00      0.00      0.00      0.00    100.00
12時28分06秒     all      0.50      0.00      0.50      0.50      0.00     98.51
平均値:      	all      0.17      0.00      0.33      0.17      0.00     99.33

# I/O とネットワークの統計を 2秒おきに 5回出力

# sar -b -n DEV 2 5
Linux 3.10.0-862.14.4.el7.x86_64 (east19-mikas.com) 	2019年04月03日 	_x86_64_(2 CPU)

12時30分42秒       tps      rtps      wtps   bread/s   bwrtn/s
12時30分44秒      0.00      0.00      0.00      0.00      0.00

12時30分42秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
12時30分44秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12時30分44秒    enp2s0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
・・・
平均値:        tps      rtps      wtps   bread/s   bwrtn/s
平均値:       0.00      0.00      0.00      0.00      0.00

平均値:      IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均値:         lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均値:     enp2s0      1.70      1.90      0.19      0.48      0.00      0.00      0.00
上部へスクロール