hogashi.*

日記から何から

花(を)見(た後に)酒

今週のお題「お花見」

 昨日、恵比寿駅から白金高輪駅まで歩いた。下はそのときの写真。

f:id:hogashi:20180329190435j:plain
夜桜とトラックとビル

 恵比寿駅の高架になっている通路に入らずに下道を行ったら駅にたどり着けなくて、歩くかって道端の地図見たら渋谷川を見つけて、向かって見たら川沿いは歩けなくて、大通りを歩いた、というのが経緯。公園とかにも桜があって綺麗だった。

f:id:hogashi:20180329190433j:plainf:id:hogashi:20180329190438j:plainf:id:hogashi:20180329190437j:plain
渋谷川 / 渋谷川と月 / 桜とでこぼこの大通り

 その後高校の同期と三田で日本酒を飲みつつご飯を食べた。過去にも行ったことがあって、体験が最高の店と言っていたのだけど、やはり最高だった。

f:id:hogashi:20180329191913j:plainf:id:hogashi:20180329192212j:plain
日本酒とお通し(馬ユッケ) / 最高のもつ鍋

 お話を読んだり聞いたりすることをしばしばやるものの、そのお話を理解できないことが多くて、よく悲しいなと思っている。理解力がないのか頭が回っていないのかわからないけど、とにかく一体何が何で何なのかわからなかったなあ、となる。なんとかならないものか不明なのでほとんど諦めている。

Ubuntu16.04にJavaをインストールしてjenvで管理する

TL;DR

 Ubuntu16.04 に Java をインストールして jenv で管理する。
 jenv ではなく、デフォルトの alternatives を使うこともできる(らしい)。やっていません。

手順

jenv のインストール

 jenv は anyenv でインストールした。 anyenv のインストールは省略。

$ anyenv install jenv
$ exec $SHELL -l   # jenv へのパスを環境変数PATHに反映
java のインストール

 java 8 と 9 をインストールした。 apt-getopenjdk-8-jdkopenjdk-9-jdk を入れておいて、後から jenv add して管理する。

$ sudo apt-get install openjdk-8-jdk openjdk-9-jdk

 なんか update-alternatives: /usr/bin/jlink (jlink) を提供するために自動モードで /usr/lib/jvm/java-9-openjdk-amd64/bin/jlink を使います とかって警告がずらっと出たりするけど、これは多分システム側で *env 的なことをする alternatives なるソフトウェアがログを出しているだけっぽいので、やってくれてるなって感じで見守る。使いたい人はそちらを使えば良さそう、僕はバイナリをひとつひとつやるのは大変そうかなって思ったので jenv でやります。

jenv に登録

 インストールできたら、 jenv に管理する java のパスを追加する。
 それぞれのバージョンがどこにインストールされているのかは、 which java したり、シンボリックリンクを追ったりすれば多分たどり着ける。今回は alternatives が頑張ってくれているので、巡り巡って /etc/alternativesシンボリックリンクがあり、そこから実ファイルへ参照していた。

$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22  3月 11 22:01 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 42  3月 11 22:01 /etc/alternatives/java -> /usr/lib/jvm/java-9-openjdk-amd64/bin/java  # ゴール
$ ls /usr/lib/jvm
# (略)
java-9-openjdk-amd64  # java9 の実ファイルの場所
java-8-openjdk-amd64  # java8 の実ファイルの場所

 見つけたパスを追加していく。でき次第設定して完了。

$ jenv add /usr/lib/jvm/java-8-openjdk-amd64
$ jenv add /usr/lib/jvm/java-9-openjdk-amd64
$ jenv versions  # 確認
* system (set by /home/ほげ/.anyenv/envs/jenv/version)
  1.8
  1.8.0.151
  9-internal
  openjdk64-1.8.0.151
  openjdk64-9-internal
$ jenv global 1.8  # java 8 に設定
$ java -version  # 確認
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
$ javac -version  # 確認2
javac 1.8.0_151

 一括で切り替えができて便利。 java 8 と 9 を切り替えまくるときがあるかどうかは不明。

 今さっき Raspbian で apt-get upgradeしてるタイミングで ssh 接続が切れて、つなぎ直してやり直そうとしたらだめだった。それはそう。ぶっ壊れてて、というか「dpkg の lock ファイルがまだあるよ」みたいな感じで、何も考えずに再起動してしまった後にやり直したら「ぶっ壊れてるのでこれやって」って出た。めっちゃ教えてくれてありがたい。

$ sudo apt-get upgrade
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
$ sudo reboot
# ...
$ sudo apt-get upgrade
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 

 言われたとおり打ったら Setting up hoge ...みたいなのが沢山出つつ、 light-dm の設定が変わってた?か何かで大丈夫かって確認が来て、dって打ったら git diff みたいなのが出て分かりやすかった(1行コメントが外れた、みたいな差分が見れた)。違いがわからんかったのでyにしておいた。ほとんど ssh しかしないし……だめかな……

Configuration file '/etc/lightdm/lightdm.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** lightdm.conf (Y/I/N/O/D/Z) [default=N] ?

 こういうことは nohup でやるとか tmux でやるとかしたほうがいい。

おうち活版印刷

 この間友人に「大人の科学 小さな活版印刷機」を誕生日プレゼントされたので、印刷した。この記事異常に長いように見えるけど画像とツイートばっかりなのでなんとかなります。

……

続きを読む