やるきなし

2016/09/06 10:28 / Xorg on sid, gdm3 が起動しない

しばらく再起動していなかったのだが,諸事情により再起動すると,Xが起動しないという Debian GNU/Linux sid (unstable) に良くあるいつものパタン.

以下のような環境で,まず Xorg が起動しない.

/var/log/messages によると以下のループ.

Sep  5 10:16:23 hoge gdm-launch-environment]: AccountsService: Could not get current seat: No data available
Sep  5 10:16:23 hoge /usr/lib/gdm3/gdm-wayland-session[5493]: Unable to register display with display manager
Sep  5 10:16:23 hoge gdm3: Child process -5493 was already dead.
Sep  5 10:16:23 hoge gdm3: Child process 5489 was already dead.
Sep  5 10:16:23 hoge gdm3: Unable to kill session worker process

/var/lib/gdm3/.local/share/xorg/Xorg.0.log によると nvidia の driver が見つからなくて EE で落ちている.最近 CRON-APT で横着して upgrade していたのだが何かの拍子に xserver-xorg-video-nvidia が抜けてしまったらしい.ということで入れる.

次は Xorg も /usr/lib/gdm3/gdm-x-session も起動しているが gnome-shell が起動しない(ログイン画面が出ず真っ黒のまま)./var/log/messages によると以下のようにまた nvidia まわりでコケている.

Sep  5 10:16:52 hoge gnome-session[9184]: modprobe: ERROR: could not insert 'nvidia_current_modeset': Operation not permitted
Sep  5 10:16:52 hoge gnome-session[9184]: modprobe: ERROR: ../libkmod/libkmod-module.c:977 command_do() Error running install command for nvidia_modeset
Sep  5 10:16:52 hoge gnome-session[9184]: modprobe: ERROR: could not insert 'nvidia_modeset': Operation not permitted
Sep  5 10:16:52 hoge gnome-session[9184]: gnome-session-binary[9184]: WARNING: Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9210]: modprobe: ERROR: could not insert 'nvidia_current_modeset': Operation not permitted
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9210]: modprobe: ERROR: ../libkmod/libkmod-module.c:977 command_do() Error running install command for nvidia_modeset
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9210]: modprobe: ERROR: could not insert 'nvidia_modeset': Operation not permitted
Sep  5 10:16:52 hoge kernel: [ 1059.936725] gnome-shell[9210]: segfault at 14 ip 00007faf5bd4a817 sp 00007fff6e0c7a80 error 4 in libmutter.so.0.0.0[7faf5bcfb000+127000]
Sep  5 10:16:52 hoge gnome-session[9184]: gnome-session-binary[9184]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 11
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9221]: modprobe: ERROR: could not insert 'nvidia_current_modeset': Operation not permitted
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9221]: modprobe: ERROR: ../libkmod/libkmod-module.c:977 command_do() Error running install command for nvidia_modeset
Sep  5 10:16:52 hoge org.gnome.Shell.desktop[9221]: modprobe: ERROR: could not insert 'nvidia_modeset': Operation not permitted
Sep  5 10:16:52 hoge kernel: [ 1060.010282] gnome-shell[9221]: segfault at 14 ip 00007f08d9038817 sp 00007ffd8e2648a0 error 4 in libmutter.so.0.0.0[7f08d8fe9000+127000]
Sep  5 10:16:52 hoge gnome-session[9184]: gnome-session-binary[9184]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 11
Sep  5 10:16:52 hoge gnome-session[9184]: gnome-session-binary[9184]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
Sep  5 10:16:52 hoge gnome-session[9184]: Unable to init server: Could not connect: Connection refused
Sep  5 10:16:52 hoge gnome-session-f[9231]: Cannot open display:
Sep  5 10:16:52 hoge gnome-session-binary[9184]: Entering running state
Sep  5 10:16:53 hoge gdm3: GdmDisplay: display lasted 2.595077 seconds

どうやら modprobe nvidia_modeset の権限がなくてコケている様子.ということで,/etc/modules に nvidia-current-modeset およびついでに nvidia-current-uvm を追加して解決.

2016/08/08 09:55 / namazu2 2.0.21-15 @ Debian GNU/Linux sid (trying to overwrite '/usr/share/man/man1/mknmz.1.gz', which is also in package namazu2-index-tools 2.0.21-15)

以下のように mknmz (の man) が namazu2 と namazu2-index-tools の両方に含まれていて,upgrade できない.https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833335に bug report もされている.

