↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

わんこ日記 [RDF]

過去の日記

2017-12-01(Fri) [長年日記] この日を編集

MacOSのTimeMachineからディスクが見えなくなる

Linuxのおうちさーばで、netatalkの中に保存しているはずか、ディスクが見えない。

netatalkのログを見ると

Dec 1 00:08:27 mirara afpd[14902]: PAM unable to dlopen(pam_unix.so): /lib/security/pam_unix.so: cannot open shared object file: No such file or directory

Dec 1 00:08:27 mirara afpd[14902]: PAM adding faulty module: pam_unix.so

Dec 1 00:08:27 mirara afpd[14902]: PAM unable to dlopen(pam_cracklib.so): /lib/security/pam_cracklib.so: cannot open shared object file: No such file or directory

Dec 1 00:08:27 mirara afpd[14902]: PAM adding faulty module: pam_cracklib.so

Dec 1 00:09:01 mirara CRON[15971]: pam_unix(cron:session): session opened for user root by (uid=0)

Dec 1 00:09:01 mirara CRON[15971]: pam_unix(cron:session): session closed for user root

というエラーが出ている。

# grep pam_unix.so /var/lib/dpkg/info/libpam-modules:amd64.list

/lib/x86_64-linux-gnu/security/pam_unix.so

はずなのに、/lib/secuirityを探しに行っている。

とりあえず

# ln -s /lib/x86_64-linux-gnu/security/ /lib/security

と対策。


2017-11-06(Mon) update-binfmtsで警告 [長年日記] この日を編集

aptitude upgradeで

openjdk-8-jre-headless:amd64 (8u151-b12-1) を設定しています ...

update-binfmts: warning: current package is openjdk-9, but binary format already

installed by sun-java6

という警告が出ていた。sun-java6はずっと前の更新で無くなったはずなのだけど

# ls -l /var/lib/binfmts/

合計 28

-rw-r--r--. 1 root root 78 8月 23 2008 jar

# cat /var/lib/binfmts/jar

sun-java6

magic

0

PK\x03\x04

/usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/jexec

と古い物が残っていた。

# update-binfmts --remove jar /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/jexec

update-binfmts: warning: no executable /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/jexec found, but continuing anyway as you request

update-binfmts: warning: current package is , but binary format already installed by sun-java6; not removing.

と単純なremoveでは消えず、パッケージの指定が必要で

# update-binfmts --package sun-java6 --remove jar /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/jexec

と --packageが必要。念の為、openjdk-8で入れ直して、他にも余分だったpython2.3を消しておいた

# update-binfmts --package openjdk-8 --import jar

# update-binfmts --package python2.3 --remove python2.3 /usr/bin/python2.3

update-binfmts: warning: no executable /usr/bin/python2.3 found, but continuing anyway as you request


2017-10-09(Mon) [長年日記] この日を編集

[guacamole] tomcat8でguacamole動かなくなる

いつのまにか、Debian testing (10 buster)で、guacamoleが動かなくなっていた。

tomcat8のログを見ると

9-Oct-2017 15:40:13.729 情報 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 設定記述子 /etc/tomcat8/Catalina/localhost/guacamole.xml を配備します

9-Oct-2017 15:40:13.808 重大 [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/guacamole]]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.NullPointerException

at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:337)

at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:193)

at org.apache.catalina.startup.ContextConfig.processJarsForWebFragments(ContextConfig.java:1898)

at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1126)

at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)

at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 10 more

となっている。いろいろ調べてみると

/usr/share/guacamole/guacamole/WEB-INF/lib/jaxb-impl.jar のシンボリックリンクが切れている。

どうやら パッケージ: libjaxb-java (2.3.0-1)のアップグレードのタイミングで、/usr/share/java/jaxb-impl.jarがjaxb1-impl.jarとリネームされたらしい。

とりあえず、

# cd /usr/share/java

# ln -s jaxb1-impl.jar jaxb-impl.jar

として解決

本日のツッコミ(全1件) [ツッコミを入れる]

_ henrich [libjaxb-java (2.3.0-2) で対応してもらいました。できればどこかでバグレポートするようにしてくれ..]


2017-09-27(Wed) Apacheが起動せず [長年日記] この日を編集

Debian 10 buster (testing) のapache2が起動できなくなった

Sep 27 22:56:08 mirara systemd[1]: Starting The Apache HTTP Server...

Sep 27 22:56:08 mirara apachectl[7439]: [Wed Sep 27 15:56:08.972696 2017] [so:warn] [pid 7447] AH01574: module dav_module is already loaded, skipping

Sep 27 22:56:10 mirara kernel: [3085921.957185] traps: apache2[7447] general protection ip:7fc10836a095 sp:7fff8623b838 error:0 in libcrypto.so.1.1[7fc108180000+265000]

