タグ「Debian GNU/Linux」が付けられているもの


rspamd の Web GUI にアクセスしてみる

rspamd をアップデートしたことで、使えるようなった機能があるので、いろいろと試してみよう

アップデートだけで結構な分量になってしまったので、フィルタについては別エントリーにて。バージョン上がったことで追加された機能もあるようなので、そのあたりの話もおいおい書いてきたいですね〜。

[From rspamd と rmilter をアップデート - Soukaku's HENA-CHOKO Blog]

ということで、まずは Web GUI から

Web GUI を有効にしてみる

と言っても、実際のところデフォルトの設定の状態でも、Web GUI は待受ポート 11334 で起動していて、下のような形で待ち受けしています。ただ、そのままでは localhost からの接続要求しか受け付けてくれないので、外部からも見れるように設定を変える必要があるというわけです。

root@vps2:~# lsof -i:11334
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rspamd 13943 root 9u IPv4 905829 0t0 TCP localhost:11334 (LISTEN)
rspamd 13943 root 10u IPv6 905830 0t0 TCP localhost:11334 (LISTEN)
rspamd 13945 _rspamd 9u IPv4 905829 0t0 TCP localhost:11334 (LISTEN)
rspamd 13945 _rspamd 10u IPv6 905830 0t0 TCP localhost:11334 (LISTEN)
rspamd 13946 _rspamd 9u IPv4 905829 0t0 TCP localhost:11334 (LISTEN)
rspamd 13946 _rspamd 10u IPv6 905830 0t0 TCP localhost:11334 (LISTEN)
rspamd 13948 _rspamd 9u IPv4 905829 0t0 TCP localhost:11334 (LISTEN)
rspamd 13948 _rspamd 10u IPv6 905830 0t0 TCP localhost:11334 (LISTEN)
rspamd 13949 _rspamd 9u IPv4 905829 0t0 TCP localhost:11334 (LISTEN)
rspamd 13949 _rspamd 10u IPv6 905830 0t0 TCP localhost:11334 (LISTEN)

手っ取り早いのは、 rspamd 自身が待ち受けしている 11334/tcp を localhost 以外からアクセスできるよう設定することなんだけど、それはそれで芸がないし、無制限にアクセスを許可するのもよろしくないので、rspam の FAQ の中にある WebUI questions の部分に記述されている httpd からリダイレクトさせる方法で。

ところが、実際 Apache に対して設定してみたのだけど 500 Internel Server Error が出て上手く行かなかったので、結局 rspamd 側の設定でポート開放して、 iptables でアクセス元を絞る形に。

ansible のお試しがてら、 Raspberry に Python MPI 環境を作ってみる

サーバを同一用途で複数台用意してある環境って、仕事関係ではフツーにある環境なわけですが、それらの設定変更となると、同じ手順を台数分だけ繰り返し。なるべく作業者のレベルに左右されないような手順を用意したとしても、稀に手順ミスってトラブルなんてことも起きちゃうわけですよ。
作業者しても、出来る限り楽したいですし、定型化可能な作業だったら、コマンド一発で対象全台に設定適用したり、必要なファイルを配布したり出来れば、余計な手順やミス発生のリスクも減らせて、万々歳。

というわけで、オープンソース界隈でも「構成管理ツール」と言われるものが、いくつか開発されているんですが、その中でも ansible が、最近はお薦めらしので、ちょっといじってみようかと思った次第。

Ansible seamlessly unites workflow orchestration with configuration management, provisioning, and application deployment in one easy-to-use and deploy platform.

[From Ansible Use Cases]

Ansible(アンシブル)は、レッドハットが開発するオープンソースの構成管理ツールである。構成管理に加え、オーケストレーションやソフトウェアデプロイメントの機能を持つ。

[From Ansible (ソフトウェア) - Wikipedia]

同じようなツールだと、 Chef や Puppet と言うものもあるようですが、

  • エージェントレスで、管理したい側へは ssh 接続出来れば良い

と、利用するまでの敷居が低い、というのもお薦めのポイントになっているようです。

とりあえず、ラズパイ Cluster (モドキ)を構成してみる準備

まずは構成

今のところ、Raspberry Pi3 は1台しかないので、それを管理対象に。それと別に管理サーバとして Debian sid を仮想マシンで準備して、ここに ansible をインストール、という非常にミニマムな構成です。

ansibleのテスト環境

図にも書いてある通り、ホントは何台も並べて、クラスタリングしたいんですけどね…。

これに関してはどっちかというと、親である自分のほうが複数台並べて Rasp Pi クラスタ組んでみたいという気持ちのほうが大きかったりしますけど、息子もプログラミング自体には興味があるようなので、作ったクラスタで一緒に遊ぶってのも出来るなぁ、とかとか。

[From 子供に PC を渡そうと思ってるんですけどね - Soukaku's HENA-CHOKO Blog]

ま、 ansible に慣れることが目的なので、このまま進めます。

HA8000の中古を手に入れるなど

ヤフオクも上手く立ち回れば、かなりの掘り出し物を手にすることが出来るわけですが、今回はホント上手くいったということで、HA8000/TS10 AK1 という日立の IA サーバの中古を入手することに成功しました。

2010 年後半に出たモデルですが、Xeon X3430 が載ってて、それに LSI Logic の MegaRAID SAS 2108 が載って RAID も組めるぜ〜、というのが、送料込みで 3,000 円以内で手に入ったんだから、これはもう小躍りするほかないという状況。あと、出品者側の説明にはなかった SCSI I/F と DAT72 ドライブが載ってたというオマケも付きましたし…。(ただ、媒体の容量的には DAT72 、微妙なんだよねぇ…。)

ここ二週ほど、ちまちまと動作の確認をしていたんですが、DVD-ROM ドライブが動作不良でメディアを認識出来ない状態だったこと以外は、特に問題なし。
USB - SATA 変換ケーブル経由で繋いだスーパードライブ使えば、OS インストールできるし、何故か余らせてた ECC 付き の DDR3 DIMM も難なく認識してくれたし、HDD もこれまた手持ちの SATA の 1TB のものをホットスワップベイに挿して問題なく認識してくれたので、手持ちのコマで通常利用可能な状態まで持っていけたというのも、(お財布的に)かなり助かったなぁ、と…。

この先、どうするか、ですが

そもそも、新しく機材を調達しようと思ったのは、 Mac mini や LIFEBOOK で動かしていた VirtualBox による実験環境を集約。これにより、 LIFEBOOK を用途的に浮かすことが出来れば、家族が使っている調子の悪い ThinkPad をそれで置き換えられるな、というのが発端。
そこになんともタイミング良く、今回入手した HA8000 がヤフオクに出品された、というわけ…。

MySQL を MariaDB でリプレース

MySQL で不満があるわけじゃないんですけどね。MySQL からフォークした MariaDB の話を聞くことが多くなってきた。

MariaDBは、MySQL派生として開発されている、オープンソースの関係データベース管理システム (RDBMS) である。

[From MariaDB - Wikipedia]

互換性の面での問題もないようだし、Zabbix と組み合わせるデータベースとして使う事例も増えてきているいるようですけど、

Red Hatは次期メジャーアップグレードバージョンとなる「Red Hat Enterprise Linux 7」では、デフォルトで使われるリレーショナルデータベースが「MySQL」から「MariaDB」へ変更される見通しであることがRed Hatサミットで発表されたことを、ITWire.comの記事「Red Hat ditches MySQL, switches to MariaDB」が伝えている。

[From RHEL7、MySQLからMariaDBへ変更 | マイナビニュース]

RHEL 7 で MySQL から MariaDB へデフォルトが変更になっているとなると、今後お仕事で使う機会が確実に出てきそう。ということで、手元の環境でも試しておこうとリプレースしてみた次第。
#Oracle に買収されたことで、先行きが見えにくいというのも、 MySQL が使われなくなりつつある理由みたい。

AVGをやめてSophos Anti-Virus for Linux を使ってみる

サイトへのアクセス統計をチェックしていると、7 年も前のエントリーを見に来て頂いてるのは有難いのですが、

ほんとに、ふとした思いつきで、AVG AntiVirusのLinux版を入れてみたので、備忘録的にメモ。
ClamAVが動いている環境ではあるのだけど、念のため複数のAnti Virusスキャナを動かしてみよう、という興味本位でのお試しではありますが・・・。

[From ふと思い立ったので、AVGを入れてみた - Soukaku's HENA-CHOKO Blog]

実際のところ、既に AVG 使ってなかったりしますし、 AVG 自体も Linux 用の無償版の公開を取りやめてしまっているので、改めて実情に合わせた新たなエントリーを起こしてみました。
今回の目的も、SMTP に対するウィルスチェックを行う、というものです。

今度は、 Sophos だ!

Linux で使えて無料、という条件だと Sophos Anti-Virus for Linux が該当するので、今回は Sophos を Amavis から呼び出してメールをチェックする形にします。

Linux へのインストールに関しては、以下のところを参考にしつつ、 設定を進めていきます。

今までLinuxの無償アンチウイルスソフトといえばClamAVが代表的でしたが5月18日にSophos Anti-Virus for Linuxに無償版が提供されることが発表され、選択肢が広がりました(個人利用に限りますが…)。
基本的な使い方をさらってみたのでメモしておきます。

[From Sophos Anti-Virus for Linuxを使う - 雑木林]

Sophos Anti-Virus for Linux の入手とインストール

まず、入手ですが、これはプロダクトの紹介ページにある"ダウンロード"のボタンをクリックして、氏名とメールアドレスの入力フォームに必要な情報を入力して、"送信"をクリック。

画面が切り替わったら、"ダウンロード"をクリック。

氏名とメールアドレスを入力ダウンロードへ進む

apache 2.4.17以降でmod_http2有効にすると、送信バイト数が正しく記録されない? のその後

以前書いていた HTTP/2 が有効な apache2 2.4.18 で、相手に送信したコンテンツの送信バイト数がうまく記録されなかった件、

改めて、 mod_http2 有効化以降のログもチェックし直してみたところ、有効化の直後から送信バイト数が "0" でロギングされてて、途中 2.4.17 → 2.4.18 のアップデートがあったにもかかわらず、"0" のままという状況が継続していた模様。

ということで、バグレポートしてみたのだけど、fix されるといいな…。

[From apache 2.4.17以降でmod_http2有効にすると、送信バイト数が正しく記録されない? - Soukaku's HENA-CHOKO Blog]

Debian のバグトラッカーに投げたのだけど、そこで報告したから必ず直るというわけではないので、改めて Apache の bugzilla にも同じようにレポート投げてみたところ、mod_http2 のメンテナから「次のリリースで直すよ」という回答をもらっておりました。

Thanks, that did indeed slip my attention. This is fixed in revision 1725496 in trunk. It will be back ported to the next 2.4.x release.

[From Bug 58871 ? HTTP/2 when in use, response size is recorded in the zero byte If you set the %O in LogFormat]

で、 2.4.19 で修正されました。(実際のリリースとしては 2.4.19 は欠番で、 2.4.20 で対応。)

*) mod_http2: bytes read/written on slave connections are reported via the
optional mod_logio functions. Fixes PR 58871.

[From https://archive.apache.org/dist/httpd/CHANGES_2.4.20]

Debian でも 2.4.20 のパッケージでアップデートをしたところ、当初出ていた問題は解消したように思えたのですが…。

jessie でも Let's Encrypt & HTTP/2 実現のため apt-pinning を設定する

ということで、前のエントリーで表明したとおり、jessie で Let's Encrypt と HTTP/2 に対応する手順を纏めました。

# jessie 対応は、別途書きますかね…。

[From 自分んとこのWebサイトを常時SSL対応にして HTTP/2 にも対応させてみた - Soukaku's HENA-CHOKO Blog]

基本的には、パッケージのインストールに関する問題をクリアしてあげれば良い話で、インストールできてしまえば、あとは前のエントリーとほぼ同じ、なわけですが。

sid のパッケージを「借りる」ための apt-pinning の設定をする

Debian のパッケージングシステムである apt では、一部分のパッケージとその依存関係にあるものだけをインストールすることが、容易にできるような仕組みとして、 apt-pinning という機能が用意されています。 → apt-pinning に関する詳細

この仕組みを使うことで、 今回のように「基本 jessie だけど apache2 周りだけ sid 向けのパッケージを使う」とか「どうしても Let's Encrypt 対応したいけど jessie にはパッケージがない」といったニーズにも対応できるようになるわけです。
#このエントリー書いている時点で、という話であって、この先状況が変わることはあり得る。

まず、パッケージの借り元となるリリースバージョンを指定するために、/etc/apt/preferences.d/priority というファイルを作成します。(実際ファイル名は、拡張子がなければ何でも良いらしい。)
中身自体は、以下の様な3行だけ。

root@jessie:~# more /etc/apt/preferences.d/priority
Package: *
Pin: release a=unstable
Pin-Priority: 90

合わせて /etc/apt/sources.list に sid のパッケージのダウンロード先となるパッケージミラーの URL を記述します。
今回は、さくらインターネットが持っている Debian ミラーを指定。

# sid
deb http://debian-mirror.sakura.ne.jp/debian sid main non-free contrib
deb-src http://debian-mirror.sakura.ne.jp/debian sid main non-free contrib

この 2 つのファイルの作成と修正が終わったら、 "apttude update" でパッケージ情報をアップデートしておきましょう。

自分んとこのWebサイトを常時SSL対応にして HTTP/2 にも対応させてみた

Web 周りも、新しい義実を試してみようと思うと、サーバとクライアントの間の SSL 化が前提となってたり、無料でサーバ証明書を提供する Let's Encrypt というプロジェクトも正式サービスに向けてのベータテストが始まったりと、いいタイミングでもあるので、SSL 化と HTTP/2 対応を試みてみたので、そのログを残しておく。

まずは、常時 SSL 対応に

ツールのインストールから証明証の発行までは有志による Let's Encrypt 総合ポータルが参考になるので、そちらも参照しつつ、差分となるところを中心に書いていきます。

まず専用のクライアントソフトをインストールして〜、という話から始めなくちゃと思ったら、 Debian の sid 向けにはパッケージが提供されているので、それをインストール。
#最初試した時(11月の中頃)は、パッケージとして取り込まれてなかった記憶が…。
# jessie 対応は、別途書きますかね…。

いつもどおりというか、 "aptitude install letsencrypt" 一発で関連パッケージもインストールされるので、それで終わり。

root@vps2:~# aptitude install letsencrypt
以下の新規パッケージがインストールされます:
letsencrypt python-acme{a} python-configargparse{a} python-configobj{a} python-dialog{a}
python-funcsigs{a} python-letsencrypt{a} python-mock{a} python-parsedatetime{a}
python-pbr{a} python-psutil{a} python-pyicu{a} python-rfc3339{a} python-werkzeug{a}
python-zope.component{a} python-zope.event{a} python-zope.hookable{a}
python-zope.interface{a}
更新: 0 個、新規インストール: 18 個、削除: 0 個、保留: 20 個。
1,013 k バイトのアーカイブを取得する必要があります。展開後に 5,225 k バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]

とりあえず、ここまででサーバ証明書を取得する準備が完了。

これ以降は、Let's Encrypt 総合ポータルの Let's Encrypt の使い方を参照しながら、行きます。
クライアントのインストール部分はすっ飛ばして、証明書の取得のパートからで OK。但し、Debian のパッケージではコマンド自体の名前が変更されている( letsencrypt-auto → lets encrypt )ので、その部分は読み替えが必要なのと、この時点で apache が起動しているときは一度終了しておくこと、実際にサービスを提供するサーバの上で実行しないとハマるので、その点には注意。

tweepyを使って、Zabbixのトリガーをtweetする(その2)

で、前のエントリーの続き。

tweet しようとしてハマる…

さて、Zabbix 側も設定が終わって、実際にトリガーに連動して tweet されるかをチェックするために、 zabbix-agent の停止で上がるトリガー使ってテストをしていたのだけど、一向に tweet されない。スクリプトを CLI で実行すれば任意のメッセージで tweet 出来るわけだから、スクリプト本体に問題がある可能性は低いだろう、ということで、 Zabbix Server でログレベルを debug に変更してログを採取。

すると、zbx2tw.py が呼びだされたタイミングで、以下のようなメッセージが出ていることを発見。

 17336:20151128:195521.400 zbx2tw.py output:
Traceback (most recent call last):
  File "/usr/lib/zabbix/alertscripts/zbx2tw.py", line 15, in 
    api.update_status(sys.argv[2])
IndexError: list index out of range

"IndexError: list index out of range" でググってみると、「リスト(配列)に対して存在しないインデックを指定した際に発生する例外」ということで、Zabbix が zbx2pw.py を呼び出す際に渡そうとしている引数の内容やその順番がおかしいのかもしれない、というところまでは判ったのだけど…。

zbx2tw.py の呼び出し方を変えてみる

まぁ、まだリリースされてもいない Zabbix 3.0.0alpha3 使っているんで、もしかしたらスクリプトに渡す引数に関する仕様が 2.0 や 2.4 と変わっていたりするかもしれないし、あんまり追求する気力もなかったのだけど、色々考えてみたわけですが…。

トリガー検知時の処理内容を変更

Zabbix ではアクションの設定の中で任意のコマンドを実行するように設定することも可能なので、「 zbx2tw.py をコマンドとして扱うように設定を変更してみたらどうだろう?」ということで、設定を変えてみたところ…。

なんと、ビンゴ!トリガーの内容が、tweet されるようになったじゃないですか!

具体的には、設定で、処理タイプをメッセージ送信からリモートコマンドへ。実行タイプにカスタムスクリプト、実行先として Zabbix Server を選択。
そして、コマンド欄に実行したい内容を記述、という感じ。


tweepyを使って、Zabbixのトリガーをtweetする(その1)

Zabbix 使って、 Web ページの更新をチェックしているところがいくつかあって、更新されたらメールが飛ぶようにはしているのだけど、それを tweet させられないか、ということで調べてみると、やはり先人は居るものですね。

A continuación, vamos a explicar cómo configurar de forma sencilla las alertas en Zabbix para enviarlas a Twitter.

[From Zabbix: Alertas a Twitter ~ El mundo en bits]

今回は、このスペイン語で書かれたサイトの情報を元に、やってみたというわけです。

tweepy をインストールする

まずは、 tweepy をインストール。

ここで軽くひとハマり。
上記で引用しているサイトに書かれた手順どおり、 tweepy を github から取得してセットアップしようしたら、以下の様なメッセージが出てセットアップが中断される。

root@vps2:~/tweepy# python setup.py install
Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from pip.req import parse_requirements
ImportError: No module named pip.req

あんまり時間かけたくなかったのと、原因調べるの面倒だったので、配布物に含まれる README.md を参照してみたところ、 pip というコマンドを使う方法も記述されていたので、そちらを試してみることに。
まず、 pip 自体をインストールする必要があるわけですが、これは Debian sid 向けに python-pip というパッケージがあるので、こいつをインストール。

root@vps2:~# aptitude install python-pip
以下の新規パッケージがインストールされます:
  python-cffi-backend{a} python-colorama{a} python-cryptography{a} python-distlib{a} python-enum34{a}
  python-html5lib{a} python-dina{a} python-ipaddress{a} python-ndg-httpsclient{a} python-openssl{a}
  python-pip python-pyasn1{a} python-requests{a} python-urllib3{a} python-wheel{a}
更新: 0 個、新規インストール: 15 個、削除: 0 個、保留: 202 個。
1,030 k バイトのアーカイブを取得する必要があります。展開後に 5,550 k バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] 

Debian の常で、インストールしたいパッケージを指定して上げれば、依存関係は自動的に解決されて関連パッケージも一纏めにインストール完了。

続く pip のインストールも、コマンド一発で関連するモジュール群まで、無事インストール完了。

root@vps2:~# pip install tweepy
Downloading/unpacking tweepy
  Downloading tweepy-3.5.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): requests>=2.4.3 in /usr/lib/python2.7/dist-packages (from tweepy)
Requirement already satisfied (use --upgrade to upgrade): six>=1.7.3 in /usr/lib/python2.7/dist-packages (from tweepy)
Downloading/unpacking requests-oauthlib>=0.4.1 (from tweepy)
  Downloading requests_oauthlib-0.5.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): urllib3==1.12 in /usr/lib/python2.7/dist-packages (from requests>=2.4.3->tweepy)
Downloading/unpacking oauthlib>=0.6.2 (from requests-oauthlib>=0.4.1->tweepy)
  Downloading oauthlib-1.0.3.tar.gz (109kB): 109kB downloaded
  Running setup.py (path:/tmp/pip-build-ViGwji/oauthlib/setup.py) egg_info for package oauthlib
Installing collected packages: tweepy, requests-oauthlib, oauthlib
  Running setup.py install for oauthlib
Successfully installed tweepy requests-oauthlib oauthlib
Cleaning up...

で、ここまでで準備の第一弾が完了。
あとから気づいたのだけど、最初に tweepy のインストールに失敗したメッセージに "ImportError: No module named pip.req" とあるので、 python-pip も必要だった模様。

Debian 8.0 をインストールしてみる:基本編

先週末にリリースされた "jessie" こと Debian 8.0 。

After almost 24 months of constant development the Debian project is proud to present its new stable version 8 (code name Jessie), which will be supported for the next 5 years thanks to the combined work of the Debian Security team and of the Debian Long Term Support team.

[From Debian -- News -- Debian 8 "Jessie" released]

とりあえず、VirtualBox 上の仮想マシンに対してインストールしてみたので、エントリーを起こしてみた。

jessieインストール用の仮想マシンの設定

対象とした仮想マシンの設定ですが、

  • チップセットを ICH9 に

としています。


debian installer の起動画面

VirtualBoxでの仮想マシンの設定が終わったら、インストールイメージ( debian-8.0.0-amd64-i386-netinst.iso )を使って起動するようにして、仮想マシンを起動すると、 debian installer の画面が表示されます。
カーソルキーの上矢印、下矢印で選択肢を選べるので、今回は "64 bit graphical install" を選択してから Enter 。

なお、これ以降の手順やスクリーンショットは、人手による選択や入力を必要とするところだけで、途中自動的に処理される部分の説明は省きます。


rspamd + rmilter をセットアップ

いつものように、パッケージのアップデートとかしてたら、新規パッケージとして rspamd というパッケージが取り込まれたのを見つけた。今のところ、 sid だけっぽいですな…。
名前からして、spam メール対策関連のだなということでチェックしてみたら、これ一つで spam フィルタ 、greylisting 、ベイジアンフィルタなどに対応できるということなので、セカンダリ MX として動かしているさくらの VPS の方にインストールしてみた。

インストールと基本的な設定

インストール自体は、いつもどおりというか、コマンドライン一発で関連するパッケージまでインストールされるので、特に解説の必要はないかと。
rmilter というパッケージは Postfix などの MTA と milter プロトコロを介して rspamd を利用するためのものなので、合わせてインストールします。

root@vps2:~# aptitude install rspamd rmilter
以下の新規パッケージがインストールされます:
  libevent-2.0-5{a} libgmime-2.6-0{a} libhiredis0.10{a} libmilter1.0.1{a} libopendkim9{a} libspf2-2{a} rmilter
  rspamd
更新: 0 個、新規インストール: 8 個、削除: 0 個、保留: 0 個。
アーカイブ 1,306 k バイト中 0  バイトを取得する必要があります。展開後に 3,300 k バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
以前に未選択のパッケージ libevent-2.0-5:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 140149 個のファイルとディレクトリがインストールされています。)
Preparing to unpack .../libevent-2.0-5_2.0.21-stable-1.1_amd64.deb ...
Unpacking libevent-2.0-5:amd64 (2.0.21-stable-1.1) ...
以前に未選択のパッケージ libgmime-2.6-0:amd64 を選択しています。
Preparing to unpack .../libgmime-2.6-0_2.6.20-1_amd64.deb ...
Unpacking libgmime-2.6-0:amd64 (2.6.20-1) ...
以前に未選択のパッケージ libhiredis0.10:amd64 を選択しています。
Preparing to unpack .../libhiredis0.10_0.11.0-3_amd64.deb ...
Unpacking libhiredis0.10:amd64 (0.11.0-3) ...
以前に未選択のパッケージ libmilter1.0.1:amd64 を選択しています。
Preparing to unpack .../libmilter1.0.1_8.14.4-7_amd64.deb ...
Unpacking libmilter1.0.1:amd64 (8.14.4-7) ...
以前に未選択のパッケージ libspf2-2 を選択しています。
Preparing to unpack .../libspf2-2_1.2.10-4+b1_amd64.deb ...
Unpacking libspf2-2 (1.2.10-4+b1) ...
以前に未選択のパッケージ rspamd を選択しています。
Preparing to unpack .../rspamd_0.6.10_amd64.deb ...
Unpacking rspamd (0.6.10) ...
以前に未選択のパッケージ libopendkim9 を選択しています。
Preparing to unpack .../libopendkim9_2.9.2-1_amd64.deb ...
Unpacking libopendkim9 (2.9.2-1) ...
以前に未選択のパッケージ rmilter を選択しています。
Preparing to unpack .../rmilter_1.6.1_amd64.deb ...
Unpacking rmilter (1.6.1) ...
Processing triggers for man-db (2.6.7.1-1) ...
libevent-2.0-5:amd64 (2.0.21-stable-1.1) を設定しています ...
libgmime-2.6-0:amd64 (2.6.20-1) を設定しています ...
libhiredis0.10:amd64 (0.11.0-3) を設定しています ...
libmilter1.0.1:amd64 (8.14.4-7) を設定しています ...
libspf2-2 (1.2.10-4+b1) を設定しています ...
rspamd (0.6.10) を設定しています ...
libopendkim9 (2.9.2-1) を設定しています ...
rmilter (1.6.1) を設定しています ...
Processing triggers for libc-bin (2.19-9) ...

