投稿

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

sshで自分のマシンに拒否られた

ssh localhost テストを行っていて、自分の使っているマシンに接続を行ったら、見慣れぬWarningが表示されて拒否られた。 $ ssh localhost いやいや、おかしいでしょう。 内容は以下のように出力された。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:なんたらかんたら. Please contact your system administrator. Add correct host key in /home/yoshimura/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/yoshimura/.ssh/known_hosts:22   remove with:   ssh-keygen -f "/home/yoshimura/.ssh/known_hosts" -R "localhost" ECDSA host key for localhost has changed and you have requested strict checking. Host key verification failed. うーむ、そういえば、自分のマシンに接続したのは記憶では、こ

ソースコードのチェック

プログラマに求められることは何か… 毎年、非常勤として言語や環境設定、アルゴリズムなどを少し教えている。 ここ数年気になっていることがある。  自分のコードを書かない、書けない人の割合が増えているような気がしている。 確かに、Google先生に聞けば、いくらでもサンプルコードは入手できるし、解説も読める。以前に比べ格段に、ソースコードや開発に関わる情報を入手しやすくなっているとは思う。  そして、自分が作成しようとするプログラムで行き詰まって、検索したサンプルコードを参考に動くようにする。  これは、問題ないと思っている。  人のコードを読む→理解する→自分のプログラムで使えるように修正する(または利用する)→動かす→デバッグする…。  プログラマなら多分、普通の行動でしょう。  ところが、最近、Webに紹介されているコードをそのまま利用して、動く・動かないだけを確認する学生を目にするようになった。 課題を課す→同じ内容の問題と解答を探す→そのまま持ってきて提出する 他人のプログラムを入手→改行やコメントを付け加える→提出する これは、自分の考え・思考をコードに落としたことになるのか? 練習にもなっていないし、何も理解度が上がっていない…。 実力・経験値は一切向上していない…。 対策することに 他人のプログラムを、提出されて「はいOK」という訳にはいかない。 将来ソフトウェア関係の仕事をするのであれば、なおさらそんなことは許されない。  これまでは、各ファイルのmd5sumを取って、同一かどうか(不正しているかどうか)の判定を最初に行っていた。  ところが、最近は、コメントを書き加えるとか、無駄に改行やスペースを入れるという、Cheatまがいの手法を使うケースが目立ってきた。  仕方なく、コメントを無視し、スペースや改行を無視した上で、同一かどうかを判定することにした。 md5.sh 手軽に処理するためにシェルスクリプトで作成してみた。 md5.shで保存して、実行権限を付加してパスの通ったところに置けばOK。 findと併用するのを前提にしている。 #!/bin/bash # 元ファイルから改行・スペースを除去したハッシュ値を出力する # 結果は カレントディレクトリの$re

大容量(900GB/月)格安SIM

イメージ
900GB/月のSIMを利用中 10月に見つけた格安SIM。 あまりに安いので、色々と下調べを行った上で、11月よりテスト運用を開始してみた。 Softbank回線で、縛りなしのデータ通信用SIMです。 3GB/日  2700円/月 300GB/月 3200円/月 900GB/月 3300円/月 というプランが有るので、迷わず900GB/月を選択しました。 単純に計算すると、30GB/日なので、実質無制限状態です。 もちろん、3日で何GBとか、変な制限はありません。 1ヶ月単位での契約が可能なので、様子見で1ヶ月の契約をしたものの、あまりに速度が出るので、すでに延長フェーズに入っています(笑) 気になる速度ですが、なるべく混雑する時間帯を中心に速度を計ってみました。 調子が良いと、100Mbpsを超えます。 平均すると、Down:48.7Mbps Up:17.0Mbps 普通に使用するには全く支障のないレベル。それも、昼夕の混んでいる時間帯を中心に測定してです…。 12月にXiaomiのスマートフォンに変更し、引き続きこのSIMを使って計測してみました。 (かなり飽きてきたけど…) 平均すると、Down:35.7Mbps Up:12.4Mbps でした。 途中自宅のWi-Fiも測定していますが、さすがにWi-Fiは早いですww およそ300Mbpsなので、いい感じです。 LTEでも30Mbpsは出ているので、普通に使用していて遅く感じることは全く無いです。 大容量だと使い方が変わる  これまで、AmazonPrimeのVideoはダウンロードしておいて視聴していたのだけれど、いまはダウンロードなんて全くしていないです。  見たい時に見たい映画を視聴する利用の仕方になりました。 写真や動画をGoogle Photoに保存するのもの、今まではWi-Fi接続時ということにしていましたが、今は常に同期です。 テザリングでPCから利用する場合も、容量を気にすること無くUpdateやダウンロードを行えるようになりました。  出先では安全性のため公衆Wi-Fiを使わないようにしていたので、テザリングばかりすると容量制限がたまに

クラウドストレージはどこがいいのか?