Unpacking namazu2 (2.0.21-15) over (2.0.21-12) ...
dpkg: error processing archive /var/cache/apt/archives/namazu2_2.0.21-15_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/mknmz.1.gz', which is also in package namazu2-index-tools 2.0.21-15
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/namazu2_2.0.21-15_amd64.deb

たしかに apt-get source namazu2 して fakeroot -f debian/rules binary すると mknmz.1.gz が namazu2 にも namazu2-index-tools にも含まれる.詳細は見ていないが,以下で直るっぽい.

--- debian/rules        2016-08-02 16:03:17.000000000 +0900
+++ debian/rules.new    2016-08-08 10:35:16.237076456 +0900
@@ -83,7 +83,7 @@
        dh_installemacsen --priority=50

 override_dh_installman:
-       dh_installman man/mknmz.1 man/namazu.1
+       dh_installman man/namazu.1

 override_dh_link:
        -rm -rf $(CURDIR)/debian/namazu2-index-tools/usr/share/doc/namazu2-index-tools

追記(2016/08/22)

おそらく2.0.21-18 (その前に -16, -17 もあったが)で直っている気配.https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833335はそのままfixedにならないまま残っているようですが.

2016/08/03 14:34 / iowait monitoring by MRTG

File server (RAID5 w/LUKS) の iowait がなんだかひどいので,MRTG で monitoringしようとして悩む.

OID (object identifier) は .1.3.6.1.4.1.2021.11 付近の以下を monitoring.

mrtg.cfg は http://net-snmp.sourceforge.net/tutorial/tutorial-5/mrtg/ にある通りに書けば良いらしい.なお,Debian GNU/Linux の場合の UCD-SNMP-MIB.txt の PATH は/usr/share/snmp/mibs/UCD-SNMP-MIB.txt で,これは libsnmp-base package に含まれている.ちなみに LoadMIBs に複数の MIB file を記載するには comma (,) 区切りで書く

ここで問題なのはMaxBytesで,上記URLの例ではMaxBytes[...]: 100のようになっているが,これだと ssCpuRawIdle がうまく測れない(もともと iowait を monitor しようという企画なのだが...).

ssCpuRawIdle の仕様をいろいろあたってみたのだが,/usr/share/snmp/mibs/UCD-SNMP-MIB.txt によると以下のとおり.

ssCpuRawIdle OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of 'ticks' (typically 1/100s) spent
         idle.

         On a multi-processor system, the 'ssCpuRaw*'
         counters are cumulative over all CPUs, so their
         sum will typically be N*100 (for N processors)."
    ::= { systemStats 53 }

つまり MaxBytes が 100 だと invalid な数値だとして .rrd file (←私の環境ではRRDを利用している)にそもそも値が保存されない様子.ということで,monitor 対象の計算機毎に個別に設定してやる必要がある.当然ここでの CPU の数は論理プロセッサの数(コア数ではなく).たぶん上記 DESCRIPTION のとおり他の ssCpuRaw* についても同様だが,Idle は常に最大値付近の値をとるので,この問題がより顕在化しやすい.

2016/07/22 10:09 / mediawiki on Debian/GNU Linux jessie

ふと aptitude を見てみると mediawiki (1:1.19.20+dfsg-2.3) が Obsolete and Locally Created Packages に分類されていた.どうやら jessie から削除された模様

調べてみるとEarly termination of MediaWiki security supportとのことで,当初からjessieから削除予定だった模様(1.19 のセキュリティサポートがjessieの次のstretchのリリースの前,というか既に終了した模様).

ということで,mediawiki 1.27 を自前でインストールする(sid の package を持ってくることも考えたが php5 ではなく php 依存するらしく,混乱しそうなので断念).

1.19 では日本語検索のために BruteSearch を導入していたのであるが,同ページの情報によると1.23.xで動作しないとのことで,導入を見送る.

BruteSearch のかわりに Elasticsearchを導入.Install は https://www.mediawiki.org/wiki/Extension:CirrusSearch参照.設定(index生成)等はhttps://phabricator.wikimedia.org/diffusion/ECIR/browse/master/README参照.

別途 elasticsearch (java で動く deamon)を導入する必要があるが,これは Debian package でインストールする.ただし jessie で提供される 1.0.3 だと,検索してみても

An error has occurred while searching: We could not complete your search due to a temporary problem. Please try again later.

などと表示されるだけで検索できない.backports から 1.6.2+dfsg-1~bpo8+1 を install すれば (jessie でも)ちゃんと動く.

2016/07/21 16:08 / チャット・メッセンジャーアプリ

なんだかいろいろあってわけがわからない.