技術者になりたい何か

技術者になりたい何かの覚書的な何かです

メイン機のLinuxをArchにしました

なぜArchにしたし

元々使ってたのはLMDEでした。
元PCにはHDD3台にそれぞれWindows10(Insider Preview),Windows Vista,LMDE(Linux Mint Debian Edition)という仕様。
ちなみにk10世代でしたし純BIOSです。

前記事でも少し触れましたがとうとうRyzenにしました。
さすがのAMDでもMBにもメモリにも互換性ないのでほぼ新規組立。
ちなみに旧PCは最近PC壊れたとか言ってた職場の後輩に格安で提供。
余談ですがうちの鯖機はAthlon64x2 4800+ & M2AVMという化石のような構成ですが安定稼働してます。
しばらくあけてないけどコンデンサ大丈夫でしょうかね。

で、Ryzen機にHDDそのままつないでLMDE動くかなーと思ったら動きませんでした。
BIOSUEFIなので当り前ですね。UEFIよくわかってないけど。
busyboxに落ちたりGUI起動にこけるならまだやる気も沸いたけど、完全に起動途中で止まってるので手の出しようが無さそう。
というわけでLMDE入れ直そうと考えました。

が、ここで問題発生。

gihyo.jp


2年ぶり?公式のブログとか見てもなんだかLMDEの情報少ないような気がします。
噂によるとRyzenに正式対応しているカーネルは4.10以降とかなんとか。新しいハード構成なので、色々と古いのは支障が出そうです。
じゃあDebianで・・・jassieではカーネル3.16 stertchでも4.9・・・

あとfglrxがなくなってamdgpu-proになった模様です。浦島な気分です。
AMDの公式配布のLinux用ドライバはCentOS/RHEL,Ubuntu,SLED/SLESです。なぜUbuntuはあってDebianはないのでしょうか。
ArchのWiki見てみたらamdgpu-proの導入方法があったし、AURにパッケージあるっぽかっのでこれはいけるかも
あとArchなら基本的にほぼ最新のカーネル降りてきます。