Sep 27 22:56:10 mirara apachectl[7439]: /usr/sbin/apachectl: line 150: 7447 Segmentation fault $HTTPD ${APACHE_ARGUMENTS} -k "$ARGV"

Sep 27 22:56:10 mirara apachectl[7439]: Action 'start' failed.

Sep 27 22:56:10 mirara apachectl[7439]: The Apache error log may have more information.

Sep 27 22:56:10 mirara systemd[1]: apache2.service: Control process exited, code=exited status=139

Sep 27 22:56:10 mirara systemd[1]: Failed to start The Apache HTTP Server.

Sep 27 22:56:10 mirara systemd[1]: apache2.service: Unit entered failed state.

Sep 27 22:56:10 mirara systemd[1]: apache2.service: Failed with result 'exit-code'.

apache 2.4.27-2までは起動できたのに2.4.27-5からダメ。

とりあえず、Debian 9 (stretch)のapache 2.4.25-3+deb9u3 にダウングレードして動かしている。

libssl1.1を使うようになってダメになっているような気がする…


2017-08-24(Thu) [長年日記] この日を編集

[Stone] Windows版 stone TLS1.2対応

のようにDebian testing(10 Buster)のOpenSSLが、

* Disable TLS 1.0 and 1.1, leaving 1.2 as the only supported SSL/TLS

version. This will likely break things, but the hope is that by

the release of Buster everything will speak at least TLS 1.2. This will be

reconsidered before the Buster release.

[openssl_1.1.0f-4_changelogより引用]

なんて激しいことを言っていて、TLS1.2まで全てを上げないとならない。

参考: Linux Daily Topics 2017年8月15日 ふるいTLSにはサヨナラを ―Debian,TLS 1.2対応を強化

stoneのWindows版バイナリのTLS1.2対応版は公開されてない

そんな中、stoneで、公開されているバイナリはstone version 2.3e 2.3.3.20 for Windows 64bitのバイナリで、TLS1.0までしか対応していなかった。

stone TLS1.2対応版ソース

調べてみると

CVS レポジトリの最新版 stone.c は TLS1.2 に対応しております。

http://ja.osdn.net/cvs/view/stone/stone/stone.c?view=log

VisualC++ の場合は、

nmake win-svc

などと実行すればビルドできます。この場合、regex.h ではなく pcreposix.h

が参照されます。

PCRE は http://www.pcre.org/ からダウンロードできます。

[仙石浩明の日記より引用]

ということで、確かに、

OSDNでのCVSレポジトリには、TLS1.2に対応したソースが公開がされているのだけど、はやりコンパイル済みのWindows版のバイナリは見つからなかった。

このソースを取ってきて、Cygwinでは、stone TLS1.2対応版を

$ make TARGET=stone ssl_stone

で簡単にコンパイルできた。

しかし、Cygwin版だとWindowsサービスにならない。

Windows版のコンパイル

そこで、Windows版をコンパイルすることを決意した。

おうちさーばは、最近Dockerコンテナが沢山動いていて、VMが重くて最近の重厚長大なVisual Studioが動かないので、クラウドにWindowsを用意して無料のVisutal Studio Community 2017をインストールして、コンパイルした。

Windows版 stone TLS1.2対応版のコンパイルに必要な物

最近のVisual Studioは、Pythonまで対応していて、必要な物だけインストールできるようになっているのだけど、stoneのコンパイルには、「C++によるデスクトップ開発」と、そのオプションの「Windows XP Suppor for C++」が必要。

オプションを入れないと、サービス化するためのmcとrcがインストールされない。

あと、stoneの前提のOpenSSL 1.0と、PCREも必要。

OpenSSLは、最新の1.1だと、stoneのソースが対応していないので、Developer Files ZIPと、Binary Files ZIPを使った。

WINDOWSだと、ソースのTLS1.1とTLS1.2が無効になっているので

#ifdef WINDOWS

-#define OPENSSL_NO_TLS1_1

-#define OPENSSL_NO_TLS1_2

+// #define OPENSSL_NO_TLS1_1

+// #define OPENSSL_NO_TLS1_2

[diff stone.cより引用]

として有効にしてコンパイルした。

変更したソースは、GitHub takuya-o/stoneに公開しておきます。

ローカルでビルドしたバイナリも、同じくGitHubでstone24LB.zipとして公開しています。


2017-08-18(Fri) [長年日記] この日を編集

[Debian] opensslパッケージ 1.1.0f-4からTLSv1.2のみ

Debian testing(10 buster)で、なんか接続出来ないクライアントが出てきたと思ったら

* Disable TLS 1.0 and 1.1, leaving 1.2 as the only supported SSL/TLS

