読者です 読者をやめる 読者になる 読者になる

ozzio driveのOEM供給元のサービスを調べてみた

TwitterのTLを眺めていたら ozzio drive の話題が多くてそもそもどこが運営してるサービスなんだろう?と気になったので調べてみみました。

ozzio driveとは

PC DEPOTクラウドストレージサービス。

www.ozzio.jp

20台まで使えるウィルス対策ソフトと4TBのクラウドストレージ(ozzio drive)が付いて、初年度 0円、年額15,000円(税抜き)らしい。 上記のwebサイトを見た感じ、ネット上からは契約できなさそう。

根拠はなかったけどPC DEPOTで自社開発はしないんじゃないかなと思ったので調べてみる。

ozzio driveのサービス提供元を調べてみた

続きを読む

「平日に会社を休む」という概念が通じなかった話

少し前に髪の毛を切りに行った時の話。

店員 「土日休みのご職業なんですか?」

僕 「はい」

店員「土日は何されてるんですか?」

僕「飲み会とか誘われなければ家でグダグダしてることが多いですね、どこも混んでますし」

店員「何もされないんですか?」

僕「もし出かけたいところがあったら平日に休み取るかもしれないですね」

店員「平日お休みの職業なんですね!」

僕「いや、休みを取るんですよ」

店員「休めるんですね!」

僕「」

まぁ店員さんも忙しそうだし、閉店前で疲れてただろうから会話に頭が回ってなかっただけかもしれないし、シフト勤務の方は不定休が当たり前なのかもしれない。
もしくは、自分の話し方が悪かっただけか。

だから何だというのがあるわけじゃないけど、会話が咬み合ってないような感じがしてもやもやした気持ちになった。

オチはないです。

NEC IX2105のファームウェアをアップデートする

NEC IX2105をヤフオクで買ったので、まずはファームウェアのアップデートをしました。

f:id:kuro_m88:20160612202630p:plain

アップデートの準備

TFTPサーバの起動

Macであれば、以下のコマンドでTFTPサーバが起動します。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist

アップデートイメージを /private/tftpboot に配置する

/private/tftpboot に置くだけです。

$ ls /private/tftpboot/
ix2105-boot-12.1-gate-ms-9.3.11.rap

アップデート

ここからは電源の入ったIXにコンソールケーブルを刺して作業します。

現在のバージョン確認

Router(config)# show version
NEC Portable Internetwork Core Operating System Software
IX Series IX2105 (magellan-sec) Software, Version 8.7.22, RELEASE SOFTWARE
Compiled Dec 07-Wed-2011 11:42:26 JST #1 by sw-build, coregen-8.7(22)

ROM: System Bootstrap, Version 3.1
System Diagnostic, Version 3.1
Initialization Program, Version 3.1

System uptime is 4 minutes
System woke up by reload, caused by command execution
System started at Jun 12-Sun-2016 14:59:03 JST
System image file is "ix2105-ms-8.7.22.ldc"

Processor board ID <0>
IX2105 (MPC8314E) processor with 131072K bytes of memory.
2 GigaEthernet/IEEE 802.3 interfaces
512K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)

Default console is web.

MacとIXの接続

LANケーブルでMacとIXをつなぎます。IXはGE1の1番目のポートにつなぎます。
工場出荷時の設定であればDHCP192.168.1.0/24 のアドレスが降ってくるはずです。Macに振られたIPを控えておきます。

アップデートイメージのダウンロード

192.168.1.1 と書いてある部分は必要に応じてMacIPアドレスに書き換えてください。

Router(config)# tftp get 192.168.1.1:ix2105-boot-12.1-gate-ms-9.3.11.rap ix2105-boot-12.1-gate-ms-9.3.11.rap
..........................................................................................................................................................................................
................................................................................................................................................................................
TFTP transfer complete, 5928586 bytes, MD5 = *************************

ダウンロードの確認

ダウンロードされた事を確認します。

