2013/07/17(水)apt周りあれこれ(続き)

2013/07/17 11:50 PC(Linux)
aptitude upgradeは通るようになったけど、警告がバンバン出る。どうやらapt周りの警告基準が変わった模様。
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。24687 行目付近、パッケージ 'am-utils':
 `amd' を参照する `Replaces' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。24690 行目付近、パッケージ 'am-utils':
 `amd' を参照する `Conflicts' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。58611 行目付近、パッケージ 'root-tail':
 `rt' を参照する `Conflicts' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。73297 行目付近、パッケージ 'wmnetselect':
 `mozilla' を参照する `Suggests' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。77093 行目付近、パッケージ 'e3':
 バージョン文字列 'e3-2.30-1' にエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。84479 行目付近、パッケージ 'tac-plus':
 バージョン文字列 'F4.0.4.alpha-9.1' にエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。139337 行目付近、パッケージ 'epic4-script-thirdeye':
 `epic4' を参照する `Depends' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。165107 行目付近、パッケージ 'cnews':
 バージョン文字列 'cr.g7-31' にエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。208613 行目付近、パッケージ 'request-tracker1':
 `rt' を参照する `Conflicts' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
dpkg: 警告: ファイル '/var/lib/dpkg/available' を解析。221822 行目付近、パッケージ 'epic4':
 `epic4-help' を参照する `Conflicts' フィールド: バージョンにエラー: バージョン番号が数字から始まっていません
