Windows 10 IPでbash走らせてみた

Build2016はライブで見ていて楽しみにしていたのだが、ようやく環境が整ったので噂のbashを動かしてみた。

まずすごく気になるのはターミナルのダメさ。vi開くごとにフォントがでかくなる。フォントの設定で直るが当然一々そんなことするのは面倒。リリースまでにちゃんと直るかな。

あとファイルシステムのうちいくつか(主にtmpfs絡み)の処理が適切にされておらず、必要なものがマウントされずアクセスできないせいで動かないプログラムがいくつかあった。 例えば /run/resolvconf/resolv.conf とか /run/lock とか。この辺りをとりあえず適当に作ったり設定したりすれば一応ちゃんと動くかも(前者は名前解決が必要なものつまりネットワークにつなげるもの全部で後者はロック管理が必要なもの)。ちなみに/etc/fstabには/はext4でマウントされると書いてある。インストールされるプログラムにはfdiskとかあったりするので、この辺りをいじられるととんでもないことになりそう。

最初は設計には気になる点はあるのだけれど、単にソフト開発でUNIXツールを使う分にはこの程度でもいいのかなと思ってたけど、結局ベースがWindowsシステムなのに、その上に中途半端にいろいろできるLinux互換性が入ったせいでいろいろ面倒なことになって、これならcygwinレベルで割り切ったサブシステムを入れるか、逆に完全にUNIX互換ベースにしちゃわないと(こっちはまあ無理だろうけど)ダメかもなという印象になりつつある。7月のリリースまでにはかなりましになっていると信じたいけど。

広告
カテゴリー: Unix, Windows. Windows 10 IPでbash走らせてみた はコメントを受け付けていません。

Emacsカスタマイズのメモ

大抵こういうときはみんな.emacsファイルを作り込んでいて、環境を移行するときはそれをコピーするだけってのが定石なのかもしれないけど、環境によっては都度M-x customizeで最低限の設定だけしちゃった方がいいように思える。以下はcustomize起動した後、どの階層をたどれば設定にたどり着けるかの俺メモ。この設定が何を意味するのかが分かってる人向け
  • バックアップファイル(~で終わるアレ)を作らない  Files > Backup > Make Backup Files をoffに
  • オートセーブしない  Files > Auto Save > Auto Save Default をoffに
  • 動的略語展開を有効にする  Editing > Abbreviations > Abbrev Mode をonに
カテゴリー: Unix. Emacsカスタマイズのメモ はコメントを受け付けていません。

OpenSolaris 09/06 LiveCDをPXEブートする

Automated InstallerはPXEによるネットワークブートに対応しているんだけど、UbuntuみたいにLiveCD自体をネットワークブート出来るといろいろ遊べて面白そうなので(Solarisベースならメンテも出来る)。

OpenSolaris 08/05でLiveCDをPXEブートする方法は

PXE / Net booting Open Solaris 200805 release. – Butter Mountain

に書いてあるので、それを見ながら行う。

PXEgrubをブートする方法は上記サイト等を参考に。

tftp公開ディレクトリを/path/to/tftpboot、nfs公開ディレクトリを/path/to/shareとすると、

  • cdromイメージそのものを/path/to/shareにコピーする
  • cdrom内の/bootと/platformを/path/to/tftprootにコピーする。
  • /path/to/tftpboot/boot/pxegrub を /path/to/tftpboot/pxegrub.0 にコピーする
  • /path/to/tftproot/boot/x86.microroot と /path/to/tftpboot/boot/amd64/x86.microroot の中身を編集する。

ミニルートイメージであるx86.microrootはgzip圧縮されたUFSなので、UFSが書き込めるLinuxカーネルならばループバックマウントして直接書き込めばいいのだがUbuntu-9.04ではそうなっていないようなので、OpenSolarisを立ち上げて作業をする(多分FreeBSDでも大丈夫)。

ミニルートイメージをマウントしたら、(ミニルートイメージのルート)/.nfs を作成し、

