G2Aシールドについてもう少し調べてみた

時々G2Aで狙ってるゲームの最安値をチェックしています。
実は今日かなり安くなったのです、とっさには買えず、なくなってしまいました。

そこで、よくわからなかった点を解消するためにアカウントを取って少し調べてみました。

G2A Shieldの30日体験

適当にかごに入れたあと、試しにG2Aシールドのiマークを押してみると、エラーページにいってしまい、G2Aシールドの30日体験に本当に入れるのかどうか疑問でした。
ためしにアカウントを作ってみると、状況が変わりました。

このように、マイアカウント、のメニューの中から状態を確認できるようになっています。
いまはもちろん未入会なのでOFFになっています。

試しに「30日無料でG2Aシールドを試す」を押してみます。


こんなページに遷移して、
カード(VISAorMaster)かPaypalのアカウントを入力すると体験開始となるようです。

G2Aシールドはつけなくてもいい?

保険好きな日本人としてはG2Aを必須に感じてしまいますよね。
ところがつけずに買ってしまう人も結構いるようです。
というのも、少し前までG2Aシールドは1注文で100円程度だったのに、いまは300円以上になっています。
これだと、中には商品代金を上回る場合すらあります。
安いものの場合、ここは割り切って、安いものはG2Aシールド無しで買うっていうのもありのようですよ。

また、そもそもG2Aが不要な場合もあるそうです。

このように、「G2Aに選ばれたオファー」というのが出ています。
最安じゃないのに、なんだろうと思っていたら、ここから買った場合はG2Aシールド無しでも保証されるそうです。
ただ、、、試しにカートに入れてみたのですが、G2Aシールドも選べる状態でした。
これはどういうことなのか・・・?ちょっと謎ですね。

Kinginと比べると、G2Aのほうが安いようですが、G2Aシールドを入れると微妙な感じになっています。
なので、30日はG2Aで購入し、それ以降はKinginで購入するようにする、というのがいいのかもしれません。
ただ、この無料30日はアカウントを作り直すとまた有効になるのでは・・・?ということがよぎりました。

今度試してみよう・・・!

USBメモリのマウントでトラブル[raspberry pi]

ファイルの保存場所としては、
システムのmicroSDの中じゃなくて、USBメモリにした方がいいんじゃないかと思いたち、テストを始めたのですが、いまいちうまく行っていません。

?書き込み権限がない!

差し込むと自動マウントされるのはいいのですが、
何かファイルを書き込もうとすると

「許可がありません」

と怒られてしまいます。sudoすればいけますが、何かと不便です。
一般ユーザーのcronで何かやろうとしてもすべて蹴られるってことですしね。
権限を緩めれば?とマウントポイントの /media/usb0 フォルダをchmodで変更しようとしても何も変化がないのです。

vfatでの方法は見つけた

usbの自動マウントはusbmountという機能で行われています。
設定ファイルは /etc/usbmount/usbmount.conf です。

これの FILESYSTEMS と FS_MOUNTOPTIONS です。

FILESYSTEMSは

FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus"

としました。ntfs以外はデフォルトです。

FS_MOUNTOPTIONSはこのように変更します。

#FS_MOUNTOPTIONS="-fstype=ntfs,uid=pi,gid=pi,iocharset=utf8,codepage=932"
↓
FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8,codepage=932,uid=500,gid=500,dmask=000,fmask=011"

変更しました、というか、これ以外はまったくうまく行きませんでした。

ntfs ext4 はまったくうまくマウントできない!

この-fstypeをntfsにしてみます。

$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb           8:16   1  1.9G  0 disk
mqsdb1        8:17   1  1.9G  0 part /media/usb1

マウントされたっぽいですが、

$ cd /media/usb1
-bash: cd: /media/usb1: 通信端点が接続されていません

なぬ?
何回やっても同じ結果で、アクセスできません。試しにFATに戻してみるとあっさりつながるのでNTFSがなにかおかしいようです。

次にext4でやってみます。

