FreeBSD Tips

Revision as of 10:33, 21 October 2022 by Nxhack (talk | contribs)
  • FreeBSD リハビリwメモ

sambaが古いのが入ってしまってセキュリティ警告が出て install 出来ないのでデフォルトバージョンを変えた。

DEFAULT_VERSIONS+=samba=4.16

あとはおまじない

portmaster -o net/samba416 samba412


  • FreeBSD リハビリwメモ

rctl とかよさげかなぁと遊んでみたが、pcpu で deny すると、意識が飛び飛び状態で、これは駄目だ。throttle は使えないので、devctl で script 呼び出しかなぁ...まだ遊び中...

一秒に一回イベントがくる。条件が閾値超えだけなので使いづらい。

  • FreeBSD リハビリwメモ

FreeBSD流 cpu microcode のアップデート

https://www.thomas-krenn.com/en/wiki/Update_Intel_Microcode_on_FreeBSD

一度やればそれでCPUにフラッシュされるのかと思ったらそうでは無いっぽい。 cpu_microcode_load="YES" はそのままにしないといけない。

  • FreeBSD リハビリwメモ

あーこんなのやってたなぁ

login.conf:#	cap_mkdb /etc/login.conf
termcap:#  cap_mkdb -f /usr/share/misc/termcap /etc/termcap

limit 解除するときにこれを忘れてハマった記憶がw

  • FreeBSD リハビリwメモ

blacklistd なるものがあるらしい。(fail2ban 設定中に見つけたw) ports の postfix には blacklistd patch もあるので使えそう。遊んでみる。

やはり pf つかうのがナウいwのかねぇ (fail2ban も pf で頑張り中...)

  • FreeBSD リハビリwメモ

今も要るみたいね... /etc/make.conf に

CFLAGS+=-DFD_SETSIZE=8192 -DSOMAXCONN=4096

20年前よりは賢くやろうw

/usr/src/sys/sys/socket.h:427:9: error: 'SOMAXCONN' macro redefined [-Werror,-Wmacro-redefined]
#define SOMAXCONN       128

ってなるソースもあるのでもう少し工夫がいるか。 "-Wno-macro-redefined" はやりすぎかなぁ?

  • FreeBSD リハビリwメモ

↓の検証をしていて

vfs.ufs.dirhash_lowmemcount

がカタカタ増えるのを見て、懐かしいなぁとw

find を sleep 入れて回し続けるというバッドハックをやってたw

#!/bin/sh

while true
do
    /usr/bin/nice -n 20 find / -ls -exec sleep 1 \;  >/dev/null 2>&1
done
  • FreeBSD リハビリwメモ

journaled soft-updates も課題を抱えているらしい。昨今のテラバイト級のストレージでショートファイルが多い場合に(単位時間内での処理過多で)、ジャーナルを食い潰して不具合を起こすらしい。

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255799 この障碍が起きた場合は 3 回 fsck しないと復旧しないのが特徴。

回避策はいろいろ議論されている。 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253968#c15

 Kirk McKusick freebsd_committer 2021-06-22 06:07:48 UTC

We have had others report that they can reproduce the problem and that
1) disabling journaling (but keeping soft updates) makes the problem go away;
2) increasing the journal size moderates the problem;
3) the patch proposed in https://reviews.freebsd.org/D30041 helps to moderate the problem. This patch is hopefully in a final round of testing before being committed.

*** This bug has been marked as a duplicate of bug 255473 ***

D30041 は MFC。13.1は適用

https://reviews.freebsd.org/D30041

mckusick added a comment. May 17 2021, 6:43 PM

I have been working with folks on these two bug reports which I suspect are caused by this problem:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255473
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255799

The problem may be solved by simply having a bigger journal.

The size of the journal should be based on the number of operations that are expected to be done on it in a one-minute period. Unfortunately, tunefs has no direct way to compute this operation count since it knows neither how fast the disk can do transactions nor the capabilities of the system on which it will run. Tunefs is reduced to using the size of the filesystem as an indicator of how big to make the journal.

