Ubuntu 16.04LTSから18.04LTSへのアップグレード

まずは16.04LTSのバージョンを最新にしてから、update-manager-coreをインストールする。その後、LTS用アップグレードを実行する。

% sudo apt update -y
% sudo apt upgrade -y
% sudo apt dist-upgrade -y
% sudo apt autoremove
% sudo apt install update-manager-core
% sudo do-release-upgrade -d

16.04LTSのデフォルトのpythonは2.7だが、python3もインストールした。この際に update-alternativeで/usr/bin/pythonを管理していた。この結果、以下のようなエラーがでた。

インストールされたPythonが破損しています。シンボリックリンク'/usr/bin/python'を修正してください。

対応にはこちらを参照した。upgrade - How to fix "python installation is corrupted"? - Ask Ubuntu

% sudo ln -sf /usr/bin/python2.7 /usr/bin/python

再び、アップグレードを実行する。

% sudo do-release-upgrade -d

1時間ぐらいで無事アップグレード成功。ただし、tex-commonがうまくアップグレードできなかった。

tex-commonのトラブル

fmtutilがうまく実行できていない様子。

% sudo fmtutil
Can't locate mktexlsr.pl in @INC (@INC contains: /usr/local/texlive/2012/tlpkg /usr/local/texlive/2012/texmf-dist/scripts/texlive /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/bin/fmtutil line 23.
BEGIN failed--compilation aborted at /usr/bin/fmtutil line 25.

このパスのうち  /usr/local/texlive/2012/ は昔、手動でインストールしたtexlive-2012の名残。ここいらへんがおかしい気が。

/usr/local/bin以下に /usr/local/texlive/2012/以下にあるコマンドへのシンボリックリンクが大量にあった。このせいで、標準の/usr/bin/以下にあるTeX系コマンドと/usr/local/bin以下にあるTex系コマンドが入り混じってエラーがでていた様子。そこで、/usr/local/bin以下のシンボリックリンクを消す。まず、シンボリックリンクをリンク切れにする。

% sudo mv /usr/local/texlive /usr/local/texlive-old

続いて リンク切れのシンボリックリンク一括削除方法で紹介されているコマンドを実行し、リンク切れのシンボリックリンクを削除する。

% cd /usr/local/bin
% find . -xtype l |  sudo xargs rm

無事、tex-commonがインストールできた。

GCCがバージョン7になったことによるトラブル

以下のエントリーにあるようなトラブルが発生し、g++でコンパイルができない状況が発生した。

これの回避方法は、インクルードファイルの読み込みパスを自分で定義している場合はそれを全部削除すること。私はシェルの設定ファイルにインクルードファイルの読み込みパスの設定を行っていたのでそれを削除した。

PostgreSQL 9.Xから10への移行

PostgreSQLを16.04で使っていた場合、PostgreSQL 10へ手動で対応する必要がある。
www.paulox.net

Passenger

アップデート時に /etc/apt/sources.list.d/passenger.list がコメントアウトされているのでコメントインする必要がある。

メモ:「カメラを止めるな!」の原案・原作問題

録音して聞いているTBSラジオのアフター6ジャンクションで紹介されていた「カメラを止めるな!」をお盆休みに見てきた。十数年ぶりの映画館での映画鑑賞。感想は「よく出来ているなぁ」というもの。
www.tbsradio.jp

で、この「カメラを止めるな!」についてパクリ問題が生じているとのこと。

headlines.yahoo.co.jp

note.mu

〜前略〜

ツイッターでもFBでも、「みんな見てね!」と思わずシェアしてました。
映画も素直に面白かった。

でも実際に見てみるとクレジットにはPEACEの名前、GHOSTの名前はありませんでした。

〜 中略 〜

その際に、配給拡大のタイミングで、今日クレジットは決めなくてはならない。といわれ、最終的に向こうから妥協案として「原案」だったらどうですか、という話になり、“ひとまず”クレジットには原案として劇団名、作品名を入れてもらいました。
そして、その後原作かどうかは判断しましょう。
という話になりました。
だから今、映画のエンドロールには

原案:劇団PEACE「GHOST IN THE BOX!」(作:A 演出:和田亮一)

special thanks で和田亮一と入っています。
〜後略〜

「GHOST IN THE BOX!」ってどっかで聴いたなと思ったら同じくアフター6ジャンクションに上田監督がでたときのこの映画の経緯で語っていたやつ。
www.tbsradio.jp

だいたい同じ内容の経緯説明

上田監督:5年前に、劇団PEACE(2014年解散)の「GHOST IN THE BOX!」という舞台を観まして、物語の構造がすごく面白いなと思ったんです。この舞台を原案にして映画化したいと思い、最初はその舞台の脚本家や出演者の方と一緒に企画を進めていたんですがなかなか前に進まず一旦企画は頓挫。2年ほど前にとあるコンペに出すのをきっかけにまたこの企画を引っ張り出して、基本的な構造以外は登場人物も展開も丸ごと変えて、新たな作品としてプロットを固めていきました。その企画コンペには落ちたんですが、ちょうどその直後にこの「シネマプロジェクト」のお話をいただいたんです。「シネマプロジェクト」というのは新人の監督と俳優がワークショップを経て一本の映画を作るという企画です。

爆ヒット中の映画『カメラを止めるな!』上田慎一郎監督インタビュー「映画が観た人の現実を前向きに動かしている。これほど嬉しいことはありません」 | ガジェット通信 GetNewsより)

