BLOGTIMES
«Prev || 1 · 2 · 3 · 4 · 5 · 6 ·... | | Next»
2017/01/16

Btrfs を使い始めてみた

Tips centos7 

CentOS7 からは Btrfs がだいぶ使えるようになってきているので ZFS に換えて何台か導入してみました。

Oracle 製だけど GPL なので、ZFS のような面倒さがないのが良いです。
CoW だったり、スナップショットが取れたり、 send/recv できたりと、ZFS とよく似ています。

よく使うコマンドはこのあたりでしょうか。

# ディスクの使用量の表示 btrfs filesystem df / btrfs filesystem usage / # CoWの無効化 chattr -R +C /path/to/dir lsattr /path/to/dir # CoWを使ったファイルコピー cp --reflink src dst # サブボリュームの作成 btrfs subvolume create /path/to/subvol # R/O のスナップショット作成 btrfs subvolume snapshot -r source [dst/]name # サブボリュームの一覧 btrfs subvolume list -pa .

    at 21:22 |
    2017/01/16

    Java8 で日付をフォーマットして出力する

    Tips java 

    Java で日付をフォーマットして出力したいときには、Java7 までは SimpleDateFormat を使う必要がありましたが、このクラスはスレッドセーフでない上に生成のコストが高いという、ハマる可能性が高いクラスでした。Java8 からは新たな日付 API である java.time が導入されましたが、このパッケージに含まれるすべてのクラスは不変で、スレッドセーフ(All the classes are immutable and thread-safe)になったため、とても扱いやすくなりました。

    日付のフォーマットには DateTimeFormatter を使うことができます。
    例えばローカルな日付時刻を yyyy/MM/dd HH:mm:ss にフォーマットして表示するのは以下のような感じになるでしょうか。

    import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateTimeExample { public static void main(String[] args) { DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); System.out.println(LocalDateTime.now().format(fmt)); } }

      at 12:12 |
      2017/01/15

      EMET 5.52 リリース

      Security microsoft 

      EMET のマイナーアップデート版の v5.52 がリリースされています。

      昨年の11月に開発の終了がアナウンス されていますが、予定通り2018年7月31日までマイナーバージョンアップは続くようです。変更点について以下に書いてありますが、デフォルトの定義を使っていると Chrome に EAF+ が適用されてしまい、Chrome がクラッシュしてしまうのが厄介だったのですが、これが解消されたのはありがたいです。

      EMET 5.52 update is now available – Security Research & Defense

      EMET 5.52 is a minor update from EMET 5.51 to address the following:
      • An issue with the EAF mitigation that causes some applications to hang on Windows 7 SP1.
      • A fix to the MSI installer to allow in-place upgrade behavior.
      • Removed EAF+ mitigation for Chrome from “Popular Software.xml”
      • Fixed import behavior for System Mitigations.

        at 22:01 |
        2017/01/15

        さくらインターネットのセカンダリ DNS を切り替えようとしてハマる

        Tips sakura  dns  vps  migration 
        登録することができませんでした。このゾーンまたは上位のゾーンが利用中です。(D5-01) - さくらインターネットのセカンダリ DNS を切り替えようとしてハマる

        専用サーバで運用している DNS サーバを VPS に移行するにあたって、セカンダリサーバにしているさくらインターネットの DNS の同期先を新しいモノに切り替えようしたらハマってしまいました。

        障害は突然に

        まず、さくらのネームサーバのサービスは一度セカンダリとして設定してしまうと、同期先のサーバを変更することはできません。変更したい場合には、同期設定を一旦削除してから再設定する必要があります。なかなか面倒な仕様なのですが、軽い気持ちで一旦削除してから再登録しようとしたら画像のようなエラーが出て困ってしまいました。

        エラーです(1) 登録することができませんでした。このゾーンまたは上位のゾーンが利用中です。(D5-01)

        ゾーンにはさくらの DNS サーバ ( ns1.dns.ne.jp. / ns2.dns.ne.jp. ) が登録されたままのなので、このままだと DNS 情報に不整合が生じてウェブやメールなどのサービスに到達できなくなる可能性があります。というわけで、まずは復旧を最優先DNS 移行のために TTL は短くしてあったので、おちついて以下の2点を実施。

        1. プライマリサーバのゾーンファイルからさくらの DNS サーバ の NS レコードを削除
        2. ルートサーバのネームサーバ定義からさくらの DNS サーバ の定義を削除

        そういえばドメインハイジャックができる脆弱性が・・・・

        ns レコードが1つだけの状態ですが、まずは正常に DNS が稼働していることを確認してトラブルシュートを開始します。
        しばらく前にドメインハイジャックができる件が騒ぎになって、さくらの DNS のサービスの仕様が変更されたことを思い出しました。

        検索してみましたが、2012年のこの辺の事件ですね。

        全く同じパターン(セカンダリ DNS の同期先変更)でハマっている人の記録も発見。

        その後、もう一度操作をおこなったところ、無事セカンダリとして登録することができました。前述の「プライマリサーバのゾーンファイルからさくらの DNS サーバ の NS レコードを削除」と「ルートサーバのネームサーバ定義からさくらの DNS サーバ の定義を削除」を行っていたことで、登録制限である「登録しようとしているドメインが当社ネームサーバと他のネームサーバの両方に委譲されている場合には登録出来ない(いわゆるセカンダリ設定がされている場合)」を回避できたようです。

        脆弱性を直すのは当たり前なのですが、さくらさんはD5-01 のエラーについてちゃんとマニュアルに書いてくれませんかね


          at 20:23 |
          2017/01/14

          試験監督用の時計

          Goods
          [シチズン キューアンドキュー]CITIZEN Q&Q 腕時計 SOLARMATE (ソーラーメイト) 電波ソーラー アナログ表示 スポーツタイプ 10気圧防水 ブラック×オレンジ HG10-315 メンズ

          全国的に某試験が行われていて、僕も駆り出されています。
          例年この時期にしか使わないのが、この時計

          シチズンの Q&Q HG10-315 という 5,000円 もしなかったと思われるかなり安っぽい時計ですが、アラームなどの音の出る機能がついておらず標準電波対応できっかり秒単位まで合わせられ明るいところに置いて置きさえすれば電池切れの心配が無い太陽電池と試験監督用としてはおあつらえ向きです。

          説明書を無くしてしまいましたが、シチズンのウェブに HR15 キャリバーというページがあって助かりました。


            at 21:01 |

            Apache の autoindex が文字化けするときは

            Tips httpd24  charset 

            Apache で Options +Indexes に設定すると、ディレクトリに index.html がない場合に mod_autoindex がファイルの一覧を生成してくれるのですが、デフォルトだと Charset が ISO-8859-1 なので文字化けしてしまいます。これを直す方法をいつも忘れて手間取るので変更方法をメモ。

            解決方法は IndexOptions ディレクティブ*1Charset=UTF-8 を追加するだけです。

            CentOS 7 の場合には下記のようにすれば簡単に変更できます。

            diff -u autoindex.conf{.org,}

            --- autoindex.conf.org 2016-11-15 03:04:38.000000000 +0900 +++ autoindex.conf 2017-01-14 08:55:40.413979451 +0900 @@ -13,7 +13,7 @@ # IndexOptions: Controls the appearance of server-generated directory # listings. # -IndexOptions FancyIndexing HTMLTable VersionSort +IndexOptions FancyIndexing HTMLTable VersionSort Charset=UTF-8 # We include the /icons/ alias for FancyIndexed directory listings. If # you do not use FancyIndexing, you may comment this out.

            at 09:01 |
            2017/01/13

            Nintendo Switchで「ファイアーエムブレム無双」が出る!!

            Game fireemblem  nintendoswitch 

            ゼルダ無双が出たときに、TLで多くのエムブレマーが「FE無双出ないかなぁ」と言っていたわけですが、Nintendo Switch 向けのソフトとして本当に発売されるようです。FE の単騎突撃の感じがうまく出せるといいですね。

            まさかのコラボ、『ファイアーエムブレム無双』発売決定!【Nintendo Switch プレゼンテーション】 - ファミ通.com

            『ファイアーエムブレム』と『無双』シリーズを手掛けたコーエーテクモゲームス オメガフォースチームのコラボタイトル、『ファイアーエムブレム無双』が、Nintendo Switch向けソフトとして発売されることが明らかになった。

              at 22:18 |

              Postfix のバーチャルドメインで Mailman

              Tips postfix  mailman  awk 

              Postfix と Mailman の連携については公式の Wiki に 「DOC/Mailman - Postfix integration with Mailman generated transport or other maps - Mailman Wiki」というドキュメントがあり、virtual_to_transport というスクリプトを作って transport_maps 用のファイルを生成する方法が解説されています。

              ただ、この方法でも結局 local に配送して alias で処理をするという部分は変わらないので、純粋にバーチャルドメインだけで Postfix + Mailman 連携ができる方法がないかと思っていろいろと試行錯誤してみました。

              参考にしたのは「[mmjp-users 1929] Postfix で純仮想ドメイン (思いつき)」という投稿。基本路線はこれを踏襲しますが、具体的な transport_maps 用のファイルの生成方法が書かれていなかったので、以下のようなスクリプトを組んでみました。

              /etc/mailman/virtual_to_transport

              #!/bin/bash gawk ' BEGIN{ MLNAME = ""; } /^mailman-loop/ { printf("#%s\n",$0); next; } /^# STANZA START:/ { MLNAME = gensub(/^# STANZA START: (.+)/,"\\1",1,$0);} /^#/ { print ; next ;} MLNAME == "" { print; next; } MLNAME != "" && /@/{ sub(MLNAME, "",$2); if( $2 ~ /^-/ ){ printf("%s\tmailman-%s:%s\n", $1, substr($2,2), MLNAME); } else { printf("%s\tmailman-post:%s\n", $1, MLNAME); } } ' < /etc/mailman/virtual-mailman > /etc/mailman/transport-mailman /usr/sbin/postmap /etc/mailman/transport-mailman if [ -n "$1" ]; then /usr/sbin/postmap $1 fi

              Postfix 側の設定として/etc/postfix/master.cf に以下の行を追加しておきます。

              ##### mailman ######### mailman-post unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman post ${nexthop} mailman-admin unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman admin ${nexthop} mailman-bounces unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman bounces ${nexthop} mailman-confirm unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman confirm ${nexthop} mailman-join unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman join ${nexthop} mailman-leave unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman leave ${nexthop} mailman-owner unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman owner ${nexthop} mailman-request unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman request ${nexthop} mailman-subscribe unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman subscribe ${nexthop} mailman-unsubscribe unix - n n - - pipe flags=FR user=mailman:mailman argv=/usr/lib/mailman/mail/mailman unsubscribe ${nexthop}

              さらに /etc/postfix/main.cf の既存の設定に以下を追加します。
              (・・・・の部分は既存の項目に読み替えてください。既存の項目がなければ新規に項目を追加します。)

              transport_maps = ・・・・・, hash:/etc/mailman/transport-mailman virtual_transport_maps = ・・・・・, hash:/etc/mailman/transport-mailman virtual_mailbox_maps = ・・・・・, hash:/etc/mailman/transport-mailman

              これで上手く動いているようなのですが、少し調子を見てみたいと思います。


                at 20:31 |
                2017/01/12

                春の情報処理技術者試験・情報処理安全確保支援士の受験申し込みがスタート

                IT certificate  riss 
                2017 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (午後対策シリーズ)

                春の情報処理技術者試験・情報処理安全確保支援士の受験申込みがスタートしました。

                インターネット出願の締め切りは 2月20日(月)20時、郵送出願の場合は 2月9日(木) 消印有効となっているので、受験を予定している場合には忘れないうちに申込みを済ませましょう。ちなみに今回の実施分からはセキュリティスペシャリストがなくなり、新設された情報処理安全確保支援士の初試験になります。


                  at 22:18 |

                  FE のピアノアレンジアルバムが登場

                  Game fireemblem 

                  旧作~最新作までの曲が収録された FE のピアノアレンジアルバム「FIRE EMBLEM MUSIC COLLECTION : PIANO 〜Faith & Engagement〜」が発売されるようです。発売は2月22日。さっそく Youtube に試聴動画が上がっています。


                    at 21:22 |
                    «Prev || 1 · 2 · 3 · 4 · 5 · 6 ·... | | Next»