改行コードにまつわるLinuxコマンド diffで改行を無視、catで改行コード確認

diffを実行すると改行コードだけの違いなのに全部違う行として丁寧に出してくれる。

改行コードのみの違いを無視したい場合は以下のオプションを付けてdiffを実行する。

diff --strip-trailing-cr fileA fileB

そもそも改行コードが不ぞろいなのが問題なので、まずは改行コードを確認するためにはcat -Aオプションをつける

cat -A ファイル名
</match>^M$  // CRLF
</match>$  // LF

改行コードを変換するにはdos2unix,unix2dosがあればそれを使うが、vimでできる

//CRLF
:set fileformat=dos
//LF
:set fileformat=unix
カテゴリー: Linux, コマンド | コメントする

td-agent/fluentd 設定ファイルをDSL化してみた

td-agentの設定ファイルはXML形式ではなく、rubyのDSL形式で記述することもできる。
(共存はできない)
似たような個所を置きかえるのであればDSLにしたほうが良いと思ってトライ。

sysloghash = { "syslog" => "td.syslog.messages"}
#{ "syslog" => "td.syslog.messages"}.each do |key,value|
sysloghash.each do |key,value|
source {
    type :tail
    path "/var/log/messages"
    format "#{key}"
    tag "#{value}"
    pos_file "/tmp/td-agent/syslog_messages.pos"
}
end
# apche setting
apache_hash = { "access" => "apache", "error" => "apache_error"}
apache_hash.each do |key,value|
source {
    type :tail
    path "/var/log/httpd/*_#{key}_log"
    format "#{value}"
    tag "apache_#{key}"
    pos_file "/tmp/td-agent/apache_#{key}.pos"
}
end
match ('td.syslog.messages') {
        type :copy
        store {
                type "mongo"
                database "syslog"
                collection "syslog"
                host "localhost"
                port "27017"
        }
}

可読性が悪くなるような気もするが、ループ処理ができるのが楽。
最終的にこれらはパースされてXML形式の設定ファイルが出力される。
(なので既存との比較も/var/log/td-agent/td-agent.logを起動時に見ていれば比較できる)

