ラベル Tips の投稿を表示しています。 すべての投稿を表示
ラベル Tips の投稿を表示しています。 すべての投稿を表示

2011年8月19日金曜日

RPM作成時にdebuginfoパッケージが作成されないときの対処方法

先日ZABBIX-JPでRHEL6/CentOS6用のZabbixのパッケージを作成するために、CentOS6のビルド環境を作成したのですが、その際にdebuginfoパッケージが作成されないことに少しハマったのでメモとして書いておきます。

解決方法は簡単で、redhat-rpm-configパッケージをインストールすればOKです。このパッケージがインストールされていなくて、debuginfoパッケージが作成されない場合、バイナリ自体にデバッグ情報が含まれてしまうために出来上がったRPMファイル自体のサイズが少し大きくなります。以下はzabbix-server-mysqlパッケージの比較です。

  • debuginfoなし: 373744 byte
  • debuginfoあり: 355073 byte

Webで検索するとdebuginfoパッケージを作成しない方法は多いのですがdebuginfoが作成されないときの対応方法はあまり出てきません。debuginfo自体あまり使う人も多くないので仕方がないのでしょう。

ただ、debuginfoを作らないことによって実行バイナリに不要な情報が含まれてしまうので、かなり微々たる差ではありますけど、debuginfoが不要な場合でも作成はしておき、配布はしないようにした方が良いのではないかと思います。

ビルド環境を作成するときにOSのインストーラで「すべてのパッケージ」を選択してインストールしていればこういった問題がは出ないのでしょうけど、私は普段ディスクを無駄遣いしないために(MacBook AirのSSDは128GBしかないので)普段から最小構成インストールしています。

この問題、以前にも同じ状態になって何度か調べている気がします。解決の糸口が見つかりにくいのでrpm-buildパッケージと依存関係つけておいてくれればいいのに、と毎回思ってます。

2007年11月20日火曜日

Mac OS X Leopardのアップデータ適用でsyslogdが暴走

先日出たMac OS X Loopardアップデータを適用したところ、CPUが常に100%の状態になってしまいました。ターミナルからpsコマンドを実行すると、syslogdのCPU使用率が99%になっています。下記のサイトを参考に、システムの言語を英語にしたところCPU使用率も通常に戻りました。

最初はアップデータを適用したことが原因かと思っていたのですが、どうもMail.appの日本語対応が微妙なようですね。

確かに、日本語環境ではメール受信時に処理が止まったようになっていたのが、英語環境にしてからその現象は起こらなくなりました。せっかくLeopardになってMail.appを使い始めたので少し残念です。今後のアップデートに期待したいところです。

システムの言語を英語にしてみたところ、メニューが英語になっただけで単位の表示やことえりの動作に影響はないようです。設定なども英語になってしまうため多少読むのに苦労しますが、使えないことはないのでしばらくは英語環境で使ってみようと思います。

英語環境にしてから、多少動作が軽くなったような...気のせいでしょうか?

2007年11月13日火曜日

Mac OS Xのホスト名を固定にする

Mac OS Xのデフォルトの設定では、DHCPサーバから配られたホスト名を使用するようになっています。

それ自体に問題はないのですが、Time Machineでは、マシンとバックアップファイルの識別をホスト名で行っているらしく、ホスト名が変わると違うバックアップファイルとして認識されてしまうようです。

/etc/hostconfigに以下のような設定を行うことでホスト名を固定化することができ、Time Machineも正常に動作しました。

HOSTNAME=mac.myhome.com

2007年11月12日月曜日

findとxargsで空白を含むファイルを処理する方法

FATでフォーマットしてある外付けディスクからMac OS Xにファイルをコピーすると、パーミッションが777になってしまい気持ちが悪いことになります。

ターミナルからファイル名に空白を含むファイルをfindとxargsで処理しようとしても、ファイル名に空白があるため以下のようなエラーが出てうまく処理できません。

xargs: unterminated quote

以下のようにするのが正解らしいです。

find -type f -print0 |xargs -0 chmod 644

2007年11月7日水曜日

デスクトップにウィジェットを常駐させる

Terminalから以下のコマンドを実行することでDashboardのウィジェットをデスクトップに表示できるようです。

有効

$ defaults write com.apple.dashboard devmode YES
$ killall Dock

無効

$ defaults delete com.apple.dashboard devmode
$ killall Dock

これで、Dashboard上でウィジェットをドラッグしながらF12キーを押すことで、ウィジェットをデスクトップに持ってくることができます。