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

Debian Stretch – GRUB 2 のバグ?

KVM のシリアルポート経由で、ブートメッセージをチェックするようにしているのだが、Debian Stretch をゲストにすると、なぜか GRUB 2 がシリアルコンソールにメニューを表示しない問題があった。 実用上さして気にするほどでもなかったので放置してたのだが、他のディストリビューション (CentOS 7, Ubuntu 16) ではちゃんと表示されるので、いっちょ修正するか、と手を出してみた。 結論。sid の GRUB 2 と入れ替えたら問題なく表示された。なぜ Stretch では直さないのかよくわからない。バックポートが難しいのだろうか。 使用しているスクリプトで kvm の起動待ちをしている部分が悪さをしていることがわかった。起動確認をしている間に grub メニューが表示されるため、シリアルコンソールに制御が移ったときには表示済みのため、一見表示されていないように見えただけだった。反省。

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 を入れて、ファイアウォールの設定をすませてインストール完了。

Mac にも「紙芝居クリエーター」を!

「紙芝居クリエーター」というのは、紙芝居動画、つまりよくギャルゲーなどでよく見かける、画面下部にセリフ枠があって、止め絵を次々に表示しながら文章を読ませる形式の動画を作成するアプリのことです。ニコニコでは、アイドルマスターの紙芝居動画のためのジャンルが確立しています。NovelsM@ster とか、im@s架空戦記シリーズとか。ストップモーションほど手がかからないし、比較的気軽に作り始めることができるので、案外、動画作成の入門に向いてるかも知れません。 で、まあ、この紙芝居動画を作成するアプリですが、Mac 用にもあるんですけど……。「絵解き帳」という二鏡Pが作られたアプリです。ただ、最後に更新されたのが、2012年1月ということで、丸三年更新されてなくて、素の Yosemite ではシーンの追加ができなくなってしまっているのです。OS の仕様変更が原因です。 最初は、これを手直しして、Yosemite でも動くようにして……と考えていたんですが、ビルド時に何十も警告が出て、それをいちいち調べながら修正していく手間と、不満点——同一のターゲットにエフェクトを多重にかけられない。そのせいでプラグインの作成がすごい手間——を鑑みて、自分で作ることにしました。 前から、Mac 用のアプリを作るつもりだったんですが、そのうち、そのうち、とずるずる引き延ばしてきていて、良い機会でもあるわけです。錆び付いてしまっているプログラミングの勘を取り戻すためにも頃合いの規模だと思いますし。Core Image とか、AV Foundation とか、名前だけ知ってて、何をどうするのかわかんない機能もちゃんと調べて実装できるくらいにはなりたいと思ってます。SpriteKit とかも使ってみたいし。OS X/iOS も次々に機能を追加しつつ、古い機能を削除して行ってるので、ついていくのは中々大変そうですが、それこそが、こういう仕事の面白みでもあるので、頑張ってみようかなぁと。 取りあえず、新年度までには形にしたいと思ってます。作りたい動画が止まってるので、それを作って気が済んだら、一般公開もするかも知れません。それはその時の気分次第で。:D しかし、Mac アプリを作ると決めたはいいものの、Apple が公開している資料くらいしかまともな資料がないというのはいかがなものか。iOS 向けの入門書はやたらと出てますが、ちょっと凝ったことをしようとすると、参考資料が絶無に等しい。 「絵解き帳」は、プラグインを Quartz Composer で作るようになっていて、私も初めて詳しく調べてみたんですが、滅茶苦茶面白いです。すごい簡単にグラフィカルなエフェクトが作れてしまう。ところがこれもほとんど資料がない。あってもバージョンが古すぎてほとんど役に立たないときます。VJ なんかではバリバリ使われてるらしいので、現役のツールなんですが、一般には馴染みがないんですかねー。Mac 持ってる人はぜひぜひ試して欲しい。本当に面白いくらい簡単に色んな事ができますから。Yosemite ではなぜか頻繁に落ちますが。 ところで、OpenGL なんかも避けて通れないみたいなんですけど、なんか良い入門書とかないですかね。床井研究室とか何度も読み返したりしてるんですが、シェーダープログラミングがいまいちよくわかりません。3D CG の基礎がないからかな。