Router(config)# show flash
Codes: M - Main-side, B - Backup-side, N - Newfile, R - Runnable
       A - Active-file, + - Next-boot, * - Bootmode-entry
Length     Name                          Status
4156969    ix2105-ms-8.7.22.ldc          MA
5928586    ix2105-boot-12.1-gate-ms-9.3.11.rap R

古いイメージの削除

現在読み込まれている古いイメージを削除します。

Router(config)# erase ix2105-ms-8.7.22.ldc
Now erasing ix2105-ms-8.7.22.ldc, please wait...

再起動

再起動するとアップデートが始まります。

Router# reload
Notice: The router will be RELOADED. This is to ensure that
        the peripheral devices are properly initialized.
Are you sure you want to reload the router? (Yes or [No]): Yes

NEC Bootstrap Software
Copyright (c) NEC Corporation 2001-2011. All rights reserved.

%BOOT-INFO: No Build-ID boot records found, attempting flash load.
%BOOT-INFO: No boot records found, attempting flash load.
%BOOT-INFO: Trying flash load, exec-image [ix2105-boot-12.1-gate-ms-9.3.11.rap].
Loading: ########################################################################################## [OK]

Starting at 0x20000

NEC Bootstrap Software, Version 12.1
Copyright (c) NEC Corporation 2001-2016. All rights reserved.

***** FLASH MEMORY IMAGE UPDATER *****

%UPDATE-INFO: Update Information [09030b204886de13]
%UPDATE-INFO: Starting update.
%UPDATE-INFO: [Bootstrap Software] [Main Bootstrap Software] [Diagnostic Software] [Gateway Software]
%UPDATE-INFO: Cleanup all FLASH area, please wait for a while.
%UPDATE-INFO: Overwrite VPD area.
%UPDATE-INFO: 0x00100274 > 0xfe000000 update done.
%UPDATE-INFO: 0x00120294 > 0xfef00000 update done.
%UPDATE-INFO: 0x00140294 > 0xfef20000 update done.
%UPDATE-INFO: 0x001602b4 > 0xfef80000 update done.
%UPDATE-INFO: 0x001802d4 > 0xfe180000 update done.
%UPDATE-INFO: 0x001a02d4 > 0xfe1a0000 update done.
%UPDATE-INFO: 0x001c02d4 > 0xfe1c0000 update done.
%UPDATE-INFO: 0x001e02d4 > 0xfe1e0000 update done.
%UPDATE-INFO: 0x002002d4 > 0xfe200000 update done.
%UPDATE-INFO: 0x002202d4 > 0xfe220000 update done.
%UPDATE-INFO: 0x002402d4 > 0xfe240000 update done.
%UPDATE-INFO: 0x002602d4 > 0xfe260000 update done.
%UPDATE-INFO: 0x002802d4 > 0xfe280000 update done.
%UPDATE-INFO: 0x002a02d4 > 0xfe2a0000 update done.
%UPDATE-INFO: 0x002c02d4 > 0xfe2c0000 update done.
%UPDATE-INFO: 0x002e02d4 > 0xfe2e0000 update done.
%UPDATE-INFO: 0x003002d4 > 0xfe300000 update done.
%UPDATE-INFO: 0x003202d4 > 0xfe320000 update done.
%UPDATE-INFO: 0x003402d4 > 0xfe340000 update done.
%UPDATE-INFO: 0x003602d4 > 0xfe360000 update done.
%UPDATE-INFO: 0x003802d4 > 0xfe380000 update done.
%UPDATE-INFO: 0x003a02d4 > 0xfe3a0000 update done.
%UPDATE-INFO: 0x003c02d4 > 0xfe3c0000 update done.
%UPDATE-INFO: 0x003e02d4 > 0xfe3e0000 update done.
%UPDATE-INFO: 0x004002d4 > 0xfe400000 update done.
%UPDATE-INFO: 0x004202d4 > 0xfe420000 update done.
%UPDATE-INFO: 0x004402d4 > 0xfe440000 update done.
%UPDATE-INFO: 0x004602d4 > 0xfe460000 update done.
%UPDATE-INFO: 0x004802d4 > 0xfe480000 update done.
%UPDATE-INFO: 0x004a02d4 > 0xfe4a0000 update done.
%UPDATE-INFO: 0x004c02d4 > 0xfe4c0000 update done.
%UPDATE-INFO: 0x004e02d4 > 0xfe4e0000 update done.
%UPDATE-INFO: 0x005002d4 > 0xfe500000 update done.
%UPDATE-INFO: 0x005202d4 > 0xfe520000 update done.
%UPDATE-INFO: 0x005402d4 > 0xfe540000 update done.
%UPDATE-INFO: 0x005602d4 > 0xfe560000 update done.
%UPDATE-INFO: 0x005802d4 > 0xfe580000 update done.
%UPDATE-INFO: 0x005a02d4 > 0xfe5a0000 update done.
%UPDATE-INFO: 0x005c02d4 > 0xfe5c0000 update done.
%UPDATE-INFO: 0x005e02d4 > 0xfe5e0000 update done.
%UPDATE-INFO: 0x006002d4 > 0xfe600000 update done.
%UPDATE-INFO: 0x006202d4 > 0xfe620000 update done.
%UPDATE-INFO: 0x006402d4 > 0xfe640000 update done.
%UPDATE-INFO: Update completed.