The journal size ranges from 4Mb (SUJ_MIN) to 32Mb (SUJ_MAX) where the maximum is hit for filesystems of 4Gb and above. The maximum journal size was set more than a decade ago and was based on the number of operations expected to be done in a one-minute period on systems of that era. By my estimates it needs to be about 10x larger to meet that criterion today.

The easiest way to test this theory would be to bump up SUJ_MAX to 350Mb in sys/ufs/ffs/fs.h and then recompile tunefs. Using the recompiled tunefs, disable journaled soft updates, remove the old .sujournal, then reenable journaled soft updates to get a bigger journal.

SUJ_MAX 増やして tunefs をビルドし直して、一旦 "-j disable" してからマウントして .sujournal を消し、再度 "-j enable" して .sujournal を作り直す。.sujournal のサイズが増えていることを確認。念のため full fsck はしておくのがよいかも。← fsck は不要。(Journal timestamp does not match fs mount time っていわれる)

あら tunefs に -S オプションがある。こんな感じかな

tunefs -j enable -S 536870912 /dev/ada0p2
-r--------  1 root  wheel     33554432 Jul 25 17:15 .sujournal
*
-r--------  1 root  wheel     536870912 Jul 25 17:19 .sujournal

D30041 の適用は有効。しかしジャーナル不足の場合は、わかるぐらいオーバヘッドあり(unlink)。ジャーナルサイズを増やす事によりこの事象は解消できる。

  • FreeBSD リハビリwメモ

いろいろ実験

camcontrol identify da0
smartctl -d sat /dev/da0 -s wcache,off
camcontrol identify da0
smartctl -d sat /dev/da0 -g all


kern.cam.da.0.flags: 0x3f40<WAS_OTAG,OPEN,SCTX_INIT,CAN_RC16,PROBED,DIRTY,ANNOUCNED>
kern.cam.ada.0.flags: 0x1be3bde<CAN_48BIT,CAN_FLUSHCACHE,CAN_NCQ,CAN_DMA,WAS_OTAG,CAN_TRIM,OPEN,SCTX_INIT,CAN_POWERMGT,CAN_DMA48,CAN_LOG,CAN_WCACHE,CAN_RAHEAD,PROBED,ANNOUNCED,DIRTY,PIM_ATA_EXT,UNMAPPEDIO>

この flag って誰がどこで決めてるのかごそごそ調べてみる...


  • FreeBSD リハビリwメモ

gpart メモ

gpart show da0
gpart delete -i 1 da0
gpart add -t freebsd-ufs -s 100G -a 4k da0
gpart add -t freebsd-ufs -s 831G -a 4k da0
gpart show da0


  • FreeBSD リハビリwメモ

あらためて softupdate 考 その2

外付け SSD をつかっていろいろ実験してみたが、結論はぐたぐた言わずに SU+J にしろ!

実験中 background fsck から復帰したボリュームを umount できない場合が多く、安全な運用方法は、background fsck が終了しだい reboot を早く行う事。

(復旧中のファイルシステムが固まったら、最悪電源断とか reboot -qn で一旦リセットするしかない)

まーグダグダ言わずに SU+J にしろ! (再)

UFS snapshot が使えないってとこも、結局運用上停止メンテと同じ手間だとおもうので、もう UFS snapshot は諦める事。(か ZFS にしたまえw)

自分自身の感想では ZFS は使いどころをよく考えで、使い分けるのがよさげ


  • FreeBSD リハビリwメモ

いろいろ実験するためにアマゾンプライムデーで SanDisk Portable SSD を購入。

ses0 てなデバイスが見えたので、いろいろしらべた。smartd.conf みたら、

# An ATA disk may appear as a SCSI device to the OS. If a SCSI to                                                           
# ATA Translation (SAT) layer is between the OS and the device then                                                         
# this can be flagged with the '-d sat' option. This situation may                                                          
# become common with SATA disks in SAS and FC environments.                                                                 
# /dev/sda -a -d sat