(データベースを読み込んでいます ...
はい、available絡みですね。古いリポジトリ情報が残ってるんでしょう。
# dpkg --clear-avail
これで解消。
dpkg: 警告: ファイル '/var/lib/dpkg/status' を解析。1703 行目付近、パッケージ 'doc-debian-ja':
 architecture が見つかりません
こっちはなんだろ。apt-show-versionsで見てみる。
# apt-show-versions -a doc-debian-ja
doc-debian-ja 2.2.2.2 install ok installed
No stable version
No stable-updates version
No testing version
No unstable version
doc-debian-ja 2.2.2.2 installed: No available version in archive
うーん、現バージョンなしdocということで消す。
#dpkg -r doc-debian-ja
dpkgの警告はこれで解消。

で、insserv: warning: script 'hogehoge' missing LSB tags and overrides
がたくさん出るけどこれはどうしようもない気がするので保留。起動スクリプトに決まった書き方が出来たんだろうけどうーん全部直すのはことだぞ。

あと、qmailの依存関係を暇なときに解消することにする。

こっから愚痴だけど、debianは保守的なのが売りなのにubuntuからのフィードバックで更新が加速してしまった。wheezy前後でかなりパッケージシステムに改訂が入った模様。

整備されていくのはよいことだが、変わったものが短期間でまた変わらないか危惧はしている。警告基準が変わるのも厄介。update-rc.dもinsservになってしまったし、うーんこれで綺麗になっているなら良いのだが継続的に変わるようだといやだな。

まあ情報仕入れてない私が悪いのだ。元々は勉強用だった自宅鯖。その役割は十分に果たしたし、便利に使ってはいるが今の自分には管理コストが高過ぎる気がする。自宅鯖はどこかで諦めなければいけないかも知れない。とりあえず今回の一連の作業でaptがあまりに遅かったため、サーバハードのアップグレードは考え中。

サービス絞ってwinサーバにしちゃうってのはアリでしょうねえ……

[2013/11/13追記]
qmail周りの依存関係を整理して入れ直した。

ごたごたしていて細かいメモを紛失した。
ほぼ以下の通り。
debian/wheezy で qmail を入れる - T-Saitohの仕事日記

現状メールサーバは送信だけ出来ればいいやの世界になってきたので、Postfixへの切り替えを考え中。

2013/07/16(火)apt周りあれこれ

2013/07/16 27:07 PC(Linux)
#aptitude upgrade
しようとしたら、依存関係が色々ぶつかって通らなくなってた問題。
(いつも通り、先頭sudoは適宜読み換えて下さい)

wheezyにしたときにちゃんと整備してなかったのが今になって出てきたっぽい。

とりあえず、
#aptitude upgrade --full-resolver
して、お勧めの方法でやってしまう。
 slang1:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 gnome-users-guide-es:none : 依存: scrollkeeper:none[仮想パッケージです]
 libpcap0:none : 依存: libc6:none (>= 2.2.3-7)[仮想パッケージです]
 libperl5.6:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 ide-smart:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libguile9 : 依存: libreadline4 (>= 4.3-1)[仮想パッケージです]
 perl-5.6:none : 依存: perl:none (>= 5.6.0-20)[仮想パッケージです]
 libident:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 nas-lib:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libcap1:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 webrick:none : 依存: libruby:none (>= 1.6.5)[仮想パッケージです]
 libpisock4:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libg++27 : 依存: libc5 (>= 5.4.7-6)[仮想パッケージです]
 mc-common:none : 依存: perl:none[仮想パッケージです]
 python2.1 : 依存: libreadline4 (>= 4.3-1)[仮想パッケージです]
 slang1a-utf8:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 libdns5:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 aalib1 : 依存: slang1 (> 1.4.9dbs-4)[仮想パッケージです]
 kjc:none : 依存: java-common:none[仮想パッケージです]
 watanabe-vfont:none : 依存: vflib2:none (>= 2.25.1-4.1)[仮想パッケージです] または
                             vflib3:none (>= 3.6.8-1.1)[仮想パッケージです]
 ipchains:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
                 依存: debconf:none[仮想パッケージです]
 gnome-users-guide:none : 依存: scrollkeeper:none[仮想パッケージです]
 libdb2:none : 先行依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 libdb2-util:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 libisc4:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libjasper-1.701-1:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
                          依存: libjpeg62:none[仮想パッケージです]
 libdb4.0:none : 依存: libc6:none (>= 2.3.2-1)[仮想パッケージです]
 libjcode-perl:none : 依存: perl5:none[仮想パッケージです]
 ipmasqadm:none : 依存: libc6:none (>= 2.2.2-2)[仮想パッケージです]
 libupnpsdk1:none : 依存: e2fsprogs:none (>= 1.27-2)[仮想パッケージです]
                    依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
                    依存: libuuid1:none[仮想パッケージです]
 libmm11:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libmm13:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
 perl-5.6-base:none : 依存: perl-base:none (>= 5.6.0-20)[仮想パッケージです]
 linuxigd:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
                 依存: libstdc++2.10-glibc2.2:none (>= 1:2.95.4-0.010810)[仮想パッケージです]
 libnkf-ruby:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
                    依存: libruby:none (>= 1.6.7-3woody5)[仮想パッケージです]
 libnewt0:none : 依存: libc6:none (>= 2.2.4-4)[仮想パッケージです]
 libreadline4:none : 依存: libc6:none (>= 2.3.2.ds1-4)[仮想パッケージです]
                     依存: libncurses5:none (>= 5.4-1)[仮想パッケージです]
 ldso:none : 依存: libc6:none (>= 2.1.94)[仮想パッケージです]
以下のアクションでこれらの依存関係の問題は解決されます:

      以下のパッケージを削除する:
1)      aalib1
2)      gnome-users-guide:none
3)      gnome-users-guide-es:none
4)      ide-smart:none
5)      ipchains:none
6)      ipmasqadm:none
7)      kjc:none
8)      ldso:none
9)      libc5:none
10)     libcap1:none
11)     libdb2:none
12)     libdb2-util:none
13)     libdb4.0:none
14)     libdns5:none
15)     libg++27
16)     libguile9
17)     libident:none
18)     libisc4:none
19)     libjasper-1.701-1:none
20)     libjcode-perl:none
21)     libmm11:none
22)     libmm13:none
23)     libnewt0:none
24)     libnkf-ruby:none
25)     libpcap0:none
26)     libperl5.6:none
27)     libpisock4:none
28)     libreadline4:none
29)     libupnpsdk1:none
30)     linuxigd:none
31)     mc-common:none
32)     nas-lib:none
33)     perl-5.6:none
34)     perl-5.6-base:none
35)     python2.1
36)     slang1:none
37)     slang1a-utf8:none
38)     watanabe-vfont:none
39)     webrick:none