中身のスクリプト (ミニルートイメージのルート)/lib/svc/method/life-fs-root を以下のように書き換える。

@@ -192,6 +192,10 @@

        echo "\rPreparing live image for use" >/dev/msglog

+       /sbin/mount -F nfs -o vers=3 nfsserver:/path/to/share /.nfs
+        /usr/sbin/lofiadm -a /.nfs/osol-0906-x86.iso /dev/lofi/1
+       /sbin/mount -F hsfs -o ro /dev/lofi/1 /.cdrom || break
+
        # Determine if any of the USB devices contains a UFS filesystem.
        # For devices that do, attempt to mount them to see if the
        # compressed /usr filesystem exists
@@ -240,8 +244,8 @@
        # because the mount command enforces nosetuid, and /usr
        # needs to have the setuid capability.
        #
-       /usr/sbin/lofiadm -a /.cdrom/solaris.zlib /dev/lofi/1 || break
-       /sbin/mount -F hsfs -o ro /dev/lofi/1 /usr
+       /usr/sbin/lofiadm -a /.cdrom/solaris.zlib /dev/lofi/2 || break
+       /sbin/mount -F hsfs -o ro /dev/lofi/2 /usr
        if [ $? -ne 0 ]
        then
                echo "/usr MOUNT FAILED!"

後はその書き換えたイメージをgzip圧縮し直して配置し直すだけ。

上記サイトでは指定させたオプションを読み込むことで他のネットワークでも使えるようにしているが、そういった再利用を視野に入れないのならば決め打ちしてしまっても問題ないだろう。この場合、逆にブートローダ側のメニューについて一切変更の必要はない。

Ubuntuのときと違いミニルートの中身をいじるのでアーキテクチャが変わったり、バージョンが上がったとき等の再利用性は無くなるが、LiveCDの中身自体やカーネルの再構築をせずに出来るので作業としては楽なほうだろう。

CDイメージの中身を展開して、それをNFSマウントさせる方法だと、原因不明だが全部コピーしようとしだして、いつまで経っても起動しない&メモリ使い切るので、CDイメージのある場所をNFSマウントさせ、そこにあるCDイメージを改めてマウントする方法をとる。

とりあえず、LiveCDが立ち上がることは確認できたがDHCPからDNSサーバの情報が正しく取得できていないようで、起動後にresolv.confとnsswitch.confを適切に設定してやらないとDNS解決が出来なかった。

カテゴリー: Unix. タグ: . OpenSolaris 09/06 LiveCDをPXEブートする はコメントを受け付けていません。

面白そうなソフトのメモ

Dual DHCP DNS Server(dualserver)

DHCPとDNSの両方の機能をもつ軽量サーバ

よさげな点

  • DHCPで配布したアドレスとホスト名の対応をDNSに反映させるので連携が楽そう。どのアドレスがどのマシンに配布されたかをブラウザから見ることも出来る。
  • CHILD-ZONESエントリをいじれば、Flet’s Squareのドメイン(.flets)だけfletsのDNSサーバに聞きに行って、それ以外のドメインでは別の(ISP指定とか)DNSサーバに聞きに行くみたいなことことも出来るので家庭内LAN組む上では十分なスペック

ダメそうな点

  • パッケージ化がほとんどされてない
  • ネットでの情報が少なすぎる(とりあえず設定ファイル(dualserver.ini)見るだけでも大体やりたいことは出来そうだが)
  • DNSで特定のゾーンの情報は特定のアドレスからしか見せないといった高度な設定は出来ない。(複数のネットワークを分割管理するのには向かない)

Dans Guardian

proxyサーバ型コンテンツフィルター。

  • havpのようなclamavを使ったウィルス監視も出来る。
  • Debian, Ubuntuでパッケージ化されているのでaptから一発インストールできる

参考になりそうなサイト dansguardianでコンテンツフィルタリング

カテゴリー: Memo, Unix. 面白そうなソフトのメモ はコメントを受け付けていません。