とあり、

smartctl -d sat -a /dev/da0

で確認できた。

  • FreeBSD リハビリwメモ

あらためて softupdate 考

今リハビリ中のバージョンは 13.1-RELEASE で、インストール時に言われるままにパーティションきってファイルシステムつくると、こうなっている。

tunefs: soft updates: (-n)                                 enabled
tunefs: soft update journaling: (-j)                       enabled
tunefs: gjournal: (-J)                                     disabled
/dev/ada0p2 on / (ufs, local, soft-updates, journaled soft-updates)

(実際には noatime は追加してます)

Webで過去の記事を見ているときに

/dev/ada0p2 on / (ufs, local, journaled soft-updates)

こうなってるのばかりで、なにか変更があったのかと、

tunefs -n disable /dev/ada0p2

してみたら、

/dev/ada0p2 on / (ufs, local)

となった。-j は soft update のオプション扱いなようで、"-n" + "-j" で journaled soft-updates ということらしい。

softupdate はどんな状態で落ちても、ファイルシステムの一貫性は保たれて、障碍後の boot 時に(正しく umount されていないと) Automatic file system check(fsck on boot) で軽く修復後はすぐに mount できてすぐに使える利点がある。preen モード(手動 fsck が必要な重大な問題が無い場合)での修復・回収可能な削除領域を復帰させる(ガベッジコレクション的) fsck は必要で、それを background fsck と呼ばれる方法で稼働中に行える。しかし、この処理は一旦スナップショットをとり、裏で fsck を実行する仕組みになっており、この仕組みが大容量ボリュームの場合はとても重くて遅く、不具合といってよいほどにとらえられている。(UFS snapshot とっている間はそのデバイスがロックされる。fsck中は処理が重い。) 運用上よくある回避策は、background fsck の起動を(停止ではなく)抑制して、負荷の少ない真夜中に bgfsck を実行させる。もしログに重大な警告があれば、スケジュールメンテナンスを行うといった対応になる。(どのタイミングで停止メンテをするかを選択のする余地が出来る)

/etc/rc.conf

background_fsck_delay="-1"

/etc/crontab

0       4       *       *       *       root    /etc/rc.d/bgfsck forcestart


あとはよくあったのは ストレージの I/O cache にだまされる問題。その場合は full fsck は必須。write cache は disable にするのが安全。(昨今のATAはこのあたりは気にしなく良いという話もある)

このあたりは過去の知識。

FreeBSD から離れていた間に実装された journaled soft-updates をいろいろつついて経験中...

journaled soft-updates は dump -L (ライブでの dump) は現在のところは動かない(というか UFS snapshot が使えない)ので、dump -L を使う運用では journal は使えない。

journal をオフにした場合(tunefs -j disable)は、必ず .sujournal を削除しないとまずいらしい。

# enter single user mode
tunefs -j disable /{デバイス}
mount -o rw  {デバイス} {マウントポイント}
# chflags noschg,nosunlnk {マウントポイント}/.sujournal
rm {マウントポイント}/.sujournal
umount {デバイス}
fsck -y {デバイス}
mount -o rw {デバイス} {マウントポイント}

★訂正↑のオペレーション(chflags noschg,nosunlnk)はちゃんと -j disable にしていたら不要のはず。保護されている場合は disable 出来ていない事だ。

journaled soft-updates は background fsck は動かないので、それにともなう諸問題も無し。

JOURNALED FILESYSTEM, CANNOT RUN IN BACKGROUND

Netflix は FreeBSD のヘビーユーザで(コンテンツ配信用の)ファイルシステムは UFS + SU+J らしい。コンフィグやログ系は ZFS も一部はつかっているらしい。RAID は一切使っていないらしい。

関連リンク集

Soft updates, hard problems
JournalしているUFSでfsckに失敗
FreeBSD/SUJ (Soft Updates Journaling)
FreeBSDの .sujournal が邪魔の場合
rsyncのためにSoft-Updates Journalingを切る。
Remove FreeBSD journal
FreeBSD Enterprise Storage
  • FreeBSD リハビリwメモ

