Ubuntu17.10/ArtfulでRのアップデートが旨く行かない問題解決

要約
aptではなくaptitudeを使う。

Ubuntuはほぼ毎日何らかのファイルが更新されるので、PCに触る都度こまめにシステムのアップデートを続けているが、17.10/Artfulにアップグレードしてから、Rの一部のモジュールのアップデートが何故かできなくなった。

sudo apt upgade

してみると、

ヒット:1 http://jp.archive.ubuntu.com/ubuntu artful InRelease                  
ヒット:2 http://archive.canonical.com/ubuntu artful InRelease                  
取得:3 http://security.ubuntu.com/ubuntu artful-security InRelease [78.6 kB]   
ヒット:4 http://ppa.launchpad.net/remmina-ppa-team/remmina-next/ubuntu artful InRelease
ヒット:5 http://jp.archive.ubuntu.com/ubuntu artful-updates InRelease          
ヒット:6 http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu artful InRelease
無視:7 https://cran.ism.ac.jp/bin/linux/ubuntu artful/ InRelease               
無視:8 https://ftp.yz.yamagata-u.ac.jp/pub/cran/bin/linux/ubuntu artful/ InRelease
ヒット:9 https://cran.ism.ac.jp/bin/linux/ubuntu artful/ Release               
ヒット:10 https://ftp.yz.yamagata-u.ac.jp/pub/cran/bin/linux/ubuntu artful/ Release
ヒット:12 http://archive.ubuntulinux.jp/ubuntu artful InRelease                
ヒット:14 http://archive.ubuntulinux.jp/ubuntu-ja-non-free artful InRelease    
78.6 kB を 7秒 で取得しました (10.7 kB/s)                                      
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています       
状態情報を読み取っています... 完了
アップグレードできるパッケージが 23 個あります。表示するには 'apt list --upgradable' を実行してください。

と表示され、アップグレードできるパッケージがあることが分かる。
そして、

:~$ sudo apt list --upgradable

してみると

一覧表示... 完了
r-cran-boot/artful,artful 1.3-20-1.1artful1 all [1.3-20-1zesty0 からアップグレード可]
r-cran-codetools/artful,artful 0.2-15-1build1 all [0.2-15-1 からアップグレード可]
r-cran-crayon/artful 1.3.2-1build1 amd64 [1.3.2-1 からアップグレード可]
r-cran-digest/artful 0.6.12-1build1 amd64 [0.6.12-1 からアップグレード可]
r-cran-evaluate/artful,artful 0.10-1build1 all [0.10-1 からアップグレード可]
r-cran-formatr/artful 1.4-1build1 amd64 [1.4-1 からアップグレード可]
r-cran-highr/artful,artful 0.6-1build1 all [0.6-1 からアップグレード可]
r-cran-knitr/artful 1.15.1-2build1 amd64 [1.15.1-2 からアップグレード可]
r-cran-lavaan/artful,artful 0.5.22-1build1 all [0.5.22-1 からアップグレード可]
r-cran-magrittr/artful 1.5-3build2 amd64 [1.5-3build1 からアップグレード可]
r-cran-markdown/artful 0.7.7-1build1 amd64 [0.7.7-1 からアップグレード可]
r-cran-mass/artful,artful 7.3-49-1artful0 amd64 [7.3-48-1zesty0 からアップグレード可]
r-cran-mgcv/artful,artful 1.8-23-1artful0 amd64 [1.8-22-1zesty0 からアップグレード可]
r-cran-mime/artful 0.5-1build1 amd64 [0.5-1 からアップグレード可]
r-cran-mnormt/artful 1.5-5-2build1 amd64 [1.5-5-1 からアップグレード可]
r-cran-pbivnorm/artful 0.6.0-1build1 amd64 [0.6.0-1 からアップグレード可]
r-cran-quadprog/artful 1.5-5-3build1 amd64 [1.5-5-2 からアップグレード可]
r-cran-rpart/artful,artful 4.1-13-1artful0 amd64 [4.1-11-1zesty0 からアップグレード可]
r-cran-semtools/artful,artful 0.4.14-1build1 all [0.4.14-1 からアップグレード可]
r-cran-spatial/artful 7.3-11-2build1 amd64 [7.3-11-1zesty0 からアップグレード可]
r-cran-stringi/artful 1.1.2-1build1 amd64 [1.1.2-1 からアップグレード可]
r-cran-stringr/artful,artful 1.1.0-1build1 all [1.1.0-1 からアップグレード可]
r-cran-yaml/artful 2.1.14-1build1 amd64 [2.1.14-1 からアップグレード可]
>
となるのだが、

