October 23, 2016

LUKSにはlinux-image-extraが必要

筆者はLinuxマシンの/をLUKS(dm-crypt)で暗号化して運用しており、起動時にはパスフレーズを入力してディスクをマウントする必要があるのだが、Ubuntu 16.04(xenial)から16.10(yakkety)にアップグレードしたところ、起動時のパスフレーズ入力画面で必ずフリーズするようになってしまった。16.04のカーネル(4.4.0)では正常に起動したのであれこれ試行錯誤したところ、16.10のカーネル(4.8.0)向けのlinux-image-extraパッケージが入っていないことが判明したのでこれを入れてみたところ、起動時のフリーズがなくなり起動できるようになった。というわけで、LUKSを利用する環境ではlinux-image-extraを入れることが必要なようである。ディストリビューションのアップグレード時に自動的に入らなかったのはバグのような気もするが、まだ報告はしていない。

さてしかしながら、そうして起動したカーネル4.8.0ではIntel NUC 5i5RYH+DELL P2415Qの環境において4K解像度が出ずfull HD止まりという問題があり、今後の課題である。(4.4.0では正しく4K解像度が出て快適に利用できていた。)

| | Comments (0) | TrackBack (0)

February 28, 2010

VMWare上Ubuntu Karmicのサウンド問題

ここ最近のPC利用スタイルは、Windows7を起動してその上にVMWare Player(3.0)を立ち上げ、その中でUbuntu 9.10 Karmicを動かすというものだが、UbuntuをKarmicにしてからというもの、Ubuntuで音声を再生すると音がプチプチ途切れる感じで、おおよそ音楽や動画を楽しめる状態ではなくなってしまっていた。
同時にWindowsも使えることから音声を利用するアプリケーションはWindowsを使えばいいや、ということで逃げていたのだが、少し調べてみたところこのスレッドを発見。#8にしたがってちょこっと設定したところ、あっさりと問題が解決してしまった。ちなみに音がプチプチいうことを英語では"choppy"という、らしい?

これで直る仕組みやそもそも音が変だった原因がまったく分かってないのが気持ち悪いが、まあ、とりあえず動いてるようだということで。このへんが参考になるのだろうか?

| | Comments (0) | TrackBack (0)

November 30, 2007

Ubuntu Gutsy (i386)でPAE+nvidia

DDR2メモリの価格が偉いことになっているのでつい乗せられて記念に4GB買ってしまった・・・というのはよくある話で、もとある2GBとあわせ合計6GBになったメモリをどうするかというお話。

普通の32bitカーネルが扱える物理メモリ空間は4GBまでで、そのうち3GBを超えた物理メモリ領域はI/Oのためにデバイスにマップされていたりして一部のアドレスがつぶれてしまうため、32bitカーネルで起動してもメインメモリは3.2GBしか認識されない(この容量はマシンによって異なるはずである)。

この場合の選択肢は2つあって、64bitカーネルを動かす方法と、32bitカーネルのままPAE(Physical Address Extension)を有効にする方法とがある。前者の場合はさらに64bitディストリビューションを入れる方法と、32bitディストリビューションのカーネルだけ入れ替える方法とがあるが、今回はユーザーランドは32bitのまま維持したかったのでPAE拡張対応のカーネルを入れる方向でいってみることにした。

Ubuntu Gutsyで標準で入るlinux-image-genericはPAE非対応なので、PAEに対応したイメージであるlinux-image-serverを入れて動かす必要がある。

で済めば何も記事を書くまでもないのだが、ここで問題発生。GeForceを使うためにnvidiaのプロプラエタリドライバを使っているのだが、serverイメージには対応するlinux-restricted-modulesがないことが判明。Xがまともに立ち上がらなくなってしまった。

あれこれ試した結果、以下のようにするのがよいようである。
0. sudo aptitude install linux-image-server
1. sudo aptitude install nvidia-kernel-source linux-headers-server
2. sudo aptitude install module-assistant
3. sudo m-a a-i -l 2.6.22-14-server nvidia
4. sudo depmod 2.6.22-14-server

バージョン番号は適宜読み替えて欲しい。