linux の世界ではもはや当たり前につかってる ccache を使ってみる。(私がコミットしている OSS project では ccache が無いと不便なぐらい)

"/usr/local/share/doc/ccache/ccache-howto-freebsd.txt" 見たら "WITH_CCACHE_BUILD=yes" だけでイケるぜって書いてたが実際はこんな感じで有効になった

WITH_CCACHE_BUILD=yes
CCACHE_DIR=/var/cache/ccache
CCACHE_BIN=/usr/local/bin/ccache

sloppiness については "time_macros, pch_defines" を設定してみた。(不具合は経験してなく、hit rate はあがるはず)

  • FreeBSD リハビリwメモ

なぜ最初からこうなってないのか不思議なんだが.. make.conf に追加

DEFAULT_VERSIONS+= bdb=18
  • FreeBSD リハビリwメモ

make config で設定したオプションがある場所

/var/db/ports/<port>/options
  • FreeBSD リハビリwメモ

/usr/src/UPDATING や /usr/ports/UPDATING はちゃんと読め!

portmaster --check-depends
pkg check -sa

でいろいろ出てきたら、ちゃんと対処

  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その6

kernel や kernel module の再構成の時に、ports で入った kernel module をビルドし忘れないように、

PORTS_MODULES=x11/nvidia-driver-340 net/bwn-firmware-kmod

これ系は /etc/src.conf ?

  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その5

内蔵 Touchpad の設定をいろいろいじくったが、MacOS で使い慣れている事ができないのがストレス。

Drag を MacOS と同じやり方にしたいが見つからず。ストレスフルなので、USB マウスを使っている。

  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その4

keymap いろいろ

syscons...失礼。いまはvtだった。us.iso.macbook.kbd があるのだが caps lock を ctrl に変更するのにスマートな方法探したが、やっぱり keymap 書き換えしかなさそう。

同様に X11 の環境では option で caps lock を ctrl に変更できるのだが、

setxkbmap -model macbook -layout "us(mac)" -option "ctrl:nocaps"

