LinuxからUNIXへ:OpenBSD覚書

#PCとプログラム覚え

OpenBSD覚書綴りです。

Linux系から、UNIX系に移る(戻る)のが今後の流れだと考えています。近年のLINUXは、RedHatやUbuntuなど商用ベースの開発方向に影響をうけやすく、戸惑うことが多くなっているからです。

ご本家系・堅牢第一のOpenBSDを題材とします(もちろんFreeBSDに含むところはありません)。 仕事机のMacOSも(一応)BSD系ですが、Appleの独自癖が強く、その点については独自項目をたてて書く予定ではいます。

以下、一般ユーザとしての覚書となります。当方は、カーネルレベルの挙動についてメモするほどの能力はありません。

始めるにあたって、まずは、一般ユーザ目線からみた管理項目コマンド比較メモを作りました。

デーモン・サービス系

管理項目 Linux (Systemd系) OpenBSD (BSD系)
システム基本設定 分散管理(/etc/sysctl.d/.env など) /etc/rc.conf.local(差分一括管理)
カーネルパラメータ動的変更 sysctl -w key=value sysctl key=value
デーモン起動・停止 systemctl start/stop rcctl start/stop
デーモン自動起動有効化 systemctl enable rcctl enable
サービス一覧・状態確認 systemctl list-units / systemctl status rcctl ls started / rcctl check

ネットワーク系

管理項目 Linux (Systemd系) OpenBSD (BSD系)
ファイアウォール(ルール設定) nftables / iptables(Ubuntuではufwラッパー) pf (Packet Filter)
ファイアウォール設定ファイル /etc/nftables.conf /etc/pf.conf
IP・リンク状態確認 ip address / ip link ifconfig
ネットワーク永続設定ファイル /etc/netplan/ または /etc/sysconfig/ /etc/hostname.<if名>(例: /etc/hostname.em0
ルーティングテーブル ip route route show または netstat -rn
リゾルバ /etc/resolv.conf(Systemdが制御) /etc/resolv.conf(静的テキスト管理)

パッケージ管理

管理項目 Linux (Systemd系) OpenBSD (BSD系)
パッケージ管理 apt / dnf / yum / pacman など pkg_add / pkg_info / pkg_delete
パッケージ一覧 dpkg -l / rpm -qa など pkg_info

ユーザ管理

管理項目 Linux (Systemd系) OpenBSD (BSD系)
ユーザー追加 useradd / adduser useradd
パスワード変更 passwd passwd
安全なユーザー編集 vipw(推奨) vipw(強く推奨)

ログ

管理項目 Linux (Systemd系) OpenBSD (BSD系)
ログ確認 journalctl /var/log/ 配下 + syslogd
ログローテート logrotate newsyslog

※ログ閲覧回りについては、あれこれありますが、ひと言でいえば、BSD系はsyslogd基軸の伝統的なプレーンテキストログですみますが、LINUX系はjournalctlのようなバイナリログ依存が強くなってきている傾向にありますので、注意です(Fedra/ArchLinuxなど)。


ディスク系

管理項目 Linux (Systemd系) OpenBSD (BSD系)
ディスク一覧 lsblk / fdisk -l sysctl hw.disknames / disklabel
パーティション操作 fdisk / parted / gdisk fdisk / disklabel
ファイルシステム作成 mkfs.ext4 / mkfs.xfs など newfs

その他

管理項目 Linux (Systemd系) OpenBSD (BSD系)
時刻同期 timedatectl / chronyd / systemd-timesyncd ntpd(base同梱)
タイムゾーン設定 timedatectl set-timezone /etc/localtime のシンボリックリンク
ホスト名設定 hostnamectl set-hostname /etc/myname を編集
定期実行(従来) crontab -e crontab -e
定期実行(現代的) systemd timers(systemctl list-timers 基本的にcronのみ
カーネルモジュール lsmod / modprobe / /etc/modules-load.d/ ほぼモノリシック(動的ロードはほぼ使わない)
追加セキュリティ機構 SELinux / AppArmor / firewalld pf + pledge / unveil

Popup