NEC Bootstrap Software
Copyright (c) NEC Corporation 2001-2016. All rights reserved.

%BOOT-INFO: Trying flash load, exec-image [ix2105-ms-9.3.11.ldc].
Loading: ############################################################################# [OK]

Starting at 0x20000

Configuring router subsystems (before IDB proc): done.
Constructing IDB(Interface Database): done.
Configuring router subsystems (after IDB proc): done.
Initializing router subsystems: done.
Starting router subsystems: done.

All router subsystems coming up.

NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2016. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
Router#

さくらのIoT Platform αが届いたので最速で開封の儀

さくらのIoT Platformのα版に登録していて、モジュールが届いたので、最速で開封の儀をします!! (たぶんユーザとしては最速のはず?)

「さくらのIoT Platform」とは、 iot.sakura.ad.jp というものです。

届いた箱がこちら。箱が1つだけ届きました。

f:id:kuro_m88:20160601022234p:plain

金属製の箱で物が届いたのは初めてかもしれない。めっちゃかっこいい。

4隅のネジをはずすと…

f:id:kuro_m88:20160601013448j:plain

説明書とパーツが入っていました。

内容は

  • IoTモジュール x 2 (ソフトバンク版とソラコム版)
  • ブレッドボードに挿せるケーブル
  • アンテナケーブル x 2
  • アンテナ x 2
  • 平らなアンテナ
  • 説明書
  • ステッカー
  • 金属製の箱
  • ネジ x 4
  • さくらのクラウド2万円クーポン

でした。 クーポンまでついてるのはさすがというか(笑)

基板はこんな感じ。

f:id:kuro_m88:20160601013611j:plain

ソフトバンク版もソラコム版もほとんど外見は一緒で、刺さっているSIMが違うだけのようです。

裏側はこんな感じ。

f:id:kuro_m88:20160601022126p:plain

白いシールが貼ってあるのがソフトバンク版で、青いシールが貼ってあるのがソラコム版です。

横からみると、真ん中にSIMカードが刺さっているのが見えますね。

f:id:kuro_m88:20160601013749j:plain

アンテナとケーブルを繋いでみました。

f:id:kuro_m88:20160601014744j:plain

思ってたより小さい。
これだけで誰でもモバイル回線経由で通信する何かが作れるのはいいですね。
というか無料で送ってくれるのもすごいですね。

今日は平日だったのでここまで。
実際に通信させるのが楽しみ!!

Macのターミナルの起動が遅すぎてつらかったので対処した