<ROOT>
  <source>
    type tail
    path /var/log/messages
    format syslog
    tag td.syslog.messages
    pos_file /tmp/td-agent/syslog_messages.pos
  </source>
  <source>
    type tail
    path /var/log/httpd/*_access_log
    format apache
    tag apache_access
    pos_file /tmp/td-agent/apache_access.pos
  </source>
  <source>
    type tail
    path /var/log/httpd/*_error_log
    format apache_error
    tag apache_error
    pos_file /tmp/td-agent/apache_error.pos
  </source>
  <match td.syslog.messages>
    type copy
    <store>
      type mongo
      database syslog
      collection syslog
      host localhost
      port 27017
    </store>
  </match>
</ROOT>
カテゴリー: Bigdata | タグ: , , | コメントする

vim 範囲選択コピーと置換

昔はemacsなんかを結構使っていたのだが、初期状態で入っていないことが多いので最近はvimオンリー。

とはいえあまり詳しいわけではないので、必要とされて覚えたコマンド&操作を列挙していこう。

範囲選択はShift+Vでカーソルを動かせばOK。
その範囲をコピーしたければyで、消したければdを押せばよい。

この状態で:を押すとすでに範囲選択された状態になっている。
:’<,'>の後に置換コマンドを入れればよい。

下記は選択範囲のhogeをfugaに置き換えつつ、置き換え時に確認するというcオプションを付けたもの。

:'<,'>s/hoge/fuga/gc
カテゴリー: Linux, コマンド | タグ: | コメントする

MacBookProのアダプターはMacBookAir/MacBookでも利用可能 大は小を兼ねる!

ほかのPCよりも小型とはいえMacのノートのアダプターは結構でかい。
しかし最近の機種であれば違いはワット数のみである。

Appleの公式サイトの情報で以下の情報を見つけた。

「Apple 製ノートブックコンピュータ用の電源アダプタには、29W、45W、60W、85W のものがあります。お使いの Apple 製ノートブック製品に適合したワット数のアダプタをお使いください。適合ワット数よりもワット数が大きいアダプタも問題なく使えますが、コンピュータの充電時間が短くなったり、動作に違いが出たりすることはありません。ワット数が適合数より小さいアダプタでは、十分な電力が供給されません。」

というわけでMacBookPro 15インチ用のMega Safe2アダプタ85Wをもっておけばほかのアダプターを兼ねることができるということだ。

カテゴリー: Mac | タグ: , | コメントする

Let’s note 2015年秋冬モデル CF-SZ5に注目

今年の一月からLet’s noteのCF-S10を使い始めてから12.1型のLet’s noteの動きに注目している。

CF-S10の後継機種がCF-SXシリーズでSX1からSX4まで基本設計は一緒でバッテリーなども共有であった。
今度の新機種はCF-SX5が出るかと思ったら、CF-SZ5になりこちらはSXシリーズとは筐体が一新された新設計のモデルである。
軽量バッテリー装着で1キロを切る重量である!

真中に光学ドライブのスペースがあり、メモリも増設できなくなっているとのことで(分解すれば可能かも)、おそらくSSDの換装もやりづらくなっていると思われる。
安くベースを手に入れてドライブ類は自分で交換できる人にとってはCF-SXシリーズのほうがよいかもしれない。

カテゴリー: 未分類 | コメントする

maven この文字は、エンコーディングUTF8にマップできません 対策

久々にEclipse以外でビルドしたので上記「この文字は、エンコーディングUTF8にマップできません」に遭遇。

システムのデフォルトエンコーディングでソースをコンパイルしようとするのであるが、WindowsだとWindows-31Jになり、LinuxだとUTF-8になる。
該当ソースコードはWindowsなのでpom.xmlにエンコーディングを指定。

<properties>
<project.build.sourceEncoding>Windows-31J</project.build.sourceEncoding>
</properties>

初歩的なことだが、どこの環境でも動くようにエンコーディングは常に指定するのを心がけておくとよいだろう。

カテゴリー: Java | タグ: , | コメントする

Freetel priori2 マップで現在地の捕捉が遅い

以前から気になっていたのだが、priori2でマップアプリを利用すると現在地の捕捉がとても時間がかかる。
忘れたころに捕捉するので、目的地を検索して移動したほうが早いぐらい。

WIFIをONにした場合、都市部であればものの数秒で現在地に移動するのになぜだろう?

一応ほかのマップアプリも入れてみて、ダメなら
これはさすがに不具合と思われるので、バージョンアップなりの対応をしてみるかな。

カテゴリー: 未分類 | タグ: , | 1件のコメント

某勉強会にて、利用者の5割以上がmac系ノートを利用!

一昔前のビジネス用モバイルノートPCと言えばThinkPadかLet’s noteと相場が決まっていた。

15インチぐらいのでかいモデルならばHPやらDELLやらもあるかもしれないが、持ち運びだと上記二機種が圧倒的であった。

ところが昨日参加した某勉強会ではなんとほとんどの参加者がMacBookPro(おそらく13インチ)かAirを利用していた。
Let’s noteは自分ぐらい?隣の人がThinkPadだった。

うむむ恐るべきMac浸透率。
ただし調査対象は開発系のエンジニアが多かったので、営業の人だと従来通りWindowsノートが多いと思うけど。

カテゴリー: 未分類 | コメントする

Splunk The system is approaching the maximum number of historical searches that can be run concurrently. current=8 maximum=9

Splunkを利用していると時折でる警告メッセージ

意味としては同時に行われるサーチ数が8であと一つでリミットだぞという状況。
しかし特にサーチを実行してはいないときでもこのメッセージが出ることがある。

同じ質問が英語でなされていた。
納得のいく答えがこれ

Some of real time search will be run whenever you view the top of the search App. And I guess some saved search still remains so that you wee the warning.

いくつかのリアルタイムサーチはサーチappのTOPを開いたたびに流れます。おそらくあなたが警告を見たタイミングでいくつかのサーチが残っていたのでしょう。

その情報の通り、リロードしたら警告は消えていた。

リミットの制限は設定ファイルで行っている。変更したければ以下の手順に従うべし

$ sudo touch $SPLUNK_HOME/etc/system/local/limits.conf
$ sudo vim $SPLUNK_HOME/etc/system/local/limits.conf

[search]
base_max_searches=100
max_searches_per_cpu=10

splunkを再起動すると反映される。上記例だと100+CPU*10なので、シングルコアなら110同時サーチ可能ということ。

カテゴリー: Bigdata | タグ: | コメントする

カゴヤ・クラウド VPS WordPressアプリケーションパック

カゴヤクラウドのデフォルト状態はあまりパッケージが導入されていない状態である。

自分で構築していく場合は、wgetなどのツールも入れなければならないが、用意されているアプリケーションパックを利用すると起動した直後からWordPressなどのソフトウェアを利用することができる。

ただし、自分の場合どのCentOSでも構築できるようにしてAnsibleスクリプトを組んでいるため、既存で入っているPHP5.5のrpmと衝突してしまうという問題が発生。

アプリケーションパックの場合は、今あるパッケージのままつかっていくのが賢そうである。

SSHログイン後のメッセージに丁寧にデフォルトのパスワード情報が記載されているので、セキュリティを高めるために変更しておこう。

mysqlのrootパスワードは/etc/my.cnfの3行目あたりpasswordに記載され、コメントアウトされている。コメントはずせばこのパスワードが利用されるので、mysql -u rootで接続できる。

wordpressのユーザーはwpuserで接続パスワードは/usr/share/nginx/wordpress/wp-config.php”に記載されている。
DB_PASSWORDのところを探す。

上記パスワードはランダムに生成されているようだが、念のため初期状態からは変更しておくとよいだろう。

カテゴリー: 未分類 | タグ: | コメントする