この解決方法を受け入れますか? [Y/n/q/?]
受け入れた。うーん、noneはパッケージ消失だと思うのだがlibc6絡みで消えてる奴はなんなのだ。

で、linuxigd(upnpdを提供してるパッケージ)だけ消えてくれない。
Stopping linuxigd: upnpd invoke-rc.d: initscript linuxigd, action "stop" failed.
Starting linuxigd: upnpd/usr/bin/upnpd: error while loading shared libraries: libupnp.so.1: cannot open shared object file: No such file or directory invoke-rc.d: initscript linuxigd, action "start" failed.
dpkg: クリーンアップ中にエラーが発生しました:
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 127 を返しました
処理中にエラーが発生しました:
 linuxigd
とりあえずupnpdは今使ってなかったと思うので、何とかして消す。

インストール・アンインストールのプリ・ポストプロセス周りで問題が出ている模様。

/var/lib/dpkg/info/にここらのスクリプトが集まっているので中身を見る。
$cat /var/lib/dpkg/info/linuxigd.prerm

#!/bin/sh
set -e
# Automatically added by dh_installinit
if [ -x "/etc/init.d/linuxigd" ]; then
        if [ -x /usr/sbin/invoke-rc.d ] ; then
                invoke-rc.d linuxigd stop
        else
                /etc/init.d/linuxigd stop
        fi
fi
# End automatically added section
こいつは止めてるだけだな。

で、結論から言うととりあえず手動で止めて、このスクリプト消してしまうのが手っ取り早いと思う。
#mv /var/lib/dpkg/info/linuxigd.prerm /var/lib/dpkg/info/linuxigd.prerm.orig
プリ部分はこれでOK。ポスト部分はメモってなかったが同様の方法で問題なかったと思う。

これで晴れて、
#dpkg -r linuxigd
が通った。

乱暴だが、そもそもパッケージの作りがおかしいので仕方ない。

2013/05/08(水)libccid VerUpに伴うB-CASカード周りの設定変更

2013/05/08 24:56 PC(Linux)
自宅サーバ(debian)をsqueeze -> wheezyにしたらちょいちょい動かなくなったものがあったので、それ関連の記事。

今回はpcscd, bcs-perl 周りの話。

wheezyにして以降、pcsc_scanしてもカードが出てこない。

原因は、libccidのバージョンが変わった所為でカードリーダを認識しなくなったからのようだ。

[参考]
Linux/テレビ関連/libccid - PukiWiki Plus!

とりあえず、libccid_Info.plistにエントリを追加してpcscdを再起動すれば良い。
$diff /etc/libccid_Info.plist /etc/libccid_Info.plist.orig
328d327
<               <string>0x04E6</string>
554d552
<               <string>0x511A</string>
780d777
<               <string>SCM SCR 3310 NTTCom</string>

#/etc/init.d/pcscd restart
bcs-perl側の名前が"SCM SCR 3310 NTTCom"なのでそのまま入れてやる。

pcsc_scanしてカードの検出、bcs-perl listしてカードの認識が出来てることを確認すること。pcsc_scanがだめならpcsc側のリストをチェック、bcs-perl listがダメならbcs-perl.pl内のカード名($selected_reader)が怪しい。

パッケージ作り直す、unstableにするという方法もあるがうーん、依存の整理とか考えたくない……

[2013/10/11 追記]
後日、カードリーダを指し直したらまたbcs-perl listで取れる名前が変わってしまった。うーん、カードリーダ同じ型番でも取れるものが違うのか、ドライバ周りで細かく変わるものなのか……

bcs-perlを弄って修正。

[参考]
ぼんぼんブログ - ぼんぼん工房
OK キャンセル 確認 その他