Unix

Pydio Cells の隠し仕様

ファイル共有サーバーソフト、Pydio が、内容を一新、Go でスクラッチから書き直されて、Pydio Cells となった。 最近になって、更新のための時間が取れたので、インストールしてみた。ところ、このブログも乗っかってる専鯖上の VM には問題なくインストール完了。ところが、ストレージ目的で借りている VPS で、所謂ヌルポインタエラーが出た。フォーラムで質問しても解決しなかったが、うまくいったケースとそうでないケースを見比べて違いを埋めていった結果、Pydio Cells は、プライベート IP アドレスがないとセグメンテーションフォールトを起こす仕様になっていることがわかった。 ドキュメントのどこにも書いてないが、ソースではしっかりチェックされてて、確かにプライベートアドレスがないとエラーになる箇所があった。ところがそのエラーをチェックせずに実行を継続しているので所謂ぬるぽになっている。明らかなバグ。フォーラムで報告しておいた。 [2019/03/15 追記] バージョン 1.4 でこの問題が解決されていることを確認しました。

NetBSD の virtio は、vhost-net に対応していない

調子に乗って、NetBSD もインストールしてみた。 最初、ネットワークアダプタを認識してるのに外部へも外部からも通信できなくて頭を捻ったのだが、kvm の vhost-net を off にしたら問題なく通信するようになった。他の BSD が vhost-net に対応していたので、これはちょっと意外。

最近のBSD の virtio 対応状況

NetBSD は試していないのでわからないけれども、FreeBSD、OpenBSD、DragonFly BSD はすべてデフォルトで virtio ドライバを搭載しているので、普通に kvm 上でインストールできる。進歩したものだ。

OpenBSD のインストールについて覚え書き

OpenBSD をインストールする際、カーネルやブートストラッパが / に置かれるため、ディスクパーティションの先頭は必ず / になるよう配置しなくてはならない。Linux の癖で swap を先頭にしてブートせずに嵌まったので、覚え書き代わりにメモ。

CentOS 7 の firewalld

気分が乗ったので、CentOS 7 をインストールした。ファイアウォールの設定が結構手間だったので、備忘録代わりに記録しておく。 まず、定番のサービスポートを開けておく。 sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --zone=public --add-service=pop3 sudo firewall-cmd --permanent --zone=public --add-service=pop3s sudo firewall-cmd --permanent --zone=public --add-service=imap sudo firewall-cmd --permanent --zone=public --add-service=imaps sudo firewall-cmd --permanent --zone=public --add-service=smtp sudo firewall-cmd --permanent --zone=public --add-service=smtps sudo firewall-cmd --permanent --zone=public --add-service=smtp-submission sudo firewall-cmd --permanent --zone=public --add-service=ftp 自宅は固定アドレスで、かつ ipv6 も割り当てられているので、そこからは全ポートを受け付けてもらえるように開放する。 sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="118.243.217.235" accept'sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv6" source address="2405:6584:7840:800::/64" accept' 内部通信用のインターフェースは無条件で信頼する。
Read more

DragonFly BSD の IPv6 設定問題

なぜか、/etc/rc.conf に以下の設定をしても反映されない。 ipv6_enable="YES" ipv6_network_interfaces="vtnet0" ipv6_ifconfig_vtnet0="inet6 2001:470:d:461::7:1 prefixlen 64" ipv6_defaultrouter="2001:470:d:461::1" 仕方ないので、/etc/rc.local にコマンドを直書きしてごまかした。 #! /bin/sh ifconfig vtnet0 inet6 2001:470:d:461::7:1 prefixlen 64 alias<br /> route add -inet6 default 2001:470:d:461::1<br /> 解決法をご存じの方がいらしたら、ぜひコメントをお願いしたい。 追記。 メーリングリストで質問したら、ipv6_ifconfig_vtnet0 の設定がよくないと指摘された。 -ipv6_ifconfig_vtnet0="inet6 2001:470:d:461::7:1 prefixlen 64" +ipv6_ifconfig_vtnet0="2001:470:d:461::7:1" と、アドレスだけ指定するのが、DragonFly での作法とか。指摘してくれた、Aaron に感謝。

シリアルコンソール出力あれこれ

KVM で VM を起動するときにシリアルコンソールに起動情報が流れてくれたら起動の様子がわかって大変便利なので、その設定を追加。 1. Debian GNU/Linux /etc/defaults/grub を以下のように修正。 # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8' # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD .
Read more

DragonFly BSD 5.0.2 をインストールしてみた。

DragonFly BSD RELEASE 5.0.2 をインストールして、はまった点を備忘録代わりに書く。Debian も FreeBSD も慣れちゃって、ちょっと新鮮な雰囲気を味わいたかったので。DragonFly BSD を選択した次第。 1. HAMMER2 が不安定? HAMMER2 というより、インストーラがバグってるのか、120GB の空き容量に対して、5G しかスライスを切ってくれない。いくらなんでもこれではテストもできません。ってことで、HAMMER でインストールし直した。 2. ネットワークインターフェースの設定にコツがいる。 外部向きと内部向きの二つのインターフェースが載ってるわけだが、内部向けには当然、デフォルトゲートウェイなんぞ設定しない。最初、外部I/F→内部I/Fと設定したら、デフォルトゲートウェイが空の設定ができあがってしまい、通信できなかった。内部I/Fを設定してから、外部I/Fにデフォルトゲートウェイを含めて設定するのが正しい手順のよう。 3. /etc/ssh/sshd_config が公開鍵認証前提でインストールされる。 ssh で入れないと思って、設定ファイルをよく見たら、PasswordAuthentication が、no になっていた。仕方ないので、コンソールから一時的に、yes に変更して対処。インストールしたのは、レンタルサーバー(専用サーバー上に KVM で作成)だったので、VNC コンソールで作業はやりにくい。ここはすぱっと ssh でパスワード認証して入れるようにしてほしかった。 あとは、sudo と logwatch を入れて、ファイアウォールの設定をすませてインストール完了。