serverイメージはPAE(CONFIG_HIGHMEM64G)がonになる一方タイマ割り込み頻度(HZ)が100になっている、CONFIG_PREEMPTがnoになっているなど本当にサーバー向けの設定になっている。俺のようにまさにデスクトップとして使いたいがメモリを認識させたいだけの場合は本来なら自分でカーネルを作り直すのがいいような気はするが。

今回の設定はあくまでも32bitカーネルが64GBまでの物理メモリを扱えるようになった、というだけなので、各アプリケーションの仮想メモリ空間は32bitのままである。すなわちLinuxでは1GBのメモリ空間がカーネルによって予約されるので、各プロセスは3GBまでの空間しか使えないということになる。1プロセスにより多くのメモリを割り当てたければ64bitカーネルと64bitのユーザーランドが必要である。

ちなみに同じマシンにはWindows XP(32bit版)も入っているのだが、そちらはServerとの差別化のためなのか、boot.iniに/PAEを書き加えても6GB認識してはくれなかった。NXビット(XDビット)はPAEの一部のような仕様なので少なくともSP2以降のカーネル自体は余裕でPAEに対応しているはずなのだが・・・。

謝辞
m-a a-i (module-assistant auto-install) については研究室一のDebianハッカーであるひらの氏が教えてくれた。

| | Comments (1) | TrackBack (1)

July 20, 2007

Samba@CentOS4とVista

研究室で買ってもらったノート[*1]にはWindows Vista Businessが入っているのだが、そのノートを自宅に持ち帰った際に自宅のSambaサーバ(CentOS 4.5上のSamba 3.0.10)のうち、認証を必要とする領域へのアクセスができないことに気づいた。どうやらVistaになってデフォルトの認証方法が厳しくなった(NTLMv2 onlyになった)のにSamba側がついていけていないことが原因のようだ。ちなみに、研究室のRHEL5系サーバ(Samba 3.0.23c)では問題なく認証にも通ったので、このバージョンのSambaでは問題ない。

「Samba Vista」などのキーワードで検索すると、例えばはじめてのトラブルシュートなんてページがひっかかる[*2]。(参考: レジストリを直接いじる方法)こんな具合でどのページもVista側のセキュリティ強度を下げる方向に調整しているのがなんかいやで調べてみたのだが、どうやらSamba 3.0.10ではあきらめるしかないようだ。

Samba 3.0にはclient ntlmv2 authという設定項目があるのだが、CentOS4上でこれをyesにしてみても状況は改善しなかった。Getting Vista to work with SambaによるとSamba 3.0.21や22あたりからNTLMv2に対応と書いてあり、確かにリリースノートにも3.0.21で"Complete NTLMv2 support"とあるので、きっとそれ以前はincompleteなのであろう。RHEL5系でうまく行くのも説明できる。

そんなわけで、Sambaをソースからビルドして入れたりすると今後のリリースへの追随が面倒なので今回はVista側を妥協するという安直な方法に逃げてしまった。CentOS4はさすがにいろいろとソフトウェア環境が古いので新しくしたいところだな。CentOS5か、いっそDebianか。


[*1] ここに書くのを忘れていたが、Let's note T5にしてしまった!俺としたことが!
[*2] 目当てのセキュリティポリシエディタを開くためにはファイル名を指定して実行でsecpol.mscとすればよい。

| | Comments (0) | TrackBack (0)

May 17, 2007

svnadmin recover

ファイルがあちこちにあってどこにあったかもどれが最新かもわからない、というしょうもない状況が発生することが多くなってきたので、放置状態になっていた自分用subversion repositoryの復活を試みた。

とりあえずリポジトリのファイルを見つけてきてチェックアウトを試みてみると:

svn: Berkeley DB error while opening environment for filesystem repos/db:
無効な引数です
svn: bdb: Program version 4.2 doesn't match environment version
と出てチェックアウトできない。Vine Linux 3.2からCentOS 4にファイルを持ってきたんじゃやっぱりだめかぁ、ということで修復を試みる。

調べてみた
ところ、
svnadmin recover path/to/repos
と打つだけであっけなく終了。1秒もかからずにリポジトリにアクセス可能になった。

今回は幸いにしてコマンド一発で修復に成功したものの、大幅な環境の移行がある際には古い環境の方でまずsvnadmin dumpしておくのが確実かと思われる。

