Posts

仮想マシンハードディスクイメージファイルの形式

仮想マシンのハードディスクイメージファイルについて、いつもどれがどれか分からなくなってしまうので、その種類を書いておく。 Appleのdmg形式は除いている。 RAW物理ディスクのダンプqcow昔のqemuの形式qcow2今のqemuの形式FVD (Fast Virtual Disk)IBMの開発したqemu用の形式QEDqemu用だが既に互換性のためだけに残っている状態。VDI (Virtual Disk Image)VirtualBoxの形式VMDK (Virtual Machine Disk)VMwareの形式VHD (VIrtual Hard Disk)Microsoft Virtual PCの形式VHDX (Virtual Hard DIsk v2)Microsoft Hyper-Vの形式bochsBochsのbximageコマンドで作る形式 他にもあるだろうが、普段目にするのはこの程度なように思う。

NetBSDのpkgsrcから導入したXでAccelMethodを設定する

FreeBSDのX.orgでCaps lockキーをCtrlにするで書いたことと基本的に同じではあるのだが、 NetBSD上でpkgsrcから導入したmodular-xorg-server-1.20.1を導入した場合の設定例を書いておく。 やりたいことは、Toshiba dynabook R63/PSというIntel Broadwell世代のラップトップでIntelのinternal GPUのアクセラレーション方式をSNAからUXAに切り替えるということである。 以下のようにすれば良い。 ; まず/etc/X11/xorg.conf.dディレクトリーがないので作成する。 # mkdir /etc/X11/xorg.conf.d ; 以下のような内容を用意する。 # cat /etc/X11/xorg.conf.d/20-intel.conf Section "Device" Identifier "Intel GPU" Driver "intel" Option "AccelMethod" "UXA" # Option "NoAccel" "True" # アクセラレーションを無効にする場合 EndSection

JRubyのRestClientで、認証付きHTTPプロキシーサーバーを経由してアクセスする方法

いつの頃か覚えていないのだが、とある認証付きHTTPプロキシーサーバーを経由して、 JRubyのRestClientを使ったプログラムが動いていたはずである。 プロキシーサーバーの情報は、この環境は、Windows 10の環境であるから、 > set http_proxy=http://username:password@serveripaddress:portnumber のように設定してある。 しかし、何かが変わったようで、今日になると404 Proxy Authentication Requiredの エラーが、net/httpから返されて認証付きプロキシーサーバーを越えることができない。 パスワードは英数字のみで構成されているので、パスワードの値が問題ではないはずである。 いろいろ試した結果、 RestClient.proxy = ENV['http_proxy'] を書いておくことで解消できた。 net/httpの仕様がいまいち理解できず気持ちが悪いが、 いずれまた、はまりそうな気がするので書いておく。

FreeBSDのX.orgでCaps lockキーをCtrlにする

最近のX.orgでは、xorg.confは用意しておかなくても良いのだが、その時にctrl:nocapsを指定する方法を書いておく。 FreeBSDでPortsからxorg-server-1.18.4_9,1を導入した時に使用している。 $ cat /usr/local/etc/X11/xorg.conf.d/10-capslock.conf Section "InputClass" Identifier "keyboard0" Driver "kbd" MatchIsKeyboard "on" Option "XkbOptions" "ctrl:nocaps" EndSection

PowerShellのSend-MailMessageで外部コマンドの標準出力を電子メールを送る際に改行を維持する

PowerShellを使うと良い所は、電子メールを簡単に送付できるSend-MailMessageと言う命令があるところである。 これを使って、外部コマンドの標準出力を電子メールとして送るとすると、以下のようになる。 ## 管理者権限のPowerShellコンソールで、Set-ExecutionPolicy remotesignedを実行しておく必要がある。 ## 使い方: ## powershell -NoProfile -ExecutionPolicy Unrestricted .\send-notification-email.ps1 # 送信する電子メールの本文はUTF-8にする。 $utf8 = ([System.Text.Encoding]::UTF8) # 差出人 $fromaddress = "fromuser@example.com" # 宛先として2つの電子メールアドレスを設定する。 $toaddress1 = "touser1@example.jp" $toaddress2 = "touser2@example.jp" # 電子メールのSubject $subject = "件名です" # 本文は外部コマンドの標準入力から受け取る $body = C:\jruby-9.2.0.0\bin\jruby.exe .\output-to-stdout.rb if ($LASTEXITCODE -ne 0) { $email = @{ From = $fromaddress To = "$toaddress1","$toaddress2" Subject = $subject Body = $body -join "`r`n" SMTPServer = "smtp.example.com" Encoding = $utf8 } send-mailmessage @email } ここで、外部コマンドの標準出力が複数行存在する場合には注意が必要である。 つまり、-join "`r`n"を付けてお…

NetBSD 8 on さくらのVPS V4

お名前VPSをずいぶんと長く使って来たのだが、我慢できないほどにディスクアクセスが遅くなってしまい、他に乗り換えることにした。 最近のVPSサービスは、ディスクがSSDであまり容量の大きくないものばかりなので、手頃な価格で200 GB程度のディスク容量のものとなると、 さくらのVPSくらいしかなさそうだった。 さくらのVPSは、ブートセクターが壊れることはあるとか言う話を聞いたことがあって心配していたのだが、私の使うことにした石狩データセンター収容のV4の仮想マシンは、 とりあえず初回からNetBSDが起動しないと言うことはなかった。 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 8.0 (GENERIC) #0: Sat Jul 21 13:49:48 JST 2018 xxx@xxx.xxx:/usr/world/amd64/8/obj/sys/arch/amd64/compile/GENERIC total memory = 2047 MB avail memory = 1964 MB rnd: seeded with 128 bits timecounter: Timecounters tick every 10.000 msec Kernelized RAIDframe activated running cgd selftest aes-xts-256 aes-xts-512 done timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100 QE…

Log-structured File System (LFS) について書かれている文献

Log-structured File System (LFS)というファイルシステムがあって、NetBSDもサポートしている。 しかし、私の知る限りNetBSDではちゃんと動いたことはないように思う。 それでも、どうにかして動かしたいと思う人は私以外にもいるようで、時折何かの修正がコミットされている。 もうHDDにストレージのアクセス速度を求める時代ではないのかもしれないが、SSDにも応用できる考え方はあるのではないかとも思う。 mount_lfs(8)のmanページと、英語版Wikipediaの参考文献にあげられている文書を書いておく。 Wikipediaの方はリンクがあるが、mount_lfs(4)の方はそうではないので、後で読む時にはここからたどるようにしたい。 mount_lfs(8)のmanページよりBeating the I/O Bottleneck: A Case for Log-Structured File SystemsThe Design and Implementation of a Log-Structured File SystemFile System Performance and Transaction SupportAn Implementation of a Log-Structured File System for UNIX英語版WikipediaのLog-structured file systemの記事より mount_lfs(8)のmanページの分と重複する物は割愛した。 Log-Structured File SystemsDon't stack your Log on my Log 最初は教科書の一章であるLog-Structured File Systemsを読むのが分かりやすそうだ。