
Darwin(ダーウィン)は、Appleが開発するOSで、macOSやiOS、さらにはwatchOSやtvOSの基礎となる部分。Darwinは技術的にはNEXTSTEPの流れを汲み、Mach 3.0とBSDをベースとするUnix系OS。他のBSD系OSからも一部の機能を取り入れている。Darwin
ずっと使ってるので慣れているしマシン環境も好きなのでメインPCではあるけど、OS内部をわざわざ学ぶ必要はない。
メリット
- もともと堅固なUnixだしモノリシックカーネルOSなのでセキュリティは最高
- 世界的に稼働台数が少なく狙われないのでセキュリティを学ばなくても安心
- サーバ分野ではシェア2%とかなり貧弱。ただiOS分野では特に日本で大人気
デメリット
- BSDはApple社等の企業の中では生きてるけど、OSSコミュニティとしては明らかに衰退してる
- ネットではFreeBSDコミニティやその関係者は「過去の遺物」みたいに語られる風潮がある
- シェア低すぎて将来的にFreeBSDコミュニティ自体がいなくなってしまう可能性も
- シェア低すぎてハマったときの解決策が見つからない。先人レバレッジの上に立脚しづらい
- 手段や道具というよりは「目的」になりがちなOS(ドリル操作に気を取られて「穴」が掘れない)
- つか、組み込みもIoTも全部Linux。Linuxコミュニティが強すぎる
- UnixOSの勉強がしたくなったら、する時間ができたら学ぶかどうか検討する
サーバシェア2%は流石にヤバ過ぎる。BSD(Darwin)は iOS や企業コミュニティとしては優秀だけど、サーバ用途やOSSコミュニティ(FreeBSD)としては消えそうなロウソクみたいな状態と言える。
とりあえず、学ぶ必要はない。
ターミナル設定
$ vi .zshrc alias ls="ls -lhG"
- ICEBERG を読み込むと Macターミナルがいい感じになる
Vim設定
# vi .vimrc set number set nowrap set tabstop=4 set shiftwidth=4 set autoindent set background=dark syntax enable colorscheme solarized let g:solarized_termtrans = 1
LAN構築
- L2スイッチ、又は L3スイッチ(≒ルータ)に LANケーブルが接続されていることを確認
- DHCP を使う場合はマシンの MACアドレスで IPアドレスを予約
- DHCP を使わない場合は各マシンに自分で IPアドレスを割り当てる
- ping を飛ばして疎通確認
# ifconfig # ip addr show # nmcli device # nmcli d # nmcli connection # nmtui #「自動的に接続」にチェック # ping 192.168.0.2
ルータを超える場合
# route
その他
ショートカットキー
コマンド | 説明 |
---|---|
command + F |
ページ内を検索 |
command + G |
次を検索(+Shift で前を検索) |
option + command + esc |
アプリを強制終了 |
スリープについて
DRAM(メモリ)の寿命は半永久であるのに対し、SSDの寿命は書き込み回数により短くなっていく。しかし、『The Tech Report』のSSD耐久試験より、SSDの耐久性・信頼性を心配する必要は全くない。毎日10GBのデータ書き換えを7万日つまり約190年行っても不具合はない。
長時間PCを利用しない時は作業内容を残しておくために「スリープ/サスペンド」か「ハイバネート」かになるが、デフォルト(スリープ)のままで良い。わざわざ電源のON/OFFは必要ない。
参考: SSDがどれぐらいの寿命なのか長期間の耐久テストで判明
ACPI
スリープ状態 | 説明 |
---|---|
S0 | 通常稼働(ノンスリープ) |
S1 | CPU クロックオフ |
S2(実装例なし) | CPU 給電停止 |
S3 | メモリ内容を保持したまま電源OFF(スリープ/サスペンド:Suspend to RAM) |
S4 | メモリ内容を外部へ移して電源OFF(ハイバネート/冬眠:Suspend to Disk) |
S5 | OS をシャットダウンして電源OFF |
LinuxインストールUSB作成
$ diskutil list $ diskutil eraseDisk MS-DOS UNTITLED /dev/disk3 $ diskutil unmountDisk /dev/disk3 $ sudo dd if=./CentOS-6.5-x86_64.iso of=/dev/disk3 bs=4028 $ diskutil eject /dev/disk3 $ diskutil list
* 書き込みには少し時間がかかる
$ shasum -a 256 file.tar.iso