Okada Hiroshi の blog

typo が多いです

Ubuntu のコード名とバージョン、元 debian のバージョン

頻繁にググルので自分用のメモです。

バージョン コードネーム 読み 意味 エンドオブライフ Debian Debian コード名
18.10 Cosmic Cuttlefish コスミック・カトルフィッシュ 宇宙のコウイカ 2019-07 10 buster
18.04 LTS Bionic Beaver バイオニック・ビーバー 生体工学のビーバー 2023-04 10 buster
16.04 LTS Xenial Xerus ジニアル・ジリス(ジラス) おもてなしのアラゲジリス 2021-04 9 stretch
14.04 LTS Trusty Tahr トラスティー・タール 信頼できるタール 2019-04 8 jessie

情報元 URL

Docker Hub の指定したリポジトリのタグを全部得る

Docker Hub のリポジトリのタグについてですが、

Webからだと 例えば https://hub.docker.com/r/circleci/node/tags/ のように Tags のページを見ても沢山タグがある場合一部のタグしか見ることができません。

全部のタグの一覧を見る方法は以下の記事のようにするそうです。

docker get list of tags in repository | ForDoDone

上記の記事では sed を使っていましたが jq がインストールされているならば、

$ wget -q https://registry.hub.docker.com/v1/repositories/circleci/node/tags -O - | jq --raw-output '.[].name' 

( circleci/node 所を自分の調べたいリポジトリ名に変更 )

みたいにした方がやっていることが分かりやすいかもしれません。

インフルエンザの予防接種に行ってきました

インフルエンザの予防接種にいってきました。

一応、検索して近所の医院の内、予防接種をやっていると明記してある所で電話予約して行きました。

予防接種は別に内科でなくてもやっているようで、僕が今回接種を受けたのは眼科でした。

www.baba-eyeclinic.com

平日の昼間だったので待ち時間は 0 でした。

値段は 3000円 でした。 なお、地域によっても違うでしょうが、年齢によっては安くなるので、子供には受けさせた方が良いと思います。

f:id:OkadaHiroshi:20181024211218j:plain

snap (Snappy) で Docker をインストールして sudo 無しで実行する方法

今まで、 Docker を Ubuntu にインストールするときには Docker 公式サイトの Get Docker CE for Ubuntu | Docker Documentation の手順の通りにしていました。

けれども snap でインストールれば、docker-compose も同時にインストールできて管理も楽なので、snap を使ってインストールしてみました。

ところが、

$ sudo snap install docker

とすると docker というグループが出来ず、 ユーザーを docker グループに所属させられないので、Docker を使うたびに

$ sudo docker run hello-word 

等と sudo しなくてはならなくなりません。

少しググって Using docker requires sudo · Issue #1 · docker/docker-snap · GitHub というスレッドで、解決方法を見つけました。

要するに

$ sudo addgroup --system docker
$ sudo adduser $USER docker
$ newgrp docker
$ sudo snap install docker

みたいに snap で Docker をインストールする 前に docker というグループを作っておけば良いということです。

これで

$ docker run hello-word 

のように sudo 無しで docker を実行できます。

放送大学に入学しました

10月から放送大学に入学しました。

学生証

入学した理由は数学や科学をもう一度勉強したかったためです。

僕は一応大学は物理科をでているのですが、当時は今ほど大学を卒業するのは難しくなかった上、卒研の実験を頑張ることによって誤魔化したのではっきりいって学力はないです。

社会人になってからも、最低限の線形代数とかはプログラムを作る上で必要だったので復習しましたが、それ以外はサッパリです。

もちろん、インターネット上の情報や講座、本だけで勉強すれば、放送大学より安く勉強できるのですが、やはり単位のための試験があって一定の期間の間に勉強しなければならないというプレッシャーが僕には必要だと思っています。

卒業を目指すかどうか決めていませんが、とりあえず無理のない範囲で単位を取っていきたいと思います。(一応10年いられるので)

2段階認証ワンタイムパスワード (TOTP) クライアント を Ubuntu (コマンドライン) で

最近は多くのサイトが2段階認証を採用していて、僕も気がついたら 10個以上のサービスで使用しています。

一般的には、 Google 認証システムや、その互換アプリをスマホに入れて使っていると思います。 僕は IIJ SmartKey|スライド認証・ワンタイムパスワード管理 というのを使っています。

けれどもスマホを紛失、破損した場合に備え、バックアップとしてPCでも TOTP(時間ベースのワンタイムパスワード) を生成できるようにしておくと便利です。

今回は、ぼくの使っているる Ubuntu での TOTPクライアントについて解説したいと思います。

なお、今回は CLI での作業となります。また安全のため Ubutnu の公式リポジトリの (apt でインストール) できるパッケージのみを使うことにします。

環境は Ubuntu 18.04 ですが、 Ubuntu 16.04 にも同じパッケージが有るので OK だと思います。それより古いバージョンについては調べていません。

パッケージのインストール

インストールするのは、バーコードを読み取るための zbar-tools と、ワンタイムパスワードを生成する oathtool (つづり注意) です

$ sudo apt install zbar-tools oathtool

QR コードの読み取り

2段階認証を有効にすると次のような QR コードが表示されると思います。

f:id:OkadaHiroshi:20181017161854p:plain

もし、これを totp.png のようなファイルに保存したとすると、

$ zbarimg totp.png

でファイルから QR コードを読み込むことができます。

あるいは PC にカメラがついていれば、

$ zbarcam

と入力するとカメラが起動し、QRコードを読み込むことができます。

いずれにしても

QR-Code:QR-Code:otpauth://totp/Amazon%20Web%20Services:sample1@12345678901?secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&issuer=Amazon%20Web%20Services
scanned 1 barcode symbols from 1 images in 0.07 seconds

と表示されるので secret= と次の & の間に有ある XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX の部分を記録してください。

参考: Key Uri Format · google/google-authenticator Wiki · GitHub

( 保存した画像や、この文字列が漏れると2段階パスワードが破られていましますので、取扱には注意してください。)

ワンタイムパスワードの生成

$ oathtool --totp=sha1 --base32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

のように、先程の文字列を oathtool に与えるとワンタイムパスワードが標準出力に表示されます。

このコマンド行を、パスワード管理アプリ等に保管して管理すると良いのではと思います。

RawGit が終了するそうです。

RawGit という githubgithub gists のファイルを CDN で配布してくれる便利なサービスがあるのですが残念なことに終了するそうです。

rawgit.com

( マルウエアと戦うのに労力を使いたくないそうです、不毛な作業をしたくない気持ちはよく理解できます。)

少し前に書いた 自動リロード - Okada Hiroshi の blog も gist を RawGit 経由で配信していたので、 この際なので github page で配信することにしました。

大したアクセスもないのに RawGit を使っていたのは、gist では .js ファイルのヘッダーが Content-Type: text/plain; charset=utf-8 になってしまうためです、githbub page ではContent-Type: application/javascript; charset=utf-8 と正しくセットされます 。

新しい URL は https://hiroshiokada.github.io/shortcodes/poor-mans-autoreload.js です。

ついでに js の minify もしてみました。 GitHub - HiroshiOkada/shortcodes: A collection of short codes

ロートルなのでタスクランナーではなく Makefile を使っています。