VyOS に、Debian パッケージを導入する

VyOS 自体は、 Debian ベースなので、apt line を正しく設定すれば、VyOS と Debian のキメラを作れるわけですが、前回のエントリーで

あぁ、あと Vyatta 時代の設定を引き継いでしまう関係上、パッケージレポジトリの設定は直しておきましょうね。

[From Vyatta CORE 6.6R1 から VyOS 1.0.4 へ変更してみた - Soukaku's HENA-CHOKO Blog]

と書いておいた分、実は誤りがあって、sid を指定した設定になっていた。
VyOS は、 Debian としは oldstable になっている Squeeze ベースなので、本来なら次のような設定を投入しないと、いけなかったのですね。

set system package repository squeeze components 'main contrib non-free'
set system package repository squeeze distribution 'squeeze'
set system package repository squeeze url 'http://cdn.debian.or.jp/debian'
set system package repository squeeze-security components 'main'
set system package repository squeeze-security distribution 'squeeze/updates'
set system package repository squeeze-security url 'http://security.debian.org/debian-security'

#VyOS の FAQ の中にも ”How do I install debian packages?” という項目があったりする。

あの設定のママ ”sudo aptitude update” して "sudo aptitude" でパッケージのアップデートとかインストールをしようとしても、依存関係の解決のため libc6 のアップデートをしようとするために他にも多くのパッケージのアップデートを行おうとするも、VyOS 特有のパッケージと整合性がとれなくなって、グチャグチャな状態になってしまう、というわけです。

正しく設定しておけば、実際のインストールは

$ sudo aptitude update && sudo aptitude install emacs23-nox

とやれば OK となります。

Zabbix 2.3.1 を 独自にパッケージングしてみた

Zabbix 2.1 が出てからほぼ1年になるのねぇ、と思いながら、次のメジャーバージョン 2.4 の開発版である 2.3.1 を deb パッケージにしてみた。

パッケージングの手順自体は

  1. Zabbix 2.3.1 のソースをダウンロード
  2. Debian に取り込まれている Zabbix 2.2.3 のソースパッケージをインストール
  3. ダウンロードしてきた 2.3.1 のソースを、deb パッケージ作成用に展開
  4. パッケージング実行

となるわけですが、今回は 4. のパッケージングのところで引っかかった。

何も考えずに、dpkg-buildpackage コマンドを実行すると、

nexus01:/usr/local/src/zabbix-2.3.1-gaia01# dpkg-buildpackage -us -b -rfakeroot
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package zabbix
dpkg-buildpackage: source version 1:2.3.1-gaia01-1
dpkg-buildpackage: source distribution UNRELEASED
dpkg-buildpackage: source changed by root <root@nexus01.downtown.jp>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build zabbix-2.3.1-gaia01
dpkg-source: info: using options from zabbix-2.3.1-gaia01/debian/source/options: --extend-diff-ignore=\.(bat|exe)$ --compression=xz
dpkg-checkbuilddeps: Unmet build dependencies: libgcrypt-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

[ Linux ] 何故か MTU の値が変わっていたので

tunnelbroker.net と IPv6 トンネル接続し始めて、約1年。ほぼノントラブルだなぁ、と思ってたら、何故か一部のサイトへのアクセスがうまく出来なくなるという状況に。(特に Web を見に行く時がおかしい状態。)

まぁ、Squid の設定で "dns_v4_first on" が有効になっていれば、それほど不便でもなかったので、暫くほっといたわけですが…。

ほったらかして三週間ほど経過したんで、試しに Squid 外して test-ipv6.jp にアクセスしてみたところ…。

パッケージの依存関係が解決できなくて、Zabbixサーバが削除されたでござる

サーバのパッケージの更新状況をチェックして、ある程度溜まった所でまとめてアップデート、ってやってるのだけど、いつの間にやらzabbix-server-mysqlが、

てな状況に。
実験目的だったし、MySQLに格納されているデータはそのまま残ってるんで、依存関係さえ解決してくれれば、復旧は簡単なんだけどね〜。

opendkim でもエラーは、出続けてるんだよな

とりあえず、opendkimに入れ替えた以降、From:がgmail.comなメールが受信できない、というのは無くなったようなのだけど、ログをチェックしてみると、やっぱり"bad signature"ということで、エラーは出続けている模様。

Apr  3 00:05:02 nexus01 opendkim[10125]: B76D9BC2: s=20120113 d=gmail.com SSL error:04091068:rsa routines:INT_RSA_VERIFY:bad signature
Apr  3 00:05:02 nexus01 opendkim[10125]: B76D9BC2: bad signature data

dkim-milterだと、エラー即一時的配送拒否になっていたのだから、状況は改善しているのだけどね...。
でもこれって、やっぱりGoogle側だよなぁ、原因は...。

dkim-milter から opendkim に切り替えてみる

ダウングレードしてみたり、再び最新パッケージに戻してみたり、と足掻いているにも関わらず、一向に改善される気配のない、gmail.comカラのメール受信ができない件。
ようやくというか、海外でも似たような事例が出てきたようで、その流れの中で「opendkimをに切り替えてみては?」というアドバイスが出ていたので、試して見ることにした。
#OpenDKIMは、dkim-milterからforkしたプロジェクト、ということらしい。

ログローテートがおかしかったのは・・・・

いつのの頃からか、毎週日曜朝に実行されるログローテートで何故かログ(postfix)が切り替わらない、という現象が起きつづけていて、仕方なく日曜日になると、

/etc/init.d/rsyslog restart

と、手動での切り替えをしてたんだけど、やっぱりメンドクサイということで、ログローテートを実行するlogrotateというそのまんまの名前のパッケージの設定を見なおして、それが変な動きをしていないかチェック。

Apache Traffic Server v3.0.0 をdebパッケージにしてみる

ここしばらく、内々では使い続けていたApache Traffic Serverですが、v3.0.0として、正式リリースされたようです。

14 June 2011 --FOREST HILL, MD--The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of nearly 150 Open Source projects and initiatives, today announced Apache Traffic Server v3.0.0.

[From The Apache Software Foundation Announces Apache Traffic Server v3.0.0 : The Apache Software Foundation Blog]

Debianのパッケージとしては、まだ2.1.8-unstableだし、パッケージになるまでもう少しかかりそうなので、ソースを拾ってきて独自にdebパッケージを作ってみた。

まずは、作業したいサーバの/usr/local/srcあたりに、v3.0.0のソースをダウンロード。

# cd /usr/local/src/
# wget http://ftp.riken.jp/net/apache//trafficserver/trafficserver-3.0.0.tar.bz2
--2011-06-17 22:18:59--  http://ftp.riken.jp/net/apache//trafficserver/trafficserver-3.0.0.tar.bz2
ftp.riken.jp をDNSに問いあわせています... 134.160.38.1
ftp.riken.jp|134.160.38.1|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 2418416 (2.3M) [application/x-bzip2]
`trafficserver-3.0.0.tar.bz2' に保存中
100%[======================================================================================>] 2,418,416    337K/s 時間 7.0s
2011-06-17 22:19:06 (335 KB/s) - `trafficserver-3.0.0.tar.bz2' へ保存完了 [2418416/2418416]