こんなに話題になると思っていなかったので権利処理が甘かったのかなぁと予想。同じくアフター6ジャンクションに柳下さんがでたときに語っていたエピソードで「カメラを止めるな!」は映倫の審査を公開後にとっているという話がでていた(たぶん、映倫の審査を受けるお金がなかった&単館上映だから不要だったと予想)(参考:映倫審査リスト:映倫番号 121655
www.tbsradio.jp

上田監督もオマージュ元を明言しているので穏当にこの問題が着地するのを願っている。

最初は絶賛していたじゃないかという指摘

togetter.com

追記:公式のアナウンス

kametome.net

アフター6ジャンクションでの反応

miyearnzzlabo.com

「GHOST IN THE BOX!」の感想サイト

stage.corich.jp

Ubuntu 16.04上にrustupを使ってRustのインストール

rustupを用いてRustを使える環境を構築する。今回はユーザ権限でインストールする。


curlが無い場合は別途インストールする。その後、rustupに記載されているスクリプトを実行する。

% cd
% sudo apt install curl
% curl https://sh.rustup.rs -sSf | sh

設定ファイルを読み込む。

% source ~/.cargo/env

バージョンの確認

% cargo --version
cargo 1.28.0 (96a2c7d16 2018-07-13)

% rustc --version
rustc 1.28.0 (9634041f0 2018-07-30)

% rustdoc --version
rustdoc 1.28.0 (9634041f0 2018-07-30)

実行してみる。RustでのHello Worldはコーディングいらずとのこと。

% cargo new --bin hello
     Created binary (application) `hello` project

% cd hello
%  cargo run
   Compiling hello v0.1.0 (file:///home/hogehoge/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 1.19s
     Running `target/debug/hello`
Hello, world!

% ls
Cargo.lock  Cargo.toml	src/  target/

実行ファイルを削除する。

% cargo clean
% ls
Cargo.lock  Cargo.toml	src/

メモ:徳島阿波踊り

2020年日本夏時間導入可否問題から妄想する太陽系移住時代に対応したソフトウェアの時刻対応

ほぼ、タイトルで言いたいことは尽きている。

メモ:日本に「サマータイム」を導入すると懸念される事柄にまとめているとおり、2020年の東京オリンピックに向けて日本標準時間(JST)を2時間早める日本夏時間の導入が検討されている。それにともない、主にICT業界から「コンピュータの時刻の対応どうすんだよ!」と大批判が上がっている。

で、以下のエントリー。Unix・Linuxで使われているTime Zone Databaseを書き換えることで日本夏時間を実現してみますよという内容。非常にきれいに対応できている。
qiita.com

じゃあ、今回の日本夏時間の導入はこんな風に簡単にできるのかというところなのだけど、そういうわけにはいかない。その理由は上記エントリの後半部分にあるとおり。

で、ここから妄想。太陽系内の惑星や惑星の衛星にて水の存在が確認されている。
www.bbc.com

jp.reuters.com

そして、「火星の人」の映画がヒットした。

火星の人〔新版〕(上) (ハヤカワ文庫SF)

火星の人〔新版〕(上) (ハヤカワ文庫SF)

現実世界でも火星でジャガイモを育てられるか実験が行われている。
www.afpbb.com

十数年後から数十年後に太陽系内に人類が移住する時代が来るかもしれない。太陽系移住時代には地球とデータ通信をする場面は必ずある。そんなときはUCTをベースにして月時間や火星時間を計算できないといけない。火星移住初期は火星標準時間は1つでも構わないと思うが、移住基地が増えるに従い火星の中で複数の標準時間が作られる時代が来る。

現在、ソフトウェアを作成するときに国際化(internationalization, i18n)を考えなければいけないように、こういう時代に向けて時刻を扱ういろいろなアプリの現地時間をOSのTime zoneに合わせて修正できるようにしておく必要があるのではないかなと妄想した。おわり。

追記:宇宙船や国際宇宙ステーションのオペレーティングシステム

Unix・Linux系なのだろうなぁと思っていたけどそうでもないみたい。

国際宇宙ステーションは大きくわけて3種類のコンピュータがあるとのこと。

  1. 国際宇宙ステーション自体を制御するコンピュータ:
    • 国際宇宙ステーションのロシア区画の生命維持装置などを制御するコンピュータは the Data Management System - Russia (DMS-R)といい、それのOSはVxWorks
    • アメリカ区画の生命維持装置などを制御する50台を超えるコンピュータをつなげたシステムをMultiplexer / Demultiplexerという。OSはThe USOS multiplexer/demultiplexers。このOSはプログラミング言語Adaで書かれているとのこと。
  2. 上のコンピュータにアクセスするためのコンピュータ
    • ロシア側はRussian Laptopsと呼ぶコンピュータ。Linuxベース
    • US側はPortable Computer System(PCS)と呼ぶコンピュータ。Linuxベース
  3. その他、国際宇宙ステーション自体を制御するコンピュータには接続されないコンピュータ(普段使いのコンピュータ)
    • Station Support Computers(SSC)と呼ばれる。Windowsベース。

以下の記事はPCSがLinuxベースになったという記事っぽい。

以下の記事はISSで使われるOSがWindowsからLinuxベースになったといわれているが、それはPCSについてでSSCについてはWindowsベースのままだよ。なぜなら、世界中でWindowsが使われている理由と同じで、普段使っているOSがWindowsだからという記事。