:~$ sudo apt upgrade

とすれば、

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-4.13.0-25 linux-headers-4.13.0-25-generic
linux-image-4.13.0-25-generic linux-image-extra-4.13.0-25-generic
これを削除するには 'sudo apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
>

という具合に、新規アップグレードがゼロになっている。
ここ2ヶ月位何度繰り返しても同じ症状が続いていたので、いい加減、何かのバグではないかと疑う。

Ubuntuは厳密に依存関係を管理しているので安心して使えるのだが、まれにこれが裏目に出て、一旦依存関係がおかしくなると、素人にはなかなか対処が難しくなるのが、玉に瑕。

AskUbuntuでいろいろと調べたらやはり依存関係の問題。
Cannot install R on ubuntu 17.10

そこで、

sudo aptitude upgrade

とやって問題の解決を探る。
リンク先の指示によれば、最初のオプションは選択せず、r-cran-bootの更新をすればよさそう。
そこで、ZestyからArtfulへのダウンロードというわけのわからない選択肢をとると旨く行った。

どうやらzesty版のRのコンパイルが、Artful版よりも後だったために、ZestyをArtful版よりも新しいと解釈していたのかも。
実際になにが違うかわからないが。

aptとaptitudeの違いもよくわからないし、勉強することが多い。

結果は、

:~$ sudo aptitude upgrade

依存関係を解決中...
以下のパッケージは『削除』されます:
libfreerdp-cache1.1{u} libfreerdp-client1.1{u} libfreerdp-codec1.1{u}
(省略)
0 個のパッケージを更新、 0 個を新たにインストール、 29 個を削除予定、23 個が更新されていない。
アーカイブの 0 B を取得する必要があります。 展開後に 8,410 kB のディスク領域が解放されます。
先に進みますか? [Y/n/?]
(データベースを読み込んでいます ... 現在 282488 個のファイルとディレクトリがインストールされています。)
libfreerdp-gdi1.1:amd64 (1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1) を削除しています ...
libfreerdp-cache1.1:amd64 (1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1) を削除しています ...
(省略)
libc-bin (2.26-0ubuntu2.1) のトリガを処理しています ...
>

で余計なファイルを削除された。
次に、

:~$ sudo apt --simulate upgrade

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
linux-headers-4.13.0-25 linux-headers-4.13.0-25-generic
linux-image-4.13.0-25-generic linux-image-extra-4.13.0-25-generic
これを削除するには 'sudo apt autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
>

あれ、何も出ない。もしやと思い、r-cran-bootをインストールしてみた。

>

:~$ sudo aptitude install r-cran-boot

以下のパッケージが更新されます:
r-cran-boot{b}
1 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、22 個が更新されていない。
アーカイブの 617 kB を取得する必要があります。 展開後に 0 B のディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
r-cran-boot : 依存: r-api-3.4 以下のパッケージから提供されている仮想パッケージです:
- r-base-core (3.4.3-1artful0), 3.4.3-1zesty0 がインストール済みです
- r-base-core (3.4.2-2artful4), 3.4.3-1zesty0 がインストール済みです
- r-base-core (3.4.2-1ubuntu1), 3.4.3-1zesty0 がインストール済みです

以下のアクションでこれらの依存関係の問題は解決されます:

 以下のパッケージを現在のバージョンに一時固定する:

1) r-cran-boot [1.3-20-1zesty0 (now)]

この解決方法を受け入れますか? [Y/n/q/?] n ←受け入れないを選択

以下のアクションでこれらの依存関係の問題は解決されます:

 以下のパッケージを削除する:                  

1) r-base [3.4.3-1zesty0 (now)]
2) r-cran-boot [1.3-20-1zesty0 (now)]
3) r-cran-lavaan [0.5.22-1 (now)]
4) r-cran-pbivnorm [0.6.0-1 (now)]
5) r-cran-semtools [0.4.14-1 (now)]
6) r-recommended [3.4.3-1zesty0 (now)]

 Leave the following dependencies unresolved: 