個人で使用しているMacも会社で使用しているMacもターミナルの起動に10秒くらいかかって、わりとストレスがたまる感じだったので対処方法を調べました。

標準のTerminalもiTermも同様に重たく、 zsh が起動に時間が掛かっているのを疑ったのですが、 oh-my-zsh などは使っていませんし、プロファイルを取ってみても一瞬で起動しているようでした。

起動時のターミナルのタイトルバーをよく見ると、 zsh の呼び出し元になっている login コマンドで時間が掛かっていました。

対処方法

あたりをつけて調べた所、すぐに同様の事象で困ってる人の記事を見つけました。

totem3.hatenablog.jp

asl というのは Apple System Log の略らしく、このログから最終ログイン日時を検索したりしているようなのですが、これが重いと読み込みに時間が掛かるようです。 この記事を参考に、

$ sudo rm -rf /var/log/asl/*.asl
$ sudo rm -rf /private/var/log/asl/*.asl

したあとに再起動すると、一瞬で起動するようになりました。

めでたしめでたし👏

Ansibleで牛が表示されるのをやめたい

きっかけ

久しぶりにAnsibleでサーバを構築していたのですが、なんかいつもと表示が違う…

f:id:kuro_m88:20160415203825p:plain

動物っぽいような…牛ですね。 そして、なんとなくこの出力、見覚えがあります。 cowsay コマンドだ!

$ cowsay "hello world"

_____________
< hello world >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

調べてみた

誰かのいたずらかと思ってplaybookを見てみたのですが、playbookを見ても特に異常はなく、なんなんだと悩んで調べてみると…

support.ansible.com

If cowsay is installed, Ansible takes it upon itself to make your day happier when running playbooks. If you decide that you would like to work in a professional cow-free environment, you can either uninstall cowsay, or set an environment variable

cowsay コマンドがインストールされている場合は幸せになれる出力をしてくれるらしいです()

プロフェッショナルな cow-free な環境な場合は cowsay をアンインストールするか、 export ANSIBLE_NOCOWS=1 して環境変数cowsay を使わない事を宣言する必要があるようです。

対処

なんで手元の環境に cowsay コマンドが入っていたのかは分かりませんが、僕はプロフェッショナルな cow-free な環境なので

f:id:kuro_m88:20160415204057p:plain

ANSIBLE_NOCOWS=1 という環境変数を設定して実行することでいつもの出力に戻すことができました。

LXDで作ったコンテナをcloud-initで初期化してみる

LXD2.0がもうすぐリリースされますね!

LXDでコンテナが簡単に作れるようになったらコンテナ生成時にsshログインするための公開鍵を設定したり、任意のスクリプトを走らせたりしたくなりますよね。

調べてみたところ、LXDはcloud-initに対応していたようなので、試してみます。

実験環境

Ubuntu 15.10とLXD 2.0.0.rc8 です。

ubuntu@dev01:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Ubuntu 15.10"

ubuntu@dev01:~$ lxd --version
2.0.0.rc8

cloud-initの設定ファイルを作る

ドキュメントを見ながらcloud-initの設定ファイルを作ってみました。

Cloud config examples — Cloud-Init 0.7.7 documentation

#cloud-config

hostname: cloud-container

users:
  - name: user01
    shell: /bin/bash
    ssh-authorized-keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRqP+9+b3ZHoXYyXo+V3g1K8AR+dBgYPUVdTieTtnLh2FPfKp9lGe9sLQcTDiWCiBvU9iUvx3m42gvzHeYht/SPjzske4ushSwS7wbz761dMyM9HL3jjmH8iIj/gyrARkBOUQj5e9TVvPtX8xfJOegHcxR/MssQsTlWcDdBsR0rV+DJAglMM11Rei5H46ZebYX8HCfg5BrYZlQtXJkHFNaMW59XlwL3Pk7i48MkHvApo8+2MHWU7gPSoo4guFl4G9M5BrRTpxiZbpnPkjxW+YX8u7UVZLR1OE0KgZeNUJK84dXq1cOAMWfM/6n5gPlGSUhGCoOGTinv3OCLGExvbrV ubuntu@dev01
    sudo: ALL=(ALL) NOPASSWD:ALL
  - user02
  - user03

runcmd:
  - [sh, -c, "echo 'hello world!' > /tmp/hello.txt"]

ホームディレクトリに cloud-init-config.yml という名前で保存しました。

設定項目としては、上から順に

  • ホスト名を cloud-container に設定する
  • ユーザ user01, user02, user03 を作成する
    • user01 は、シェルを bash に設定し、sshログイン用の 公開鍵 を設定、sudo 権限も付与する
  • /tmp/hello.txt を作成し、hello world! と書き込む

コンテナを作成する

作るだけで、まだ起動はしません。

ubuntu@dev01:~$ lxc init ubuntu:14.04 container
Creating container

ubuntu@dev01:~$ lxc list
+-----------+---------+-------------------+------+------------+-----------+
|   NAME    |  STATE  |       IPV4        | IPV6 |    TYPE    | SNAPSHOTS |
+-----------+---------+-------------------+------+------------+-----------+
| container | STOPPED |                   |      | PERSISTENT | 0         |
+-----------+---------+-------------------+------+------------+-----------+

コンテナにcloud-initの設定をする

作成した設定ファイルの内容を流し込みます。

ubuntu@dev01:~$ ls
cloud-init-config.yml

ubuntu@dev01:~$ lxc config set container user.user-data - < cloud-init-config.yml

コンテナを起動する

ubuntu@dev01:~$ lxc start container

ubuntu@dev01:~$ lxc list
+-----------+---------+-------------------+------+------------+-----------+
|   NAME    |  STATE  |       IPV4        | IPV6 |    TYPE    | SNAPSHOTS |
+-----------+---------+-------------------+------+------------+-----------+
| container | RUNNING | 10.0.3.251 (eth0) |      | PERSISTENT | 0         |
+-----------+---------+-------------------+------+------------+-----------+

確認

user01 を作成し、公開鍵を設定したので、sshができるようになっているはずです。

ubuntu@dev01:~$ lxc list
+-----------+---------+-------------------+------+------------+-----------+
|   NAME    |  STATE  |       IPV4        | IPV6 |    TYPE    | SNAPSHOTS |
+-----------+---------+-------------------+------+------------+-----------+
| container | RUNNING | 10.0.3.251 (eth0) |      | PERSISTENT | 0         |
+-----------+---------+-------------------+------+------------+-----------+

ubuntu@dev01:~$ ssh user01@10.0.3.251

The authenticity of host '10.0.3.251 (10.0.3.251)' can't be established.
ECDSA key fingerprint is SHA256:hrredNI9D1T5QX12WC6McqxBGwl4+b1neq7g7KP5wCE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.3.251' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 4.2.0-34-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Tue Apr  5 11:52:16 UTC 2016

  System load:    0.0       Memory usage: 0%   Users logged in: 0
  Usage of /home: unknown   Swap usage:   0%

  => There were exceptions while processing one or more plugins. See
     /var/log/landscape/sysinfo.log for more information.

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

user01@cloud-container:~$
user01@cloud-container:~$ sudo su
sudo: unable to resolve host cloud-container
root@cloud-container:/home/user01#

ログインでき、sudoも成功しました。ホスト名も設定できていますね。

ユーザ一 user02, user03 も作成できたか確認します。

user01@cloud-container:~$ cat /etc/passwd | grep user
user03:x:1000:1000::/home/user03:
user02:x:1001:1001::/home/user02:
user01:x:1002:1002::/home/user01:/bin/bash

最後に、hello.txt が作成できたか確認します。

user01@cloud-container:~$ cat /tmp/hello.txt
hello world!

完璧ですね!

まとめ

LXDが標準でcloud-initに対応してくれているおかげでとっても簡単にコンテナの初期化ができました!

LXD最高!

参考

askubuntu.com