FreeBSD Tips
gitを用いたソースコードの取得とOSのアップデート
記載日: 2024-07-28
更新日: 2024-08-01
# pkg install git
# git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src
# cd /usr/src
# git checkout releng/14.1
# make buildworld
# make buildkernel
# make installkernel
# reboot
# etcupdate -p
# make installworld
# etcupdate -B ← 上手く動かない。 mergemaster -UPiF で手動で更新するほうが良さそう。
OSのメジャーアップデートの場合のパッケージの更新は以下のようにする。
# pkg-static upgrade -f
FreeBSD 14からは、デフォルトのmtaがsendmailからdmaに変更になったようなので、引き続きsendmailを利用したい場合は、
/usr/share/examples/sendmail/mailer.conf
の内容を
/etc/mail/mailer.conf
に書き写す必要がある。
ext4fuseを用いたext4ディスクのマウント(read-only)
記載日: 2016-04-06
# pkg install ext4fuse
# kldload fuse.ko
# vi /boot/loader.conf
--------------------------------------------
fusefs_load="YES"
# ext4fuse /dev/da0p1 /mnt/ext4usb
NFS設定
記載日: 2016-03-29
Server
# vi rc.conf
nfs_server_enable="YES"
mountd_enable="YES"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
rpcbind_enable="YES"
# touch exports
# service rpcbind start
# service mountd start
# service nfsd start
# service statd start
# service lockd start
# vi exports
root@nfs_server:/etc # cat exports
/usr -maproot=root -network 192.168.1.0 -mask 255.255.255.0
# service mountd reload
# showmount -e
Client
/etc/fstab
nfs_server_name:/usr /usr nfs rw 0 0
Hyper Estraier
記載日: 2015-11-20
http://fallabs.com/hyperestraier/intro-ja.html
Create
estcmd gather -il ja -sd casket /home/www/public_html
Update
estcmd gather -cl -il ja -sd -cm casket /home/www/public_html/
estcmd purge -cl casket
estcmd optimize casket
zfsにswapを追加
記載日: 2015-11-19
# zfs create -V 8G zroot/swap
# zfs set org.freebsd:swap=on zroot/swap
# zfs set checksum=off zroot/swap
# zfs list zroot/swap
NAME USED AVAIL REFER MOUNTPOINT
zroot/swap 8.25G 867G 64K -
freebsd-updateでのupgrade
記載日: 2015-11-16
updateに失敗するときは、
/etc/freebsd-update.conf
を
ServerName update4.FreeBSD.org
あるいは、
ServerName update5.FreeBSD.org
に書き換えて試すといいとのこと。
# cp -Rp /etc /etc.old
# freebsd-update -r 10.2-RELEASE upgrade
ディスクにラベルをつける
記載日: 2015-11-10
dmesgで目的のディスクのデバイス名を調べる
ada0: <Samsung SSD 840 EVO> ATA-9 SATA 3.x device
# gpart show /dev/ada0
=> 34 1953525101 ada0 GPT (932G)
34 6 - free - (3.0K)
40 1024 1 freebsd-boot (512K)
1064 1946156024 2 freebsd-ufs (928G)
1946157088 7368046 3 freebsd-swap (3.5G)
1953525134 1 - free - (512B)
# glabel label -v ssd_boot /dev/ada0p1
# glabel label -v ssd_root /dev/ada0p2
# glabel label -v ssd_swap /dev/ada0p3
/etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/label/ssd_root /mnt/ssd ufs rw 1 1
のようにしてマウントする。
外付けのUSBディスクをUFSでフォーマットする
記載日: 2015-10-29
dmesgで追加したディスクのデバイス名を調べる。
今回は、da0で認識された。
gpart show da0
gpart destroy -F da0
gpart create -s GPT da0
gpart add -t freebsd-ufs da0
newfs -U da0p1
mkdir /mnt/usb1
mount /dev/da0p1 /mnt/usb1
ブートさせるなら、
gpart bootcode -b /dist/boot/pmbr da0
gpart add -s 128 -t freebsd-boot da0
gpart bootcode -p dist/boot/gptboot -i da0
スワップを作るなら、
gpart add -s 1G -t freebsd-swap da0
gpart show da0
で構成がわかる。
platexが動かなくなったら
記載日: 2015-07-22
# texconfig rehash
PostgreSQLのinitdb
記載日: 2015-06-22
# UTF-8でinitdbしたい場合
% initdb --encoding=UTF-8 --locale=ja_JP.UTF-8
sendmailのdhキーの作り直し
記載日: 2015-06-17
# cd /etc/mail/certs
# openssl dhparam -out dh.param 2048
# openssl dhparam -out dh.param 4096
だとかなり時間がかかる。
CPUのコアの温度取得
記載日: 2015-05-18
# kldload coretemp
amd系はamdtemp
# sysctl dev.cpu | grep temperature
無線LANの設定
記載日: 2015-05-15
BUFFALO WLI-UC-GNM2 Wireless LAN Adapter
/etc/rc.confに
wlan_load=”YES”
wlan_xauth_load=”YES”
wlan_wep_load=”YES”
wlan_tkip_load=”YES”
wlan_ccmp_load=”YES”
wlan_amrr_load=”YES”
runfw_load=”YES”
rt2561sfw_load=”YES”
rt2661fw_load=”YES”
rt2561fw_load=”YES”
wlans_run0=”wlan0″
ifconfig_wlan0=”DHCP ssid myssid wepmode on wepkey hoge1 deftxkey 1″
wpa_supplicant_enable=”YES”
root@:~ # wpa_passphrase 0123456789AB XXXXXXXX > /etc/wpa_supplicant.conf
root@:~ # cat /etc/wpa_supplicant.conf
network={
ssid="0123456789AB"
#psk="XXXXXXXX"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
root@:~ # wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Xorgでの日本語キーボードの設定
記載日: 2015-05-15
xorg-serverが1.14になってから、HALからdevdに戻ったそうで、日本語キーボードの設定方法が変わったようです。
# mkdir /etc/X11/xorg.conf.d
# vi /etc/X11/xorg.conf.d/input.conf
Section "InputClass"
Identifier "Keyboard Defaults"
Driver "keyboard"
MatchIsKeyboard "on"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
Option "XkbOptions" "ctrl:nocaps"
EndSection
これで、日本語キーボードとして認識されるようになりました。
NTFSドライブをマウントする
記載日: 2014-10-28
pkg install fusefs-ntfs
cd /boot/kernel
kldload fuse.ko
/boot/loader.confに
fuse_load="YES"
/etc/rc.confに
fusefs_enavle="YES"
を記載する。
ntfs-3g /dev/da0s1 /mnt
Subversion でのソースコードの更新
記載日: 2014-04-16
修正日: 2016-01-09
subversion は、portsかPackageからインストールする。
svnliteがデフォルトでインストールされているので、通常はsvnliteで大丈夫。
古い /usr/src をリネームして、新しい空の /usr/src を作る。
svnlite checkout svn://svn.freebsd.org/base/releng/10.2 /usr/src
メモリスティックでのインストール
記載日: 2011-10-18
dd if=FreeBSD-9.0-BETA3-amd64-memstick.img of=/dev/da1 bs=10240
HASTとZFS
記載日: 2010-08-06
ZFSをHASTでレプリケーションできないか検討した。
今回は、/etc/hast.conf は以下のとおりにした。
resource shared {
on host1 {
local /dev/ad6
remote tcp4://10.0.0.2
}
on host2 {
local /dev/ad6
remote tcp4://10.0.0.1
}
}
host2# hastctl create shared
host2# hastd
host2# hastctl role secondary shared
host1# hastctl create shared
host1# hastd
host1# hastctl role primary shared
host1# zpool create zfs /dev/hast/shared
host1側に
Filesystem 1K-blocks Used Avail Capacity Mounted on
zfs 957874126 18 957874108 0% /zfs
のように、host2にレプリケーションされたzfsがマウントされました。
HASTで高信頼性レプリケーション
記載日: 2010-08-05
http://wiki.freebsd.org/HAST
を参考にした。
/etc/hast.conf を作る。
resource shared {
on host1 {
local /dev/ad6s1d
remote tcp4://10.0.0.2
}
on host2 {
local /dev/ad6s1d
remote tcp4://10.0.0.1
}
}
host1, host2の/etcにhast.confを置く。
host1 host2で
# hastctl create shared
# hastd
をそれぞれ実行する。
host2で、
# hastctl role secondary shared
host1で、
# hastctl role primary shared
# newfs -U /dev/hast/shared
# mount -o noatime /dev/hast/shared /shared
# hastctl status shared
shared:
role: primary
provname: shared
localpath: /dev/ad6s1d
extentsize: 2097152
keepdirty: 64
remoteaddr: tcp4://10.0.0.2
replication: memsync
status: complete
dirty: 969918119936 bytes
同期が進むとdirtyが0になるはず。
host1 host2両方の /etc/rc.conf に
hastd_enable="YES"
を追加する。
64bit modeのkernelの作り方
# cd /usr/src
# rm -rf /usr/obj/*
# make cleandir ; make cleandir
# make TARGET_ARCH=amd64 buildworld
# make KERNCONF=GENERIC TARGET_ARCH=amd64 buildkernel
FreeBSD 8.0でのxorgの設定
kinput2, cannaで日本語入力する場合
/etc/rc.conf
hald_enable="YES"
dbus_enable="YES"
cannaserver_enable="YES"
moused_enable="NO"
rootになって
Xorg -configure
を実行して、/rootにできた、xorg.confを
/etc/X11にコピーする。
/etc/X11/xorg.confに
Section "ServerFlags"
Option "AllowEmptyInput" "off"
EndSection
を追加する。
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
# Option "XkbVariant" "jp"
Option "XkbCompat" ""
EndSection
とする。
.cshrcに
setenv XMODIFIERS @im=kinput2
setenv LANG ja_JP.eucJP
setenv LC_CTYPE ja_JP.eucJP
を追加。
.xinitrcは、
#!/bin/sh
export LANG=ja_JP.EUC
export XMODIFIERS='@im=kinput2'
xsetroot -solid DodgerBlue4
kinput2 -canna&
xclock -geometry 100x100-0+0 &
firefox3 -geometry 0x0 &
twm
とした。
.twmrcに、
menu "app"
{
"Application" f.title
"firefox" f.exec "firefox3&"
"kterm" f.exec "kterm&"
}
のように、アプリを追加した。
platexがうまく動かない場合
ログインシェルの環境変数の
TEXMF=/usr/local/share/texmf
等の指定を除くと、うまくいく。
graphicx.styがないと言われた場合
mktexlsr
を実行する。
platex supertabular環境
/usr/ports/print/latex-supertabular
をインストールする。
\documentclass[a4j]{jarticle}
\usepackage[dvipdfm]{graphicx,color}
\usepackage{supertabular}
\begin{document}
\tablefirsthead{\hline Name & Value & Comment \\ \hline }
\tablehead{\hline Name & Value & Comment \\ \hline }
\tabletail{\hline}
\tablelasttail{\hline}
\begin{supertabular}{lll}
Apple & 3 & Test\\
\end{supertabular}
\end{document}
[戻る]
$Id: tips.html,v 1.3 2010/01/06 14:12:26 miyao Exp $
Copyright © 2002 - 2010 Akio Miyao. All Rights Reserved.