| | Comments (0) | TrackBack (0)

July 08, 2006

Windows復活

前回のエントリに書いた通りデスクトップマシンのWindowsが死んでいたわけだが、ようやく論文を出し終えて一息ついたので、この問題に取り組んでみることにした。

結果としてはいとも簡単に修復が完了してしまった。やったことはといえば、この記事のコメントにあるとおり、回復コンソールから
bootcfg /rebuild
を実行するだけ。どうやらBOOT.INIに正しいHAL.DLLの位置を登録し直したエントリを作ってやればいいということらしい。これを実行すると、無事Windowsが起動した。なんかあまりにあっさりで拍子抜けである。現在は念のために完全CHKDSK中。

Windowsは復活したものの、家でもLinuxデスクトップ環境が欲しくなってきたので、Fedora Core 5でも入れようかな。

| | Comments (0) | TrackBack (0)

June 01, 2006

誇大広告!?

ネットワークパフォーマンス測定ツールとして欠かせないIperfであるが、同じようなものをちょっと書いてみて正しく動くか実験してみた。

すぐ書けたのはよいのだが、どうしても本家Iperfほどの性能が出ない。バッファサイズを大きくしてもだめだし、TCP windowサイズは同じだし、何でだろうとしばらく悩んだ結果、自分のツールが出したMbpsの値に(1024/1000)を2回かけてやると……なんとIperfの出した値とぴたりと一致。俺は1M = 1024*1024としていたが、Iperfは1000*1000としていたようだ。

ネットワークの世界において1キロは1000なのだろうか?どうやらそうみたい

イーサネットや無線LAN,ADSLといった回線の伝送速度はSI接頭辞で表記します。
1キロ=1000なのはハードディスクの広告だけかと思っていたよ…。なんでもかんでも2のn乗かと思うとそうでもないんだな。ちなみにもう一度上に挙げた記事を引用すると、
キロに関してだけは,1000倍を意味するときは小文字の「k」,1024倍の2進接頭辞なら大文字の「K」と表記して区別しています。
さっきあえて「キロ」と書いたのはこれがめんどうだったから。

| | Comments (0) | TrackBack (0)

March 17, 2006

Solaris Internals

ついかっとなって、Solaris Internals 2nd Editionを注文してしまった。まだ発売されていないので、届くのは当分先になる。目次のPDFをオンラインで読むことができるので、興味のある人は参考にしてはいかがだろうか。

| | Comments (0) | TrackBack (0)

February 06, 2006

prelink禁止

昨日の「マシンごとにライブラリのバイナリが異なる」件だが、偉大なる先輩が解析してくださった結果、prelinkのせいであるということがわかった。ライブラリの配置アドレスを決めうちしてどっかのテーブルを書き換えると同時に、(-rオプションがついていると)配置アドレスをランダムに決定するらしい。objdump -dすると固定されたアドレスがわかる。バイナリが異なっていたのはこのせい。乗っ取り系コードへの対策のためだろうが、マシンごとにライブラリのバイナリが異なるのは大変困るので、実験用マシンではprelinkは使用しないことになった。

ELFの動的リンクとか、まだまだわかってないことも多いなぁ。再配置の仕組みとか。Linkers and Loadersをちゃんと読むか。

| | Comments (0) | TrackBack (0)

February 05, 2006

ファイルが違う…

マシンによって/lib/tls/libc-2.3.4.soのmd5 checksumが異なるのはなんで?

同じようなマシンの組に対していくつか調べたところ、いくつかパターンがあって、
1.タイムスタンプは一緒だがそもそもファイルサイズが違う
2.ファイルサイズも一致するがmd5sumはやっぱり一致しない
の2通りがあった。本当に欲しい組み合わせであるところの、md5まで含めて一致する組は発見できず。同じディストリビューションを同じようにインストールして同じようにアップデートしてるはずのマシンなのに、なんでだろう。大変奇妙だ。

調べ出すと眠れなくなりそうなので、卒論を書き終えた後の課題ということにしておく。2つのマシン間でライブラリが厳密に一致することを前提にしてるから、一致してないとすると困っちゃうなぁ。

| | Comments (1) | TrackBack (1)

より以前の記事一覧