Java のインストール方法とか同梱される cacerts や tzdb.dat の確認
Java の導入方法や配置されるファイルを説明しているページがなかったので作った。
TL;DR
- Oracle Java SE とそれ以外の各種 OpenJDK 配布物についていろいろと確認
- (Amazon Corretto / OpenJDK(Redhat) 以外では) cacerts の更新を別の運用として考えておくほうがよさそう
- 利用する Web サービスの情報に合わせるか、とりあえず最新情報を反映するか
- 手放しだとどこかで刺さりそう
- 証明書の検証が失敗する問題に出くわす可能性
- 利用している配布物の違いにより片方では証明書の検証に成功し、もう一方では失敗するなどの問題に出くわす可能性
- (OpenJDK(Redhat) 以外では) tzdb.dat の更新を別の運用として考えておくほうがよさそう
- Oracle の提供する tzupdater を利用する (提供ライセンスは BCL)
- Azul の提供する ziupdater を利用する (提供ライセンスは GPLv2+CE)
- だがどちらも tzdata2018f.tar.gz より新しいタイムゾーンデータを反映できないという不具合がある
- Redhat はこの不具合を解決済みで tzdata2018g を反映している!
- 要チェック! JDK-8212684
対象にした配布物
- Amazon Corretto 8
- Azul Zulu 8
- Azul Zulu 11
- Oracle OpenJDK 11
- Oracle Java SE 11
- OpenJDK 8 (AdoptOpenJDK)
- OpenJDK 11(AdoptOpenJDK)
- OpenJDK 8 (Redhat)
- OpenJDK 11 (Redhat)
考慮事項
- 環境
- インストール方法
- 配置先
- バージョン情報
- cacerts
- tzdb.dat
調査した結果
Amazon Corretto 8
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ amazon-linux-extras install corretto8 $ yum install -y java-1.8.0-amazon-corretto-devel
配置
インストール先は /usr/lib/jvm
の下でした。
alternatives
にも対応しています。
$ ls -ld /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64 drwxr-xr-x 9 root root 4096 Nov 23 05:38 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64 $ alternatives --config java There are 4 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java 2 /usr/lib/jvm/zulu-8/bin/java 3 /usr/lib/jvm/zulu-11/bin/java *+ 4 /usr/java/jdk-11.0.1/bin/java Enter to keep the current selection[+], or type selection number: ^C
バージョン情報
2018/11/23 時点ではバージョン情報に amazon-corretto-preview
という文字列が入っています。
$ /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java -version openjdk version "1.8.0_192" OpenJDK Runtime Environment (build 1.8.0_192-amazon-corretto-preview-b12) OpenJDK 64-Bit Server VM (build 25.192-b12, mixed mode)
cacerts
cacerts
は ca-certificates
パッケージ (Mozilla の CA root certificate bundle)に含まれるファイルを参照するようになっています。
依存パッケージとして管理されているため、更新の手間は軽減できそうです。
キーストアに登録されている CA ルート証明書の総数は 133 でした。 おそらく、Mozilla の CA ルート証明書から生成しているのではないかと思います (簡単に確認する方法が思いつかなかった…)。
$ yum deplist java-1.8.0-amazon-corretto | grep ca-certificate dependency: ca-certificates provider: ca-certificates.noarch 2018.2.22-70.0.amzn2 $ ls -l /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/security/cacerts lrwxrwxrwx 1 root root 53 Nov 23 05:35 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/security/cacerts -> ../../../../../../../../../../../etc/pki/java/cacerts $ ls -l /etc/pki/java/cacerts lrwxrwxrwx 1 root root 40 Oct 10 18:54 /etc/pki/java/cacerts -> /etc/pki/ca-trust/extracted/java/cacerts $ yum provides /etc/pki/ca-trust/extracted/java/cacerts Loaded plugins: ovl, priorities 153 packages excluded due to repository priority protections ca-certificates-2017.2.14-71.amzn2.noarch : The Mozilla CA root certificate bundle Repo : amzn2-core Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2018.2.22-70.0.amzn2.noarch : The Mozilla CA root certificate bundle Repo : amzn2-core Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2018.2.22-70.0.amzn2.noarch : The Mozilla CA root certificate bundle Repo : installed Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts $ keytool -list -keystore /etc/pki/ca-trust/extracted/java/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 133 entries $ grep -c "BEGIN CERTIFICATE" /etc/pki/tls/cert.pem 133
tzdb.dat
tzdb.dat
は Java だけが利用するタイムゾーン情報データベースです。
tzdata2018e
から変換したファイルが配置されていました。
OS の tzdata
パッケージとは独立しています。
IANAで公開されているデータベースファイルを ziupdater や tzupdater で変換して使用します。
$ ls -l /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/tzdb.dat -rw-r--r-- 1 root root 105882 Nov 13 17:31 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/tzdb.dat $ od -Ax -t x1z /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
Azul Zulu 8
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ yum install -y https://cdn.azul.com/zulu/bin/zulu8.33.0.1-jdk8.0.192-linux.x86_64.rpm
RHEL や Oracle Linux なら Yum リポジトリを利用することもできる。
$ yum-config-manager --add-repo http://repos.azulsystems.com/rhel/zulu.repo $ yum-config-manager --enable zulu $ yum install -y zule-8
配置
インストール先は /usr/lib/jvm
の下でした。
alternatives
にも対応しています。
$ ls -ld /usr/lib/jvm/zulu-8 drwxr-xr-x 9 root root 4096 Nov 23 18:14 /usr/lib/jvm/zulu-8 $ alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java *+ 2 /usr/lib/jvm/zulu-8/bin/java Enter to keep the current selection[+], or type selection number:
バージョン情報
2018/11/23 時点ではバージョン情報に Zulu 8.33.0.1-linux64
という文字列が入っています。
$ /usr/lib/jvm/zulu-8/jre/bin/java -version openjdk version "1.8.0_192" OpenJDK Runtime Environment (Zulu 8.33.0.1-linux64) (build 1.8.0_192-b01) OpenJDK 64-Bit Server VM (Zulu 8.33.0.1-linux64) (build 25.192-b01, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 158 でした。
$ keytool -list -keystore /usr/lib/jvm/zulu-8/jre/lib/security/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 158 entries
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/zulu-8/jre/lib/tzdb.dat -rw-r--r-- 1 root root 105882 Oct 20 00:52 /usr/lib/jvm/zulu-8/jre/lib/tzdb.dat $ od -Ax -t x1z /usr/lib/jvm/zulu-8/jre/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
Azul Zulu 11
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
yum install -y https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux.x86_64.rpm
RHEL や Oracle Linux なら Yum リポジトリを利用することもできる。
$ yum-config-manager --add-repo http://repos.azulsystems.com/rhel/zulu.repo $ yum-config-manager --enable zulu $ yum install -y zule-11
配置
インストール先は /usr/lib/jvm
の下でした。
alternatives
にも対応しています。
$ ls -ld /usr/lib/jvm/zulu-11 drwxr-xr-x 9 root root 4096 Nov 23 21:23 /usr/lib/jvm/zulu-11 $ alternatives --config java There are 4 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java 2 /usr/lib/jvm/zulu-8/bin/java 3 /usr/lib/jvm/zulu-11/bin/java *+ 4 /usr/java/jdk-11.0.1/bin/java Enter to keep the current selection[+], or type selection number: ^C
バージョン情報
2018/11/23 時点ではバージョン情報に Zulu11.2+3
という文字列が入っています。
$ /usr/lib/jvm/zulu-11/bin/java -version openjdk version "11.0.1" 2018-10-16 LTS OpenJDK Runtime Environment Zulu11.2+3 (build 11.0.1+13-LTS) OpenJDK 64-Bit Server VM Zulu11.2+3 (build 11.0.1+13-LTS, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 158 でした。
$ keytool -list -keystore /usr/lib/jvm/zulu-11/lib/security/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 158 entries
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/zulu-11/lib/tzdb.dat -rw-r--r-- 1 root root 105882 Oct 20 00:04 /usr/lib/jvm/zulu-11/lib/tzdb.dat $ od -Ax -t x1z /usr/lib/jvm/zulu-11/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
Oracle OpenJDK 11
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ curl -L https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz | tar xzf - -C /usr/lib/jvm/
配置
配布形式が tar.gz
のため、インストール先は任意。
当然 alternatives
にも未対応。
$ ls -ld /usr/lib/jvm/jdk-11.0.1 drwxr-xr-x 8 root root 4096 Nov 24 09:12 /usr/lib/jvm/jdk-11.0.1
バージョン情報
2018/11/23 時点ではバージョン情報に特徴的な文字列が入っていません。
$ /usr/lib/jvm/jdk-11.0.1/bin/java -version openjdk version "11.0.1" 2018-10-16 OpenJDK Runtime Environment 18.9 (build 11.0.1+13) OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 93 でした。
$ ls -l /usr/lib/jvm/jdk-11.0.1/lib/security/cacerts -rw-r--r-- 1 668 668 102883 Oct 6 21:17 /usr/lib/jvm/jdk-11.0.1/lib/security/cacerts $ keytool -list -keystore /usr/lib/jvm/jdk-11.0.1/lib/security/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 93 entries
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat -rw-r--r-- 1 668 668 105882 Oct 6 21:17 /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat $ od -Ax -t x1z /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
Oracle Java SE 11
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ yum install -y jdk-11.0.1_linux-x64_bin.rpm
配置
インストール先は /usr/java
の下でした。
alternatives
にも対応しているようです。
$ ls -ld /usr/java/jdk-11.0.1 drwxr-xr-x 9 root root 4096 Nov 24 11:27 /usr/java/jdk-11.0.1 $ alternatives --config java There are 4 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java + 2 /usr/lib/jvm/zulu-8/bin/java 3 /usr/lib/jvm/zulu-11/bin/java * 4 /usr/java/jdk-11.0.1/bin/java Enter to keep the current selection[+], or type selection number: ^C
バージョン情報
特徴的なのは Java(TM)
という文字列ですね。
$ /usr/java/jdk-11.0.1/bin/java -version java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 93 でした。
Oracle OpenJDK のファイルと完全に一致しています (diff
で確認)。
$ ls -l /usr/java/jdk-11.0.1/lib/security/cacerts -rw-r--r-- 1 root root 102883 Oct 6 21:30 /usr/java/jdk-11.0.1/lib/security/cacerts $ /usr/java/jdk-11.0.1/bin/keytool -list -cacerts -storepass changeit | head -n 4 Keystore type: JKS Keystore provider: SUN Your keystore contains 93 entries $ diff /usr/lib/jvm/jdk-11.0.1/lib/security/cacerts /usr/java/jdk-11.0.1/lib/security/cacerts
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
Oracle OpenJDK のファイルと完全に一致しています (diff
で確認)。
$ ls -l /usr/java/jdk-11.0.1/lib/tzdb.dat -rw-r--r-- 1 root root 105882 Oct 6 21:30 /usr/java/jdk-11.0.1/lib/tzdb.dat $ od -Ax -t x1z /usr/java/jdk-11.0.1/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.< $ diff /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat /usr/java/jdk-11.0.1/lib/tzdb.dat
OpenJDK 8 (AdoptOpenJDK)
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ curl -L https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u192-b12/OpenJDK8U-jdk_x64_linux_hotspot_8u192b12.tar.gz | tar xzf - -C /usr/lib/jvm/
配置
配布形式が tar.gz
のため、インストール先は任意。
当然 alternatives
にも未対応。
$ ls -ld /usr/lib/jvm/jdk8u192-b12 drwxrwxr-x 9 root root 4096 Nov 1 04:41 /usr/lib/jvm/jdk8u192-b12
バージョン情報
特徴的なのは AdoptOpenJDK
という文字列ですね。
$ /usr/lib/jvm/jdk8u192-b12/jre/bin/java -version openjdk version "1.8.0_192" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_192-b12) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.192-b12, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 92 でした。
Oracle OpenJDK よりも 1 少ない。
diff
や Java 11 のリリースノート(JDK-8210432) より、TeliaSonera
のルート証明書が不足しているようです。
Jira 課題は JDK-8210432 で解決済みになっています。 バックポートが必要だと思うのですが… あとで報告します。
$ ls -l /usr/lib/jvm/jdk8u192-b12/jre/lib/security/cacerts -rw-rw-r-- 1 root root 101493 Nov 1 04:41 /usr/lib/jvm/jdk8u192-b12/jre/lib/security/cacerts $ /usr/lib/jvm/jdk8u192-b12/jre/bin/keytool -list -keystore /usr/lib/jvm/jdk8u192-b12/jre/lib/security/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 92 entries $ diff -u oopenjdk_cacerts.txt adoptopenjdk8_cacerts.txt | grep -E '^[\+\-]' --- oopenjdk_cacerts.txt 2018-11-24 10:00:11.942617000 +0900 +++ adoptopenjdk8_cacerts.txt 2018-11-24 17:46:05.708039000 +0900 -Your keystore contains 93 entries +Your keystore contains 92 entries -addtrustclass1ca [jdk], Dec 1, 2017, trustedCertEntry, -Certificate fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D +addtrustclass1ca [jdk], Dec 1, 2017, trustedCertEntry, +Certificate fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D -keynectisrootca [jdk], Dec 1, 2017, trustedCertEntry, -Certificate fingerprint (SHA1): 9C:61:5C:4D:4D:85:10:3A:53:26:C2:4D:BA:EA:E4:A2:D2:D5:CC:97 +keynectisrootca [jdk], Dec 1, 2017, trustedCertEntry, +Certificate fingerprint (SHA1): 9C:61:5C:4D:4D:85:10:3A:53:26:C2:4D:BA:EA:E4:A2:D2:D5:CC:97 -verisignclass3g3ca [jdk], Dec 1, 2017, trustedCertEntry, -Certificate fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 -certumtrustednetworkca [jdk], Dec 1, 2017, trustedCertEntry, -Certificate fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E -teliasonerarootcav1 [jdk], Sep 6, 2018, trustedCertEntry, -Certificate fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37 +certumtrustednetworkca [jdk], Dec 1, 2017, trustedCertEntry, +Certificate fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E +verisignclass3g3ca [jdk], Dec 1, 2017, trustedCertEntry, +Certificate fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 -globalsigneccrootcar5 [jdk], Jul 13, 2018, trustedCertEntry, -Certificate fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA -ttelesecglobalrootclass2ca [jdk], Jul 13, 2018, trustedCertEntry, -Certificate fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 +globalsigneccrootcar5 [jdk], Jul 13, 2018, trustedCertEntry, +Certificate fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA -digicertglobalrootca [jdk], Dec 1, 2017, trustedCertEntry, -Certificate fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36 +ttelesecglobalrootclass2ca [jdk], Jul 13, 2018, trustedCertEntry, +Certificate fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 +digicertglobalrootca [jdk], Dec 1, 2017, trustedCertEntry, +Certificate fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/jdk8u192-b12/jre/lib/tzdb.dat -rw-rw-r-- 1 root root 105882 Nov 1 04:41 /usr/lib/jvm/jdk8u192-b12/jre/lib/tzdb.dat $ od -Ax -tx1z /usr/lib/jvm/jdk8u192-b12/jre/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
OpenJDK 11(AdoptOpenJDK)
確認した環境
amazonlinux:2.0.20181010 (d656eea421ba)
インストール方法
$ curl -L https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz | tar xzf - -C /usr/lib/jvm/
配置
配布形式が tar.gz
のため、インストール先は任意。
当然 alternatives
にも未対応。
$ ls -ld /usr/lib/jvm/jdk-11.0.1+13 drwxrwxr-x 10 root root 4096 Nov 15 19:42 /usr/lib/jvm/jdk-11.0.1+13
バージョン情報
特徴的なのは AdoptOpenJDK
という文字列ですね。
$ /usr/lib/jvm/jdk-11.0.1+13/bin/java -version openjdk version "11.0.1" 2018-10-16 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.1+13) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.1+13, mixed mode)
cacerts
cacerts
に登録されている CA ルート証明書の総数は 93 でした。
Oracle OpenJDK のファイルと完全に一致しています (diff
で確認)。
$ ls -l /usr/java/jdk-11.0.1/lib/security/cacerts -rw-r--r-- 1 root root 102883 Oct 6 21:30 /usr/java/jdk-11.0.1/lib/security/cacerts $ /usr/lib/jvm/jdk-11.0.1+13/bin/keytool -list -cacerts -storepass changeit | head -n 4 Keystore type: JKS Keystore provider: SUN Your keystore contains 93 entries $ diff /usr/lib/jvm/jdk-11.0.1/lib/security/cacerts /usr/lib/jvm/jdk-11.0.1+13/lib/security/cacerts
tzdb.dat
tzdata2018e
から変換したファイルが配置されていました。
Oracle OpenJDK のファイルとは一致しませんが、内容は変わらないと考えたい (diff
で確認)。
$ ls -l /usr/lib/jvm/jdk-11.0.1+13/lib/tzdb.dat -rw-rw-r-- 1 root root 105882 Nov 15 19:42 /usr/lib/jvm/jdk-11.0.1+13/lib/tzdb.dat $ od -Ax -t x1z /usr/lib/jvm/jdk-11.0.1+13/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 65 >...TZDB....2018e< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.< $ diff /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat /usr/lib/jvm/jdk-11.0.1+13/lib/tzdb.dat Binary files /usr/lib/jvm/jdk-11.0.1/lib/tzdb.dat and /usr/lib/jvm/jdk-11.0.1+13/lib/tzdb.dat differ
OpenJDK 8 (Redhat)
確認した環境
$ cat /etc/os-release NAME="Red Hat Enterprise Linux Server" VERSION="7.5 (Maipo)" ID="rhel" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.5" PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 (Maipo)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server" HOME_URL="https://www.redhat.com/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" REDHAT_BUGZILLA_PRODUCT_VERSION=7.5 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" REDHAT_SUPPORT_PRODUCT_VERSION="7.5"
インストール方法
$ yum install -y java-1.8.0-openjdk-headless
配置
インストール先は /usr/lib/jvm
の下でした。
alternatives
にも対応しているようです。
$ ls -ld /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64 drwxr-xr-x. 3 root root 17 Nov 24 03:38 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64 $ alternatives --config java There is 1 program that provides 'java'. Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java) Enter to keep the current selection[+], or type selection number: ^C
バージョン情報
特徴的なところが何もありません。
$ /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
cacerts
cacerts
は ca-certificates
パッケージ (Mozilla の CA root certificate bundle)に含まれるファイルを参照するようになっています。
依存パッケージとして管理されているため、更新の手間は軽減できそうです。
キーストアに登録されている CA ルート証明書の総数は 133 でした。 おそらく、Mozilla の CA ルート証明書から生成しているのではないかと思います (簡単に確認する方法が思いつかなかった…)。
$ ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/security/cacerts lrwxrwxrwx. 1 root root 41 Nov 24 03:38 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/security/cacerts -> ../../../../../../../etc/pki/java/cacerts $ ls -l /etc/pki/java/cacerts lrwxrwxrwx. 1 root root 40 Nov 17 02:38 /etc/pki/java/cacerts -> /etc/pki/ca-trust/extracted/java/cacerts $ ls -l /etc/pki/ca-trust/extracted/java/cacerts -r--r--r--. 1 root root 160286 Nov 17 02:38 /etc/pki/ca-trust/extracted/java/cacerts $ yum provides /etc/pki/ca-trust/extracted/java/cacerts Failed to set locale, defaulting to C Loaded plugins: product-id, search-disabled-repos, subscription-manager Repo rhel-7-server-rpms forced skip_if_unavailable=True due to: /etc/pki/entitlement/2829246006869238773-key.pem ca-certificates-2013.1.95-71.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2014.1.98-70.0.el7_0.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2014.1.98-72.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2015.2.4-70.0.el7_1.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2015.2.4-71.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2015.2.6-70.1.el7_2.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2015.2.6-73.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2017.2.11-70.1.el7_3.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2017.2.14-70.1.el7_3.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2017.2.14-71.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2017.2.20-71.el7.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2018.2.22-70.0.el7_5.noarch : The Mozilla CA root certificate bundle Repo : rhel-7-server-rpms Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts ca-certificates-2017.2.20-71.el7.noarch : The Mozilla CA root certificate bundle Repo : @anaconda/7.5 Matched from: Filename : /etc/pki/ca-trust/extracted/java/cacerts $ yum deplist java-1.8.0-openjdk-headless | grep ca-certificates Failed to set locale, defaulting to C dependency: ca-certificates provider: ca-certificates.noarch 2018.2.22-70.0.el7_5 dependency: ca-certificates provider: ca-certificates.noarch 2018.2.22-70.0.el7_5 $ usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/security/cacerts -storepass changeit | head -n 4 Keystore type: jks Keystore provider: SUN Your keystore contains 133 entries $ grep -c "BEGIN CERTIFICATE" /etc/pki/tls/cert.pem 133
tzdb.dat
tzdb.dat
は tzdata-java
パッケージに含まれるファイルを参照するようになっています。
依存パッケージとして管理されているため、更新の手間は軽減できそうです。
2018/11/24 時点では tzdata2018g
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/tzdb.dat lrwxrwxrwx. 1 root root 30 Nov 24 03:38 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/tzdb.dat -> /usr/share/javazi-1.8/tzdb.dat $ ls -l /usr/share/javazi-1.8/tzdb.dat -rw-r--r--. 1 root root 105734 Oct 29 14:27 /usr/share/javazi-1.8/tzdb.dat $ yum provides /usr/share/javazi-1.8/tzdb.dat Failed to set locale, defaulting to C Loaded plugins: product-id, search-disabled-repos, subscription-manager epel/x86_64/filelists | 10 MB 00:00:01 rhel-7-server-rpms/7Server/x86_64/filelists_db | 37 MB 00:00:03 tzdata-java-2015e-1.el7.noarch : Timezone data for Java Repo : rhel-7-server-rpms Matched from: Filename : /usr/share/javazi-1.8/tzdb.dat (省略) $ yum deplist java-1.8.0-openjdk-headless | grep tzdata-java Failed to set locale, defaulting to C dependency: tzdata-java >= 2015d provider: tzdata-java.noarch 2018g-1.el7 dependency: tzdata-java >= 2015d provider: tzdata-java.noarch 2018g-1.el7 $ od -Ax -t x1z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 67 >...TZDB....2018g< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
OpenJDK 11 (Redhat)
確認した環境
$ cat /etc/os-release NAME="Red Hat Enterprise Linux Server" VERSION="7.5 (Maipo)" ID="rhel" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.5" PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 (Maipo)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server" HOME_URL="https://www.redhat.com/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" REDHAT_BUGZILLA_PRODUCT_VERSION=7.5 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" REDHAT_SUPPORT_PRODUCT_VERSION="7.5"
インストール方法
$ yum install -y java-11-openjdk-headless
配置
インストール先は /usr/java
の下でした。
alternatives
にも対応しているようです。
$ ls -ld /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64 drwxr-xr-x. 6 root root 68 Nov 24 03:58 /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64 $ alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java) 2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/bin/java) Enter to keep the current selection[+], or type selection number: ^C
バージョン情報
Oracle OpenJDK と完全に一致しています。
/usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/bin/java -version openjdk version "11.0.1" 2018-10-16 LTS OpenJDK Runtime Environment 18.9 (build 11.0.1+13-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode, sharing)
cacerts
cacerts
は ca-certificates
パッケージ (Mozilla の CA root certificate bundle)に含まれるファイルを参照するようになっています。
依存パッケージとして管理されているため、更新の手間は軽減できそうです。
キーストアに登録されている CA ルート証明書の総数は 133 でした。 おそらく、Mozilla の CA ルート証明書から生成しているのではないかと思います (簡単に確認する方法が思いつかなかった…)。
$ ls -l /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/lib/security/cacerts lrwxrwxrwx. 1 root root 21 Nov 24 03:58 /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/lib/security/cacerts -> /etc/pki/java/cacerts $ yum deplist java-11-openjdk-headless | grep ca-certificates Failed to set locale, defaulting to C dependency: ca-certificates provider: ca-certificates.noarch 2018.2.22-70.0.el7_5 dependency: ca-certificates provider: ca-certificates.noarch 2018.2.22-70.0.el7_5 $ /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/bin/keytool -list -cacerts -storepass changeit | head -n 4 Keystore type: JKS Keystore provider: SUN Your keystore contains 133 entries
tzdb.dat
tzdb.dat
は tzdata-java
パッケージに含まれるファイルを参照するようになっています。
依存パッケージとして管理されているため、更新の手間は軽減できそうです。
2018/11/24 時点では tzdata2018g
から変換したファイルが配置されていました。
$ ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/tzdb.dat lrwxrwxrwx. 1 root root 30 Nov 24 03:38 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/lib/tzdb.dat -> /usr/share/javazi-1.8/tzdb.dat $ yum deplist java-11-openjdk-headless | grep tzdata-java | head -n 10 Failed to set locale, defaulting to C dependency: tzdata-java >= 2015d provider: tzdata-java.noarch 2018g-1.el7 dependency: tzdata-java >= 2015d provider: tzdata-java.noarch 2018g-1.el7 $ od -Ax -t x1z /usr/lib/jvm/java-11-openjdk-11.0.1.13-3.el7_6.x86_64/lib/tzdb.dat | head 000000 01 00 04 54 5a 44 42 00 01 00 05 32 30 31 38 67 >...TZDB....2018g< 000010 02 57 00 0e 41 66 72 69 63 61 2f 41 62 69 64 6a >.W..Africa/Abidj< 000020 61 6e 00 0c 41 66 72 69 63 61 2f 41 63 63 72 61 >an..Africa/Accra< 000030 00 12 41 66 72 69 63 61 2f 41 64 64 69 73 5f 41 >..Africa/Addis_A< 000040 62 61 62 61 00 0e 41 66 72 69 63 61 2f 41 6c 67 >baba..Africa/Alg< 000050 69 65 72 73 00 0d 41 66 72 69 63 61 2f 41 73 6d >iers..Africa/Asm< 000060 61 72 61 00 0d 41 66 72 69 63 61 2f 41 73 6d 65 >ara..Africa/Asme< 000070 72 61 00 0d 41 66 72 69 63 61 2f 42 61 6d 61 6b >ra..Africa/Bamak< 000080 6f 00 0d 41 66 72 69 63 61 2f 42 61 6e 67 75 69 >o..Africa/Bangui< 000090 00 0d 41 66 72 69 63 61 2f 42 61 6e 6a 75 6c 00 >..Africa/Banjul.<
builderscon tokyo 2018 の参加ログ
初めて参加してきた。
builderscon.io
よかったこと
- 参加の敷居が低かった(builderじゃなくても参加できる)
- SNS で早期割り引きの告知を見かけて簡単に応募できた
- サポーターとして参加した(知人を巻き込むとかできないのでせめて金銭的に貢献できないかと思った)
- "Discover something new" というテーマは自分にとって嬉しかった
- 満席が出ていることから聞きたい話を聞くのを諦め、聞ける話を聞くことにしたけど正解だった
- 名前とかキーワードは聞き覚えがあるけど中身は知らない話ばかり聞いてきた
- 事前知識なしで理解する、静的検査のいろは by Kuniwak
- 実録!ある担当者がみた「謎ガジェット」開発1年史 by uzulla
- JavaCardの世界 by moznion
- lld − 開発ツールの主要コンポーネントの1つをスクラッチから作成した話 by rui314
- 次世代通信プロトコルにおけるセキュリティ・プライバシー保護・パフォーマンス (Security, privacy, performance of the upcoming transport protocols) by kazuho
- Jepsen 10 by aphyr
- 1日約70万ビルド: DockerとNomadが支えるCI/CDプラットフォーム by kimh
- Envoy internals deep dive by mattklein123
もっと良くするためにできること
- たぶんスピーカーに挑戦する(CfPを出す)のが一番なんだと思います
- 「向こう側」はいつも楽しそう
- 自分で乗り込んでいくのが一番早い
- 採択されなかったらブログの記事が増えるだけなのでいいことなのでは
XP祭り2017で参加した「振り返りを振り返る」ワークショップのメモ
XP祭り2017:さまざまな振り返りを知り,振り返りを振り返る (栗田 太郎さん)
チームまたは個人の仕事において,振り返り (ふりかえり),リフレクション,レトロスペクティブなどと言われる活動には,
さまざまなフレームワーク (“KPT”,”YWT”,”ORID” など,また,KPT だけでも多くのバリエーション) と課題があります.
本ワークショップでは,参加者の皆さんの日頃の目的と工夫と課題の共有,いろいろなフレームワークの試行と比較,
振り返りにまつわる対話,を通して,日常の振り返りを多様な視点から振り返り,振り返りの意義と意味について考えていきます.
いろいろと話題の講演がある中、裏番組的なワークショップに参加していました。
懇親会でもいろいろお話を聞くことができてとてもためになりました。
関係ないけど、レトロスペクティブやイントロスペクティブの スペクトは「よく見る」という意味らしい 。
やったこと
- ふりかえりのフレームワークの講義
- マシュマロチャレンジ を実践
- マシュマロチャレンジについて ORID で「ふりかえり」
- 「各自がふりかえりで課題だと思っていること」について「KPT でふりかえり」
- ワークショップ全体について「YWT でふりかえり」
最初に説明があったわけではないので、すごくメタい構造だった。
ふりかえりの由来
- 「ふりかえりとは基本的に内省のことである」
- プラトンまで遡るので人によっては気味が悪くなる可能性がある
- 「内省とはリフレクション(反射)である」
- 「過ぎ去ったことに光を当てるようにふりかえり、こころに描かれたことを呼び戻したり表出したりすること、すなわち注意深く考えることや黙想すること」
- この考え方は雰囲気があって素敵だ
- 過去は闇であり、闇に光を当てその有り様を観測するから反射なのだ、と
ふりかえりのフレームワーク
チームでふりかえりをするとき、書く時間と共有する時間を分ける理由
- ちゃんと他の人の話を聞くため
- 他の人が話しているときは、自分のことを考えたり書いたりしないで、ちゃんと聞くため
- 共感とは、「自分ならこうするとか」そういうことを考えずにただただ相手の身になって聞くこと
- 「話している人が認識している事実や感じた想い」から学習する?
- この辺よくわからない。ワークショップ中でも説明はされてなかった
看護師の人たちは日常的にふりかえりを活用している
- 看護記録とか
- リフレクションの研究自体が看護教育に端を発するものだとか
- (後で聞いた話)
- ワークショップの講師の人は、病院の看護師さんを相手にリフレクションのワークショップを開催しているとのこと
n回目のDevsumiで見聞きしたことのメモ
何回目か忘れてるけど一般参加してきた。
ちょっとした発見があったりしたので、自分用に記録しておく。
16-D-2 Elastic Stack による異常検知
Elastic Stack の紹介。
基本的に収集したログをいかに扱うか、という問題になるのだけど、部分的には AWS CloudWatch よりも柔軟性がありそうなところが気になった。
時系列データのトレンドを自動的に学習して異常を検出するPrelertというプラグインはよさそうだった。
普通のしきい値判定と組み合わせることができればほとんどのケースがカバーできそう。
16-A-3 ヤフーの開発を10倍速くした社内 PaaS 構築の今とこれから
開発ツールに起因する問題を解消するため,Cloud Foundry を導入した話。
Spring Blogでは Cloud Foundry の話がしょっちゅう登場するのできっと世界的には主流なんだと思う。
日本の大手SIerのプラットフォームで使われているのは知らなかった…そうなんだ。
17-E-1 自動化はどこに向かうのか 〜まだ開発・運用の自動化で消耗しているの?〜
一度前佛さんにお会いしたかったので参加。
slideshareのプレゼン資料が本当にすごい。エンターテイメント。
ツール推しな人だと思ってたら全然そんなことはなく、とてもバランス感覚のある話だった。
成果物の評価を公開するということ
わからないということをわかるや、全く駄目な成果物と人格否定についてを読んだ。
人格否定されている感じになるのは、成果物じゃなくてそれを生み出すプロセスを否定されている(と受け取った or 受け取られるようなやりとりがあった)ときだと思う。
自分でもよく、部分的にダメなところがあっただけで、全体に対する評価もダメだと判断してしまうことがある。
つまり、部分を生み出す手順がダメなのだから、それに従って生み出されている他の部分もどうせダメだろうという思い込み。
これでは受け手から人格否定されてると思われても仕方ない。悪い例。
成果物の評価を公開ときは、純粋に成果物だけの評価になるようにしないと、いろんな人の心がざわざわしてしまうので気をつけよう。
注目を浴びたいだけならともかく、成果物をより良くしたいという思いがあるはずなのに、自分の考えを押し付けるだけではただの暴力だ。
ビヨンド ソフトウェアアーキテクチャを翻訳しました
はじめに
ビヨンド ソフトウェア アーキテクチャ (Object Oriented Selection Classics)
- 作者: ルーク・ホフマン,岡澤裕二,和智右桂
- 出版社/メーカー: 翔泳社
- 発売日: 2015/10/02
- メディア: 大型本
- この商品を含むブログ (4件) を見る
- 翔泳社様の書籍ページ
- enterprizezineの紹介ページ
共著者の id:ditigalsoul。言葉使いや翻訳の技術や作法について学ばせていただきました。また一緒に何かやりましょう。
原著について
- 作者: Luke Hohmann
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2003/01/30
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
内容
ターキテクト(テクノロジーを担当するアーキテクト)とマーケテクト(マーケティングを担当するアーキテクト)が協力して課題を取りこぼすことがないように進めていきましょう、どちらが欠けても成功することはできませんよ、というものでした。
ブランディングや販売管理(のためのSKU)、インストールプロセスなどが、どれだけアーキテクチャに影響するものなのか、改めて考えさせられました。
著者
当時はコンサルティングや講師業をしていたようですが、今はチーム内のコラボレーションを高めるためのサービスやツールを提供する会社(Contentneo)を運営している模様。
Slideshareにもいろいろとプレゼン資料が公開されています。
本書の付録Bで紹介しているプロダクトマネジメントパターンを発展させているようです。
ツール
翻訳をするのに欠かせなかったツールです。
今回もありがとうございました。
- 共有リポジトリ
- Bitbucketを使わせていただきました
- Bitbucketはアトラシアン株式会社の提供するGit/Mercurialリポジトリ管理サービスです
- 執筆ツール
- エディタ
- Re:VIEWに対応しているものを気分で使い分けてます
- Sublime Text
- Y.A.M の雑記帳:Sublime Text 2 用の ReVIEW プラグイン作った
- Emacs
- 辞書
- MacOS に付属してるやつ
- 英辞郎 on the WEB Pro
統計データ
2014/05/30くらいに開始して、2015/09/30で完了しました。
仕事の都合でしばらく中断させてもらっていた時期がありますが、1年半か…
総コミット数は1832で、私のコミット数は1025でした。
規模はこんな感じです。Re:VIEW のツールで数えることができます。
約1MB、12347行、結構な量になりました。
$ review-vol | tail -n 2 ============================= 1064KB 395381C 12347L 1064P
感想
翻訳をやるだけの英語力があるのかどうか不安に思っていた時期もありました。
ですが、訳す、読む、直すのサイクルを何度も回して行く中で、そんなことを気にしているのはもったいないと思うようになりました。
他にも、英文を読む量を増やしたり、実際に訳してみたり、とにかく反復し続けていたらなんとかなった感じです。
特に身についたと思えるのが、知らない言い回しが出てきた時の対応です。
そのまま訳するとすごくおかしな日本語になってしまいます。
訳す前にまずその言葉自体を調べて、そこから日本語としてどういう形式になるといいのか考えられるようになりました。
翻訳したからといって、本の内容の全てを自分のものにできるはずはありません。
自分には不足している領域の内容を扱っているのだからなおさらです。
今後とも精進していきたいと思います。
謝罪
id:digitalsoul とは同じ職場、同じチームとして過ごしてきました。
彼と一緒に過ごした時間がこの1年半の大部分を占めているのではないか…
仕事の考え方の違いにより、言い争いになりかけたこともありました。
挑発めいた言葉を言ってしまったこともありました。
口頭では自然解決した風を装っていますが、実はちゃんと謝ってません。今度会ったときに誤ります。