7) r-base-core が r-recommended を推奨
8) rstudio-server が r-base (>= 2.11.1) を推奨

この解決方法を受け入れますか? [Y/n/q/?] n ←これも受け入れないを選択

以下のアクションでこれらの依存関係の問題は解決されます:

  以下のパッケージを更新する:                                             

1) r-cran-codetools [0.2-15-1 (now) -> 0.2-15-1build1 (artful)]
2) r-cran-crayon [1.3.2-1 (now) -> 1.3.2-1build1 (artful)]
3) r-cran-digest [0.6.12-1 (now) -> 0.6.12-1build1 (artful)]
4) r-cran-evaluate [0.10-1 (now) -> 0.10-1build1 (artful)]
5) r-cran-formatr [1.4-1 (now) -> 1.4-1build1 (artful)]
6) r-cran-highr [0.6-1 (now) -> 0.6-1build1 (artful)]
7) r-cran-knitr [1.15.1-2 (now) -> 1.15.1-2build1 (artful)]
8) r-cran-lavaan [0.5.22-1 (now) -> 0.5.22-1build1 (artful)]
9) r-cran-magrittr [1.5-3build1 (now) -> 1.5-3build2 (artful)]
10) r-cran-markdown [0.7.7-1 (now) -> 0.7.7-1build1 (artful)]
11) r-cran-mass [7.3-48-1zesty0 (now) -> 7.3-49-1artful0 (artful)]
12) r-cran-mgcv [1.8-22-1zesty0 (now) -> 1.8-23-1artful0 (artful)]
13) r-cran-mime [0.5-1 (now) -> 0.5-1build1 (artful)]
14) r-cran-mnormt [1.5-5-1 (now) -> 1.5-5-2build1 (artful)]
15) r-cran-pbivnorm [0.6.0-1 (now) -> 0.6.0-1build1 (artful)]
16) r-cran-quadprog [1.5-5-2 (now) -> 1.5-5-3build1 (artful)]
17) r-cran-rpart [4.1-11-1zesty0 (now) -> 4.1-13-1artful0 (artful)]
18) r-cran-semtools [0.4.14-1 (now) -> 0.4.14-1build1 (artful)]
19) r-cran-spatial [7.3-11-1zesty0 (now) -> 7.3-11-2build1 (artful)]
20) r-cran-stringi [1.1.2-1 (now) -> 1.1.2-1build1 (artful)]
21) r-cran-stringr [1.1.0-1 (now) -> 1.1.0-1build1 (artful)]
22) r-cran-yaml [2.1.14-1 (now) -> 2.1.14-1build1 (artful)]

  以下のパッケージをダウングレードする:                                   

23) r-base [3.4.3-1zesty0 (now) -> 3.4.3-1artful0 (artful)]
24) r-base-core [3.4.3-1zesty0 (now) -> 3.4.3-1artful0 (artful)]
25) r-base-dev [3.4.3-1zesty0 (now) -> 3.4.3-1artful0 (artful)]
26) r-cran-class [7.3-14-2zesty0 (now) -> 7.3-14-2artful1 (artful)]
27) r-cran-cluster [2.0.6-2zesty0 (now) -> 2.0.6-2artful1 (artful)]
28) r-cran-foreign [0.8.69-1zesty0 (now) -> 0.8.69-1artful1 (artful)]
29) r-cran-kernsmooth [2.23-15-3zesty0 (now) -> 2.23-15-3artful1 (artful)]
30) r-cran-lattice [0.20-35-1zesty0 (now) -> 0.20-35-1artful1 (artful)]
31) r-cran-matrix [1.2-11-1zesty0 (now) -> 1.2-11-1artful0 (artful)]
32) r-cran-nlme [3.1.131-3zesty0 (now) -> 3.1.131-3artful1 (artful)]
33) r-cran-nnet [7.3-12-2zesty0 (now) -> 7.3-12-2artful1 (artful)]
34) r-cran-survival [2.41-3-2zesty0 (now) -> 2.41-3-2artful0 (artful)]
35) r-recommended [3.4.3-1zesty0 (now) -> 3.4.3-1artful0 (artful)]

