- システム時刻を維持する
- システムクロックとハードウェアクロックがある
- システムクロック:カーネル内に存在する時計、「date」コマンドで確認及び変更できる
- ハードウェアクロック:ハードウェアに内蔵されており電源オフでも動作する時計、「hwclock」コマンドで確認及び変更できる
- 「ntpdate」コマンドでNTPサーバから正確な現在時刻を取得できる
- システムのログ
- Linuxではsyslogを使って様々なイベントの記録、コンソール表示を行う
- 「/etc/syslog.conf」がsyslogの設定ファイル(書式:ファシリティ.プライオリティ 出力先)
- tail,grep,who,w,last等のコマンドでログを調査できる
- 「/etc/logrotate.conf」ファイルでログローテーションの設定ができる
- メール転送エージェント(MTA)の基本
- 電子メールを取り扱うソフトウェアには、「MTA」「MDA」「MUA」がある
- 「mail」コマンドでメールの送受信が出来る
- 「/etc/aliases」でエイリアス設定、「.forward」ファイルを変更で転送の設定が出来る
- 「mailq」コマンドで送信待ちのメールが確認できる
- プリンターと印刷を管理する
- 主なLinuxディストリビューションでは、印刷サブシステムに「CUPS」を採用している
- 「/etc/init.d/cups start」でCUPSサービスを起動できる
- 「lpr」コマンドでファイルの印刷
- 「lpq」コマンドでプリントのキュー内容の表示
- 「lprm」コマンドで印刷要求の削除
1. システム時刻を維持する
システムクロックとハードウェアクロック
- Linuxには2つの時計システムがある
- ハードウェアクロック:ハードウェアに内蔵されていて電源がオフの状態でも動作する時計(コンピューター内の電池で動作)
- システムクロック:カーネル内に存在する時計。Linux起動時にハードウェアクロックを参照して設定されるが、起動後は別々に動作する。
- 動作が経過するにつれハードウェアクロックとシステムクロックに差が生まれる
システムクロック
- 「date」コマンドでシステクロックの日時の表示(引数がある場合、システム時間を変更)
- 「date」コマンドは、引数に「+」を付与すると指定した書式で表示される(ログファイル名に時間をつける時によく利用する)
date [MMDDhhmm[[CC]YY][.ss]]
[vagrant@localhost ~]$ date
2015年 9月 6日 日曜日 00:51:19 EST
[vagrant@localhost ~]$ date "+%Y%m%d"
20150906
[vagrant@localhost ~]$ sudo date 072019302010.20 // 2010年7月20日19時30分20秒に設定
2010年 7月 20日 火曜日 19:30:20 EDT
[vagrant@localhost ~]$
ハードウェアクロック
- 「hwclock」コマンドでハードウェアクロックの表示及び変更が出来る
hwclock オプション
オプション |
説明 |
-r |
ハードウェアクロックを表示 |
-w |
システムクロックの時刻をハードウェアクロックの時刻に設定(hwclock –systohcも同じ) |
-s |
ハードクロックの時刻をソフトウェアクロックの時刻に設定(hwclock –hctosysも同じ) |
NTPによる時刻設定
- 正確な時刻を取得するためにIPネットワーク経由でNTP(Network Time Protocol)を使用し情報を取得する
- 「ntpdate」コマンドでNTPサーバから正確な現在時刻を取得できる
ntpdate [オプション] NTPサーバ名
オプション |
説明 |
-d |
デバックモードで実行(時刻の修正はしない) |
-q |
NTPサーバーに日付と時刻を問い合わせる(時刻の修正はしない) |
-v |
詳細情報を表示 |
ntpdateの使用例)
[root@localhost ~]# ntpdate -v ntp.nict.jp // ntp.nict.jp(情報通信研究機構)をシステムクロックに設定
6 Sep 01:45:45 ntpdate[1871]: ntpdate 4.2.4p8@1.1612-o Fri Feb 22 11:23:28 UTC 2013 (1)
6 Sep 01:45:56 ntpdate[1871]: adjust time server 133.243.238.244 offset -0.268652 sec
[root@localhost ~]# date
2015年 9月 6日 日曜日 01:46:01 EDT
[root@localhost ~]# hwclock
2015年09月06日 05時46分03秒 -0.157601 秒
[root@localhost ~]# hwclock -w // システムクロックの時刻をハードウェアクロックの時刻に設定
[root@localhost ~]# hwclock
2015年09月06日 01時47分53秒 -0.804416 秒
[root@localhost ~]#
2. システムのログ
- Linuxではsyslogを使って様々なイベントの記録、コンソール表示を行う
syslog
- 「/etc/syslog.conf」がsyslogの設定ファイル(centOSの場合、rsyslog.conf)
- 「syslog」コマンドと「dmesg」コマンド
- syslog:各アプリケーションやOSが出力するログ
- dmesg:システム起動直後に、起動時のメッセージ(リングバッファの内容)
- CentOS 6以降は「rsyslog」が採用されている場合がある(「/etc/rsyslog.conf」が設定ファイル)
syslog.confの書式)
cron.* /var/log/cron
① ② ③
①ファシリティ:メッセージの出力元、カーネル実行中のプロセス、「*」で全てを設定できる
②プライオリティ:メッセージの優先度、プライオリティを低くするとログも少なくなる、「*」で全てのプライオリティを選択できる
③出力先:メッセージの出力先、ログファイルに出力したい場合ファイル名をフルパスで指定、ネットワーク上のリモートホストに送信したい場合「@」を使ってホストを指定、「*」を使うと全てのユーザーに通知する
ファシリティ |
説明 |
auth, authpriv |
承認システム |
cron |
cron |
deamon |
各種デーモン |
kern |
カーネル |
lpr |
印刷システム |
mail |
メールシステム |
syslog |
syslog機能 |
local0~local7 |
独自の設定 |
プライオリティ |
説明 |
emerg |
非常に危険な状態 |
alert |
危険な状態 |
crit |
危険な状態 |
err |
一般的なエラー |
warning |
システム警告 |
notice |
システム重要通知 |
info |
システム情報 |
debug |
デバッグ情報 |
none |
ファシリティ無効(メッセージを送らない) |
出力先 |
説明 |
ファイル名 |
ファイルに出力 |
@ホスト名 |
リモートホストのsyslogdに出力 |
ユーザー名 |
ユーザー端末に出力 |
/dev/console |
コンソールに出力 |
* |
全てのユーザー端末に出力 |
- 「logger」コマンドでログメッセージを生成できる
logger [-p ファシリティ.プライオリティ] [-t タグ] メッセージ
ログの調査
- 「tail」コマンドでログファイルを監視できる
- 「grep」コマンド併用で特定のメッセージを調べられる
- 「who」コマンドでログイン中のユーザーが調べられる
- 「w」コマンドでログイン中のユーザー及びシステム情報も調べられる
- 「last」コマンドで最近ログインしたユーザー一覧を表示します
ログファイル |
コマンド |
説明 |
/var/log/messages |
less,tail,grep等 |
一般的なシステム関連のメッセージ |
/var/log/secure |
less,tail,grep等 |
セキュリティに関するメッセージ |
/var/log/wtmp |
last |
最近ログインしたユーザー |
/var/run/utmp |
who,w |
ログイン中のユーザー |
/var/log/lastlog |
lastlog |
ユーザーごとのログイン情報 |
ログの書式)
Nov 9 06:46:59 localhost kernel: starting
① ② ③ ④
①日時
②出力元ホスト名
③メッセージ出力元
④メッセージ
grepの例)
[root@localhost ~]# grep eth0 /var/log/messages
Nov 9 05:33:05 localhost kernel: e1000 0000:00:03.0: eth0: (PCI:33MHz:32-bit) 08:00:27:9a:38:87
ログファイルのローテーション
- 一つのログファイルに追記すると容量が肥大化していく
- 「ローテーション機能」を使うと古くなったログを切り分け肥大化を防げる
- 「/var/log/message」ファイルは「/var/log/message.1」にコピーされ、「/var/log/message」が新に作成される(順次に「.2」ファイルが作成されていく)
- 「logrotateユーティリティ」でローテーション機能は提供される
- 「/etc/logrotate.conf」ファイルでlogrotateの設定ができる
/etc/logrotate.confの一部抜粋)
# ローテーション周期は1周間とする
weekly
# バックアップログを4週間保存する
rotate 4
# ローテーションさせたら空のログファイルを作成する
create
# ログファイルを圧縮する
#compress
3. メール転送エージェント(MTA)の基本
メール配送の仕組み
MTAの起動
MTAプログラムの確認)
# netstat -atnp | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3986/exim4
sendmailを起動方法)
# /etc/init.d/sendmail start
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
メールの送受信
- 「mail」コマンドでメールの送受信が出来る
- 引数ありで実行するとメールを送信できる
- 引数なしで実行すると受信メールを確認できる
- 「/var/spool/mqueue/」に送信待ちのメールが蓄えられる(メールキュー)
- 「mailq」コマンドで送信待ちのメールが確認できる(mailコマンドで送信が成功したか確認できる)
- 「/var/spool/mail/」に受信メールが格納される
mail [-s 題名] [宛先メールアドレスもしくはユーザー名]
[vagrant@localhost ~]$ mail -s test you@examle.com
Hello Test! # 本文を入力
. # 「.」で入力終了
EOT
[vagrant@localhost ~]$
メールの転送
- 「/etc/aliases」ファイルを変更して転送できる(設定後に「newaliases」コマンドで反映する)
- 「~/.forward」ファイルを作成でも転送できる(一時的に転送したい場合やユーザ個人の管理で転送したい場合に使用する)
/etc/aliasesの記述例)
# rootに届いたメールをadmin,lpicに転送(rootにはメールが届かなくなる)
root:admin,lpic
.forwardの記述例)
# 自分に届いたメールをyou@examle.comに転送
you@examle.com
4. プリンターと印刷を管理する
印刷の仕組み
- 主なLinuxディストリビューションでは、印刷サブシステムに「CUPS」を採用している
- CUPSの特徴は次の4つ
- IPPの採用:プロトコルにIPP(Internet Printing Protocol)を採用しインターネット経由で印刷も可能
- PPDファイルサポート:AdobeのPPD形式ファイルでデバイスドライバの設定可能
- Webベースで設定可能:Webブラウザから設定できるツールが組み込まれている
- プリンタクラスのサポート:複数のプリンタを1台のプリンタに見せる機能
- 「/etc/init.d/cups start」でCUPSサービスを起動できる
- 「/etc/cups/printers.conf」がCUPSのプリンタ設定ファイル
印刷関連コマンド
- 「lpr」コマンドでファイルを印刷できる
- 「lpq」コマンドでプリントのキューの内容を表示できる
- 「lprm」コマンドで印刷要求を削除できる
lpr [オプション] [ファイル名]
オプション |
説明 |
-# 部数 |
印刷部数を指定 |
-P プリンター名 |
印刷プリンターを指定 |
lpq [オプション] [ユーザー名] [ジョブ番号]
オプション |
説明 |
-P プリンター名 |
プリンターを指定 |
lprm [オプション] [ジョブ番号]
オプション |
説明 |
-P プリンター名 |
プリンターを指定 |
- |
自分の全印刷ジョブを削除 |
使用した教材
LPIC101,102