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