ちょっとした KVM サポートツール

そろそろよかろうと思って、サーバーを jessie に上げたら、Xen が起動しない。ホスティングサーバーの変更もあったので、思い切って仮想化基盤を KVM に変更……というか、回帰しました。 ところが、xen-tools のようなお手軽ツールがありません。いや、あることはあるのですが、古いバージョンにしか対応してなくて、しかも最近全くメンテされてない状態。 一応、昔気に入ってて、日本語翻訳までした Proxmox VE も見てみたのですが、えらく進化してしまって、機能てんこ盛りで、こんなんイラネ。VNC もセキュリティに気を遣うのはわかるんですが、ごく一部のクライアントしか対応してないプロトコルしか外に出さない=使いにくい Java クライアントとか、HTML 5 版のやっぱり使いにくいクライアントしか想定にないみたいで、愛想が尽きた。 まあ、イメージは素の状態から CD イメージとか、debootstrap とか使って作るので、VM の作成や削除の機能はいらないや。となると、VM の起動/停止が簡単にできればそれでいいんだけど……ないですね。そんなツール。 ということで、vmmaestro という名前だけは大層なシェルスクリプトをでっち上げました。GitHub にて絶賛公開中。一応、vhost-net とか、x-data-plane とかにも対応してます。

Debian で Xen 4.1 を

パッケージで入れられてしめしめとか思ってたら、何か依存関係でも壊したのか、起動しないゲストがあったでござる。ということで、バニラな方法で入れ直す。元ネタは昨日と同じでこちら → Xen 4.1 from source with Debian Squeeze 2.6.32-5-xen-amd64 dom0 (test) Xen.org からソースを取ってきます。現時点での最新版は、4.1.2。 wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz ビルドに必要なパッケージをインストールします。/etc/apt/source.list に以下の行を追加して、 deb-src http://ftp.jp.debian.org/debian/ sid main</code> 以下を実行。 apt-get build-dep xen apt-get build-dep xen-utils-common build-dep で入らないパッケージを追加で入れます。 apt-get install libx11-dev libssl-dev python2.6-dev で、おもむろにビルド make xen make tools make stubdom エラーがなければインストール。 make install-xen make install-tools PYTHON_PREFIX_ARG= make install-stubdom Domain 0 に必要なサービスデーモンの起動設定を忘れずに。 update-rc.d xencommons defaults update-rc.d xendomains defaults 4.0 までと互換性のある、xm ツールセットを使う場合は、xend も起動するようにしておきます。 update-rc.d xend defaults ひとまず以上で、Xen が起動するはずです。再起動して確認しましょう。 xl list 次のように、Domain-0 がリストされない場合、たいていは GRUB の設定ミスです。 Name ID Mem VCPUs State Time(s)
Read more

Debian Squeeze に Xen 4.1 を入れる

XenServer 6.0 の基盤になってたり、他のディストリがこぞって採用してるのが、Xen 4.1 なのですが、時期の関係で、Squeeze には、4.0 が収録されています。何か中途半端。sid にはパッケージがありますので、そっからソースを取ってきて(さすがにバイナリは持ってきても動かないので)、ビルドする方法を見つけましたので、備忘録がてら。 元ネタはこちら → Xen 4.1 from source with Debian Squeeze 2.6.32-5-xen-amd64 dom0 (test) まずは、source.list に1行追加。 deb-src http://ftp.jp.debian.org/debian/ sid main squeeze や wheezy の行があれば、コメントアウトしておきます。 で、おもむろに、ビルド…する前に、パッケージをひとつ追加しておきます。ないとコンパイルがエラーになるので。 apt-get install ipxe-qemu PXEブートに使うファームのQEMU用ROMイメージなんですが、なぜか Xen をインストールしても、build-dep しても入りません。 まずはビルド環境を整えます。 apt-get update apt-get build-dep xen apt-get build-dep xen-utils-common Xen のソースと Debian パッチの取り寄せ、ビルドも apt-get で済むのが便利なところ。 cd /usr/src/ apt-get source xen -b apt-get source xen-utils-common -b エラーがなければパッケージができているので、dpkg でインストールすればおしまい。 dpkg -i *xen*deb