この解決方法を受け入れますか? [Y/n/q/?] Y ←受け入れた

以下のパッケージがダウングレードされます:
r-base r-base-core r-base-dev r-cran-class r-cran-cluster r-cran-foreign r-cran-kernsmooth
r-cran-lattice r-cran-matrix r-cran-nlme r-cran-nnet r-cran-survival r-recommended
以下のパッケージが更新されます:
r-cran-boot r-cran-codetools r-cran-crayon r-cran-digest r-cran-evaluate r-cran-formatr r-cran-highr
r-cran-knitr r-cran-lavaan r-cran-magrittr r-cran-markdown r-cran-mass r-cran-mgcv r-cran-mime
r-cran-mnormt r-cran-pbivnorm r-cran-quadprog r-cran-rpart r-cran-semtools r-cran-spatial
r-cran-stringi r-cran-stringr r-cran-yaml
23 個のパッケージを更新、 0 個を新たにインストール、 13 個をダウングレード、 0 個を削除予定、0 個が更新されていない。
アーカイブの 45.2 MB を取得する必要があります。 展開後に 95.2 kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]
取得: 1 http://jp.archive.ubuntu.com/ubuntu artful/universe amd64 r-cran-spatial amd64 7.3-11-2build1 [127 kB]
取得: 2 http://jp.archive.ubuntu.com/ubuntu artful/universe amd64 r-cran-codetools all 0.2-15-1build1 [45.9 kB]
(省略)
>

この後、処理が粛々と進む。

:~$ sudo apt list --upgradable

一覧表示... 完了
r-cran-class/artful 7.3-14-2build1 amd64 [7.3-14-2artful1 からアップグレード可]
r-cran-cluster/artful 2.0.6-2build1 amd64 [2.0.6-2artful1 からアップグレード可]
r-cran-foreign/artful 0.8.69-1build1 amd64 [0.8.69-1artful1 からアップグレード可]
r-cran-kernsmooth/artful 2.23-15-3build1 amd64 [2.23-15-3artful1 からアップグレード可]
r-cran-lattice/artful 0.20-35-1build1 amd64 [0.20-35-1artful1 からアップグレード可]
r-cran-matrix/artful 1.2-11-1build1 amd64 [1.2-11-1artful0 からアップグレード可]
r-cran-nlme/artful 3.1.131-3build1 amd64 [3.1.131-3artful1 からアップグレード可]
r-cran-nnet/artful 7.3-12-2build1 amd64 [7.3-12-2artful1 からアップグレード可]
r-cran-survival/artful 2.41-3-2build1 amd64 [2.41-3-2artful0 からアップグレード可]
>
という具体に、artful版へのアップグレードができるようになった。

:~$ sudo apt update

後は普通のアップグレードなので省略。

:~$ sudo apt --simulate upgrade
:~$ sudo apt upgrade -y


Ubuntu17.10-Artful をクリーンインストール

12月中旬から続く問題が解決しないので、クリーンインストールすることにした。

Windowsをインストールしようとして用意していたパーティションが丸々空いていたので、それを使うことにして、上書きはしない。

