Darwin

Darwin(ダーウィン)は、Appleが開発するOSで、macOSやiOS、さらにはwatchOSやtvOSの基礎となる部分。Darwinは技術的にはNEXTSTEPの流れを汲み、Mach 3.0とBSDをベースとするUnix系OS。他のBSD系OSからも一部の機能を取り入れている。Darwin

ずっと使ってるので慣れているしマシン環境も好きなのでメインPCではあるけど、OS内部をわざわざ学ぶ必要はない。

備忘メモ

  • もともと堅固なUnixだしモノリシックカーネルOSなのでセキュリティは最高
  • Apple製品はAndroid製品より稼働台数が少ないのでセキュリティ面は比較すれば安心
  • サーバ分野ではシェア2%だけど、iOS分野では特に日本で大人気
  • Apple社という超巨人がいるのでOSSコミュニティは明らかに衰退している
  • ゆえにFreeBSDコミニティやその関係者は「過去の遺物」みたいに語られる風潮がある

Unixのディレクトリ構造とコマンド

MacOSのディレクトリ構造も参考までにざっと把握しておく。あと、MacOSに収録されている Unixコマンドは100(/bin, /sbin)+1200(/usr/bin, usr/sbin)程度なので気が向いた時に「Unixコマンド」ページにまとめとく。

環境設定

ハード

# pmset -a disablesleep 1   ラップトップを閉じてもコンピュータはスリープしない
$ pmset -g
  • ディスプレイはスリープする。ディスプレイのスリープは「環境設定」から設定

シェル

$ vi .zshrc
 alias ls="ls -lhG"
  • ICEBERG を読み込むと Macターミナルがいい感じになる

ショートカットキー

コマンド 説明
command + F ページ内を検索
command + G 次を検索(+Shift で前を検索)
option + command + esc アプリを強制終了

LAN構築

  1. L2スイッチ、又は L3スイッチ(≒ルータ)に LANケーブルが接続されていることを確認
  2. DHCP を使う場合はマシンの MACアドレスで IPアドレスを予約
  3. DHCP を使わない場合は各マシンに自分で IPアドレスを割り当てる
  4. ping を飛ばして疎通確認
# ifconfig    # ip addr show
# nmcli device    # nmcli d
# nmcli connection
# nmtui    #「自動的に接続」にチェック
# ping 192.168.0.2

ルータを超える場合

# route

LinuxインストールUSB作成

$ diskutil list
$ diskutil eraseDisk MS-DOS UNTITLED /dev/disk3
$ diskutil unmountDisk /dev/disk3
$ sudo dd if=./Downloads/kali-linux-2024.4-installer-netinst-amd64.iso of=/dev/rdisk4 bs=4m status=progress
$ diskutil eject /dev/disk3
$ diskutil list

* 書き込みには少し時間がかかる

$ shasum -a 256 file.tar.iso

スリープについて

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

その他