じゃあArchにしよう。ちょうどUSBも1GBのしかないですし。
(手持ちの8GBはWindows10のインストールメディアにしてしまって他のいくつかは行方不明です。
 しかも光学ドライブは付いてないです。旧PCに載っけたまま譲っちゃいました。

というわけでArch入れるよ

参考にしたところ

Arch LinuxをUEFI + GPT環境にインストールする

VMwareにArch Linuxをインストールしよう - Qiita

インストールガイド - ArchWiki

基本的な流れを把握したら、あとは順にやっていけば大丈夫です。基本的に。
パーティション → base インストール → chrootで最低限の設定 → bootloaderインストールって感じですね。
ここまでやったらHDDで起動自体はできるので、あとは好みに応じたGUI環境とか設定入れていけばよいです。

一応実機入れる前に仮想環境で何度か入れていたことが有りましたので、流れ自体は把握してたのでよかったです。
とはいえ使うコマンド全部覚えてたわけじゃないので調べながらでしたけど。

GUI環境+RX560用の色々を入れてみるよ

GUI環境はとりあえずmate。使い慣れたのがいいですね。
Xorg,Mate,LightDMあたりとその他適当に。

ここでamdgpu-proを入れてみる・・・

と思うじゃん。

AMDGPU - ArchWiki

「AMDGPU PRO を使うには linux (4.8 または 4.9) と Xorg (1.18) パッケージのダウングレードが必要になります。」

えーと、Ryzen対応のカーネルは4.10以降なんだけど、4.10以降のカーネルにはamdgpu-proは入れられない。
CPUかGPUかどっちかにしろって事ですねわかりません。

ダメもとでそのままamdgpu-pro突っ込んだら起動しなくなりました。
GUIが起動しないんじゃなくて、カーネルがPCIdevice見失ってる?っぽいメッセージが出て起動プロセスが止まります。
Recovery modeもダメだし、busyboxにも落ちないので何もできず。
入れ直し。

amdgpu-proは使えないけどもxf86-video-amdgpu+mesa-vdpau で結構快適です。
動画再生支援が聞いてるかは微妙ですが、不快な感じは無し。特に問題無く使えてます。
ベンチはしてない。

あとRyzen用の設定各種

sensorsにはit87が必要だった模様

普通に入れて設定してみたけどどーも温度とか拾ってくれません。というか拾っている項目が少なすぎます。

$ yaourt -S lm_sensors
$ sudo sensors-detect
$ sensors

どうもit87-driverが必要とかなんとか(MSIはnct6775とかなんとか
Ryzen Temperature Monitoring(Arch Forum)
https://bbs.archlinux.org/viewtopic.php?id=225370

$ yaourt -S it87-dkms-git
$ sudo modprobe it87
$ sudo sensors-detect
$ sensors
amdgpu-pci-2500
Adapter: PCI adapter
fan1: 1020 RPM
temp1: +39.0°C (crit = +0.0°C, hyst = +0.0°C)

it8655-isa-0290
Adapter: ISA adapter
in0: +0.42 V (min = +2.57 V, max = +2.34 V) ALARM
in1: +2.50 V (min = +2.32 V, max = +0.95 V) ALARM
in2: +2.03 V (min = +2.47 V, max = +1.23 V) ALARM
in3: +2.04 V (min = +1.91 V, max = +1.29 V) ALARM
in4: +2.04 V (min = +2.67 V, max = +0.72 V) ALARM
in5: +1.96 V (min = +2.69 V, max = +2.57 V) ALARM
in6: +2.04 V (min = +2.05 V, max = +1.62 V) ALARM
3VSB: +1.68 V (min = +2.41 V, max = +2.26 V) ALARM
Vbat: +1.65 V
+3.3V: +1.68 V
fan1: 1117 RPM (min = 16 RPM)
fan2: 505 RPM (min = 27 RPM)
fan3: 551 RPM (min = 20 RPM)
temp1: +39.0°C (low = -110.0°C, high = +59.0°C)
temp2: +35.0°C (low = -25.0°C, high = +87.0°C)
temp3: +41.0°C (low = -66.0°C, high = -33.0°C) ALARM sensor = thermistor
intrusion0: ALARM

asus-isa-0000
Adapter: ISA adapter
cpu_fan: 0 RPM

 

きましたね。in0がVcore?min,maxの数値がおかしいですが、取れてるので良しとします。

起動時にit87読んでくれるように/etc/modules-load.d/にit87用の設定ファイルを置きます。
it87.confを作成。中身はit87と書いておきます。

$ sudo emacs /etc/modules-load.d/it87.conf
it87

これで再起動時にも勝手に読んでくれるのでmodprobeしなくてもいきなりsensorsが使えるようになります。

Zenstatesで定電圧化orOC

ここにあるのでgitとかで取ってきます

github.com

modprobe msr してから -lつけて実行すると今のstatesが見れます。

ここから-f -d -vオプションでクロック、電圧の調整。
modprobe msr がめんどい人は上のit87みたいに/etc/modules-load.d/にmsrって書いたファイル突っ込んどけばよいです。

$ modprobe msr
$ sudo ZenStates-Linux/zenstates.py -h
usage: zenstates.py [-h] [-l] [-p {0,1,2,3,4,5,6,7}] [--enable] [--disable] [-f FID] [-d DID] [-v VID]

Sets P-States for Ryzen processors

optional arguments:
-h, --help show this help message and exit
-l, --list List all P-States
-p {0,1,2,3,4,5,6,7}, --pstate {0,1,2,3,4,5,6,7}
P-State to set
--enable Enable P-State
--disable Disable P-State
-f FID, --fid FID FID to set (in hex)
-d DID, --did DID DID to set (in hex)
-v VID, --vid VID VID to set (in hex)
--c6-enable Enable C-State C6
--c6-disable Disable C-State C6
$ sudo ./ZenStates-Linux/zenstates.py -l
P0 - Enabled - FID = 8C - DID = 8 - VID = 38 - Ratio = 35.00 - vCore = 1.20000
P1 - Enabled - FID = 78 - DID = 8 - VID = 58 - Ratio = 30.00 - vCore = 1.00000
P2 - Enabled - FID = 7C - DID = 10 - VID = 8A - Ratio = 15.50 - vCore = 0.68750
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Enabled
C6 State - Core - Enabled

 

うちの1500XはOCはWindows上で定格電圧では3.8G位までしか安定しないことが分かっています。
(軽いベンチはクリアできるけどprime95は30秒持たない)
Linux上では低電圧攻めてみましょうか。

hexだし基準値から-される計算だったりするのでめんどいですけど、出たばかりのCPUでこういったツールがあるのは珍しいかもしれない。

$ sudo ./ZenStates-Linux/zenstates.py -p 0 -v 38
$ sudo ./ZenStates-Linux/zenstates.py -p 1 -v 58
$ sudo ./ZenStates-Linux/zenstates.py -p 2 -v 8A

$ sudo ./ZenStates-Linux/zenstates.py -l
P0 - Enabled - FID = 8C - DID = 8 - VID = 38 - Ratio = 35.00 - vCore = 1.20000
P1 - Enabled - FID = 78 - DID = 8 - VID = 58 - Ratio = 30.00 - vCore = 1.00000
P2 - Enabled - FID = 7C - DID = 10 - VID = 8A - Ratio = 15.50 - vCore = 0.68750
P3 - Disabled
P4 - Disabled
P5 - Disabled
P6 - Disabled
P7 - Disabled
C6 State - Package - Enabled
C6 State - Core - Enabled

$ sensors
amdgpu-pci-2500
Adapter: PCI adapter
fan1: 1020 RPM
temp1: +39.0°C (crit = +0.0°C, hyst = +0.0°C)

it8655-isa-0290
Adapter: ISA adapter
in0: +0.42 V (min = +2.57 V, max = +2.34 V) ALARM
in1: +2.50 V (min = +2.32 V, max = +0.95 V) ALARM
in2: +2.03 V (min = +2.47 V, max = +1.23 V) ALARM
in3: +2.04 V (min = +1.91 V, max = +1.29 V) ALARM
in4: +2.04 V (min = +2.67 V, max = +0.72 V) ALARM
in5: +1.96 V (min = +2.69 V, max = +2.57 V) ALARM
in6: +2.04 V (min = +2.05 V, max = +1.62 V) ALARM
3VSB: +1.68 V (min = +2.41 V, max = +2.26 V) ALARM
Vbat: +1.65 V
+3.3V: +1.68 V
fan1: 1117 RPM (min = 16 RPM)
fan2: 505 RPM (min = 27 RPM)
fan3: 551 RPM (min = 20 RPM)
temp1: +39.0°C (low = -110.0°C, high = +59.0°C)
temp2: +35.0°C (low = -25.0°C, high = +87.0°C)
temp3: +41.0°C (low = -66.0°C, high = -33.0°C) ALARM sensor = thermistor
intrusion0: ALARM

asus-isa-0000
Adapter: ISA adapter
cpu_fan: 0 RPM

 

クロック落としたりすればもう少し攻められそうな気もしますが。


■感想

数年前にはインストールで躓いたけど割とスムーズに入れられました。
基本的に余計なものが入ってこなかったり、設定ファイル書き換えられたりっていうのが少なくて快適です。
自力感が味わえるかもしれないです。
新しいパッケージがガンガン降りてくるので、そういうのが好きな人には良いと思います。
ローリングリリースなので、一回入れてしまえば再インストールの手間はないです。壊さない限り。

「ディスプレイドライバが応答を停止しましたが、正常に回復しました」との戦いの顛末

久々にPC組んだらこれだよ・・・
というわけで2か月近くに及ぶ戦いに勝利したので書いときます。

先に結論


「ディスプレイドライバが応答を停止しましたが、正常に回復しました」の原因はメモリ。
メモリ自体が不良ってわけじゃなくて、俗にいう相性というやつの模様。
メモリ買い替えたら直りました。

構成

CPU:Ryzen5 1500X
メモリ:Corsair CMK8GX4M2A2666C16(Ver.5.30)
MB:ASUS B350-PLUS
グラボ:SAPPHIRE RX560
電源:玄人志向 KRPW-N600W
OS:Windows10 Pro

症状

BIOS POSTは正常。
Windows起動も正常。
ブラウジングの時にしばしばカーソルが反応しなくなる⇒数秒後に画面暗転⇒数秒後に勝手に復旧
  ⇒タスクトレイのメッセージに表題の「ディスプレイドライバが応答を停止しましたが、正常に回復しました」
  ⇒イベントビューアでは「ディスプレイ ドライバー amdkmdap が応答を停止しましたが、正常に回復しました。」
CINEBENCHGPUはほぼ完走できず。途中でホワイトアウト。⇒Windows自体は生きてるので、タスクマネージャとかからCINEBENCH強制終了はできる。
  発生確率は体感7割くらい。
FF14紅蓮のベンチは完走できず。「DirectXに致命的なエラーが」とかなんとか

頻度が結構なのと、まともにベンチ取れないのできつかった。

調査と戦い

軽く調べてみると・・・
Windows XP以降のどのWindowsでも起こる模様。
NVIDIA,AMD,ATIのどれでも起こる模様。
これやったらなおったよ、という記事はたくさんあるけど、みんなバラバラ。つまり原因不明、というか原因はバラバラ。

1.グラボが原因?


まぁグラボっぽいですよね。最初に疑いました。
このエラーがグラボ起因で出る時の原因は主に3つ。
・グラボの故障
・グラボの物理的接触不良(取り付けミス)
・ドライバがおかしい

自作erは故障を疑うのは最後です。
グラボ抜き差ししてみたけど症状変わらず。新品なので埃等による冷却性能低下などは考えにくいです。

次はドライバ。割と新製品なのでこれは疑わしい。
DDUを使って旧ドライバ完全削除して、AMDからの最新のドライバ(ベータと正式版の2種類)を試みる。

www.guru3d.com

 

結果変わらず。

2.BIOS


まぁ新しいですしね。Ryzen用MBはまだBIOS成熟しきってないという話もありますし。
ASUSのサイトから新しい方から3つくらい拾ってきます。
0613 Agesa1.0.0.6α
0609
0606 Agesa1.0.0.4α
あたり。他にも試した気がするけどもう忘れました。
結果は変わらず。

3.メモリ?
www.btopcinfo.com

www.btopcshop.com


まさかのメモリ?しかも相性?
とりあえず今回のメモリをD.O.C.P(XMPプロファイル)有効無効で症状の発生具合を調べてみるがあまり変わらない。
ちなみにこの辺でmemtest走らせてみるけど問題無く2passくらい。
⇒メモリの「不具合」ではないし、2666稼働が厳しいわけでもなさそう。

とはいえグラボ・BIOSの線はほぼ消えてるので、メモリはもうちょい検証してみました。
というわけで基本の2枚刺し⇒1枚刺しすると・・・
嘘のように症状が消えます。
すると問題はメモリの相性orメモリスロット。
A2-B2に刺してたのをA1-B1にしてみる→症状発生
A1-A2に刺してみる→症状発生
B1-B2に刺してみる→症状発生

A1のみ1枚→症状発生せず
B1のみ1枚→症状発生せず
A2のみ1枚→症状発生せず
B2のみ1枚→症状発生せず

どうもデュアルチャネル関係なしに、2枚さすのはダメな模様ですね。
この間2133,2666で試す、2枚のメモリの組み合わせを変えてみる等々しているので、
実際に試した組み合わせは詳しく覚えていません。
ただ、2枚刺しではほぼ必ず症状発生。1枚では症状発生せず。
また、2枚のメモリのどちらか1枚が原因という事も無さげです。

ここが上記BTO高知さんの状況と違うところ。2枚の内どちらかで症状発生ならメモリ確定とするところですが、
2枚とも1枚刺しでは正常稼働を確認しているため、確実にメモリとは言い切れません。

この時点で可能性としては
・メモリの相性(2枚だとダメ)
・MBの不具合(でも特定のメモリスロットがダメというのではない)
・CPUのメモコン

あと、非常に低い可能性としてグラボの初期不良・電源の初期不良が有ります。
電源は容量的には十分なはずなので、高負荷時に供給が不安定になっていると・・・ってことですね。
まぁ、この辺の可能性はかなり低いでしょう。全てを試してダメなら・・・という感じです。


それからどうした

ドスパラの通販でまとめて購入したので、サポートに聞いてみた。
状況説明して、相性、MB不具合、CPUのメモコン不具合のどれかだと思うけど・・・と。
メルマガ会員になってたので初期不良1ヶ月以内です。
サポートの人曰く、「MBの不具合の可能性が高いので、CPU,MB,メモリを送ってくれないか」とのこと。
ついでにグラボも見てくれると言うので、CPU,MB,メモリ,グラボを送って調べてもらいました。
ちなみに集荷の手配はドスパラでやってくれて、配送料は無料です。

5日後くらい
電話かかってきて、「MBにIOエラー有、他のパーツは正常を確認。MBを初期不良として新品交換します」とのこと。

なおったか

と思って組んでみたけど症状再発。MB2連続初期不良ってあんまり考えられない。なくはないけど。

ちなみにCorsairのメモリはVer.5系はHynix。Ryzenと相性悪いです。
というわけで、しばらく一枚刺しで稼働しながらメモリを物色しました。
3400以上だとRyzen環境では最高のパフォーマンスを発揮するSamsungのB-dieものの確率が上がるようですが、
3000以下ではおみくじです。G.SkillすらHynixが混じってる。
しかも迷ってる間にもメモリ価格は高騰。一時期噂になった(?)Samsungの純正バルクB-dieもほとんど残っていません。
そしてB350-PLUSのQVLに載ってるメモリはことごとく売り切れて入荷待ちになっていく。

それからどーした

そこで見つけたのは安定のMicron(のチップを確定で使ってるCrusial)。
安定と言っても、まぁ普通じゃない?という感じですけど。
Ryzen環境では
Samsung B-die>超えれらえない壁>>>>>>>>>Samsung B-die以外>>Micron>>>>>>>>>>Hynix
という感じでしょうか。結構今回の件での偏見が入ってるかもしれませんが。

というわけで候補はCrusial by MicronのBME or BMTあたりになりました。
よくよく調べてみるとどうやら
BME Eliteシリーズ→海外でBLEhogehoge
BMT Tacticalシリーズ→海外でBLThogehogeのようです。たぶん。
もう一つSportsシリーズ(BMS)→海外でBLSってのがありますが、どうもあまり売ってないので無視します。

BLT4Gとすれば、2666が2666で動いたとQVLのリストに載っています。だからといって動くとは限りませんが。
3000は載ってませんでしたが、Agesa1.0.0.6にかけて3000BMTにしました。
3000として動かなくても2枚刺しで安定してくれれば良しとします。(ドスパラで特価だった)


そうしてどーなった

結局W4U3000BMT(4Gx2)にしたわけですが、刺しなおして一発で2933起動。
今回の発端となった「ディスプレイドライバが応答を停止しましたが、正常に回復しました」は
換装して1週間ちょいですが、まだ一回も発症しておりません。
こけまくったベンチもすべて安定して完走。3DMarkもエラーなく走り切りました。

あ、ちなみに調子のって3200起動しようとしましたがダメでしたね。タイミング緩めれば行けるかもしれませんが、この辺がMicronチップの限界と言われればそーなのかなと思います。

結局最初に組んでから完全解決までに2か月近くかかってしまった。

 

ながれ

6/15一式購入

6/18完成

6/19戦闘開始

7/3メモリが原因っぽいのをつきとめる

7/13サポートから戻ってきて復活・・・したと思った

7/17再発して電源プランを疑う

7/31Radeonのドライバ更新の望みをかけるも打ち砕かれる

8/7やっとこさメモリ決める

8/9メモリ換装して戦い終了の予感

そーいうことでしたね


こうして見てみると買い替えのメモリ迷ってた期間長すぎだろ。いや、メモリ今高いですしね。。。

まとめ


・「ディスプレイドライバが応答を停止しましたが、正常に回復しました」の原因はメモリであることも有る。(確率は知らない)
・memtest問題無いメモリでも発症する
・Corsairのメモリはおみくじ

パッケージ管理しりーず dpkgによるパッケージ管理 (Debian系)

dpkgとは


Debian系で使われているパッケージ管理コマンド。
Red Hat系のrpmコマンドとほぼ対応する立ち位置にいる。
対象となるファイルはDebian形式のパッケージファイルで、拡張子は.debである。

主なオプション


-E 同バージョンが既にインストールされていればインストールを行わない
-Q 新バージョンが既にインストールされていればインストールを行わない
-R ディレクトリを再帰的に処理

-i(--install) パッケージファイル名 パッケージのインストール
-r(--remove) パッケージ名 パッケージのアンインストール
-P(--purge) パッケージ名 パッケージの完全削除(設定ファイルも含めて削除)
-l(--list) [検索パターン] インストール済みパッケージを検索して表示
-L(--listfiles) パッケージ名 指定したパッケージからインストールされたファイルを一覧表示
-s(--status) パッケージ名 指定したファイルがどのパッケージからインストールされたか表示
-C(--audit) 壊れているパッケージのチェック

使い方

$ sudo dpkg -i hoge.deb
$ sudo dpkg -l hoge

vimdebパッケージをDLしてインストールとかだとこんな感じ。

$ ls -l | grep vim
-rw-r--r-- 1 tmin tmin 952724 Nov 23 01:53 vim_7.4.488-7+deb8u1_amd64.deb

$ sudo dpkg -i vim_7.4.488-7+deb8u1_amd64.deb

 

rpmコマンドと同じく、リポジトリを参照してパッケージインストールとかはできないので、
基本的には配布されている必要なパッケージにリポジトリが用意されていなかったりして、aptが使えないときに使用することになる。
パッケージをDLしてきて手元に置いてインストールするという手法である。
検索についても、リポジトリ上のパッケージ群から探すのではなく、そのシステムにインストールされているパッケージから選択をする。

よって、dpkg -l 以外はaptが使用できる環境であればaptを使うべきだし、dpkgを使用して直接にdebパッケージをインストールする前に
そのパッケージを配布しているリポジトリが無いか探すべきである。

しかし、どうしてもない場合ないしバージョンにこだわりがある場合、もしくはネット環境が無い場合など、まれに必要になることもある。
ちなみにGUIでパッケージインストーラーにてdebファイルをインスコしようとして、リポジトリにそのパッケージのより新しいバージョンがある場合、
リポジトリから入れてよね!!と言わんばかりの警告が出るが、無視してインストールすることは依存関係を満たせば可能である。
また、依存関係で警告が出ている際にも--forceをつけることによって強制的にhogehogeしたりできる。
しかし、のちにupdateでエラー吐いたり、upgradeでエラー吐いたり色んなトラブルのもとになるのであまりお勧めしない。

なお、aptは裏でdpkgを呼んでいるらしい。


こわれたときのなおしかた

dokgでリポジトリ経由しないでdebパッケージインストールしたりして、
依存関係がおかしくなったりするとこんなエラーが出たりする。


You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
vim : Depends: vim-common (= 2:7.4.488-7+deb8u1) but 2:7.4.488-7+deb8u2 is installed
Depends: vim-runtime (= 2:7.4.488-7+deb8u1) but 2:7.4.488-7+deb8u2 is installed
zsh : Depends: zsh-common (= 5.3.1-4) but it is not installed
Depends: libtinfo5 (>= 6) but 5.9+20140913-1+b1 is installed
Recommends: libc6 (>= 2.23) but 2.19-18+deb8u7 is installed
Recommends: libncursesw5 (>= 6) but 5.9+20140913-1+b1 is installed
E: Unmet dependencies. Try using -f.

上記の場合はvimzshの依存関係で問題有り。

こんな感じで直せることが多い。

$ sudo dpkg --configure -a
$ sudo apt-get -f install

 

実行例

$ sudo dpkg --configure -a
dpkg: dependency problems prevent configuration of vim:
vim depends on vim-common (= 2:7.4.488-7+deb8u1); however:
Version of vim-common on system is 2:7.4.488-7+deb8u2.
vim depends on vim-runtime (= 2:7.4.488-7+deb8u1); however:
Version of vim-runtime on system is 2:7.4.488-7+deb8u2.

dpkg: error processing package vim (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of zsh:
zsh depends on zsh-common (= 5.3.1-4); however:
Package zsh-common is not installed.
zsh depends on libtinfo5 (>= 6); however:
Version of libtinfo5:amd64 on system is 5.9+20140913-1+b1.

dpkg: error processing package zsh (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of zsh-static:
zsh-static depends on zsh; however:
Package zsh is not configured yet.

dpkg: error processing package zsh-static (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
vim
zsh
zsh-static

sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
vim
Suggested packages:
ctags vim-doc vim-scripts
The following packages will be REMOVED:
zsh zsh-static
The following packages will be upgraded:
vim
1 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
3 not fully installed or removed.
Need to get 0 B/953 kB of archives.
After this operation, 4,776 kB disk space will be freed.
Do you want to continue? [Y/n] y
Reading changelogs... Done
(Reading database ... 164824 files and directories currently installed.)
Removing zsh-static (5.3.1-4) ...
Removing zsh (5.3.1-4) ...
Processing triggers for man-db (2.7.0.2-5) ...
(Reading database ... 164760 files and directories currently installed.)
Preparing to unpack .../vim_2%3a7.4.488-7+deb8u2_amd64.deb ...
Unpacking vim (2:7.4.488-7+deb8u2) over (2:7.4.488-7+deb8u1) ...
Setting up vim (2:7.4.488-7+deb8u2) ...

$ sudo dpkg --configure -a

 

2回めのdpkg --configure -a で出力がなければ問題解決してるはず。