手順を今後のためにメモっておく。

  1. インストール直後に、バックアップからの「復元」をする。
    その際に、復元元をUSBとすると何故か起動しないので、あえて「その他のフォルダ」を選択してバックアップデータが格納されているところを直接指定する。復元先もハードディスクから選択して/homeを指定すると、home配下のmyディレクトリの下にHomeが作られてしまうので、ファイルシステム(/)を選択すれば入力メニュでは「元の場所」と表示される。
  2. 調べものがすぐできるように、最新版Firefoxのインストール
    Ubuntuのトラブルはウェブが唯一の情報ソース。何よりも優先。
    なおインストール後は、FireSyncでお気に入りフォルダやアドオン設定を同期させる。

  3. ウィルスチェック ClamTkをインストール
    あまり使っていなけど、何かのときのために。

  4. gnome-tweak ToolをインストールしてCAPS LockをCTRLキーに変換
    これがあるからUbuntuを使っていると言っても良いくらい気に入っている。Windowsは7からこれができなくなった。

  5. ホームディレクトリを日本語からシングルバイト表記にする。
    https://qiita.com/shishamo_dev/items/8bd3d2b358b9a74887f9
    Terminal画面で日本語にイチイチ切り替えながらディレクトリを探るのは面倒だから。MS-DOSを使っていたので、むしろアルファベット入力のほうが楽。

  6. R環境の構築

    • Rのインストール
      • Secure APTの設定(公開鍵を読み込む)
        https://cran.r-project.org/ からDownload for Linuxを経てUbuntuを選択。インストール関係の記述がある。
    • RStudioのインストール(サーバー版)
      https://www.rstudio.com/products/rstudio/download-server/
      上記解説では、apt installではなく、gdebi-coreを使えとのこと。
  7. Installing EPSON printer driver
    サイトに従って、まずはlsbをインストール
    http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=JA&CN2=&DSCMI=68680&DSCCHK=9cfbed218648f377e3e6d43562223c0d8042bc86
    ついでドライバをダウンロードしてインストール。ついでにスキャナも。

  8. 日本語入力のトラブル
    この点は日経Linuxの記事を参照。
    ibus-mozcをインストールする(リブートが必要)
    IMEの切り替えは、漢字キーではなく、Win+Spaceなので戸惑う(壊れたかと思った)

  9. VMwareのインストール

先にgksudoをインストール(グラフィカル版sudoインストール)

VMware Horizon Client4.6をダウンロード

https://my.vmware.com/web/vmware/details?downloadGroup=CART18FQ3_LIN64_460&productId=578&rPId=18819
The VMware Horizon client for 64-bit Linux
File size: 79.02 MB
File type: Installer Bundle

インストール作業はこちらを参照。

How to install VMware Horizon Client 4.5.0 on Ubuntu 17.04
https://askubuntu.com/questions/932017/how-to-install-vmware-horizon-client-4-5-0-on-ubuntu-17-04
How to install VMware Horizon Client 4.5.0 on Ubuntu 16.04LTS
https://askubuntu.com/questions/931691/how-to-install-vmware-horizon-client-4-5-0-on-ubuntu-16-04lts

したが、これは失敗だった。

例によって、一部のライブラリがない旨のエラーが出たがこれは前回散々研究したので対処は簡単だったが、VDIサーバ側が新しいバージョンのlibpng16に対応しておらずlibpng12を探しているようなので、VMWHCは4.5に戻すことにした。

1月4日追記

インストーラは起動するもののパラメタの設定画面の後で直ぐに終わってしまい、Installation Unsuccessfulという冷たいメッセージが出るのみで対処の方法がわからない。
いろいろと調べてみたが、このサイトに、インストーラのライブラリを削除するようにある。

Mike's Blag::VMware Horizon Client and The Installation Was Unsuccessful
http://blogs.warwick.ac.uk/mikewillis/entry/vmware_horizon_client/

また前回4.6をUninstallする際にパラメタを残したので、一旦インストールし直してからパラメタとともに削除しようと思い、インストールし直したら、すんなりと終わった。前回のようなライブラリのリンクエラーもない(修正したものがそのまま残っているから)。

さらに、前回16.10のときのVMwareインストールの記録を参照すると、libpng12はそのままライブラリからダウンロードしていたこともわかったので、それを真似する。(記録しておいてよかった)

:~/Downloads$ wget http://ftp.ca.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb
:~/Downloads$ sudo gdebi libpng12-0_1.2.50-2+deb8u3_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading state information... Done

PNG library - runtime
libpng is a library implementing an interface for reading and writing
PNG (Portable Network Graphics) format files.
.
This package contains the runtime library files needed to run software
using libpng.
ソフトウェアパッケージをインストールしますか? [y/N]:y
以前に未選択のパッケージ libpng12-0:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 196380 個のファイルとディレクトリがインストールされています。)
libpng12-0_1.2.50-2+deb8u3_amd64.deb を展開する準備をしています ...
libpng12-0:amd64 (1.2.50-2+deb8u3) を展開しています...
libpng12-0:amd64 (1.2.50-2+deb8u3) を設定しています ...
doc-base (0.10.7) のトリガを処理しています ...
doc-base ファイルを 1 個追加 を処理中...
libc-bin (2.26-0ubuntu2) のトリガを処理しています ...

これで休日に自宅にいてもバッチリ仕事が出来る\(^o^)/