Raspberry Pi 4周年とRaspberry Pi 3の発売

祝4周年!
そして新しいRaspberry Pi 3 Bが発売になりました.

4年あっという間でしたね当初はなかなか入手出来ませんでしたが今は大分改善されて買いやすくなっていいですね.
そしてRaspberry Pi 3 BRaspberry Pi 3 B.(A+の基板で無線内蔵も出たら良さそう).新たにWi-Fi/Bluetoothが内蔵されました.CPUもARM64になったのでそっちを試してみたい場合も良さそうです.ケースは流用できそうですがLED位置が変更になってるので LEDが見えなくなる場合もありそう.無線があるってことで日本では技適が通ってなくて使えない……と良くなるのですが,未だ通ってないけど近日中に取れるみたいです!

しかし電源が2.5Aというのがかなりきつい気がします.家にある一番大きな電流を流せるmicroUSB B Cableでも2.4Aですから…….
私はとりあえず手持ちに5V 3AのACアダプタがあったのでこれをGPIO経由で流し込むようにしたら行けそうかなと思っています.通販サイトを見ると2.5A対応のACアダプタも併売されているのでそれを買ったほうが無難そうですね.

なお,技適は通る見込みだから英国などから次回に買おうという人向けに注意が.

ということで国外で買った電源は電力安全法の検査通ってないので電源は国内で買いましょう.PSEマークの付いたものを.

ところでUSB電源の規格ですが,多分こんな感じです.

USB 2.0
- 500mA
USB 3.0
- 900mA
USB Battery Charging 1.2
- 1.5A
USB Power Delivery Specification( http://www.usb.org/developers/powerdelivery/ )
- 12V/3A (36W)
- 12V/5A (60W)
- 20V/3A (60W)
- 20V/5A (100W)
※microUSBでは3A迄

Raspberry Pi 3 Bの5V 2.5Aは範囲外な感じがします.USB PDは3AまであるけどUSB Cの規格みたいですし.火を噴いたりしないかちょっと不安です.

OSの方ですが,Rasbian jessie/Ubuntu MATEが新しくなっているようです.(既存環境はupgradeするだけでok)そしてちょっと前からRasbian wheezyが居なくなっています(ftp siteにはアーカイブが残っていますけど).wheezyはjessieより軽いので初代を使うときとか用途によってはいいんですけどね.Raspberry Pi 3 Bでwheezyが動かせるかも気になります.
#そういえばRabianのサポートはどうなっているんだろう?Debianと同じならいいけどこの感じだともっと速くに打ち切られそうで怖い.

しかし久々に新製品を追いかける楽しみを味わいました.
あ,Raspberry Pi古いのが余っちゃったよって方はください.




内田美奈子「サーキットワンダラーズ」全話公開中

コミック化を待ってたのでやったーと思ったのですが,

orz
目当ての作品があるときはやっぱり雑誌を買ってアンケート送らないとダメですね…….

とりあえず気を取り直して読みました.
BOOM TOWNの後のお話でBOOM TOWNのことなんかはあまり説明はされてないので未読の方はBOOM TOWNも読むといいかもしれません.マンガ図書館Zで公開されてますし.

あまり現実世界は出てこなくて仮想世界での話が中心.BOOM TOWNでアシスタント(小さなリタ)やデバッガたちのような能力を得たところまででした.ここで終わるのは勿体無いな.

ちなみにBOOM TWONは雑誌掲載時からのファンで紙本も初版(乱丁),乱丁直った版,布教用と3セット持ってたりも.クラウドファンディングでPDFも入手しているので本の痛みも気にしなくて良くなりました.
個人的にxxのテンションが下がった時に読んでテンションを上げる本というのが幾つかあって,BOOM TOWMはコンピュータ関係のテンションを上げたい時に読む本になってます.ネオアキバ行きたい.ハッセイとちまちまデバッグしたりしたい.

facebookにアクセスできなくなっていたのを復旧

結構長いことfacebookにログイン出来ない状態になってました.
ログインしようとすると電話番号を求められたりしてめんどくさくて放置という感じでした.

20160229_02:02:27-5248

ヘルプを見ると身分証を送れとなっててそれは嫌だなぁと.

20160229_02:02:53-5465

しかし先ほどCritical Mass Tokyoのfacebook pageがあるのを知ってここをチェックしたくなりました.

IMGP9452
#これは2007年の写真.日本のクリティカル・マスは海外のように過激じゃない.

ということで以前利用できていたiPadのfacebookアプリでどうにかならないかなと試すと,ID/Passwordを入力した後トークンを求められます.

29 - 3

確か保存してあったはずと探しとありました.これを入力することでiPadでは入ることが出来ました.
facebookでの設定はこの辺.

しかしやっぱりPCでは入れない.iPadで「お知らせ」を見ると

最近、認識されないデバイスからアカウントへのログイン試行がありました。このログインに心当たりがあるかどうかをご連絡下さい。

という項目が.どうもロックされているようです.以下のようにポチポチたどっていくとロックが解除できてその後ログイン出来るようになりました.

29 - 4

29 - 5
#そう家のIPはよく浜松と言われる……

29 - 6

今回はパスコードのバックアップがあったので復旧出来ましたがロックされちゃうと面倒ですね.
とりあえず自作トークン発行アプリにfacebookも入れときますか.

てことでアクセスできるようになりましたが,例えばこのblogのfeedも流しこんでるけどこんな感じでアクセスも無いしアカウント作り直してもいいような感じではありました.(LINEの時もそんな感じだったな……)

20160228_06:02:50-10317

GNU版xargsの区切り文字を指定できる-d optionが便利

よくスペース混じりのファイルなんかの処理にfind -print0xargs -0でNULL区切り文字を使いますが,

$ find . -type f | xargs ls
ls: ./ho にアクセスできません: そのようなファイルやディレクトリはありません
ls: ge にアクセスできません: そのようなファイルやディレクトリはありません
./fuga  ./piyo
$ find . -type f -print0 | xargs -0 ls
./fuga  ./ho ge  ./piyo

今回間に更に処理を入れて使えませんでした.
逐次実行でよかったらxargs -n1 -I{} rm '{}'みたいにして括ればいいんですが,

$ find . -type f -print | grep -v fuga | xargs -n1 -I{} ls '{}'
./ho ge
./piyo

今回は一度に処理したかったのでこの方法は使えません.xargsのmanを見るとdelimiterを指定できるのに気づきました.

   --delimiter=delim, -d delim
          Input  items are terminated by the specified character.  The specified delimiter may be a single character, a C-style character escape such as \n, or
          an octal or hexadecimal escape code.  Octal and hexadecimal escape codes are understood as for the printf command.    Multibyte  characters  are  not
          supported.  When processing the input, quotes and backslash are not special; every character in the input is taken literally.  The -d option disables
          any end-of-file string, which is treated like any other argument.  You can use this option when the input consists of simply newline-separated items,
          although it is almost always better to design your program to use --null where this is possible.

ということで改行(\n)を指定してやりたかったことが実現できました :)