この設定では `~ のキーがおかしい。いろいろスマートな方法探したが、これも keymap 書き換えた。

setxkbmap -option "altwin:ctrl_win"

Mac流のショートカットが一部動く。(手癖wのストレスは少しは解消)

作った keymap は custom という名前にしておくのが良いとわかった

  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その3

asmc モジュールを修正した。

--- a/asmc/asmc.c
+++ b/asmc/asmc.c
@@ -173,6 +173,12 @@ struct asmc_model asmc_models[] = {
 	},
 
 	{
+	  "MacBook6,1", "Apple SMC MacBook Core 2 Duo (13-inch, Late 2009)",
+	  ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS_DISABLED,
+	  ASMC_MB61_TEMPS, ASMC_MB61_TEMPNAMES, ASMC_MB61_TEMPDESCS
+	},
+
+	{
 	  "MacBook7,1", "Apple SMC MacBook Core 2 Duo (mid 2010)",
 	  ASMC_SMS_FUNCS, ASMC_FAN_FUNCS2, ASMC_LIGHT_FUNCS_DISABLED,
 	  ASMC_MB71_TEMPS, ASMC_MB71_TEMPNAMES, ASMC_MB71_TEMPDESCS
--- a/asmc/asmcvar.h
+++ b/asmc/asmcvar.h
@@ -157,6 +157,18 @@ struct asmc_softc {
 				  "Heatsink 1","Heatsink 2" \
 				  "Memory Bank A", }
 
+#define ASMC_MB61_TEMPS	{ "TB0T", "TB1T", "TB2T", "TC0D", "TC0P", \
+				  "TH0P", "TN0D", "TN0P", "TN1D", "Th1H", \
+				  "Ts0P", "Ts0S", NULL }
+
+#define ASMC_MB61_TEMPNAMES	{ "enclosure_bottom0", "battery_1", "battery_2", "cpu_package", "cpu_proximity", \
+				  "hdd_bay", "northbridge0_diode", "northbridge0_proximity", "mpc_die2", "heatsink1", \
+				  "palm_rest", "memory_proximity", }
+
+#define ASMC_MB61_TEMPDESCS	{ "Enclosure Bottom 0", "Battery 1", "Battery 2", "CPU Package", "CPU Proximity", \
+				  "HDD Bay", "Northbridge Diode", "Northbridge Proximity", "MPC Die 2", "Heatsink 1", \
+				  "Palm Rest", "Memory Proximity", }
+
 #define ASMC_MB71_TEMPS		{ "TB0T", "TB1T", "TB2T", "TC0D", "TC0P", \
 				  "TH0P", "TN0D", "TN0P", "TN0S", "TN1D", \
 				  "TN1E", "TN1F", "TN1G", "TN1S", "Th1H", \
dev.asmc.0.sms.z: 262
dev.asmc.0.sms.y: 10
dev.asmc.0.sms.x: 1
dev.asmc.0.temp.memory_proximity: 46
dev.asmc.0.temp.palm_rest: 33
dev.asmc.0.temp.heatsink1: 60
dev.asmc.0.temp.mpc_die2: 72
dev.asmc.0.temp.northbridge0_proximity: 58
dev.asmc.0.temp.northbridge0_diode: 67
dev.asmc.0.temp.hdd_bay: 48
dev.asmc.0.temp.cpu_proximity: 63
dev.asmc.0.temp.cpu_package: 70
dev.asmc.0.temp.battery_2: 30
dev.asmc.0.temp.battery_1: 31
dev.asmc.0.temp.enclosure_bottom0: 30
dev.asmc.0.fan.0.targetspeed: 2000
dev.asmc.0.fan.0.maxspeed: 6200
dev.asmc.0.fan.0.minspeed: 2000
dev.asmc.0.fan.0.speed: 1996
dev.asmc.0.fan.0.id: Exhaust  
dev.asmc.0.%parent: acpi0
dev.asmc.0.%pnpinfo: _HID=APP0001 _UID=0 _CID=SMC-MCP
dev.asmc.0.%location: handle=\_SB_.PCI0.LPCB.SMC_
dev.asmc.0.%driver: asmc
dev.asmc.0.%desc: Apple SMC MacBook Core 2 Duo (13-inch, Late 2009)

ちゃんと温度やファンの回転数はとれているが、とりあえず使い道はないw


  • 再生計画 雑多なメモ
pkg info -D nvidia-driver-340
  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その2

/etc/loader.conf に

wsp_load="YES"

マウスやタッチパッドを動的に管理しようとした仕組みが悪さしている。libinput が動的に発見するデバイスがすべて sysmouse 収斂されるのでいろいろ便利ではあるが、細かな設定が難しい。

NaturalScrolling が touchpad で設定すると mouse で逆さま。mouse で設定すると touchpad で逆さま。Xfce の Mouse コンパネで必要に応じて換える運用にした。


  • MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画

WiFi driver ではまる

BCM4322 - WIFI Card - Freebsd 11.2 not working
Introduce bwn(4) support for the bhnd(4) bus.
Broadcom BCM4321 Wireless connection configuration problems
Make Broadcom WLAN work (e.g., for MacBooks)
option BWN_DEBUG
option BWN_GPL_PHY

kernel option を追加して kernel 作って、かつ ports から bwn-firmware-kmod を install

/etc/loader.conf に

if_bwn_load="YES" 
bwn_v4_ucode_load="YES"
bwn_v4_n_ucode_load="YES"

FreeBSD 自体が現状では 802.11ac に対応していない。そのために TP-Link の新しい機種は TP-Link 側で 11n のみの設定にしても 11ac としてしか広報しないようで動かなかった...

  • ほぼ 20 年ぶりに FreeBSD をホゲるw

なので、↓ の記述は 大昔なはなしです。(最後に触ったのは RELENG_8 かなぁ..)(今は 13.1-RELEASE) (初めて触ったのは 2.x の末期だな)

  • Amazon EC2 の FreeBSD AMI がテスト中 (嬉!)
FreeBSD on EC2 status
FreeBSD on EC2 FAQ

なので、いろいろまとめ中

FreeBSD AMI Recipe
  • たんなるメモ26

本当にたんなるメモです。数字は意味ありません。

/boot/loader.conf

hint.acpi.0.disabled="1"
kern.maxusers=256
kern.ipc.nmbclusters=32768
kern.ipc.semmni="256"
kern.ipc.semmns="960"
/etc/make.conf

KERNCONF=GENERIC
WITHOUT_X11=yes
#WITHOUT_CDDL=yes
#X11BASE=/usr/local
EMACS_PORT_NAME=emacs21
SUP_UPDATE=     yes
SUPFLAGS=       -g -L 2
SUPHOST=        cvsup4.jp.freebsd.org
SUPFILE=        /usr/local/etc/cvsup/stable-supfile
PORTSSUPFILE=   /usr/local/etc/cvsup/ports-supfile
DOCSUPFILE=     /usr/local/etc/cvsup/doc-supfile
/etc/syslog.conf

touch /var/log/all.log
chmod 600 /var/log/all.log
*.*                                             /var/log/all.log
/etc/sysctl.conf

# FreeBSD-EN-09:05.null
security.bsd.map_at_zero=0

# Set it in case of large memory system.
vm.defer_swapspace_pageouts=1
vm.disable_swapspace_pageouts=1
vm.idlezero_enable=0
# Check vfs.ufs.dirhash_mem value
# (for NFS Server: 16777216 more, Web Server: 4194304)
#vfs.ufs.dirhash_maxmem=4194304
#vfs.ufs.dirhash_maxmem=16777216
#vfs.ufs.dirhash_maxmem=33554432
#vfs.ufs.dirhash_maxmem=67108864
# Shared Memory tweaking (see also /boot/loader.conf)
kern.ipc.shmmax=134217728
#kern.ipc.shmmax=1073741824
kern.ipc.shmall=32768
#kern.ipc.shmall=262144
kern.ipc.semmap=256
# See man tuning(7)
kern.maxfiles=65536
kern.maxfilesperproc=58982
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=524280
# rfc1323
#net.inet.raw.maxdgram=16384
#net.inet.raw.recvspace=16384
#net.inet.tcp.sendspace=65536
#net.inet.tcp.recvspace=65536
#net.inet.udp.recvspace=65536
#net.inet.udp.maxdgram=16384
#
net.inet.icmp.icmplim=600
#net.inet.tcp.always_keepalive=0
#net.inet.tcp.msl=600
#net.inet.tcp.blackhole=2
#net.inet.udp.blackhole=1
# ICMP redirect off
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
net.inet6.icmp6.rediraccept=0
/etc/ssh/ssh_config

#ForwardAgent yes
#EnableSSHKeysign yes
TCPKeepAlive no
ServerAliveInterval 60
ServerAliveCountMax 15
/etc/rc.conf

# HOST Settings
hostname="foo.bar.example.com"
ifconfig_em0="inet 192.168.1.3  netmask 255.255.255.0"
defaultrouter="192.168.1.254"

# Basic Settings
keyrate="fast"
keymap="jp.106"
saver="NO"
sshd_enable="YES"
usbd_enable="YES"
moused_enable="NO"
accounting_enable="YES"
ipv6_enable="NO"
icmp_drop_redirect="YES"
inetd_enable="YES"
inetd_flags="-wW -R 2048"
kern_securelevel_enable="NO"
fsck_y_enable="YES"
background_fsck="NO"
local_startup="/usr/local/etc/rc.d"

# BIND Settings
named_enable="YES"

# Sendmail Settings
sendmail_enable="YES"

# NTP Settings
ntpdate_enable="YES"
ntpdate_hosts="192.168.1.21"
ntpd_enable="YES"

# Ports Settings
snmpd_enable="YES"
snmpd_flags="-Lsd -Lf /dev/null"

# RPC Settings
rpcbind_enable="NO"

(特殊設定)

diff /usr/include/sys/socket.h /usr/src/sys/sys/socket.h
diff /usr/include/sys/select.h  /usr/src/sys/sys/select.h
4096
8192U
  • たんなるメモ25
いま -> RELENG_7 -> RELENG_8
/boot/device.hints
hint.uart.0.*
WITHOUT_CDDL=yes
http://www.mail-archive.com/freebsd-stable@freebsd.org/msg91065.html
http://www.freebsd.org/cgi/query-pr.cgi?pr=148538
  • お便利なtool
net-mgmt/tcptrack
sysutils/smartmontools
  • たんなるメモ24

perl5.10 に上げたときいろいろ発見した件

libchk

とか

portsclean -L
/usr/local/libdata/ldconfig/

# /etc/rc.d/ldconfig start

あーやっぱり FreeBSD が大好きです。

  • たんなるメモ23
tzsetup(8)
  • /etc/mergemaster.rc
うれしす
AUTO_UPGRADE=yes
AUTO_INSTALL=yes
IGNORE_FILES='/etc/motd'
PRESERVE_FILES=yes
VERBOSE=yes
FREEBSD_ID=yes
  • Firefox35
要注意
Firefox 3.5 and HTML5

Certain functions used to display HTML5 elements need the sem module.

If your Firefox crashes with the following message while viewing a
HTML5 page:
"Bad system call (core dumped)"

you need to load the sem module (kldload sem).

To load sem on every boot put the following into your
/boot/loader.conf:
sem_load="YES"
  • たんなるメモ23
portsnap fetch
portsnap extract
portsnap update
portsnap fetch
portsnap update
ezjail-admin update -P
ついでに freebsd-update 系メモ
projects: freebsd-update-server
  • Linux にあるお便利ツール @FreeBSD
watch @Linux ===> sysutils/topless @FreeBSD
ps auxf @Linux ===> sysutils/pstree @FreeBSD
  • *BSD 系の login name 問題
CGI 等で sendmail を起動する際 -f を指定しなかった場合の sender の挙動とかとか
id -p
で確認してみそ
apache を起動する時に id -p して、login という項目が表示されていればビンゴ!
(see man 2 setlogin, getlogin)
(そーいやぁ 昔は exec login しろっていってたよなぁ...)
(*BSD のシステム運用の際は今も昔も要注意)
  • たんなるメモ22
FreeBSD の devfs 系
/sbin/devfs rule -s 1 delset
/sbin/devfs rule -s 1 add hide
/sbin/devfs rule -s 2 delset
/sbin/devfs rule -s 2 add path null unhide
/sbin/devfs rule -s 2 add path zero unhide
/sbin/devfs rule -s 2 add path crypto unhide
/sbin/devfs rule -s 2 add path random unhide
/sbin/devfs rule -s 2 add path urandom unhide
/sbin/devfs -m /foo_chrootdir/dev ruleset 1
/sbin/devfs -m /foo_chrootdir/dev rule applyset
/sbin/devfs -m /foo_chrootdir/dev rule -s 2 applyset
/sbin/devfs rule showsets
/sbin/devfs rule -s 1 show
/sbin/devfs rule -s 2 show
extended rc 系では
umount /foo_chrootdir/dev 2>/dev/null
devfs_domount /foo_chrootdir/dev devfsrules_hide_all
devfs -m /foo_chrootdir/dev rule -s 2 applyset
rulesetは rcvar の 'devfs_rulesets' で定義
(増加する ttyp*, ptyp* も hide (謎))
  • FreeBSD ports でスマートなカスタマイズ方法
/usr/ports/hoge/fugaで
Makefile.local
scripts/ほげら
を駆使してなんとかする
(ほげら: 最後に独自パッチをあてたければ、post-patch とか)
(Makefile.local も scripts/以下 も make update では消えないので安心)

過去ログ

昔のものは、雑多なメモ