$ touch test
touch: `test' に touch できません: 許可がありません

見覚えのあるやつです。

試しに

FS_MOUNTOPTIONS="-fstype=ext4,iocharset=utf8,codepage=932,uid=500,gid=500,dmask=000,fmask=011"

とすると、自動認識もされなくなってしまいました。
まだ、

FS_MOUNTOPTIONS="-fstype=vfat,iocharset=utf8,codepage=932,uid=500,gid=500,dmask=000,fmask=011"

のほうがマウントされるだけマシです。

どうしてこうなるのかまったくわかりません・・・。

extundeleteでファイル復旧にチャレンジ![raspberry Pi]

それほど重要なファイルというわけではないのですが、
はずみでrmして、うっかりファイルを消してしまいました。
たまにやってしまいますね 汗
こういうときのためにrmは使わないで、
要らないファイルはどこかにmvしておく形式にしたほうが良い、とは思っているものの
またやってしまいました。

そこで、試しに復旧方法を調べてみると、なかなか良さそうなものがありました。

extundeleteで簡単復旧?!

extundeleteというので簡単に復旧できるそうです。
てなわけで、実行してみたいわけですが、コンパイルしないといけません。
本当は復旧したいディスクはリードオンリーにして使わないことが鉄則ですが、
起動ドライブであるためそうは行かず、
それでも一応USBメモリをさして、そこでコンパイルすることにしました。

 

> wget https://sourceforge.net/projects/extundelete/files/extundelete/0.2.4/extundelete-0.2.4.tar.bz2/download
> tar -zxvf extundelete-0.2.4.tar.bz2
> cd extundelete-0.2.4
> sudo ./configure
Configuring extundelete 0.2.4
configure: error: Can't find ext2fs library

ext2fsがないのでインストールします。
(実際はこういうことを復旧したいドライブでやるのはNGです)

$ sudo apt-get install ext2fs-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
Note, selecting 'e2fslibs-dev' instead of 'ext2fs-dev'
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  dc libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal
  libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libroken18-heimdal libwind0-heimdal
  libxfce4ui-1-0 xfce-keyboard-shortcuts
これを削除するには 'apt-get autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  comerr-dev e2fslibs e2fsprogs libcomerr2
提案パッケージ:
  doc-base gpart e2fsck-static
以下のパッケージが新たにインストールされます:
  comerr-dev e2fslibs-dev
以下のパッケージはアップグレードされます:
  e2fslibs e2fsprogs libcomerr2
アップグレード: 3 個、新規インストール: 2 個、削除: 0 個、保留: 282 個。
1,190 kB のアーカイブを取得する必要があります。
この操作後に追加で 798 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main e2fslibs armhf 1.42.12-2 [173 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main e2fsprogs armhf 1.42.12-2 [728 kB]
取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libcomerr2 armhf 1.42.12-2 [59.7 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main comerr-dev armhf 2.1-1.42.12-2 [37.6 kB]
取得:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main e2fslibs-dev armhf 1.42.12-2 [192 kB]
1,190 kB を 2秒 で取得しました (435 kB/s)
(データベースを読み込んでいます ... 現在 125349 個のファイルとディレクトリがインストールされています。)
.../e2fslibs_1.42.12-2_armhf.deb を展開する準備をしています ...
e2fslibs:armhf (1.42.12-2) で (1.42.12-1.1 に) 上書き展開しています ...
e2fslibs:armhf (1.42.12-2) を設定しています ...
libc-bin (2.19-18+deb8u4) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 125349 個のファイルとディレクトリがインストールされています。)
.../e2fsprogs_1.42.12-2_armhf.deb を展開する準備をしています ...
e2fsprogs (1.42.12-2) で (1.42.12-1.1 に) 上書き展開しています ...
man-db (2.7.0.2-5) のトリガを処理しています ...
e2fsprogs (1.42.12-2) を設定しています ...
(データベースを読み込んでいます ... 現在 125349 個のファイルとディレクトリがインストールされています。)
.../libcomerr2_1.42.12-2_armhf.deb を展開する準備をしています ...
libcomerr2:armhf (1.42.12-2) で (1.42.12-1.1 に) 上書き展開しています ...
libcomerr2:armhf (1.42.12-2) を設定しています ...
libc-bin (2.19-18+deb8u4) のトリガを処理しています ...
以前に未選択のパッケージ comerr-dev を選択しています。
(データベースを読み込んでいます ... 現在 125349 個のファイルとディレクトリがインストールされています。)
.../comerr-dev_2.1-1.42.12-2_armhf.deb を展開する準備をしています ...
comerr-dev (2.1-1.42.12-2) を展開しています...
以前に未選択のパッケージ e2fslibs-dev を選択しています。
.../e2fslibs-dev_1.42.12-2_armhf.deb を展開する準備をしています ...
e2fslibs-dev (1.42.12-2) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
install-info (5.2.0.dfsg.1-6) のトリガを処理しています ...
comerr-dev (2.1-1.42.12-2) を設定しています ...
e2fslibs-dev (1.42.12-2) を設定しています ...

リベンジ!
prefixでUSBドライブの中を指定しています。

$ sudo ./configure -prefix=/media/usb0/src/extundelete-0.2.4/src
Configuring extundelete 0.2.4
Writing generated files to disk

成功した・・・?!

$ sudo make
make -s all-recursive
Making all in src
extundelete.cc: In function ‘ext2_ino_t find_inode(ext2_filsys, ext2_filsys, ext2_inode*, std::string, int)’:
extundelete.cc:1272:29: warning: narrowing conversion of ‘search_flags’ from ‘int’ to ‘ext2_ino_t {aka unsigned int}’ inside { } [-Wnarrowing]
    buf, match_name2, priv, 0};
                             ^

成功したのでしょうか・・・?

$ sudo make install
Making install in src
  /usr/bin/install -c extundelete '/media/usb0/src/extundelete-0.2.4/src/bin'

指示の通り /media/usb0/src/extundelete-0.2.4/src/bin にちゃんとバイナリができてました。
なんとか成功したっぽいです。

2:30頃のエポック時間です。

$ date -d "14:30" +%s
1501997400

指定して実行してみました。

$ ./extundelete --after 1501997400 --restore-all /dev/root
Only show and process deleted entries if they are deleted on or after 1501997400 and before 2147483647.
./extundelete: No such file or directory  /dev/root
./extundelete: No such file or directory when trying to open filesystem /dev/root

ところが「/dev/rootなんかないよ」と言われてしまいます。
どうやら起動しているシステムドライブは対象にできないようです・・・?sudoしてみても同じでした。

試しに接続してるUSBドライブでやってみます。

$ sudo ./extundelete /dev/sda1 --restore-all
./extundelete: Bad magic number in super-block when trying to open filesystem /dev/sda1

FATではだめってことです・・・。

仕方ないので、一度rpi-cloneでクローンドライブを作って、そのドライブに対して実行してみます。

$ sudo ./extundelete --after 1500000400 --restore-all /dev/sdb2
Only show and process deleted entries if they are deleted on or after 1500000400 and before 2147483647.
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n)
y
Loading filesystem metadata ... 476 groups loaded.
Loading journal descriptors ... 32574 descriptors loaded.
Searching for recoverable inodes in directory / ...
4 recoverable inodes found.
Looking through the directory structure for deleted files ...
4 recoverable inodes still lost.
Unable to restore inode 3612833 (file.3612833): No undeleted copies found in the journal.
Unable to restore inode 3620865 (file.3620865): No undeleted copies found in the journal.
Unable to restore inode 3620897 (file.3620897): No undeleted copies found in the journal.
Unable to restore inode 3620898 (file.3620898): No undeleted copies found in the journal.

 

実行したドライブにRECOVERED_FILESというフォルダが作られます。
で、その中にファイルが吐き出されるはずなのですが・・・。
残念なことに、復活ならずででした。フォルダは空っぽ・・・。

extundelete というコマンドの有効性については気になりますので、もう一度検証はしたいと思います。

raspberry pi に最適なメモリ容量

ラズパイのメモリはなるべく大きい方がいいと思ってきましたが、
今回のように壊れてみると、印象がガラッと変わります。
SDのカードは一部が壊れるということがなくて、一気にすべての領域へのアクセスが不可能となってしまいます。なので、システムに使うSDカードはなるべく小さいものにしておいて、
データ領域はUSBメモリか、別のSDをカードリーダに挿して使うようにしたほうが良さそうです。USBが4ポートもあるけど全て空いていますしね・・・。

価格調査をしてみる

楽天、アマゾンで調べると最安価格は以下のような感じでした。

8GB・・・600円程度
16GB・・・800円程度
32GB・・・1500円程度
64GB・・・2500円程度

1GBあたりの価格は64GBが最も安いです。
ところが64GBが一気にダメになるのは結構キツイです。
システムだけなら8GBでも行けそうですが、1GBあたり75円となって結構高いです。
また、8GBと16GBは200円しか違いません。

16GBと32GBでは、
16GB・・・1GBあたり50円
32GB・・・1GBあたり47円
であまり変わらないので、16GBという選択が現状は良さそうですね。

16GBだと容量的には心もとないのでUSBメモリを追加したいですけど、
USBメモリであれば、64GBで2000円を切るくらいであるようです。

とすると

16GBのmicroSD x2(1枚はバックアップ用)

64GBのUSBメモリ

という組み合わせが良いような気がしますね!

バックアップは絶対やったほうが良い

今までよくバックアップせずにきたな・・・と思いましたよ。
バックアップした直後に壊れるなんて恐ろしすぎました 汗
私はストレージ的にはラジコの録音が一番圧迫しています。
これをUSBメモリに移動するようにすると、急にシステムが壊れてもすぐにWinPCにて認識できるのが良いですね。
このUSBメモリの方は壊れないのか・・・?っていうのも気にはなりますね・・・。ストレージとして単純にデータを貯めていくだけなら大丈夫そうではありますが。
多分システムとして使ったばあいの読み書きが多いのが問題なんだろうと思います。
実はスワップもそのままで1年半くらいで壊れたことになるので、
スワップを削除して、RAMディスクに変更したので、もう少し寿命は伸びてくれるかな?と期待はしています。

freenomのドメインの更新メールが来た!

とうとう初めてのFreenomのドメイン更新の時期が来ました。
すでに更新したというレビューは上がっていますが、私もやってみました。

Freenomからのメール

メールは以下のようなモノ。

Freenom Support <noreply@freenom.com>

Dear Sir/Madam,

Since May 16, 2017 you are the registrant of the domain name:
ZENI.GA.

Please be advised that the registration period for this domain is almost
over and that the domain will expire on August 16, 2017.

If you wish to keep your your domain, you should renew the domain
registration for ZENI.GA BEFORE August 16, 2017 00:00 GMT.

Domain name renewals are free of charge and can be done in My Freenom.

Please:

- Visit My Freenom at https://my.freenom.com

- Go to Domain Panel

- Select the domain name you want to renew

Domain renewals can only be done two weeks before a domain name expires.

Looking forward to continue to serve you with your domain name.

Kind regards,


Freenom Support
http://www.freenom.com

ドメインzeni.gaの期限だよ?、ってことですね。実はまだ更新していないサイトです 汗

直接以下にアクセスするか

https://my.freenom.com/domains.php?a=renewals

serviceメニューのRenew Domainを選びます。

Renew This Domainをおすと、更新月数を選択するリストボックスが出るので選択するだけです。

最大の12ヶ月にしても良かったのですが、
次の更新を他のドメインと揃えるために9ヶ月にしました。
多分複数取得していると思いますので、なるべく近い期日になるようにしておくとらくかな?と思います。

 

nginxが起動しなくなった[raspberry pi]

突然RaspberryPiのNginxが起動しなくてかなり焦ったのでメモしておきます。

起動しない

再起動すると起動しなくなっていた。
自動起動がうまく行かなかったのかと、
sudo service nginx start
するも起動しません。

検証

エラーは以下のとおりです。

Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.

このメッセージは

‘systemctl status nginx.service’ と ‘journalctl -xn’ で詳細を調べろ!

ってことらしいです。

$ sudo systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since 水 2017-08-02 22:58:37 JST; 18s ago
  Process: 2756 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 654 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 2759 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 657 (code=exited, status=0/SUCCESS)

 8月 02 22:58:37 raspberrypi nginx[2759]: nginx: [alert] could not open error log file: open(...ry)
 8月 02 22:58:37 raspberrypi nginx[2759]: 2017/08/02 22:58:37 [emerg] 2759#0: open() "/var/lo...ry)
 8月 02 22:58:37 raspberrypi nginx[2759]: nginx: configuration file /etc/nginx/nginx.conf tes...led
 8月 02 22:58:37 raspberrypi systemd[1]: nginx.service: control process exited, code=exited s...s=1
 8月 02 22:58:37 raspberrypi systemd[1]: Failed to start A high performance web server and a ...er.
 8月 02 22:58:37 raspberrypi systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.

途中、省略されちゃってます。

Hint: Some lines were ellipsized, use -l to show in full.
幾つかの行が省略されちゃってるから、-lを使えばいいじゃん?

てなわけで、リベンジ。

$ sudo systemctl -l status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since 水 2017-08-02 22:58:37 JST; 2min 10s ago
  Process: 2756 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 654 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 2759 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 657 (code=exited, status=0/SUCCESS)

 8月 02 22:58:37 raspberrypi nginx[2759]: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (2: No such file or directory)
 8月 02 22:58:37 raspberrypi nginx[2759]: 2017/08/02 22:58:37 [emerg] 2759#0: open() "/var/log/nginx/access.log" failed (2: No such file or directory)
 8月 02 22:58:37 raspberrypi nginx[2759]: nginx: configuration file /etc/nginx/nginx.conf test failed
 8月 02 22:58:37 raspberrypi systemd[1]: nginx.service: control process exited, code=exited status=1
 8月 02 22:58:37 raspberrypi systemd[1]: Failed to start A high performance web server and a reverse proxy server.
 8月 02 22:58:37 raspberrypi systemd[1]: Unit nginx.service entered failed state.

前半はよくわからない。
どんなサービスが動かなかったかの結論だけ言ってるみたいで、原因らしいものがないみたい。
後半の「could not open error log file: open() “/var/log/nginx/error.log” failed」がきになりました。
nginx.confのログファイルの場所はここじゃなくて別の場所に変更しているのに、なぜここが開かないというのかな・・・?
確かに、/var/log/nginx/のディレクトリはないけれど・・・。

そこで、ふには落ちないけど、mkdir -p?/var/log/nginx をしてから sudo service nginx start して起動してみました。やはりだめ?
ああ、パーミッションかな?ととりあえず chmod 777 でユルユルにしてもう一度起動すると・・・!起動したーー!
結局/var/log/nginx/error.logという0ファイルができました。どうやらここは設定ファイルで指定しなくても必要なようですね・・・?バグだと思うけどね。

 

こうなった原因

原因はswapをRamdiskに変えたことでした。

microSDの突然死がありましたので、以下を見つけて設定したのです。

Raspberry Pi、RAMディスクで micro SDを長寿命化

rc.localに更に以下を追加しました。

mkdir -p /var/log/nginx
chown root.www-data /var/log/nginx

これで、再起動してもちゃんと起動するようになりました。

今回はなんとかなりましたけど、やっぱり再起動する前にはバックアップしないと危険ですね。

スクリプトを引数形式に改造する[私的mydns.jpの更新スクリプト]

どっちが良いのかは、はっきりとはいえないですけど、思い立ったら改造してみるのは良いことです。

というわけで引数形式に変更してみます。

と言っても簡単で、冒頭でこうするだけですね。
シェルスクリプトはこういうところが簡単で好きです。

ID=$1
PW=$2

第1引数にID、第2引数にパスワードを受けています。

引数チェックをします。

if [ $# -ne 2 ];then
    echo usage $0 [ID] [pw]
    exit 1
fi

引数が足りない場合にはUSAGEを表示するのがルールです。こういうのは癖付けしておくと後で楽ですね。

ついでにコマンドライン実行時に確認するようにしてみました。

echo ready?
read HOGE

if [ "$HOGE" != "y" ] ;then
    echo No update...
    exit 1;
fi

ready?に対して y を入力すると続行する感じです。
これは、要らないかもしれないですけどね・・・。

 

というわけで、このようになりました。

#!/bin/sh

ID=$1
PW=$2

if [ $# -ne 2 ];then
    echo usage $0 [ID] [pw]
fi

echo ID $ID
echo PW $PW
echo ready?
read HOGE

if [ "$HOGE" != "y" ] ;then
    echo No update...
    exit 1;
fi

#変数定義
HTTP="http://"
IPV6=${HTTP}${ID}:${PW}@ipv6.mydns.jp/login.html
IPV4=${HTTP}${ID}:${PW}@ipv4.mydns.jp/login.html

echo get current IP...
NEW_IP=`curl ifconfig.co`
echo $NEW_IP

echo set ipv6...
wget -q -O `date +%Y%m%d_%H%M%S`_ipv6.txt $IPV6
if [ $? = 0 ] ; then
    sleep 3;
    echo set ipv4...
    wget -q -O `date +%Y%m%d_%H%M%S`_ipv4.txt $IPV4
    if [ $? = 0 ] ; then
        #更新
        echo [`date +%Y%m%d_%H%M%S`] update to $NEW_IP
    else
        echo error update ipv4.
    fi
else
    echo error update ipv6.
fi

私的mydns.jpの更新スクリプトを考えた話

自宅サーバー運用に欠かせないDDNSです。

いろいろあるのですが、独自ドメインを自宅サーバーで使うには
私的mydns.jp しか選択がないようなきがする。

DDNSサービスが提供しているサブドメインを使うのなら他にも選択はあるのですが、
少なくともFreeNomのドメインは無理でした。

DDNSサービスに対する勘違い

DDNSだと、IPアドレスが変わってしまったときにIPアドレスを通知する必要があります。
ここで勘違いしていたことがあって、
この通知は負荷になるのであまりしてはいけないものだと思っていました。
そうしていたら、1週間後にメールが来ました。

「通知が一定期間無いと、削除するよ!」

って言う内容でした。
ちょっと解せず、「通知していないのはIPに変更がないからです」とメールをすると、

「定期的に通知をしていただく制度になっています。3分に1回でも良いですよ!」

と言われてしまいました。負荷を制限とか考えなくてもいいみたいでした。

せっかくなので、更新スクリプトです

そんなやり取りをする前に作ってしまった私的mydns.jp用の更新スクリプトです ^^;

#!/bin/sh
#Id password
ID=mydns*****
PASSWORD=********
#変数定義
HTTP="http://"
IPV6=${HTTP}${ID}:${PASSWORD}@ipv6.mydns.jp/login.html
IPV4=${HTTP}${ID}:${PASSWORD}@ipv4.mydns.jp/login.html
IP_FILE=CURRENT_IP.txt
CURRENT_IP="0.0.0.0"
NEW_IP="0.0.0.0"
UPDATE_LOG=UPDATE.log

#前回のIP
if [ -f $IP_FILE ] ; then
    CURRENT_IP=`cat $IP_FILE`
fi

#今回のIP
# curl ifconfig.co
# curl inet-ip.inf
NEW_IP=`curl ifconfig.co`


if [ $CURRENT_IP = $NEW_IP ] ; then
    :
else
    wget -q -O `date +%Y%m%d_%H%M%S`_ipv6.txt $IPV6
    if [ $? = 0 ] ; then
        sleep 3;
        wget -q -O `date +%Y%m%d_%H%M%S`_ipv4.txt $IPV4
        if [ $? = 0 ] ; then
            #更新
            echo $NEW_IP > $IP_FILE
            echo [`date +%Y%m%d_%H%M%S`] update $CURRENT_IP to $NEW_IP >> $UPDATE_LOG
        fi
    fi
fi

絶妙なタイミングでmicroSDが壊れたみたい

rpc-cloneをちょうど済ませたところで、
apt upgrade
を行ったところで何故かリモートデスクトップでの接続ができなくなってしまいました。

そこで再起動を行うとSSHすら繋がらなくなりました。
Raspberry Piの実機を見てみますと、緑のランプが点滅していて明らかに異常っぽいです。
一旦電源を抜いてテレビのHDMIに繋いでみましたが、何も表示しませんでした。
壊れてしまったのでしょうか・・・。

7回の緑点滅の意味は?

一応このようなTipsが出ているようです。

3回点滅 → loader.binがない
4回点滅 → loader.binが起動しない
7回点滅 → kernel.imgがない

でも、kernel.imgがないと言われても、どうすればいいのか・・・?
とりあえず、rpi-cloneでバックアップを取っていたので、これで起動するかどうかを見てみるか・・・
でも、このバックアップって差し替えるだけでいいのか、謎です・・・。
とりあえず、さして起動しなかったら考えようということで、差し替えて起動してみると・・・!
見事起動!
とりあえず安心して、起動しなくなったSDカードを確認することにしました。
バックアップを取ってよかったです・・・。

raspberry PiのSDが壊れた!

カードリーダーに装着して、WinPCに繋いでみましたが、認識音はするもののドライブとしては認識しません。
SD Card Formatterでフォーマットすればいいのかと思いましたが、そもそも認識しないので無理です。

 

BONZの永久保証はきくの?

知る人ぞ知るBONZというところで買ったのですが、保証書がこれです。

印刷のペラ紙です。
色々書いてあるのですが、封筒にメモリとこの紙が入っていただけで

1)購入証明書(納品書等)の掲示がない場合
2)製品に貼り付けされているシールが剥がされてい場合

とか書いてあるのですけどなかったですけど・・・

とりあえず問い合わせをしてみました。

 

ChromeCastってiphoneでも使えるのかな

今日で終わりだけど、ChromeCastがビックカメラで3000円引きになっていて
2000円ちょっとで買えるようになっている。

chromeCast   4,978
タッチペン   333
──────────────
合計   5,311
値引き   -3,000
──────────────
支払総額   2,311

単に値引きではなくて、対象商品の中から一つ買わないとだめ。
一番安いのはウェットティッシュとかクリーニングクロスとか、要らないものだらけ。
(100円ショップで買えば・・・と思っちゃう)
ちょっと高いものを見ていくとタッチペンが333円で、まあこのくらいかなと思う。
(もちろん100円のでいいじゃん、と思っちゃうが・・・)

それでもChromeCastだけでもこの値段で買えるのは安いです。

オークションなど覗いても、こんなに安く売っていません。
お得であることは間違いありません。

iphoneで使えるの?

一応使える。
専用アプリをインストールして、使うようです。
Youtubeアプリはキャストのマークが付くのでそれを押すといいみたい。
アプリが対応していれば見ることができる、という感じ。
アンドロイドならミラーリングと言って、ホーム画面から表示することができるのですが、
iphoneではこれは無理みたい。
写真などの表示は、標準のカメラロールはキャストできないみたいです。
専用の写真アプリで見るしか無いようです。これはちょっと使いづらそう・・・。

それでもGoogleChromeの画面をキャストできるのはWinとMac共に共通みたいです。
どんな仕組みになっているのか、ブラウズ画面だけではなく、デスクトップ全体がキャストできるようです。
だとするとどんな動画サイトでも表示できるのかな?
ところが、この場合音声がうまく届かないとのことです。
これは二の足を踏みますねえ・・・。

一旦スルーすることにした

一旦スルーすることにしました。
今のところ、できないことが多くてがっかりしそうです。
また、昔ほどテレビの大画面で見たい!っていう欲がないですね。。。
以前はわざわざビデオ出力端子のついたビデオカードをつけたりして楽しんだこともありましたが、そのままスマホで見たほうが便利な感じがしてます。

というわけで次の安売りを待ちます・・・。