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

わんこ日記 [RDF] YouTubeも始めました→

過去の日記

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

Webカムからvsftpdに入れなくなっていた

Webカメラの記録をftpで、おうちさーばのvsftpdに送っているのだけど、

Mon Apr 30 06:16:36 2018 [pid 20621] CONNECT: Client "192.168.0.27"

Mon Apr 30 06:16:38 2018 [pid 20620] [ユーザ] FAIL LOGIN: Client "192.168.0.27"

って事で入れなくなっていた。

調べた結果、ログインするユーザのshellが/sbin/nologinだとだめ。

rbashならOKなので、~/.bash*をrootのものにしてPATH=$HOME/binを.bash_profilesに書いてrbashにした。

と書いてから/etc/shellsにnologinが無いことに気がつく

ちなみに/sbin/nologinというファイルもない。有るのは/usr/sbin/nologin

ということで、/etc/shellsに/usr/sbin/nologinを追記して、/usr/sbin/nologinにしたらFTPで入れるようになった。

rshよりnologinの方が安全なのでnologinで運用する


2018-04-19(Thu) [長年日記] この日を編集

Mediawiki 1.27から1.30へupgrade

で、去年同様にうごかなくなる。今回は、 DB関係の例外エラー

# /var/lib/mediawiki/maintenance/update.php

...

Adding index rc_name_type_patrolled_timestamp to table recentchanges ...done.

...rev_page_id index not found on revision.

Making pl_namespace, tl_namespace and il_to indices non-UNIQUE ...done.

Adding ct_id field to table change_tag ...Set $wgShowExceptionDetails = true; and $wgShowDBErrorBacktrace = true; at the bottom of LocalSettings.php to show detailed debugging information.

# /var/lib/mediawiki/maintenance/update.php

...

Category cleanup complete.

Populating page_props.pp_sortkey...

Populating page_props.pp_sortkey complete.

Copying IP revisions to ip_changes, from rev_id 0 to rev_id 2863

...checking 3 revisions for IP edits that need copying, between rev_ids 0 and 200

Attempted to insert 2 IP revisions, 2 actually done.

Set the local repo temp zone container to be private.

Purging caches...done.

Done in 36 s.

と一度目でエラーがでたけど、二度やったら動いた。


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

MovableType 5.2動かなくなる

2003のMovableType 3.0の頃から、ずっと使っているMovableTypeですが、正規表現が正しくない「{」使い方が悪いとperlのバージョンアップに伴い起動しなくなってしまった。movabletype-opensoce 5.1.4パッケージや、Ubuntu(こちらの方は5.2)のパッケージをつかっていたれど、既にEOL

MovableType 6からは、ソースは、GitHub movabletype/movabletypeで公開されていものの商用は有料なので、足踏みしていたのだけど、背に腹は代えられず。Debianパッケージも無いのでソースをGitHubから取ってきて、MovableType 6.3.6に上げた。

Debianパッケージの/usr/share/movabletypeに張っていたシンボリックリンクを/usr/local/movabletypeに張り替えたり、/etc/apache/conf-d.avalable/movabletype-opensource.confのローカル版を作ったり、.htacessをコピーしたりして動くようにした。

/staticが、/mt-staticになっていたり、/mt-static/support/themes/minimalist-red/minimalist-red.cssが、/mt-static/themes/minimalist-red/screen.css に変わっているので、スタイルシートテンプレートを手直ししたりする必要も有った。

Digest::SHA1は、debianパッケージに無いので

$ dh-make-perl --build --cpan Digest::SHA1

$ sudo dpkg -i libdigest-sha1-perl.deb

でビルドしてインストール。ここで、~/.cpanや~/.local/.cpanが、sudoではなくてローカルインストールになっていて、出来たパッケージが$HOME/perl5/のファイルを含んでいて少し混乱した。

Podcast用のEncolsures.pl 1.4.5.0プラグインは、昔のをそのまま持ってきた。

ついでに、既にサービスがなくなっているtrackword, trackfeedなどの切れているリンクを治した。

PodSafeのpodshow.comは、どこにいったの? テンプレートは治せるけどエントリーの中にもたくさん書き込んでいてやばい。


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

リブートしたらdocker起動せず

リブートしたらdokcerが起動しなくなってしまった。

・/etc/docker/daemon.jsonを書き換えてからdockerをrestartしていなかったのが問題なのか?

・Debian 10(testing,buster)なのにdocker-ce 17.09を使っているのかいけないのか?

・kernel parameterに書いてある「cgroup_enable=memory swapaccount=1 systemd.legacy_systemd_cgroup_controller=yes」がまずいのか?

など疑ったけど、Troubleshooting - Kernel compatibilityのcheck-config.shでも

# check-config.sh

warning: /proc/config.gz does not exist, searching other paths for kernel config ...

info: reading kernel config from /boot/config-4.13.0-1-amd64 ...

Generally Necessary:

- cgroup hierarchy: nonexistent??

(see https://github.com/tianon/cgroupfs-mount)

[check-config.shより引用]

とエラーになっている事がわかり、cgroupfs-mountでマウントされるはずの/sys/fs/cgroup/cpu...がマウントされていないのが原因だった。

# cgroupfs-mount

mkdir: ディレクトリ `cpuset' を作成できません: 読み込み専用ファイルシステムです

との事なので、とりあえず、

# mount -o remount,rw /sys/fs/cgroup

# cgroupfs-mount

として、dockerを立ち上げることに成功した。

Dokcer 17.11をインストールした

上の調査の中で「Debian 10(testing,buster)は、docker-ce 17.11 edgeだよ。」という記述をみて

deb [arch=amd64] https://download.docker.com/linux/debian buster edge

# deb-src [arch=amd64] https://download.docker.com/linux/debian buster edge

[/etc/apt/sources.list.d/docker-ce.listより引用]

を加えて、17.11をインストールした。


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

として解決

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

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

_ わんこ [いまごろツッコミに気づきました。バグレポートさぼっていてすいません。ちみなにlibjaxb-java(2.3.0-3..]

_ わんこ [linux.debian.bugs.dist › Bug#878971: [libjaxb-java] libjax..]


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と共にどこにあるのか分からず、止まっている


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