–下記は完了しています–
大変お久しぶりです。imo@入江です。
現在運用している自宅サーバーがハードウェア、ソフトウェアともにさすがに古くなってきました。
ということで、来月にサーバーの更新を予定しています。
作業日時:2018/09/19水曜日 05:00(JST)~
作業時間は3時間程度を予定していますが、進捗により変動します。
更新中はアクセスが一切できなくなります。
更新時点で下記のような構成になる予定です。
■ハードウェア
CPU:Intel i7-6700
MEM:16GB
SSD:1TB RAID1
HDD:4TB バックアップ領域
NIC:Intel i350-T2
■ソフトウェア
OS:CentOS7.5
apache:2.4.6
perl:5.16.3
php:7.2.9
python:2.7.5
mariadb:5.5.60
更新に際して、perl、php、pythonはapache権限ではなく、ユーザー権限での実行になります。
そのため、各ユーザーディレクトリ中のapache作成のファイルは所有者を各ユーザーに変更します(ファイル内容は確認しません)。
また、各ユーザーのホームディレクトリは同じですが、FTPクライアントでアクセスした際の初期ディレクトリが変更となります。
現在:/server/users/<ユーザー名>/html/
更新後:/server/users/<ユーザー名>/
動作は各CMSで確認していますが、すべての動作が今までと同じ保証はできません。
不具合がありましたら都度ご連絡ください。
どうも。
前回の高雄のあと、あんまり出かけてませんでした。
高雄行った直後に大洗行ったりしてましたが…
てことで、また元気にお出かけしてきました。
朝っぱらから飛行機、5時50分発のpeach。
着いたらバスに乗り
(現地時間)10時半到着。
てことで、また台湾に行ってました。
peachが羽田-桃園の日帰り弾丸をやってるので、一度体験してみたかったのです。
台北は1日でどのくらい楽しめるのかなーということで。
まあ、主目的は知人に会うことだったので完全に観光ではというわけではないのですが、一応現地時間も書いておきます。
あ、肉乾は畜産物なので日本には持ち込めません。うまいんですけどね。
11時、朝食べてなかったのでとりあえずごはんたべましょう。
以前に食べた金峰魯肉飯の苦瓜排骨湯が忘れられなくて、どうしても食べたかったのです。
魯肉飯と苦瓜排骨湯と魯蛋。
苦瓜排骨湯は素材の味そのままで優しい風味。
魯肉飯は自宅で何度か作りましたが、やっぱりお店の味とは全く違いますね。
これで計110元、だいたい400円。
相席したあんちゃんがずっとスマホで為替取引の画面を見ていたのが印象的でした。
そういえば、桃園空港のバスチケット売り場の人も同じような画面見てましたね。
流行ってるんです?
12時前、近くの中正紀念堂へ。
いまだに行ったことなかったんです。
とんでもないスケール、広い。
かの蒋介石の坐像。
複雑な心持ちでしたが、一度は見ておくべきかと思ったので。
堂の天井には中華民国の国章である青天白日が描いてあります。
儀丈兵の交代式。
台湾は歴史に翻弄された(されている)国なのでここは行くべきか迷いましたが、歴史についてもちゃんと調べないとと考えさせられました。
12時過ぎ、西門へ。
まず西門はずれにあるアニメイトに行ってラノベとか買ったり。
理由の残り半分はこれだったり。
コミケのときにsimon creativeが参加されてて、キーホルダーがアニメイトでも販売予定とうかがっていたので。
你的名字(君の名は。)がレジ前に特設コーナーできてたりして人気がうかがえます。
アニメイトとは別の書店のPOPですが随所で紹介されています。
あ、東津萌米の小説がちょうど2/2発売ですね、おめでとうございます。
私はさすがに近々に行く用事はないので、博客來で注文しました。
日本にも発送してくれてありがとう博客來。
ときに、西門町のイメージキャラクターがなんかパワーアップしてる気がします。
このあとごはん食べるというのに阿宗麺線、西門に来たらつい寄ってしまいます。
13時過ぎ、知人に会う。
以前に仕事の付き合いで知り合った方で、12月に連絡したらじゃあ一緒にごはん食べよう、どうせちょくちょく来るんでしょ?ということで。
写真はないですが火鍋食べてました。香菜たくさん入れて食べるのがうまい。
結構込み入った話もしてましたので自分のペースで食べられる鍋は正解でした。
本当にありがとうございます、色々救われました。今度は鼎泰豐行きましょう。
16時すぎ、市政府駅へ。
市府轉運站の1階に一卡通のセンターがあるので、以前高雄で買いそびれた小帕イラストの一卡通を買いに。
レシートがやたらと仰々しいんです(A4用紙1枚出てくる)。
統一麺のサイネージの最後にVIAの文字が。
最近コンシューマーPCの世界ではとんと見かけなくなりましたが、こんな用途で元気なようです。
17時、台北101方向に。
市政府の近くに台北101があるので、ぶらっと歩いてみます。
通り道に誠品もあるので飽きません。
101前にはいつ行っても活動団体が居座ってる気がします。
17時半、そろそろ台北を離れます。
帰りが桃園空港20時45分発のpeachなので、逆算すると18時前後に台北を離れると余裕をもって桃園空港に行けます。
MRT駅の改札付近で見かけたWi-Fiのおしらせ。
試験的に車内でも繋がるようにしているようです。
台北駅まで行き、HSRで桃園へ。
もちろん桃園空港までバスで直行してもいいのですが、台北駅からのバスが発着場再編の影響でよくわからないことになっているので、
新幹線で桃園まで行ってそこからバスを選びます。
途中の高速で渋滞してても困るので。
で、18時45分くらいに桃園到着、peachはターミナル1なのですがターミナル2でバスを降ります。
サニーヒルズのパイナップルケーキが買いたかったので。
その後ターミナル1に移動、チェックインに20分くらい並んでから1階のフードコートへ。
最後のごはんはトマト鍋でした。
なんだか結構な頻度でこれ食べてる気がします。
結局帰りのpeachは20分ほど遅れて離陸し、羽田に夜中1時(日本時間)到着。
台北滞在7時間で色々できました。
peachの弾丸は以前からは滞在時間減ったとのことですが、行きたいところがある程度決まっていて、
土地勘があれば7時間でも十分面白いと思います。
最後に、常客証について簡単に書いておきます。
過去1年のうちに3回以上台湾に行っていると常客証(外籍商務人士使用快速査験通関証明)という用紙が発行できます。
移民局サイト: https://niaspeedy.immigration.gov.tw/
要は台湾入出国の際に優先レーンが使えるようになるというもので、webから申請、プリントアウトできます。
桃園のターミナル1では審査場の右側にSpeedy Immigrationと書かれたレーンがあり、そこが使えます。
だいたいの場合そのレーンには列がないので待ち時間ほぼ0で審査が受けられる、というシロモノです。
正直なところ、ターミナル1の出国時は手荷物検査場と審査レーンがほぼ隣接しているので、
検査でベルト等外したりした状態でレーンに並ぶとなると気が緩んで一般レーンに並びがちになりそうです。
というか今回の私がそうでした…
そうでなくても桃園ターミナル1の手荷物検査場は狭いので、事前に金属類を肌身から外して袋にまとめておくなど対応していればスムーズかと思います。
そんなこんなで台湾日帰り、連休を取らなくても行けるのでまたチャレンジしたいですね。
Posted: 2017-02-03 at 11:18 by 入江 萌乃
Categories: 旅行
Comments: No comments
どうも。
5月にもだらっと出かけてきたのでとりとめもなく書いておきます。
小旅行含めると結構な頻度だという自覚はあるので、毎月こんな感じですがおつきあいください。
■きょう、ロマンスカーで。
急に温泉に入りたくなったんです。
それで、どこに行こうかと考えたときに「そうか、箱根だ!」と。
それで箱根に行ってきました。
朝9時前のロマンスカーで新宿発。
1時間半くらいで箱根湯本に到着するので手軽ですね。
特急券あわせて2000円強というのも安いと思うのです。
地方の特急だと同じ距離乗ってもそうはいきません。
乗った車両はEXE、30000形です。
ビジネス向けの需要も見込んだ車両で、展望席はありませんが窓が広く景色はしっかり見えます。
車内販売もあって、コーヒーやラスクなど買うことができます。
私は車内販売に弱いのですぐ色々買ってしまいます。新幹線でもいつもアイスを買うんです。
座席の座り心地が良く、陽気に誘われうとうとしつつ移動。
で、箱根湯本に到着。近くを散策に。
川沿いは新緑が目に鮮やかでそれだけで来て良かったと思うのです。
いい時期に来ることができました。
さて、箱根近辺には多数のホテル、温泉施設があり、日帰りで温泉に入れるところも多くあります。
最初は箱根湯本付近で入ろうと考えていましたが、別の目的もあり強羅で探すことにしました。
登山鉄道の運転席。
急勾配を走るからか抑速のノッチも。
それで強羅駅に到着。行きたいところがあったのでまずそちらへ。
駅のすぐそばにある「田むら 銀かつ亭」へ。そこの豆腐かつが有名なんです。
むしろ私の知っている強羅の食知識が銀かつ亭とマーミーキッチンくらいという…
少し待ちましたが豆腐かつ煮御膳がこちら。
豆腐の中にはひき肉が挟んであります。
正直なところあまりボリュームはありませんが味はとても良かったです。
サラダやデザート、ドリンクが付かない豆腐かつ煮定食もあり、そちらを食べている方のほうが多い印象。
お昼を頂いた後は温泉へ。
下調べなしで行ったので駅のまわりをうろうろして目に付いたところに入ってみます。
サイトがなさそうですからじゃらんで→ 温泉ホテル強羅館
強羅駅の裏側にあるホテルで、日帰り温泉もやっています。
フロントで日帰り温泉の旨お話すれば大丈夫です。
内風呂(共用)は大人1000円、貸切露天は1800円だそうです。タオル1枚付。
私は1000円で共用風呂のほうを頂きました。
その日フロントにいらっしゃったのがおばあさんお一方でなかなか要領を得ず、
貸切のほうに案内され鍵が開かないということがありました。
私自身はそんなハプニングも楽しめる人間なので特に問題には思いませんでしたが、
心の余裕を持っていきましょう。
いきなりの前情報なしで入りましたが泉質最高で大満足でした。
強羅でも珍しい白濁湯、強酸性(たしかpH2.2)、しかも源泉掛け流し。
硫黄の匂いにテンションが上がります。
平日のお昼にお邪魔したので私一人で1時間強占有させていただきました。
ただしお湯は熱め、多分42℃程度あるので慣れない方は長時間入るのはきついかもしれません。
事前に水分補給をしてから望んでください。
男湯洗い場のカランは4箇所、湯船も3m×2m程度のが1つという小規模なものです。
元々8部屋しかないこじんまりとしたホテルのようです。
その後強羅を離れ再度箱根湯本へ。
軽くお土産を買った後、駅の近くでもう1回風呂に入ります。
弥次喜多の湯
2時間1000円です。
加水循環タイプなのでお湯自体を楽しむというものではありませんが、開けた露天があって開放感があります。
岩風呂があったりジャグジーがあったり結構多彩。
なんだかんだでぬるめの湯船でだらだらしてしまいました。
正直なところ、翌日も休みだったのでいい旅館があれば素泊まりしようと思っていたんです。
しかし、箱根湯本駅の近くは18時になるとどのお店も閉まってしまうので素泊まりは無理だなとあきらめることにしました。
ちゃんと事前に食事付きで予約しておくべきですね。
もしかすると、強羅だとまた変わるのでしょうか。次回の機会には調べてみます。
ということで、帰りのロマンスカーの時間まで駅の付近をうろうろ。
箱根北原ミュージアムのパンフレット入れ。8000点のおもちゃが展示とはすごい数ですね、機会があれば行きます。
ショップが入館料なしで入れるのは初めて知りました。
箱根北原ミュージアム経由で箱根湯寮までは送迎バスが出ています。
川の流れを見ているだけで癒されます。普段どれだけあくせくしていたのかと。
駅前にそびえる湯本富士屋ホテル。こんなところに泊まれるようになりたいものです。
川沿いの街灯もなんだかオシャレ。
そしてまたロマンスカーで戻ってきたのでした。
もう最後は骨抜きになってしまって写真はおろかスマホもほとんど取り出していません。
まったりだらだらする日もあっていいのではないでしょうか。
そんなわけで5月は箱根でした。
暇を楽しむ街。
Posted: 2016-06-06 at 10:20 by 入江 萌乃
Categories: 旅行
Comments: No comments
年明けてました(ヒドイ言い草だ)。
ので、ここ最近のまとめです。
■Zyon(ザイオン)が楽しいです
iOS向けの音ゲー、Zyonに大ハマりしています。
こんなの。レーテシアさんかわいい。
公式サイトはこちら (音出るので注意)。
Pure(左)とDual(右)という2種のモードがあって、操作感がそれぞれ異なるので2度おいしい。
思わず全曲課金した上にバッジ(アプリ内課金全解禁するもの)にも課金してしまうという。
Pureはある程度できるけどDualが赤と青混乱してよくコンボ途切れます。
動体視力をください!
■メインルーターを変更しました
自宅のサーバー系管理のルーターをNECのIX2105に変更しました。
Routerboardでも良かったのですがやはりNECのコンフィグに慣れているのでNEC使いたかったんです。
あとやっぱりショートパケットに強いのがいいなーと思ったので。
PPPoEリンクは少し速くなっています。
■UPS入れました
超今更。
ルーター入れ替えた同日にUPSも導入しています。
昔矩形波出力のでひどい目に遭ったのでちゃんと正弦波出力です。
■またしても大阪に行ってました
1月末のこと。
なんであんなにエキサイティングな街なんでしょう。
何回行っても飽きませんが次回は天王寺動物園行きたいです。
■台湾行きたい病が出ました
元々そのうち再度行くつもりなのですが、それを待たずして麺線食べたい!!ってなってしまったので
新橋にある台湾麺線さん に行ってきました。
こんなの
麺線と魯肉飯のセットですが、かなり現地の味そのままでとても救われました。
通おうと思います
でもさらに台湾行きたくなりました。猫空行きたい。
■PC入れ替えました
今までメインに使っていたi7-950ベースのマシンが先日起動しなくなることがあり、危険を感じたのでえいやと。
ヤバイと思ったが物欲を抑えきれなかった。
今度のはSkylake i7-6700ベースです。
今まではメモリを大量搭載してRAMディスクを作成、そこにキャッシュを置いて高速化していましたが、今回は普通にSSDで全部やっちゃっています。
PCではゲームやらないのでCPU内蔵グラフィックで、メインメモリへのUMAは置いといて最近のは普通に使えますね。
あとマザーがASRock Z170M Pro4Sなんですが、最近のASRockマザーってマトモなんですね(超失礼)。
以前はキワモノばかり出すイメージだったのですがこんなに立派になっちゃっておじさんうれしい。
■Raspberry PiのNTPサーバー更新しました
以前に書いたGPS使うNTPサーバーですが、RPi2が出たりOS更新されたりと色々変わったので最新にしました(今してます)。
ビルド手順が少し変わっているので詳細は別記事で。
そんな感じの。
今年は旅行に行ったらちゃんと旅行記を書こうと思います。
Posted: 2016-02-24 at 11:21 by 入江 萌乃
Categories: 日記
Comments: No comments
すごくお久しぶりです。萌乃です。
サイトの存在を忘れてたレベルで何も書いてませんでした。
てことで、適当に列記です。
下にいくほど新しい
■実家帰省してました
2月に実家に帰ったりしておりました。
福岡空港を使えばかなり早くたどり着けるようで新発見。
一時期、大阪まで夜行バス→残りを新幹線とかも考えていましたがマゾにも程があるだろと挫折してました。
早摘みデコぽんすは神の食べ物。
■回線をギガにしました
4月に勢いあまってフレッツのギガラインに変更。
今までサーバー向けに使っていたLivedoorがサービス終了するのに合わせてISPを変更する必要が生じ、
合わせて回線プランも変更するか、ということで。
通常の接続ではISPバックボーンの関係でそこまで恩恵はないのですが、
NGN折り返しが上下1GbpsになったのでVPN上のバックアップが快適になりました。
網内折り返しは超便利なのでみんな使うとよいよいよい(残響)
あ、メインルーターも変更してるのでサーバーから200Mbpsくらいは出ます。
■大阪京都に行ってました
6月の話。
普段は何かしらの仕事で行くのですが、今回は9割がた観光でした。
京都のお寺散策タノシス。
清水寺を端から端まで見たりと、完全に修学旅行の体。
夢を語れにも行きたかったのですが時間合わず断念、次回こそは。
■コミケでした
いつも通りに売り子参加。
カードスリーブこわい。
■コミトレでした
9月のコミトレにかこつけて大阪旅行へ。
タカアシガニ先輩を見に海遊館行ったりと、観光メインな感じで。
次回はハルカスにも行きたい。ハルカスのヘリポート見学ってまだやってるのん?
■台湾行ってました
10月、やっとこさ予定が合いまして、台湾旅行なんぞに行ってました。
ちょうど台湾の下に台風が停滞していたので飛行機飛ぶかな、と思いましたが何とかなった模様。
台北101やら九份やら夜市やらの典型的観光地と、ASUS本社前をウロウロしたりと、まあ不思議な旅行をしておりました。
そのうちまた行く。
\なんか旅行ばっかりしてる!/
そんな感じです。
今後はいろいろ書きます多分。
Posted: 2015-11-12 at 17:40 by 入江 萌乃
Categories: 日記
Comments: No comments
どうも、萌乃です。
Raspberry PiとGPSモジュールを組み合わせてNTPサーバーを構築してみました。
GPSからの信号を利用することでUTCに対して数百ナノ秒の精度で時刻を保持できます。
以前から高精度の時刻保持は研究していたのですが、Raspberry Piを使うとわりと簡単に作れるので良いなと思う次第です。
■もくじ
1:材料
2:raspbianの設定
3:ひとまずGPSモジュールからのデータを見てみる
4:PPSの確認
3:カーネルのリビルド
4:NTPのビルド
5:うるう秒への対応
6:NTPの設定(gpsd編)
7:NTPの設定(ntpd編)
8:Raspberry Pi自体の設定
9:ちなみに
■材料
・Raspberry Pi B+
おなじみのrpiです。秋月電子で購入。
・4GB以上のmicroSDカード
これはお好みで。
4GBだとカーネルリビルド時にギリギリだったので、8GB以上が良いかもしれません。
・U-blox NEO-6M GPSモジュール
aitendoで購入(http://www.aitendo.com/product/10255 )
アンテナも付属していますので窓際ならこれだけで受信環境が揃います。
動作電圧3-5v、信号がTTLレベルで出て使いやすいですが、PPSがLEDに接続されているので
3番ピンにリード線をハンダ付けして信号が取り出せるようにしておきます。
こんな感じで。
ピンヘッダを付けておくと便利です。
・GPSアクティブアンテナ
aitendoで購入(http://www.aitendo.com/product/2421 )
ベランダにアンテナを出したかったので購入。
上記アクティブアンテナの場合、モジュール側がU.FL、アンテナ側がMMCXなので変換する必要があります。
自分はケースを加工して搭載できるようにしました。
■raspbianの設定
今回はrpi標準のraspbianを使っています。(2014/12/24版で動作確認しています)
http://www.raspberrypi.org/downloads/ からシステムイメージを入手してmicroSDに書き込んでおいてください。
キーボードやロケールなど初期設定はお好みで
apt-get update
apt-get upgrade
rpi-update
で内容を最新にしておきます。
GPSモジュールはrpiのttyAMA0に接続することになります。
標準ではttyAMA0でシリアルコンソールが使えるようになっているため、これを無効にします。
/boot/cmdline.txtからconsole=ttyAMA0,115200
の部分を削除
/etc/inittabのT0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
の行を無効に
sudo insserv -r triggerhappy
でtriggerhappyを無効に
他の用途でもrpiを使うなら最低限このくらいですが、自分のようにntp専用にしたいなら
サウンド関連は無効にしても良いかもしれません。
/etc/modulesにsnd-bcm2835がいます。
ここまでやったら一度シャットダウンしてGPSモジュールを接続。
自分はこんな感じに入力しています。
電源投入後、GPSを捕捉するとPPS LEDが点滅します。
■ひとまずGPSモジュールからのデータを見てみる
PPSは一旦置いておいて、GPSモジュールから出てるデータを見てみます。
NMEAデータを管理するgpsdとクライアントをインストール
sudo apt-get install gpsd gpsd-clients
今のところはgpsdを自動起動せずに手動で立ち上げます。
理由は後述。
sudo gpsd /dev/ttyAMA0 -n -F /var/run/gpsd.sock
cgps -s
するとGPSの捕捉状況が見られます。
こんな感じに
衛星が3つか4つ以上捕捉できていると3D FIXできますが、
時刻同期だけなら多分もっと少なくてもいいです。
余談として、gpsdを経由すれば簡単にPPSに同期したGPSロガーも作れそうですね。
実用に耐えうるかはともかく、そのうち作ってみます。
■PPSの設定
※2014/12/24公開のraspbianカーネルは標準でPPSに対応しています。
PPSの信号が利用できるようにします。
sudo apt-get install pps-tools
でppsツールをインストール後、
/boot/cmdline.txtの行末に
bcm2708.pps_gpio_pin=18
を追加(ピン番号は環境で変更してください)、
/etc/modulesに
pps-gpio
を追加します。
再起動後、
sudo ppstest /dev/pps0
でppsが拾えているか確認。
延々表示し続けるのでCtrl+Cで止めます。
■カーネルのリビルド
※2014/12/24公開のraspbianカーネルは標準でPPSに対応しています。
カーネルリビルドしなくても数マイクロ秒の精度は出ます。
ナノ秒オーダーの精度を出すにはdyntickが邪魔になるので、tickの方法を変更してカーネルをリビルドします。
必要なものをインストール。
apt-get install wget git libncurses5-dev bc screen
今動いているカーネルコンフィグを取得するとき、sudoでもエラーが出たのでrootログインできるようにしておきます。
sudo passwd rootでパスワード作成。
再起動しrootでログインして作業再開。
mkdir pps
cd pps
git clone --depth 1 git://github.com/raspberrypi/linux.git
cd linux
zcat /proc/config.gz > .config ←今動いているカーネルコンフィグを保存、ここでsudoだとエラーが出ました
make menuconfig
カーネルメニューにて、まずは現在の設定をロードします。
最下部のloadから.configをロード。
PPSとtick周りの設定をします。
Device Drivers → PPS supportでPPS supportを有効に(Y)、
PPS kernel consumer supportとPPS client using GPIOも有効にしておきます。
メニューのトップに戻って、
General setup → Timers subsystemと入り
Old Idle dynticks configを無効、
High Resolution Timer Supportを有効に。
その後Timer tick handlingを有効にすると別画面に遷移するので
Periodic timer ticksを選択します。
ここまで終わったら再度メニューのトップに戻り、
saveから.configへ再度書き込みます。
私はこれをやり忘れて1日無駄にしました…
さてビルドします。
make
make modules_install
makeに10時間くらいかかります。
ext4のジャーナル破損が起こることがありますが、その際にはmicroSDの故障ないし相性なので
別のカードに変えてみてください。
カーネルイメージ化します。
git clone --depth 1 git://github.com/raspberrypi/tools.git
cd tools/mkimage/
./imagetool-uncompressed.py ../../linux/arch/arm/boot/zImage
これでkernel.imgが出来上がります。
rpiにカーネルをインストールし、起動カーネルを変更します。
mv kernel.img /boot/kernel_tick.img
/boot/config.txtに
kernel=kernel_tick.img
を追記します。
再起動すると作成したカーネルで起動します。
■NTPのビルド
標準でインストールされているntpはPPSに対応していないので、ソースからビルドします。
sudo打つのが面倒だったのでrootでログインしています。
mkdir ntp
cd ntp
apt-get install libcap-dev
wget http://archive.ntp.org/ntp4/ntp-4.2.8.tar.gz
1/31時点ではntp-4.2.8p1-RC2.tar.gzが最新です。
必要に応じてhttp://archive.ntp.org/ntp4/ を確認してください。
tar xvfz ntp-4.2.8.tar.gz
cd ntp-4.2.8
./configure
--enable-ATOMはなくても対応するようです。
--enable-linuxcaps含めて入れたほうが精神衛生上良さそうな気がします。
make
make install
これで/usr/local/bin/と/usr/local/sbin/にバイナリが生成されます。
このバイナリを今まで動いていたntpと入れ替えます。
/etc/init.d/ntp stop
cp /usr/local/bin/ntp* /usr/bin/ && cp /usr/local/sbin/ntp* /usr/sbin/
/etc/init.d/ntp start
この方法だと、今までのからntp.confや起動スクリプトが流用できるので便利です。
■うるう秒への対応
今年の7/1にうるう秒の挿入があります。
GPSから送られる情報の中にうるう秒がいつプラス、マイナスされるかがありますので、
本来であればその情報だけで対応できます。
しかし、GPSからのその情報を使うかはクライアントごとにまちまちなので、別のアプローチで対応しておきます。
アメリカのNISTでうるう秒のリストが公開されていますのでそちらを使います。
ftp://time.nist.gov/pub/leap-seconds.list
(実体のファイルはleap-seconds.3629404800ですが、leap-seconds.listでシンボリックリンクされているようです)
cd ~
wget ftp://time.nist.gov/pub/leap-seconds.list
sudo cp leap-seconds.list /etc/
/etc/はntp.confと同じところに置きたいと思ったからなので、コピー先はお好みで。
/etc/ntp.confの中に
leapfile /etc/leap-seconds.list
を追記します。
ntpdを再起動すると適用されます。
ここからNTPの設定に入りますが、NMEAのデータgpsd経由で送るか、ntpdで直接管理するかによって設定が異なります。
gpsdを経由せずにntpdで直接管理したほうが精度が良いですが、他のソフトから扱えなくなります。
■NTPの設定(gpsd編)
NMEAデータをロギングしたいなど、他にも使う際にはこちらです。
共有メモリを経由するので、NMEA側のジッターが大きめな気がします。
まずはgpsdの自動起動を設定します。
sudo dpkg-reconfigure gpsdから出てくるメニューで
自動起動をオン、参照ポートを/dev/ttyAMA0、ソケットを/var/run/gpsd.sock(標準)に。
/etc/ntp.confの現在のserver行をコメントアウトしてから、下記設定を投入します。
server 127.127.22.0 maxpoll 4
fudge 127.127.22.0 flag3 1 refid PPS
server 127.127.28.0 maxpoll 4 prefer
fudge 127.127.28.0 time1 0.141 refid GPS
他の設定はお好みで。
time1はPPSに対するNMEAの遅延時間で、単位は秒です。
私の環境では141ミリ秒くらいでしたが、一旦0で動かしてオフセットを見ながら適宜調整したほうがいいかもしれません。
この設定で動かすと、下のようになります。
■NTPの設定(ntpd編)
私のようにNTP専用機にするぜ!という人はこちらです。
ntpdが直接NMEAデータをつかむので安定しますが、他で使えません。
/etc/udev/rules.d/10.pps.rulesというファイルを作成します。
内容は以下2行
KERNEL=="ttyAMA0", SYMLINK+="gps0"
KERNEL=="pps0", OWNER="root", GROUP="dialout", MODE="0660", SYMLINK+="gpspps0"
ntpdはユーザー”ntp”で動作するので、ユーザー”ntp”をdialoutグループに追加しておきます(標準ではグループに属していません)。
sudo usermod -G dialout ntp
再起動すると/dev/gps0と/dev/gpspps0という2つのデバイスができます。
このデバイスをntpdで読んでいきます。
/etc/ntp.confの現在のserver行をコメントアウトしてから、下記設定を投入します。
server 127.127.20.0 mode 17 maxpoll 4 prefer
fudge 127.127.20.0 flag1 1 flag3 1 refid GPS
flag1はPPSを処理するかのフラグ、flag3はPPSの管理をntpdでするかカーネルでするか(0がntpd、1がカーネル)のフラグです。
あと、入れなくても精度は出ますが気になる方はtime2も入れてください。
time2はPPSに対するNMEAの遅延時間で、単位は秒です。
この設定で動かすと、下のようになります。
■Raspberry Pi自体の設定
上記でGPSモジュールを参照してntpdが動作するようになりました。
より時刻精度を出したい、参照時の精度を出したいといった場合には下記設定をすると良いでしょう。
・CPU周波数の固定
rpiのCPU周波数は、アイドル時には低く負荷がかかると高くなります。
周波数変動時の遅延が時刻に影響をするので、それを固定します。
raspi-configでオーバークロックをするとリセットされてしまうので注意。
sudo echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
・シリアルのレイテンシ設定
シリアル(NMEA)はオフセット指定できるので標準のままでも問題ないのですが、
レイテンシを低減しておくとなお良いかと思います。
sudo apt-get install setserial
setserial /dev/ttyAMA0 low_latency
この設定を入れる前後で遅延時間がいくぶん変化しますので、必要に応じてntp.confに修正を加えてください。
・LANコントローラーの設定
rpiに搭載されているLANコントローラーはSMSC9512というもので、USBハブと一緒になっています。
ターボモードというものがあり複数のパケットを同時送出できますが、カーネルクラッシュの危険性がありますので
無効にしたほうが良いのかも。
/boot/cmdline.txtに下記設定を入れます。
smsc95xx.turbo_mode=0
ppsの設定が行末になるように注意してください。
・メモリの設定
rpiに搭載のメモリにはリフレッシュレート調整の機能がありますが、調整時にはポーズがかかって影響が出ますので無効にします。
メモリの温度によって調整しているみたいですね。
/boot/cmdline.txtに下記設定を入れます。
disable_pvt=1
ppsの設定が行末になるように注意してください。
■ちなみに
自宅で運用しているrpiのオフセット値などをmuninで収集して公開しています。
http://ns.lowfreq.info/munin/pintp/pintp/
このくらいの精度が出る、という参考にしてもらえれば。
プラグインの一部は自作したものですが、これについては別の機会に公開します。