version. This will likely break things, but the hope is that by

the release of Buster everything will speak at least TLS 1.2. This will be

reconsidered before the Buster release.

[http://metadata.ftp-master.debian.org/changelogs/main/o/openssl/openssl_1.1.0f-4_changelogより引用]

ということで、opensslパッケージは、SSLv3はもちろんTLSv1.1ですら受け付けず、TLSv1.2のみになった。

しかたがないので、うにょうにょしたけど、stunnelは、相手側のstoneがTLSv1なので、

;sslVersion = all

sslVersion = TLSv1

[/etc/stunnel/oyo.cnfより引用]

として、なんとか接続出来るようにした。

[Stone] Windows版 stoneのTLSv1.2対応

そもそも、TLSv1.2対応が出来ない原因はクライアント側のWindowsのstone.

出回っているTCP UDPリピータのstoneのWindows版は、OpenSSL 0.98なので、TLSv1までしか対応できていない。

ソース上では、TLSv1.2の対応が出来ているようで、cygwinでは

$ make TARGET=stone ssl_stone

で、TLSv1.2対応版が出来た。しかし、こいつはWindowsサービスに対応してない。

CVS レポジトリの最新版 stone.c は TLS1.2 に対応しております。

http://ja.osdn.net/cvs/view/stone/stone/stone.c?view=log

VisualC++ の場合は、

nmake win-svc

などと実行すればビルドできます。この場合、regex.h ではなく pcreposix.h

が参照されます。

PCRE は http://www.pcre.org/ からダウンロードできます。

[http://www.gcd.org/blog/2011/06/806/#postcommentより引用]

との事なので、やってみる。

無料のVisual Studio Express2017をダウンロードして来たけど、C++やC#だけじゃなくて、TypeScriptだのPythonだのが有って、フットプリントも軽く5Gとかで、何入れて良いのか良く分からない。

なんとか、clとnmakeは入ったけど、nmakeが始まるとwmcが無いと言われて、mrcと共にどこにあるのか分からず、止まっている


2017-08-17(Thu) [長年日記] この日を編集

[Debian] swapパティーションを変えたらリジュームに時間が…

homeをzfsに移動して、1TBのシステムドライブのHDDが

/dev/sda1 root 32GB

/dev/sda2 swap 4GB

空き

となっていたので、メモリも16GBだしと、/dev/sda2を消してHDDの後ろの方に16GBのswapを作った。

で、リブートしようとしたら「resume fail」とか出てブートできない。

実は、failした後、かなり待つと「resume用のswapドライブはどれ」と聞いてくるので、そこで/dev/sda4と答えれば良いのだけど、待ちきれなくて、何度もリブートしても上手くいかず。

Suport Grub2でブートしてみたり、Ubuntu Live DVDをブートして

# mount /dev/sda1 /mnt

# cd /mnt

# mount -t devtmpfs udev ./dev

# mount -t proc proc ./proc

# mount -t sysfs sysfs ./sys

# chroot .

# update-grub

などしても、うまくブートできず…

結局、かなり待って/dev/sda4と答えてブートして調べてみると、

# RESUME=/dev/sda2

#RESUME='UUID=d9499328-23d5-4e4b-b389-09d8d1896be6'

[/etc/initramfs-tools/conf.d/resumeより引用]

という記載があり、/dev/sda2のままで、initramfsの中でリジュームデータを探しに行っていた。

これを/dev/sda4のUUIDに変えて

# update-initramfs

で、めでたく解決(のはず)


2017-06-04(Sun) [長年日記] この日を編集

ZFSのHDD交換の結果

scan: resilvered 1.01T in 5h16m with 0 errors on Wed May 31 05:59:42 2017

ということで、5時間16分で、RAID-1の再構成が終わった

1130iops, スループットは125.74MBでデータのコピーがされていた模様。

iopsthroughput


2017-05-31(Wed) シーゲート ST3000DM001 3TB HDD壊れる [長年日記] この日を編集

まえからSMARTで警告が出ていたSeagateのST3000DM001(3TB)だけど、

Device: /dev/sdc [SAT], 3560 Currently unreadable (pending) sectors
Device info:
ST3000DM001-9YN166, FW:CC4H, 3.00 TB
 
ついに、いつのまにか接続が切れて、うんとスントもいわなくった。 画像の説明

zfsのmirror poolにしていたのでreplaceする

エラーの状況は、

# zpool status

pool: tank

state: DEGRADED

status: One or more devices could not be used because the label is missing or

invalid. Sufficient replicas exist for the pool to continue

functioning in a degraded state.

action: Replace the device using 'zpool replace'.

see: http://zfsonlinux.org/msg/ZFS-8000-4J

scan: scrub repaired 0 in 5h45m with 0 errors on Mon May 29 19:26:52 2017

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror-0 DEGRADED 0 0 0

ata-ST3000DM001-part1 UNAVAIL 0 0 0

ata-TOSHIBA_DT01ACA300-part1 ONLINE 0 0 0

errors: No known data errors

てな状態なので、新しいSeagate 4TBのHDDを買ってきて入れ替えた。

# zpool replace tank 96512279046075681 /dev/disk/by-id/ata-ST4000DM000-part1

# zpool status

pool: tank

state: DEGRADED

status: One or more devices is currently being resilvered. The pool will

continue to function, possibly in a degraded state.

action: Wait for the resilver to complete.

scan: resilver in progress since Wed May 31 00:43:01 2017

3.50M scanned out of 1.01T at 256K/s, (scan is slow, no estimated time)

3.50M resilvered, 0.00% done

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror-0 DEGRADED 0 0 0

replacing-0 UNAVAIL 0 0 0

96512279046075681 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-ST3000DM001-part1

ata-ST4000DM000-part1 ONLINE 0 0 0 (resilvering)

ata-TOSHIBA_DT01ACA300-part1 ONLINE 0 0 0

errors: No known data errors

すこし時間をおいてみてみると

action: Wait for the resilver to complete.

scan: resilver in progress since Wed May 31 00:43:01 2017

37.1G scanned out of 1.01T at 41.6M/s, 6h47m to go

37.1G resilvered, 3.60% done

て事なので、朝までにはRAID-1(mirror)の再構築が終わるかな。


2017-03-05(Sun) LXDEのOpenboxでもWindowsスナップ [長年日記] この日を編集

なんかWindows Aaroの右半分にスナップとか便利につかっていたらLinuxでも使いたくなったので

$ diff -u lxde-rc.xml.org lxde-rc.xml

--- lxde-rc.xml.org 2017-03-05 01:10:49.299382235 +0900

+++ lxde-rc.xml 2017-03-05 01:18:57.028669866 +0900

@@ -264,6 +264,12 @@

<menu>client-menu</menu>

</action>

</keybind>

+ <!-- Take a screenshot of the current window with scrot when

+ Alt+Print are pressed -->

+ <!-- copy from /etc/xdg/openbox/rc.xml -->

+ <keybind key="A-Print">

+ <action name="Execute"><command>scrot -s</command></action>

+ </keybind>

<!-- Keybindings for window switching -->

<keybind key="A-Tab">

<action name="NextWindow"/>

@@ -277,6 +283,29 @@

<desktop>yes</desktop>

</action>

</keybind>

+ <!-- copy from /etc/xdg/openbox/rc.xml -->

+ <!-- Keybindings for window switching with the arrow keys -->

+ <keybind key="W-S-Right">

+ <action name="DirectionalCycleWindows">

+ <direction>right</direction>

+ </action>

+ </keybind>

+ <keybind key="W-S-Left">

+ <action name="DirectionalCycleWindows">

+ <direction>left</direction>

+ </action>

+ </keybind>

+ <keybind key="W-S-Up">

+ <action name="DirectionalCycleWindows">

+ <direction>up</direction>

+ </action>

+ </keybind>

+ <keybind key="W-S-Down">

+ <action name="DirectionalCycleWindows">

+ <direction>down</direction>

+ </action>

+ </keybind>

+

<!-- Keybindings for running applications -->

<keybind key="W-e">

<action name="Execute">

@@ -335,6 +364,38 @@

<command>lxrandr</command>

</action>

</keybind>

+ <!-- copy from https://wiki.archlinuxjp.org/index.php/Openbox

+ Windows Aero Snap

+ -->

+ <keybind key="W-Left">

+ <action name="UnmaximizeFull"/>

+ <action name="MaximizeVert"/>

+ <action name="MoveResizeTo">

+ <width>50%</width>

+ </action>

+ <action name="MoveToEdge"><direction>west</direction></action>

+ </keybind>

+ <keybind key="W-Right">

+ <action name="UnmaximizeFull"/>

+ <action name="MaximizeVert"/>

+ <action name="MoveResizeTo">

+ <width>50%</width>

+ </action>

+ <action name="MoveToEdge"><direction>east</direction></action>

+ </keybind>

+ <keybind key="W-Down">

+ <action name="Unmaximize"/>

+ </keybind>

+ <keybind key="W-Up">

+ <action name="Maximize"/>

+ </keybind>

+ <!-- open teminal -->

+ <keybind key="W-t">

+ <action name="Execute">

+ <command>lxterminal</command>

+ </action>

+ </keybind>

+

</keyboard>

<mouse>

<dragThreshold>8</dragThreshold>

上下のスナップは、再現できなかったので最大化で許してね。


Google Web検索 on-o.com内を検索