Mac OS Xでよくあるであろう質問集
Contents
- chm(HTML Help file) を開きたい
- OS X開発便利グッズ
- ジャーナリングON時のfsck
- 起動キャッシュの削除
- dylib
- ld: xxxxxx.a: warning: archive has no table of contents?と出てコンパイルできない
- コマンドラインでpbprojをコンパイルしたい
- pkgでインストールされる物を確認したい
- バックアップ
- Xアプリを簡単に移植したい
- OSインストール時の登録作業をスキップ
- configureがうまくいかない
- 起動したらDocが表示されません
- コンパイルができません
- メンテナンスをしたい
- CGI,PHPを実行したい
- アプリケーションを強制終了したい
- コマンドラインからのユーザ作成
chm(HTML Help file) を開きたい
意外とこういう要望ある模様。
Life with Mac OS X @rNote - Chmox 日本語対応版
OS X開発便利グッズ
otool、nm
http://www.codethecode.com/Projects/class-dump
ジャーナリングON時のfsck
fsck -yf
起動キャッシュの削除
tilにしたがって作成した場合は削除しておくように。
十分に気をつけておこなってください。
sudo rm /usr/sbin/BootCacheControl
dylib
.dylib's are just dynamic libs that get loaded automatically by dyld and can't be unloaded.
you'd create them with cc -dynamiclib -o mydylib.dylib a.o b.o
.so's are bundles, and basically shared object files which can be loaded multiple times as well as unloaded.
you'd use the -bundle option to create them.
ld: xxxxxx.a: warning: archive has no table of contents?と出てコンパイルできない
ライブラリに対して ranlibプログラムを実行します。
このメッセージは。呼び出したranlibコマンドがスワップスペース不足などのいくつかの理由で失敗したときに表示されます。
コマンドラインでpbprojをコンパイルしたい
pbxbuildを利用する。
10.3ではxcodebuild
man pbxbuild
man xcodebuild
pkgでインストールされる物を確認したい
lsbomにてbomを見ます。
lsbom ***.bom
バックアップ
http://www.bombich.com/software/ccc.html
Xアプリを簡単に移植したい
Emacsを正常に動作させたい場合はSDKもインストールしておきます。
OSインストール時の登録作業をスキップ
command+q
でスキップのダイアログが出ます。
configureがうまくいかない
原因はいろいろあるが
checking host system type
の場合は
cp /usr/libexec/config.* .
してみる。
./configure powerpc-apple-rhapsody
で通る物もある
起動したらDocが表示されません
一度ログアウトしてから再度ログインしてください
コンパイルができません
DeveloperToolsをインストールして下さい。
メンテナンスをしたい
再起動します。起動時Command+Sでシングルユーザモードで起動。
fsck -y
しばらく時間がたったあと完了の報告がでます。
reboot
で再起動。
もしくは
Terminalで
sudo update_prebinding -root /
最適化と同様の作業が行われる。
普通は大丈夫ですが、時々メンテナンスではなくディスク情報を壊してしまう事があるようです。自己責任でどうぞ。
CGI,PHPを実行したい
http://homepage1.nifty.com/glass/tom_neko/web/web_cgi_osx.html を参照。
文法の確認はhttpd -t or apachectl configtest
CGIを作成する時は
print "Content-type: text/html\n\n"
を記述の事
アプリケーションを強制終了したい
Terminalからkillでもよいですがkillapp.shなどの名前で以下を作成
#!/bin/sh /usr/bin/osascript -e "tell application \"$1\" to quit"
chmod 700して
killapp 終了したいアプリ名
などすればあるていど安全に終了できます。
コマンドラインからのユーザ作成
niutilを利用する。
# エントリ作成 sudo niutil -create / /users/sakito # ログインシェルを指定 sudo niutil -createprop / /users/sakito shell /bin/zsh # 表示名指定 sudo niutil -createprop / /users/sakito realname "sakito" # uid sudo niutil -createprop / /users/sakito uid 444 # gid sudo niutil -createprop / /users/sakito gid 44 # ホームディレクトリの設定 sudo niutil -createprop / /users/sakito home /Users/sakito # パスワードのエントリ作成 sudo niutil -createprop / /users/sakito _shadow_passwd # パスワード設定 sudo passwd sakito # wheelグループに加える sudo niutil -appendprop / /groups/wheel users sakito