GhostBSD (hp ProBook 430 G3)をメンテナンスしてたら破壊という悲報
今日は2025年3月26日。個人の翻訳事務所ヒノトリホンヤクの本店がある東京都日野市は、晴れ。暖かいです。(でも、このブログエントリーは4月に公開します)
今回は、hp ProBoook 430 G3にインストールしていたGhostBSDをメンテナンスしていました。メンテナンス(システムとパッケージの更新です)していたら、パッケージの更新でなにかが起こり、ブートはするけどsuもできなくなってもちろんlightDMはディスプレイにやってこないしX Window Systemも起動できず、MATE Desktopにもアクセスできなくなってしまった。というお話です。
いわゆる、ときどき突然やってくるアレ、 X Window Systemブート環境破壊、というやつです。
ほんとのことを言うと……
Switching to FreeBSD RELEASE
Starting with the next release, GhostBSD will be built on FreeBSD RELEASE instead of STABLE. The upcoming version will be based on FreeBSD 14.2-RELEASE p1.
と、先月、メジャーな変更がさらっとアナウンスされています。
今までGhostBSDはFreeBSDのSTABLEで、ローリングリリース的なモノだったわけです。STABLEという名前で出ているので安定しているのかというと、そうでもないです。
それとなく知ってましたけど……。
FreeBSDのSTABLEって、開発版のブランチなんですよね。(このネーミング、初見殺しです)
ご存知FreeBSDハンドブック日本語版にも、
> このような理由から、盲目的に FreeBSD-STABLE
> を追いかけるべきではありません。
> プロダクション品質が要求されるサーバを
> FreeBSD-STABLE にアップグレードしては
> いけません。
と書いてあります。
なにがあったのでしょう。まあ、GhostBSDの開発チームも、気が変わったのでしょう。
前述のように私も、STABLEといいつつあれはあまり安定しているFreeBSDではないと認識はしていました。
GhostBSDのおかげでSTABLEという名の開発版を使えたわけで、そこはけっこう面白かったのですが。
さて、ベースがRELEASEになったのはたいへん結構なのですが、GhostBSDのUpdate Stationを実行したときに強力な警告を出してほしかったですね。
まあとにかくGhostBSDをUpdate Stationでアップデートしたら、ブートはするけどX Window SystemやMATE DEは失ってしまったわけです。
ひどいじゃないですか。(笑)
今は、クリーンインストールする覚悟を決めました。
GhostBSDの公式Webページから最新のISOをダウンロードして、ハードドライブをいちどトバシてセットアップしたところです。
一週間は退屈しないですみそうです。
2025年4月4日追記。
丸一日かかりました。でもハードドライブを全消去してOSを再インストールし、設定とカスタマイズ作業を終わらせました。
まずはlightDMによるログイン画面です。
ここからは、デスクトップの画像ドヤリングです。
lightDMのバックグラウンドはNYCのストリートでしたが、デスクトップのバックグラウンド(昔でいう壁紙)は今回は玉(ギョク)の麒麟です。
玉も麒麟も好きです。
ここからは、設定ファイルの類です。
まずは /etc/rc.conf
# copy of /etc/rc.conf of GhostBSD (FreeBSD 14.2-RELEASE) # on hp ProBook 430 G3 date Mar. 28, 2025 # ZFS, MATE DE, Celeron, 16GB RAM # zfs_enable="YES" kld_list="linux linux64 cuse fusefs hgame /boot/modules/i915kms.ko" linux_enable="YES" ntpd_enable="YES" ntpd_sync_on_start="YES" devfs_enable="YES" devfs_system_ruleset="devfsrules_common" dbus_enable="YES" lightdm_enable="YES" webcamd_enable="YES" cupsd_enable="YES" avahi_daemon_enable="YES" avahi_dnsconfd_enable="YES" moused_enable="YES" firewall_enable="YES" firewall_type="workstation" ifconfig_re0="DHCP" wlans_iwm0="wlan0" ifconfig_wlan0="WPA DHCP" keymap="jp.kbd" hostname="ghostbsd-probook" dsbmd_enable="YES" sshd_enable="YES"
samba_server_enable="YES" #
次は /etc/sysctl.conf
# copy of /etc/sysctl.conf of GhostBSD (FreeBSD 14.2-RELEASE) # on hp ProBook 430 G3 date Mar. 28, 2025 # ZFS, MATE DE, Celeron, 16GB RAM # # This file is read when going to multi-user and its contents piped thru # ``sysctl'' to adjust kernel values. ``man 5 sysctl.conf'' for details. # # Uncomment this to prevent users from seeing information about processes that # are being run under another UID. #security.bsd.see_other_uids=0 # add user mount vfs.usermount=1 # the following is required to run chromium browser kern.ipc.shm_allow_removed=1 # For Desktop use default for server is 80 kern.sched.preempt_thresh=224 # this is required for MBR 4 alignement kern.geom.part.mbr.enforce_chs=0 # PROPOSED SECURITY ADDITIONS BELOW # # hw.kbd.keymap_restrict_change=4 # kern.randompid=1 # kern.sugid_coredump=0 # # Prevent users from seeing information about processes # that are being run under another UID. # security.bsd.see_other_uids=0 # security.bsd.see_other_gids=0 # # security.bsd.hardlink_check_gid=1 # security.bsd.hardlink_check_uid=1 # security.bsd.stack_guard_page=1 # # Disable Reading Kernel Buffers # security.bsd.unprivileged_read_msgbuf=0 # # Disable Process Debugging Facilities # security.bsd.unprivileged_proc_debug=0 # # Prandomizing PID's of newly created processes # kern.randompid=1 # # Hide processes running in jails # security.bsd.see_jail_proc=0 # # drop udp and tcp packets going to closed sockets # net.inet.udp.blackhole=1 # net.inet.tcp.blackhole=2 # # IPv4 ICMP drop redirect security enhancement # net.inet.icmp.drop_redirect=1 # # IPv4 security additions # net.inet.ip.check_interface=1 # net.inet.ip.process_options=0 # net.inet.ip.random_id=1 # net.inet.ip.redirect=0 # net.inet.ip.accept_sourceroute=0 # net.inet.ip.forwarding=0 # net.inet.ip.sourceroute=0 # # IPv4 TCP security additions # net.inet.tcp.always_keepalive=0 # net.inet.tcp.drop_synfin=1 # net.inet.tcp.icmp_may_rst=0 # net.inet.tcp.nolocaltimewait=1 # net.inet.tcp.path_mtu_discovery=0 # # IPv4 icmp additions # net.inet.icmp.bmcastecho=0 # # IPv6 and icmp6 redirect for enhancing security # net.inet6.icmp6.rediraccept=0 # net.inet6.ip6.redirect=0 #
続いて /boot/loader.conf
最後のfuse_load=”YES”は重要ですよ。
# copy of /boot/loader.conf of GhostBSD (FreeBSD 14.2.1-RELEASE) # on hp ProBook 430 G3 date Mar. 28, 2025 # ZFS, MATE DE, Celeron, 16GB RAM # rc_system="bsdrc" crypto_load="YES" aesni_load="YES" geom_eli_load="YES" vfs.zfs.arc_max="512M" # For XHCI Mouse Support hw.usb.usbhid.enable="1" usbhid_load="YES" # For UTouch Support utouch_load="YES" zfs_load="YES" fuse_load="YES" #
それから、~/.xprofile
#!/bin/sh ### ### Copy of ~/.xprofile of GhostBSD (FreeBSD 14.2-RELEASE-p2 GENERIC amd64 ### on hp ProBook 430 G3 ### installation date: Mar. 26, 2025 ### setxkbmap -model pc105 -layout jp -variant OADG109A # ### ibus export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS=@im=ibus # /usr/local/bin/mozc start ibus-daemon -r --daemonize --xim #
それから、~/.xinitrc
2行目以降は、私が入力したメモのコメント行です。
必要なのは最初の exec – – – – – だけです。
短いです。驚きですね。
exec ck-launch-session mate-session ### ### Copy of ~/.xinitrc of GhostBSD ### (FreeBSD 14.2-RELEASE-p2 GENERIC amd64) ### on hp ProBook 430 G3 ### installation date: Mar. 26, 2025 ###
余談ですが、FreeBSDをセットアップしていて、X Window Systemが起動してくれないことがたまにあります。 そんな時に避けて通れない大事なディレクトリがあります。
正直に言って、何時間も苦労した記憶が大半なので、パスを読むだけで胃が痛くなるような気がするディレクトリです。
/usr/local/etc/X11/xorg.conf.d/
です。 2025年3月現在のGhostBSDのインストールでは、上記のディレクトリの中は空っぽでした。
難しいですね。
いや、難しいのではなくこれがユーザーフレンドリーなのかもしれません。
NomadBSDだと、キーボードの設定ファイル、ビデオの設定ファイル、タッチパッドの設定ファイルなどがあります。 かなり歯応えのある作業です。