7,173
edits
No edit summary |
No edit summary |
||
(201 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
*ethernetのmedia typeを明示的に設定 | |||
何故だか flow control が off になっていたので調べた | |||
https://gihyo.jp/admin/clip/01/fdt/201104/08 | |||
http://www.jp.freebsd.org/QandA/HTML/2460.html | |||
*ntpdで警告 | |||
<syntaxhighlight lang="text" enclose="div"> | |||
leapsecond file ('/var/db/ntpd.leap-seconds.list'): expired 19 days ago | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
service ntpd fetch | |||
fetch: https://www.ietf.org/timezones/data/leap-seconds.list: Not Found | |||
</syntaxhighlight> | |||
あらら... | |||
/etc/rc.conf に | |||
<syntaxhighlight lang="text" enclose="div"> | |||
ntp_leapfile_sources="https://data.iana.org/time-zones/data/leap-seconds.list" | |||
</syntaxhighlight> | |||
追加して、オッケー | |||
*FreeBSD リハビリwメモ | |||
やってみたらやっぱりそうだったw | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
protect -dip 1 | |||
</syntaxhighlight> | |||
*FreeBSD リハビリwメモ | |||
FreeBSD-EN-23:19.pkgbase | |||
をソースからやると make packages でこける。KERNCONF=foo を指定している場合は、make packages KERNCONF=foo | |||
あと ports からいれた モジュールはこけるので、make.conf から PORTS_MODULES を外しておく。 | |||
あぁそうか素カーネルでないと意味ないな。とりあえず作っておくか... | |||
*MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その8 | |||
14.0-p1 が安定して稼働してるので、このハードウェアにあった設定を見直していたら、以前放置していた iSight がサックリ稼働した。 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
portmaster multimedia/libuvc multimedia/webcamd | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="conf" enclose="div"> | |||
webcamd_enable="YES" | |||
webcamd_0_flags="-d ugen1.2" | |||
</syntaxhighlight> | |||
後は、/dev/video0 /dev/usb/1.2.* 等のパーミッションを devfs.conf でごにょごにょ か operator webcamd の group に所属。 | |||
よい機会なので Autoloading module は loader.conf で明示的に _load="YES" にした。 | |||
*FreeBSD リハビリwメモ | |||
FreeBSD 14.0 が出たので 13.2-p5 から、古式ゆかしくソースから upgrade した。いろいろハマり所があったのでメモ。 | |||
'''この作業をする前に、あらゆる ports で入れたものを rc.conf で OFF にする。(ここ重要。base system が提供しているライブラリとの不整合等があるので upgrade して make delete-old-libs 後に確認する事)''' | |||
'''(network系 daemon で crash (kernel panic) する。avahi-daemon は駄目っぽい。gdb がライブラリ不整合にハマっているので解析は後でする)''' | |||
make buildworld, make kernel した後 reboot していったん single user mode で起動。ここで あらゆる filesystem に対して full-fsck する事。 | |||
(結構壊れている場合があり、それが問題を起こすパターンもあるらしい) | |||
その single user で etcupdate -p して make installworld した後 reboot してまた single user mode で起動。もう一度 make kernel する。 | |||
(13.2 の libc のバージョンが古くて、最初の kernel をビルドする時に __cxa_thread_call_dtors: dtr 0xXXXXXX from unloaded dso, skipping のワーニングが出ていて気持ち悪いので、installworld 後に、改めて make kernel する)('''実際のところ、この場合も __cxa_thread_call_dtors が出た。(下にも書いたが)delete-old の後に、もう一度 make world して解消。''') | |||
etcupdate -B で「コンフリクトしてるから駄目よ」と言われたら、とりあえず h -> mf で古いのを生かす。(/etc/group と /etc/master.passwd)(先頭のコメント行が不要になるので、あとで手修正する)('''root の shell が (t)csh から sh に変更されたのに注意。スパルタンな仕様に戻ったw これも大きな仕様変更かも''')、これがおわったらいよいよ reboot して multi user mode に突入。(root の login shell を /bin/sh にしてからいろんな作業をすべきなのかもね) | |||
無事 マルチユーザーモードで上がってきたら check-old delete-old check-old-libs delete-old-libs (最後に check-old-dirs delete-old-dirs) | |||
('''delete-old して、root の login shell を /bin/sh にした後 stage1, stage2 みたいに、2回目の天地創造wしたら __cxa_thread_call_dtors のワーニングが消えた。これからが本当の地獄^h^h世界だw''') | |||
新しい世界wで、あらゆる ports の update する。(最初に pkg bootstrap -r) | |||
kernel driver 関連でこの修正に対応できていないのは自分でなんとかするw ('''__cxa_thread_call_dtors のワーニングが消えた状態では、互換機能が動くのでなにもしないでヨシ''') | |||
https://reviews.freebsd.org/rG2a99dd30dfaac98fea79f084b3a13c45199e1348 | |||
'''portsnap が削除された。'''git 使えてか... | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
git clone https://git.FreeBSD.org/ports.git /usr/ports | |||
</syntaxhighlight> | |||
やたらとバイナリーパッケージ推しになってるが、無視して老人会モードで逝くw (油断してたら、せっせと手インストールした ports かなりの数が消されてしまったw) | |||
git pull のあと make index がいるのかね。fetchindex はまだ動作するね | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
cd /usr/ports | |||
make fetchindex | |||
</syntaxhighlight> | |||
('''__cxa_thread_call_dtors のワーニングが消えた状態になったら''')過去にインストールした ports すべての再インストールが必須。 (portmaster の man page から) | |||
('''最低限 /usr/local/etc のバックアップしておくこと。/usr/ports/distfiles 以下のソースもとっておく方がトラフィック削減でベター''') | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
cd /usr/ports/ports-mgmt/portmaster | |||
make install clean | |||
portmaster --list-origins > ~/installed-port-list | |||
cd /usr/ports | |||
git pull | |||
portmaster -ty --clean-distfiles | |||
portmaster -Faf | |||
pkg delete -afy | |||
rm -rf /usr/local/lib/compat/pkg | |||
# Back up any files in /usr/local you wish to save, | |||
# such as configuration files in /usr/local/etc | |||
# Manually check /usr/local and /var/db/pkg | |||
# to make sure that they are really empty | |||
# Install ports-mgmt/pkg and then ports-mgmt/portmaster. | |||
cd /usr/ports/ports-mgmt/pkg | |||
make install clean | |||
cd /usr/ports/ports-mgmt/portmaster | |||
make install clean | |||
# Remove both from ~/installed-port-list. | |||
# もし独自のパッチがある場合はそれも確認。 | |||
portmaster --no-confirm `cat ~/installed-port-list` | |||
</syntaxhighlight> | |||
(ports-mgmt/portmaster devel/git devel/ccache devel/gdb sysutils/screen security/sudo sysutils/htop sysutils/topless devel/dbus sysutils/powerdxx sysutils/smartmontools) | |||
これだけは先にインストールする。(今、(ccacheはいれたが)これを忘れて長時間の再ビルド中...最低でも screen は再インストールしておくべきだったと。何かあったときに attach できないおそれがw) | |||
'''kernel panic は ieee80211 あたりだとわかった。(avahi を疑っていたのだが、deny-interfaces=wlan0 したらサックリ動く)(ieee80211_crypto_ccmp.c 辺り) MacBook用wの bwn は 13.x では超安定してたのだが 14.0 では不安定。何でだろ〜^3 いろいろ調べたら、いろんな ieee 802.11 系で同じ症状らしい。まぁ昔から FreeBSD は Wi-Fi(NFSもw) には冷淡だし...''' | |||
(自分の環境は wlan に依存した構成になっているので、もう少し頑張る...)(修正がはいらないと駄目っぽいので、手持ちのOpenWrt機器のWi-Fi bridge経由でアクセスするか...) | |||
(手持ちの Ralink MT7601U で試してみるが、ieee80211_crypto_ccmp 辺りで落ちているのなら同じかもね->ドライバーが無かった。実験中のドライバーはあるが...) | |||
(まだブラックフライデー対応してたので、動きそうな古めのUSB Wi-Fiアダプターをいくつか買った。届いてからテストする) | |||
tp-link TL-WN725N (Realtek RTL8188EU) が届いて、サックリ安定して動きました!!!! (if_rtwn_usb_load="YES" rtwn-rtl8188eufw_load="YES") | |||
(country=JP してるのだが、変わってない希ガス)(ports の security/wpa_supplicant 使えば JP を認識した。これいろいろヤバいかもね。) | |||
最低限のカスタマイズ .shrc | |||
<syntaxhighlight lang="sh" enclose="div"> | |||
set -I | |||
set -E | |||
</syntaxhighlight> | |||
X11関連の設定も少し挙動が変わってた。fcitx が自動で起動しないので、~/.config/autostart/fcitx.desktop を作って Exec=/usr/local/bin/fcitx -r -d してオッケー | |||
14.0 関連のリンク Errata 系 | |||
https://www.daemonology.net/blog/2023-11-21-late-breaking-FreeBSD-14-breakage.html | |||
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260841 | |||
*FreeBSD リハビリwメモ | |||
あーーーーーー kibana7 が削除されたが kibana8 が動かない! オワタ | |||
openjdk は 17 に統一して、node は 18 に固定して kibana8 に手を加えた。 | |||
/usr/ports/textproc/kibana8/Makefile.local を作成 | |||
<syntaxhighlight lang="make" enclose="div"> | |||
BUILD_DEPENDS= npm-node18>=9.7.2:www/npm-node18 | |||
RUN_DEPENDS= ${LOCALBASE}/bin/node:www/node18 | |||
USES= compiler:c++17-lang cpe nodejs:18,build,run python:build | |||
</syntaxhighlight> | |||
elastic stack version 8 にあげていろいろホゲった。混乱の極みw いろいろ認証を必須にした結果ぐちゃぐちゃ&細かなバグいっぱい。 | |||
https://discuss.elastic.co/t/curl-against-an-encrypted-elasticsearch-instance-with-certificate-verification/251503 | |||
https://discuss.elastic.co/t/import-ca-cert-as-privatekeyentry-to-http-keystore-solve-unable-to-create-enrollment-token-error/313780 | |||
僕の知っている君じゃないw | |||
最終的に filebeat の FreeBSD特有の不具合に阻まれたw | |||
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272701 | |||
go の FreeBSD 対応漏れ...もう少し遊ぶw | |||
結局 filebeat は beats7 にはバージョンチェックがなさそうなので beats8 をやめて beats7 で逃げた。 | |||
*FreeBSD リハビリwメモ | |||
いろいろ忙しかったので一月ぐらい ports の更新をサボってたら、まぁ大変。FreeBSD の ports も地獄ですなぁw | |||
mozc 系での python3.10 の場合 AttributeError: module 'collections' has no attribute 'MutableSet' は、無理矢理FIX | |||
/usr/ports/devel/py-gyp/files/patch-pylib_gyp_common.py を作成 | |||
<syntaxhighlight lang="diff" enclose="div"> | |||
--- pylib/gyp/common.py.oig | |||
+++ pylib/gyp/common.py | |||
@@ -494,7 +494,7 @@ def uniquer(seq, idfun=None): | |||
# Based on http://code.activestate.com/recipes/576694/. | |||
-class OrderedSet(collections.MutableSet): | |||
+class OrderedSet(collections.abc.MutableSet): | |||
def __init__(self, iterable=None): | |||
self.end = end = [] | |||
end += [None, end, end] # sentinel node for doubly linked list | |||
</syntaxhighlight> | |||
'''./scripts/post-patch''' でうんぬんというやり方わすれた... | |||
*Upgrade ミスってったようだ | |||
13.2-RELEASE-p2 が出てので freebsd-update したが、そのあと ports でエラーが出た。ALLOW_UNSUPPORTED_SYSTEM を使えということで調べると、どうもシステム領域がちゃんと更新されていないようだ。(/usr/include/sys/param.h が古いのを発見)(おそらく 13.1 から 13.2 の更新のときミスったようだ) 仕方がないので、古式ゆかしいw make world をやってみた。(システムの cc が gcc から llvm clang に置き換わってるので、gcc よりもビルド時間がかかるかかる...) | |||
昔々 mergemaster してたのが、 etcupdate に変わって、そこのところぐらいであとは同じだな。 | |||
メモ的に... etcupdate は結構よしなにやってくれるようなので、念のために | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
etcupdate diff > foo.diff | |||
</syntaxhighlight> | |||
しておいて、あとは引数なしで etcupdate 実行。そのあとはいつも通り check-old delete-old check-old-libs delete-old-libs | |||
*MacBook6,1 (13-Inch, Late 2009) unibody polycarbonate white 再生計画 その7 | |||
ports build するときのかなり熱を持つ。古いCPUなら powerd++ が良いということで導入したが想定通りの動きでもう手放せないw | |||
温度の閾値でCPUを clock down 出来る。 | |||
<syntaxhighlight lang="text" enclose="div"> | |||
powerdxx_enable="YES" | |||
powerdxx_flags="-n min -a hiadaptive -b adaptive -H 80C:100C" | |||
powerdxx_oomprotect="ALL" | |||
</syntaxhighlight> | |||
あと、おまじない的にこれもいるかも... | |||
<syntaxhighlight lang="text" enclose="div"> | |||
debug.acpi.suspend_bounce=1 | |||
</syntaxhighlight> | |||
年代物なので、CPUグリスがカピカピになってるにはずなので、補修しようかと調べたら、裏蓋をはずしただけで作業はできず、マザーボード外して裏側からヒートシンク外さないといけないことがわかったので、面倒くさいのでヤラナイw | |||
*FreeBSD リハビリwメモ | |||
GNU awk がほしくって whereis gawk したら、/usr/ports/japanese/gawk といわれて、これでおおはまり。 | |||
これじゃん /usr/ports/lang/gawk | |||
japanese/gawk は version 3, lang/gawk は version 5 | |||
*FreeBSD リハビリwメモ | |||
portsの名前が変わった影響がでた場合、MOVED の中身を見て、古い名前を pkg_deinstall -f {古い名前} で消してみると良いかも。今回ハマったのはこれで回避した。 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
pkg_deinstall -f atk at-spi2-atk | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
has a missing dependency: atk | |||
</syntaxhighlight> | |||
っていくつかのportsででるが | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
portmaster -o accessibility/at-spi2-core accessibility/atk | |||
</syntaxhighlight> | |||
これで一件落着w | |||
*FreeBSD リハビリwメモ | |||
freebsd-update でハマり中...仕方が無いので、 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
OK unload | |||
OK load /boot/kernel.old/kernel | |||
OK boot | |||
</syntaxhighlight> | |||
とりあえず、実験のあいだ kernel.old をどっかに保存する。カスタムカーネルをやめて GENERIC にするといけるので、カスタムカーネルをいろいろ試し中... | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null KERNCONF=MACBOOK | |||
</syntaxhighlight> | |||
これでも駄目だった。 | |||
nvidia の kernel driver があかんようだ。loader.conf から外して、rc.conf に kld_list="/boot/modules/nvidia.ko" 追加して解決。ふぅぅぅぅぅ | |||
何れにせよ "/boot/modules/" にある kernel module は rc.conf に記述したほうが安全かもね。駄目なのもあるけど。 | |||
*FreeBSD リハビリwメモ | |||
protect の確認 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
ps aux -o flags | |||
</syntaxhighlight> | |||
flag の上から3番目 | |||
*FreeBSD リハビリwメモ | |||
あら dig はデフォで無くなったのか drill が相当品 (unbound の tool なのね) | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
alias dig drill | |||
</syntaxhighlight> | |||
したw | |||
なぜ今更な感じ何だが、avahi で IPv6 を resolve したときに link-local しか出ないのでいろいろあさった。(mDNS の仕様っぽいし、無理矢理 Global IPv6 にする方法もみつからなかった) | |||
*FreeBSD リハビリwメモ | |||
11.x 以降からいろいろ思想を変えてきてるっぽい。高速の外部記憶(SSD)とかが普通になってるんだったら、昔のようにswapを嫌わずに、主記憶を有効に使う方向に振りましょうとの感じか... | |||
*FreeBSD リハビリwメモ | |||
FreeBSD でも Linux みたいな過保護な実装するようになったんだなぁといろいろ調べた | |||
rc.conf にこんなのが書けるっぽい | |||
<syntaxhighlight lang="text" enclose="div"> | |||
elasticsearch_oomprotect="ALL" | |||
</syntaxhighlight> | |||
これ書いてたら、DB飛ばさなかったかもw | |||
あら protect flag (P_PROTECTED) 立たないな。調査する... | |||
*FreeBSD リハビリwメモ | |||
ほーーーー FreeBSD で "OOM" とい文字列が...昔はこの言葉なかったよなぁ | |||
<syntaxhighlight lang="text" enclose="div"> | |||
vm.pageout_oom_seq | |||
vm.pfault_oom_attempts | |||
</syntaxhighlight> | |||
*FreeBSD リハビリwメモ | |||
sambaが古いのが入ってしまってセキュリティ警告が出て install 出来ないのでデフォルトバージョンを変えた。 | |||
<syntaxhighlight lang="text" enclose="div"> | |||
DEFAULT_VERSIONS+=samba=4.16 | |||
</syntaxhighlight> | |||
あとはおまじない | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
portmaster -o net/samba416 samba412 | |||
</syntaxhighlight> | |||
*FreeBSD リハビリwメモ | *FreeBSD リハビリwメモ | ||
rctl とかよさげかなぁと遊んでみたが、pcpu で deny すると、意識が飛び飛び状態で、これは駄目だ。throttle は使えないので、devctl で script 呼び出しかなぁ...まだ遊び中... | rctl とかよさげかなぁと遊んでみたが、pcpu で deny すると、意識が飛び飛び状態で、これは駄目だ。throttle は使えないので、devctl で script 呼び出しかなぁ...まだ遊び中... |