転載・引用について

ユーザ用ツール

サイト用ツール


os:osx:systems

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

os:osx:systems [2018/05/14 13:35] – 外部編集 127.0.0.1os:osx:systems [2018/10/19 18:08] (現在) – 削除 seirios
行 1: 行 1:
-====== システム設定 ===== 
- 
-**__ Last Update: 2014/02/14 __** 
- 
-ここでは、OS-Xに関するシステム設定方法のメモを主に扱う。 
- 
-===== Swap suspend/Resume 関連 ===== 
-OS-Xでは、swapはswapfileで管理しているのだが、長期間使っていると結構毒がたまってくる。これが動作がもっさりする理由になったりするので、時々はcleaningした方がよい。 
- 
-参考URL: [[http://d.hatena.ne.jp/kinneko/touch/20130109/p1|[MacBook] swapをやめる。swapファイルの置き場所を変える。]] 
- 
-要するに、以下の手順で作業すればよい 
-  - swapを停止 
-    * terminal.appから以下を実行 
-    * <code> 
-sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 
-</code> 
-  - 再起動 
-  - ''/private/Var/vm/''下にあるswapfile*を削除 
-    * terminal.appから以下を実行 
-    * <code> 
-sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist 
-</code> 
-  - swapを開始 
-  - 再起動 
-これでOK 
- 
-ちなみに、swapを停止するとスリープから復帰するときに画面がおかしくなったり、フリーズしたりするというリポートがあるので、注意。 
- 
-===== Kernel Parameter Tuning ===== 
-MacOS-XはFreeBSD由来のシステムなので、kernelのパラメータは簡単に調整できる。 
- 
-Leopardまでは、/etc/sysctl.confが存在する場合、それを参照して起動時に設定できたが、SnowLeopardではlaunchdで対応するしか無いと思われる。 
- 
-というわけで、Launchdでの設定方法。 
- 
-  - mkdir /Library/StartupItems/Sysctl 
-  - 以下の内容を /Library/StartupItems/Sysctl/StartupParameters.plist に貼り付ける 
-    * <code> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> 
-<plist version="0.9"> 
-<dict> 
- <key>Description</key> 
- <string>Sysctl</string> 
- <key>Messages</key> 
- <dict> 
- <key>start</key> 
- <string>Starting Sysctl</string> 
- <key>stop</key> 
- <string>Stopping Sysctl</string> 
- </dict> 
- <key>OrderPreference</key> 
- <string>None</string> 
- <key>Provides</key> 
- <array> 
- <string>Sysctl</string> 
- </array> 
- <key>Requires</key> 
- <array> 
- <string>Network</string> 
- </array> 
-</dict> 
-</plist> 
-</code> 
-  - 以下の内容を /Library/StartupItems/Sysctl/Sysctl に貼り付ける 
-    * <code> 
-#!/bin/sh 
- 
-case "$1" in 
- start) 
- echo "Starting Sysctl" 
- # limits 
- ulimit -HSd unlimited 
- ulimit -HSs unlimited 
- ulimit -HSu unlimited 
- ulimit -HSn unlimited 
- 
- # FreeBSD style sysctl.conf 
- if [ -f /usr/local/etc/sysctl.conf ]; then 
- while read var comments 
- do 
-     case ${var} in 
-     \#*|'') 
- ;; 
-     *) 
- /usr/sbin/sysctl -w ${var} 
- ;; 
-     esac 
- done < /usr/local/etc/sysctl.conf 
- fi 
- ;; 
- stop) 
- echo "Shutting down Sysctl" 
- ;; 
- *) 
- echo "Usage: $0 {start|stop}" 
- exit 1 
- ;; 
-esac 
-</code> 
-  - chmod 755 /Library/StartupItems/Sysctl/Sysctl を実行 
-  - /usr/local/etc/sysctl.confを作成 
-    * 内容はFreeBSDの物と同じで良い。今回は、以下で作成 
-    * <code> 
-##### 
-# Sysctl parameter setting. 
-##### 
-# Kernel 
-kern.maxproc=2048 
-kern.maxprocperuid=512 
- 
-kern.maxfiles=16384 
-kern.maxfilesperproc=14745 
-kern.maxvnodes=66560 
- 
-# Network 
-kern.ipc.somaxconn=4096 
-kern.ipc.maxsockbuf=1048576 
- 
-net.inet.tcp.delayed_ack=0 
-net.inet.tcp.rfc1323=1 
- 
-net.inet.tcp.sendspace=131072 
-net.inet.tcp.recvspace=358400 
-net.inet.udp.recvspace=73728 
-net.inet.udp.maxdgram=57344 
-net.inet.raw.recvspace=32768 
- 
-net.local.stream.sendspace=65535 
-net.local.stream.recvspace=65535 
- 
-# net.inet.icmp.bmcastecho=0 
-# net.inet.icmp.icmplim=600 
-# net.inet.tcp.delayed_ack=0 
- 
-</code> 
- 
-===== ホスト名を固定に ===== 
-Terminalとかを使っていて、ホスト名が色々変わってしまうのに気づいた人、これうっとうしいですよね。 
- 
-これは、DHCP等でアドレスを割り当てられたときに、お節介にも逆引きからホスト名を設定されてしまうせいで発生します。 
- 
-というわけで、ホスト名を固定するには、/etc/hostconfigに以下の行を追加します。 
-<code> 
-HOSTNAME=foo.example.org 
-</code> 
- 
-===== Snow LeopardとemonsterでBT DUNを ===== 
- 
-どうやらLeopardと同じ方法でBT DUNできる模様。 
- 
-参照URL 
-  * [[http://www.fraction.jp/log/archives/2008/04/11/MacBook_Air__S11HT_de_Bluetooth_DUN|MacBook Air + S11HT で Bluetooth DUN]] 
-  * [[http://wikis.jp/emonster/index.php?FAQ|EMONSTERまとめWIKI(FAQ)]] 
- 
-  - Emonsterに[[http://wikis.jp/emonster/index.php?FAQ|EMONSTERまとめWIKI(FAQ)]]のBT-DUN接続はどのようにしたら良いですか?を参考にWM6_BT_DUN.cabをemonsterにインストール 
-  - [[http://www.fraction.jp/log/archives/2008/04/11/MacBook_Air__S11HT_de_Bluetooth_DUN|ここ]]から{{:os:osx:emonster.ccl.zip|これ(Zipファイル)}}をダウンロード 
-  - emonster.ccl.zipをunzipすると、emonster.cclができるので、%%/Library/Modem Scripts/%%にコピー 
-  - ネットワーク設定追加 
-    * システム環境設定→ネットワークを開く 
-    * Bluetooh DUNを追加 
-    * Bluetoothデバイスを設定をクリック(ここでペアリング設定もできるので、ここまでペアリングしないこと) 
-    * Bluetoothデバイスの検索を始めるので、Emonsterを選択 
-    * Bluetooth携帯電話設定画面になるので以下を選択 
-      * 電話機の製造元→その他 
-      * 電話機の機種 →EMONSTER.ccl 
-      * ユーザー名  →em 
-      * パスワード  →em 
-      * 電話番号   →*99# 
-  - これで設定終了。 
- 
-Snow Leopardではずいぶん簡単になった。 
- 
-===== MacOS-XでIP Addressにaliasを ===== 
- 
-opengear CM4008を設定する際に、Ethernet I/FにIP addressを複数付けたかったので、設定した。 
- 
-<code> 
-$ sudo ifconfig en0 192.168.0.2/24 alias 
-</code> 
- 
-要するに、普通のBSDと思えば良い。 
- 
-ただし、arpがしばらく残るので、対象機器を変更する場合には、明示的にarpを消してあげなければならない。 
- 
-<code> 
-$ sudo arp -d 192.168.0.1 
-</code> 
- 
-これで、取りあえず、大丈夫かな。 
- 
-===== 環境変数を設定する ===== 
- 
-MacOS-Xで生活する場合、全般的に参照される環境変数を設定したくなる。しかし、shell環境でもない限り、設定方法が良くわからない。 
- 
-というわけで、調べてみた。 
- 
-結果、「いや、これ、どうなのよ?」という気分 
- 
-=== 以下 Mountain Lion === 
-Mountain Lionだと個人環境で設定する方法は今のところ不明。 
-System wideに設定するには、''/etc/path.d''下に例えば10-PKGとかいうファイルを作って 
-<code> 
-/usr/pkg/sbin 
-/usr/pkg/bin 
-</code> 
-等と書けばいい模様。しかし、これはあまりにも気持ち悪い... 
-この他に、''/etc/launchd.conf''に環境変数を設定する方法もある模様。 
-<code> 
-setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/pkg/sbin:/usr/pkg/bin 
-</code> 
-という方法もあるらしい。これは設定すると再起動が必要。 
-しかし、これもあまりにもあまりだよなぁ。 
-=== Lion === 
-調べてません。Snow Leopardまでの方法か、Mountain Lionの方法が使えるはず。 
- 
-=== 以下 Snow Leopardまで=== 
-個人環境の環境変数は、''~/.MacOSX/environment.plist''に書けばいいらしい。 
- 
-<code> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"  
-                      "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
-<plist version="1.0"> 
-<dict> 
-        <key>DISPLAY</key> 
-        <string>localhost:0.0</string> 
-        <key>XAPPLRESDIR</key> 
-        <string>/usr/pkg/lib/X11/app-defaults</string> 
-</dict> 
-</plist> 
-</code> 
-===== システム起動時にdmgファイルをマウントする ===== 
- 
-起動時(もしくはlogin時)に、自作のDisk Imageファイルをマウントしてしまいたい場合がある。例えばpkgsrcとかの場合。これを、実現する方法を記載しておく。 
- 
-<WRAP round box> 
-Snow Leopard/Lion/Mountain Lionでも動作した 
-</WRAP> 
- 
-MacOS-Xでは、/System/Library/StartupItemsや/Library/StartupItemsにある設定を起動時に実行するので、 これを使って自動マウントを実現する。 
- 
-System/Library/StartupItemsはシステム側で提供しているもので、/Library/StartupItemsはそれぞれの環境毎に設定されるものである。いわゆるサードパーティー製アプリケーションなどは後者を利用していル場合が多い。\\ 
-前者はいつ書き換えられるか判らない(まぁ、ソフトウェアアップデートのタイミングが一番ありそうですが)ので、後者を利用すべき。 
- 
-ここでは、「[[OS:OSX#NetBSDのpkgsrcを利用する]]」で記載したDisk Imageを起動時にマウントする方法を記載する。 
- 
-マウントしたいDisk Imageファイルが/Users/foo/BSD.dmgであるとする。 
- 
-まず、StartupItemsにディレクトリを作成する。このディレクトリはシンボリックリンクでは動作しないので、**実際にファイルやディレクトリを作成すること** 
-<code> 
-$ sudo mkdir /Library/StartupItems/PKG 
-</code> 
- 
-このディレクトリ内に、PKG(ディレクトリ名と同じ名前で作成)及びStartupParameters.plistというふたつのファイルを準備する。 
-これらのファイルはOwner:Groupがroot:wheelである必要があるので注意。 
- 
-まず、PKGファイルの内容。 
-<code> 
-#!/bin/sh 
- 
-exec > /tmp/PKG.log 2>&1 
- 
-## 
-# Mount HFSX Filesystem for PKG 
-## 
- 
-. /etc/rc.common 
- 
-PKG_DISKIMAGE="/Users/foo/PKG.dmg" 
-PKG_MOUNTPOINT="/Volumes/pkg" 
- 
-StartService () 
-{ 
-    local device 
- 
-    if [ ! -f "${PKG_DISKIMAGE}" ]; then 
-        ConsoleMessage "No diskimage ${PKG_DISKIMAGE}" 
-        return 0; 
-    fi 
- 
-    ConsoleMessage "Mounting HFSX Filesystem for PKG" 
- 
-    hdiutil attach ${PKG_DISKIMAGE} \ 
-        -mountpoint ${PKG_MOUNTPOINT} \ 
-        -owners on -nobrowse # -notremovable -kernel 
-    sleep 1 
- 
-    if [ -d ${PKG_MOUNTPOINT}/pkg/etc/rc.d ]; then 
-        for rc in ${PKG_MOUNTPOINT}/pkg/etc/rc.d*; do  
-            ConsoleMessage "Starting ${rc##*/}"; 
-            sh ${rc} start; 
-        done; 
-    fi 
-} 
- 
-StopService () 
-{ 
-    return 0; 
-} 
- 
-RestartService () 
-{ 
-    return 0; 
-} 
- 
-RunService "$1" 
-</code> 
- 
-このファイルは実行可能でなければならないので、\\ 
-''sudo chmod 755 /Library/StartupItems/PKGSRC/PKGSRC''\\ 
-を実行する。 
- 
-次にStartupParameters.plistの内容。 
-<code> 
-{ 
-        Description     = "Mount Filesystem for PKG"; 
-        Provides        = ("PKG"); 
-        Requires        = ("Disks"); 
-} 
-</code> 
- 
-これで再起動すると自動的にマウントするようになる。 
  
os/osx/systems.1526272518.txt.gz · 最終更新: 2018/05/14 13:35 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki