half-installed の解決

volumioでパッケージ依存をいじってたら、systemdパッケージについてエラーが出るようになってしまった。

dpkg: error processing package systemd (--configure):
 package systemd is not ready for configuration
 cannot configure (current status `half-installed')
Errors were encountered while processing:
 systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)

下記で一旦削除のち、再度インストールで解決する。

volumio@volumio:~$ cd /var/lib/dpkg/info/
volumio@volumio:/var/lib/dpkg/info$ sudo dpkg --remove --force-remove-reinstreq systemd
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: package is in a very bad inconsistent state; you should
 reinstall it before attempting a removal
(Reading database ... 28515 files and directories currently installed.)
Removing systemd (215-17+deb8u6) ...
Processing triggers for dbus (1.8.22-0+deb8u1) ...
volumio@volumio:/var/lib/dpkg/info$ sudo apt-get install systemd

参考元:

ソフトウェア更新時にハングアップ(Lubuntu14.04) - ねこはねこ

Devise + CanCanCan + rolify導入メモ

qiita.com 上記の通りにやってると、

user.add_role "admin"

でエラーが出た。

検索すると下記に解決方法があった。

stackoverflow.com

/app/models/role.rb の下記を削除すればOK。

:optional => true

あと、シンボル指定に変更したり、

user.add_role :admin

下記を修正したら動作した。

# 修正前
<% if user.has_role? :admin %>
# 修正後
<% if current_user.has_role? :admin %>

Markdown記法便利です。