イメージ
すでに大量のクラウドを利用しているが… どれも一長一短ではあるが、速度が早くて安くて安全なものが望まれる訳で…。 とはいいつつ、一体自分がどれだけ利用しているのか確認してみた。 Dropbox(14GB) Evernote(転送量の縛りのみ) Mega(50GB) GoogleDrive(19GB) OneDrive(1TB) OwnCloud(100GB) iCloud(5GB) ASUS(5GB) box(50GB) ざっと上げただけで、こんなに使っていた。 といっても、iCloudはiPhoneを使えば即溢れる、Dropboxは無料枠を広げたものの、いつもアラートが出るくらい溜まっている。 最近は、Office365を使うようになってOneDriveの割り当てが増えたので重宝している。 でも、いつまでもMicrosoft Officeを使うかどうか分からないので思案している。 Googleが1TB→2TBに容量をアップしたので、比較的安いよな〜と思っていたのだが… やすいと言っても、年額13000円。 そこへASUSからDMが舞い込む 以前、ASUSのZenfoneを使用した時に、アカウントを作成し利用しただけだったのだが、今回1TBに割り当て増やしたよ!とメールが来た。 ただし、30日間だけねって…。 よく読んでみると、ものすごく安い! ファイル履歴もついて、1480円/年とな! これは、ちょっと価格破壊的な料金設定な気がするレベル。 少し考えても良いかなって心が揺れました。 WebStorageなので、DropboxやOneDriveみたいに、ローカルマシン用のツールは出ていないはず。 だけど、もし出ているかLinux上からマウントして利用できるなら、選択肢に入れても良いかなと…。 と思って、ASUSの自分のアカウントを開いてみた。 何と!ちゃんとクライアントツールが出ていた。 しかもLinux版まで。 さすがだ! ということで、本格的に検討してみる。

PHPでsnmpを叩く

snmpを実際に使ってみる 前回、「 WindowsでSNMPを試す 」ということで、Linuxマシン上のsnmpwalkを使用して情報を取得できることは確認した。 今回は、PHPで無理やり情報を取得してみる。 本来はPHP上のsnmp用関数を利用するのが良いのだろうが、前回snmpwalkが動作するのを確認しているので、子プロセスで動かして情報を拾ってみる。 今後、Web上に出力するとかファイルん書き込むとか、Nativeの関数もあるといううことでPHPを選択してみた。 さっくりとテストコードを書いてみる。 ターゲットは、BuffaloのNAS、「TeraStation」にしてみる。 こいつは、設定でSNMPをONにすることで、ちゃんと返してくれるらしい。 <?php $cmd = "/usr/bin/snmpwalk"; $version = "-v2c"; $comunity = "TeraStation"; $ips = ["192.168.11.86"]; $oids = [     "1.3.6.1.4.1.5227.27.1.3.1.3.1"=>"GB",     "1.3.6.1.4.1.5227.27.1.3.1.4.1"=>"%" ]; foreach($ips as $ip){     foreach($oids as $oid=>$dummy){         $temp = exec("{$cmd} {$version} -c {$comunity} {$ip} {$oid}");         $values[$oid] = substr($temp,strrpos($temp," ")+1);     } } echo date("Y-m-d H:i:s "); foreach($values as $key=>$value){     echo &

sushi使用時のフリーズ

Gnome-sushiを使っていて Macを使っているとQuick Look(ファイルやフォルダを選択してスペースキーを押すとプレビューしてくれるソフト)がとても便利。 Ubuntu Desktopを使用する場合も同様なソフトを入れている。 それが、Gnome-sushi (なんで寿司なのかは不明だけど、海外の人には人気らしい、他にもchirashiとかnigiriとかtekkaなんて名前のアプリが存在するのは笑える) こいつは、かなり便利なんだけど、時々フリーズする。 いつフリーズするかと言うと、MS製のOfficeファイルをプレビューする時。 しかも、旧ファイル形式の時だけということに気づいた。 つまり、「〜.xlsx」はフリーズしないけれど、「〜.xls」はフリーズする。 同様にdoc/pptはフリーズすることがわかった。 自分はそんなファイルを作らないので、気が付かなかったが、客から送られてきたファイルをプレビューしようとして気づいた。 こうなると、全く操作ができなくなる。 マウスが反応しなくなる。 コンソールを切り替えて、sushiプロセスをkillしたり、再起動したりという作業となる。 で、注意して開くようにしていたんだけれど、間違って開いて再起動という手順が苛立つ。 状況はわかってきたので、原因を探してみる。 「 gnome-sushi freezes my computer when trying to preview .odt-files 」という記事を見つけた。 Hi, I had exact the same problem and solved it by installing the unoconv converter (apt install unoconv). Hope that helps, cheers とな…。 とりあえず、unoconvを入れてみると、多少Previewまでに時間がかかるものの、フリーズしなくなった。 unoconvって? 「Universal Office Converter」ってことらしい。 "unoconv"は、さまざまなオフィス文書ファイル形

Unetbootinが正常に表示されない

イメージ
Bootable USBを作成しようとしたが… Ubuntuマシンで、起動用のUSBディスクを作成しようしとして、ランチャーからUnetbootinを起動したものの、のっぺりとしたフォームが表示されるだけで??? おかしい…。 ちゅうことで、最新パッケージかどうかを確認する。 $ sudo -s # apt update # apt upgrade 特に、古くはないようだ…。 そのまま、コンソールから実行してみる。 # unetbootin X Error: BadAccess (attempt to access private resource denied) 10   Extension:    130 (MIT-SHM)   Minor opcode: 1 (X_ShmAttach)   Resource id:  0x13a X Error: BadShmSeg (invalid shared segment parameter) 128   Extension:    130 (MIT-SHM)   Minor opcode: 5 (X_ShmCreatePixmap)   Resource id:  0x420000f X Error: BadDrawable (invalid Pixmap or Window parameter) 9   Major opcode: 62 (X_CopyArea)   Resource id:  0x4200010 おや、エラーが出ている…。 まあ、調べてみるかと「X Error: BadDrawable (invalid Pixmap or Window parameter) 9」でググってみると、たくさん出てきますな。 「 BadDrawable (invalid Pixmap or Window parameter) #53 」という記事を見ると、同じような症状がいろんなソフトウェアで出ているらしい。 export QT_X11_NO_MITSHM=1 を実行する必要があるらしい。 QT関係はいつも環境変数が不足していて動かないことが多いな…。 と思いつつ