$ find . -mmin -1440 -type f -print0 | xargs -0n1 file | grep -i audio | cut -f1 -d: | xargs -d\\n ls -1tr

OpenSSHのHostKeyにED25519を追加

ふとあるhostにED25519のサーバ鍵がないのに気づいたので作りました.

ファイル名を指定して作るか,

$ sudo ssh-keygen -N '' -f /etc/ssh/ssh_host_ed25519_key
Generating public/private rsa key pair.
Your identification has been saved in ./ssh_host_ed25519_key.
Your public key has been saved in ./ssh_host_ed25519_key.pub.
The key fingerprint is:
f3:55:7f:02:04:92:c3:e0:4c:8c:7a:05:6a:00:28:da root@micro
The key's randomart image is:
+--[ RSA 2048]----+
|=   .+oo.....    |
|o. ..+o +. .     |
|o.o. .o  .  . .  |
|..E .        o . |
|   .    S   . . o|
|         o .   ..|
|          .      |
|                 |
|                 |
+-----------------+

ssh-keygen -Aで足りないものを自動生成してもらいます.-Aの場合鍵指紋が出てこないので`ssh-keygen -lfとかで確認しましょう.

$ sudo ssh-keygen -A
ssh-keygen: generating new host keys: ED25519
$ cat /etc/ssh/ssh_host_ed25519_key.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINYCcWp86jHwcb56mvdFMpCjovBH8eAa99OufTUEYycU root@micro
$ ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key
256 bf:f8:4a:5b:2d:da:72:84:e7:87:25:1b:9d:1c:56:b2  root@micro (ED25519)

規定値で有効になっていると思うけど設定ファイルにも記述してデーモンをreload.

$ grep ed25519 /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_ed25519_key
$ sudo service ssh restart

ed25519で帰ってくるか確認.

$ ssh-keyscan -p 2222 -t ed25519 localhost
# localhost SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6
localhost ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINYCcWp86jHwcb56mvdFMpCjovBH8eAa99OufTUEYycU

クライアント側のknown_hostsから古いものを消して登録しなおして,

$ ssh-keygen -f ~/.ssh/known_hosts -R [192.168.1.102]:2222
$ ssh -o HostKeyAlgorithms=ssh-ed25519 micro
The authenticity of host '[192.168.1.102]:2222 ([192.168.1.102]:2222)' can't be established.
ED25519 key fingerprint is SHA256:H8TMbIG65XqBAeiST98ThJq/Ux7RHerpMGXnxVJ7EjE.
+--[ED25519 256]--+
|   . .   .. E.   |
|  . o . .=..o.   |
| o o o o oB+ o   |
|o =   = *o+ = .  |
| + o . %S+.o o   |
|  . o X =...     |
|     + B ..      |
|    o o o        |
|     . .         |
+----[SHA256]-----+
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.102]:2222' (ED25519) to the list of known hosts.
 

後はDNSに登録したり……ってed25519はエラーになるみたいですね.

$ ssh-keygen -r example.org -f /etc/ssh/ssh_host_ed25519_key
export_dns_rr: unsupported algorithm and/or digest_type

ちなみにED25519はOpenSSH 6.5p1で入りました.

find+rsyncで特定期間のファイルだけ同期する

小ネタですが.
~mk/POD以下から内容更新日時が1440分(1日)以内のファイルを探して同期しています.

cd ~mk/POD ; find . -mmin -1440 -type f -print0 | rsync --delete --progress --files-from=- --from0 ~mk/POD/ /var/www/owncloud/data/matoken/files/podcast/

findコマンドで欲しいファイルを探し,rsyncでその結果を同期しています.
–files-fromに-をつけることでfindで検索したファイルを標準入力から受け取っています.
便利 :)

一応オプションの詳細

  • find
    -mmin -1440 : 内容更新日時が1440分(1日)以内
    -type f : ファイルを検索
    -print0 : 区切り文字をNULLにする

  • rsync
    –delete–delete : 無くなったファイルは削除する
    –progress : プログレスを表示
    –files-from=- : STDINから同期元ファイルリストを読み込む
    –from0 : 区切り文字をNULLとして扱う

ownCloudの同期が動かなくなって困る

ownCloudを便利に使っているのですが,ふと気づくと同期されていない.ステータスを見ると最後の同期が8時間前.タスクマネージャーのアイコンは!マークが付いて「不明な状態」となっています.

20160226_19:02:52-398

ログを見てもよくわからない.

WebやAndroidそして別のLinuxマシンは問題ないようです.ということは多分この端末の問題.
問題の環境はDebian stretch testing amd64のowncloud 7.0.12~dfsg-2です.

一旦ownCloudを終了して設定ファイルだけ退避(対象ファイルはそのまま)して設定を作りなおしてみました.

$ mv ./.local/share/data/ownCloud ./.local/share/data/ownCloud-backup
$ owncloud --logwindow

とりあえず同期出来たようです.

rc-gui最新版のビルドメモ(20160226)

Rasbian jessieのGUIな設定ツールのrc-guiの言語ファイルの項目が増えているみたいなので試してみました.

Wi-FiのCountry Code辺りが増えてるみたいなんだけど画面上に見当たらないです.
対応デバイス繋がないと出ないのかな?

20160226_00:02:02-20553

訳はこんな感じ?

20160226_01:02:13-6226

とりあえずrc-guiはビルドに必要なパッケージ増えてたのでメモしておきます.
controlには未だ載ってないよう.

$ sudo apt-get build-dep rc-gui
$ git pull
$ ./configure --prefix=/opt/local
   :
configure: error: Package requirements ( gtk+-2.0 >= 2.18.0              libxml-2.0) were not met:
 
No package 'libxml-2.0' found
   :
$ sudo apt install libxml2-dev
$ ./configure --prefix=/opt/local
$ make
$ sudo make install

Raspberry Pi向けNetBSDオープンソースカンファレンス2016東京春版イメージを動かす

ということで恒例のOSC合わせNetBSDイメージを試してみます.このページを読むより観光ガイドを読んだほうがいいかもしれません.

イメージとチェックサムファイルの入手と確認

$ wget ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/2016-02-27-earmv6hf/2016-02-27-netbsd-raspi-earmv6hf.img.gz ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/2016-02-27-earmv6hf/MD5

チェックサムの確認.
MD5の中のファイル名が間違ってるぽいです.

$ md5sum -c MD5
md5sum: 2016-02-24-netbsd-raspi-earmv6hf.img.gz: そのようなファイルやディレクトリはありません
2016-02-24-netbsd-raspi-earmv6hf.img.gz: オープンまたは読み込みに失敗しました
md5sum: libfreetype.so.17.4.11: そのようなファイルやディレクトリはありません
libfreetype.so.17.4.11: オープンまたは読み込みに失敗しました
md5sum: 警告: 一覧にある 2 個のファイルが読み込めませんでした
$ cat MD5
MD5 (2016-02-24-netbsd-raspi-earmv6hf.img.gz) = 1a669c2637a8861b7d383adba1de41ca
MD5 (libfreetype.so.17.4.11) = 936a15d6416c9b99176956151b4ef4df
$ md5sum 2016-02-27-netbsd-raspi-earmv6hf.img.gz
1a669c2637a8861b7d383adba1de41ca  2016-02-27-netbsd-raspi-earmv6hf.img.gz

Twitterで報告したのですぐ治ると思います.
直ってます :)

念のため直ったファイルで再確認

$ wget -O - ftp://ftp.netbsd.org/pub/NetBSD/misc/jun/raspberry-pi/2016-02-27-earmv6hf/MD5 | md5sum -c
2016-02-27-netbsd-raspi-earmv6hf.img.gz: 完了
md5sum: libfreetype.so.17.4.11: そのようなファイルやディレクトリはありません
libfreetype.so.17.4.11: オープンまたは読み込みに失敗しました
md5sum: 警告: 一覧にある 1 個のファイルが読み込めませんでした

イメージの書き込み

SD Cardのパーティション情報をwipefsで削除してイメージを書き込みます.2GB以上の容量が必要です.初回起動時にパーティションのリサイズが走るのですが,あまり大きな容量のCardだとこの処理にとても時間がかかるので程々の容量で.

$ sudo wipefs /dev/sdb -a
/dev/sdb: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdb: calling ioctl to re-read partition table: 成功です
$ zcat 2016-02-27-netbsd-raspi-earmv6hf.img.gz | pv | sudo dd of=/dev/sdb bs=4096
1.82GiB 0:01:42 [18.2MiB/s] [     <=>                                                                                                                                  ]
476672+0 レコード入力
476672+0 レコード出力
1952448512 バイト (2.0 GB) コピーされました、 124.862 秒、 15.6 MB/秒

起動

起動してちょっと設定

英語キーボードを使っているので/etc/wscons.conf

encoding jp

を以下のように変更

encoding us

/.xinitrcの以下の行を削除

setxkbmap -model jp106 jp

再起動して設定反映.そしてstartx……画面が崩れます.

PIZEROで試した時と同じなのでもしかしてモニタが悪い?でもうちには1枚しかHDMIモニタが無いので確認できてません.
Ctrl+Alt+F1で端末に戻れます.そこでCtrl+CでXを終了させられます.

てことで幾つかモードを試してみましたがやはりダメそう.

<追記>
HDMI-VGAアダプタ経由で別のVGAモニタに繋いだら綺麗に表示されました.やっぱりなんかモニタがおかしいのかも.ちなみに問題のモニタはOn-Lap 2501MでRasbianやChromecast,PCで特に問題無さそうなもの.
</追記>

とりあえずX転送で試します.

適当にユーザを登録して,
/etc/ssh/sshd_configでX転送を有効に

X11Forwarding yes

sshdを再起動

# /etc/rc.d/sshd restart

PCからssh -Xで接続してmikutterを起動します.ちなみに-Cオプションも付けるとRaspberry PiのCPUを50~60%食うのでやめたほうが良さそう.(-C無いと5~15%前後)

fossilも試してみます.

$ fossil init sample-repo
$ fossil server sample-repo -P 12345 &

PC側のブラウザでアクセス

Unnamed Fossil Project
 
Home
Login
Home Timeline Files Branches Tags Tickets Wiki
 
This is a stub home-page for the project. To fill in this page, first go to setup
/config and establish a "Project Name". Then create a wiki page with that name.
The content of that wiki page will be displayed in place of this message.
 
This page was generated in about 0.067s by Fossil version [62dcb00e68] 2015-11-02
17:35:44

今度はパッケージの導入を試してみます.
今回はgawkを導入.

# /usr/sbin/pkg_add gawk
$ gawk -V|head -1
GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.3, GNU MP 6.1.0)

awkasterを動かしてみます.

$ wget https://raw.githubusercontent.com/TheMozg/awk-raycaster/master/awkaster.awk
$ gawk -f ./awkaster.awk

普通に遊べます :)

動画再生ソフトのomxplayerとlivestreamerも入れてみます.

# /usr/sbin/pkg_add omxplayer
# /usr/sbin/pkg_add py27-pip
# pip2.7 install livestreamer

これを使って国際宇宙ステーションからの地球を見てみます.(Ustream.tv)

# livestreamer --player omxplayer --fifo --yes-run-as-root http://www.ustream.tv/channel/17074538 --default-stream best

nicovideo-dlを利用してニコニコ動画を視聴することも出来ます.

# python2.7 nicovideo-dl-0.0.20120212/nicovideo-dl -u 'ユーザ名' -p 'パスワード' -q -o omxpipe http://www.nicovideo.jp/watch/1452050246 &
# omxplayer -o hdmi omxpipe

-o hdmiが効かないような気がします.付けても内蔵の3.5mmから音が出る.
##id/passwordは~/.netrcに書けます(-n option)

そんなこんなで色々遊べます :)

自分で導入するのがめんどくさいという人は明日明後日に開催されるオープンソースカンファレンス2016 Tokyo/Springに行くと現物が触れると思います.ステッカーももらえるしRaspberry JAMもあります.是非参加しましょう.

DDoSを食らって困る

前のblogを書いて投稿しようとこのsiteにアクセスしたら繋がりません.moshでも繋がらなくてserial経由だと繋がるけどサーバから外に出られません.
まさか料金支払い失敗して止められたとか?と思ってメールを確認するとこんなメールが.

お客様ご利用の以下IPアドレスに対して、外部からDoSアタックを受けている状態
を検知いたしました。
 
  IPアドレス    :nnn.nnn.nnn.nnn
 
この影響により、他のお客様のサービスが正常にご利用できない状態となる恐れ
がございましたため、上記のIPアドレス通信を遮断いたしました。
 
  DoSアタック検知時刻  :2016年02月24日 04時36分04秒
  通信遮断時刻         :2016年02月24日 04時36分10秒
 
現在は 49.212.8.40 に対しての通信の疎通性が取れない状態となっております。
 
通信遮断処理の解除につきましては、弊社にてDoSアタックの収束を確認後に実施
いたします。設定の解除後に再度メールにてご報告差し上げます。
 
緊急の措置でございましたため、事後のご報告となりましたこと深くお詫び
申し上げます。

メールのタイムスタンプは04:38:16.
デイリーバックアップは取れて手元のサーバにあるので別サーバで立てなおそうかとも思ったのですが,名前でDoSをかけてるなら一緒かと思い待つことに.

そして解除.

お客様ご利用の以下IPアドレスに対して発生したDoSアタックにつきまして、攻撃
が収束したことを確認いたしましたため、攻撃対象であるお客様IPアドレスの通信
遮断処理を解除いたしました。
 
  IPアドレス    :nnn.nnn.nnn.nnn
 
  DoSアタック検知時刻   :2016年02月24日 04時36分04秒
  通信遮断処理解除時刻  :2016年02月24日 08時46分18秒
 
この度の対応では、DoSアタックの影響により他のお客様サービスにも正常に通信
ができない状態となる恐れがあったため、緊急の措置として実施させていただきま
した。
 
なお、再度DoSアタックが発生し、他のお客様サービスにも影響が及ぶ恐れがある
場合につきましては、改めて同様の対応を行わせていただく場合がございます。
 
誠に恐れ入りますが、何卒ご理解を賜りますようお願い申し上げます。

メールのタイムスタンプは08:47:26.
4時間と少しのダウンでした.

このsiteはこのアクセスの殆ど無い技術blogくらいしかコンテンツ無いのでDoS食らう心当たりがありません.
もう来ないことを祈りましょう…….