timedatectl

表題のコマンドを使う機会があったのでメモ。

■ 環境

  • Ubuntu 16.04

■ timedatectl

そういえば、最近は”/etc/localtime“を置き換えるわけではないんだっけ、と思いやってみた。

$ timedatectl
      Local time: Thu 2017-08-17 10:15:18 UTC
  Universal time: Thu 2017-08-17 10:15:18 UTC
        RTC time: Thu 2017-08-17 10:15:17
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

現状は”UTC“の時間が返却される。設定するときには”timezone“の名称が必要なようなので、まずは一覧を得る。

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
  :
Asia/Tokyo
  :
$

Asia/Tokyo“という文字列を発見したのでこれを設定する。

$ sudo timedatectl set-timezone Asia/Tokyo

再度確認する。

$ timedatectl
      Local time: Thu 2017-08-17 19:18:28 UTC
  Universal time: Thu 2017-08-17 10:18:28 UTC
        RTC time: Thu 2017-08-17 19:18:27
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

また、`date`コマンドでも変わっていることを確認。

$ date
Thu Aug 17 19:18:28 JST 2017
$

以上。

aclocal is missing

表題のエラーが出て`make`できなかった。

■ 環境

  • Amazon Linux

■ aclocal

ModSecurity-2.9.2“をmakeしようとしたところ下記のようなエラーが出た。

$ make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /usr/local/src/modsecurity-2.9.2/build/missing aclocal-1.15 -I build
/usr/local/src/modsecurity-2.9.2/build/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [aclocal.m4] Error 127
$

`aclocal`とは?`yum search`でも検索に引っかからないのでどうしたものかを見たが、どうやら”automake“に含まれているようだ。

$ sudo yum install automake

automake“をインストールしたところ、`aclocal`がインストールされた。これによって上記の”ModSecurity-2.9.2“も`make`できた。

$ which aclocal
/usr/bin/aclocal
$ rpm -qf /usr/bin/aclocal
automake-1.13.4-3.15.amzn1.noarch
$

以上。

dig mx

表題の通り。MXレコードを知りたい。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ dig

Aレコードを知りたい時は下記のようにしている。

$ dig www.example.com

MXレコードはこの結果では得られない。

$ dig www.example.com mx

上記のようにMXレコードを明示的に指定しなければならない。”+short“ももちろん使用可能である。

以上。

■ 関連

dig +short

logrotate.confのテスト

表題の通り。たまに書き加えたりした時に、間違えていて実行されないことがあるので確認する手段。

■ 環境

  • Linux

■ logrotate

下記のようなファイルで設定するとする。

$ cat /etc/logrotate.d/nginx
/var/log/nginx/*.log {
        daily
        dateext
        missingok
        rotate 7
        compress
        sharedscripts
        postrotate
                /sbin/service nginx reload > /dev/null 2>/dev/null || true
        endscript
}
$

これが正しく書かれているのか?を確認する。

$ logrotate -d /etc/logrotate.d/nginx
reading config file /etc/logrotate.d/nginx
reading config info for /var/log/nginx/*.log

Handling 1 logs

rotating pattern: /var/log/nginx/*.log  after 1 days (7 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/nginx/access.log
  log does not need rotating
considering log /var/log/nginx/error.log
  log does not need rotating
considering log /var/log/nginx/example.jp_access_443.log
  log does not need rotating
considering log /var/log/nginx/example.jp_access_80.log
  log does not need rotating
considering log /var/log/nginx/example.jp_error_443.log
  log does not need rotating
considering log /var/log/nginx/example.jp_error_80.log
  log does not need rotating
not running postrotate script, since no logs were rotated
$

試しにエラーを入れて実行してみる。

$ logrotate -d /etc/logrotate.d/nginx
reading config file /etc/logrotate.d/nginx
reading config info for /var/log/nginx/*.log
error: /etc/logrotate.d/nginx:5 unknown option 'rotata' -- ignoring line
error: /etc/logrotate.d/nginx:5 unexpected text

Handling 1 logs

rotating pattern: /var/log/nginx/*.log  after 1 days (no old logs will be kept)
empty log files are rotated, old logs are removed
  :
$

error“があることがわかる。また内容もわかる。

以上。

iptablesで特定のルール削除

表題の件について。

■ 環境

  • Linux

■ iptables

まずは既存のチェインと番号を確認する。

$ iptables -nL --list-numbers

この”–list-numbers“というオプションを知らなかった。

あとは番号を指定して削除するだけである。

$ iptabls -D [chain] [number]

以上。

■ 関連

iptablesのDROPとREJECT