文書の過去の版を表示しています。
−目次
NetBSD Tips
ここには、取りあえずNetBSD関連のTipsを適当に書くことにする。
ここは、Tipsなので、説明はしません。判らない人は諦めて下さい。
Listenしているportのprocessを知る
NetBSD(に限らず*BSD系システム)は、標準ではlsofはinstallされていない。
lsofは非常に便利なコマンドなので、入れておく方がいいかもしれないが、とりあえずBSDでもsockstatを使えば必要な情報がとれる。
というわけで、sockstat。
ctrlとcapsを交換
- pckbdcを使っている場合
- kernelのtableを修正すれば交換できるが、wsconsに移行する方がよい。
- wsconsを使っている場合
/etc/wscons.conf
に、encoding us.swapctrlcaps
を追加する。
- Xの場合
XF86Config
を編集するXF86Config
のSection “InputDevice”
に次の行を追加Option "XkbOptions" "ctrl:swapcaps"
RTCをJSTにする
通常はこんなことをする必要は無いのだが、WindowsとDual bootにしている場合、WindowsがRTCをlocaltimeベースにしてしまう。
これに対応するには、kernelのコンフィグファイルで、
options RTC_OFFSET=-540
を指定する。
X Serverを設定する
- 以下のコマンドを実行し、
XF86Config.new
を生成する# X -configure
- 必要に応じて
XF86Config.new
を編集する - 編集した設定ファイルで動作確認する
# X -xf86config XF86Config.new
もしくは
# xinit -- -xf86config XF86Config.new
- 問題なく動作したら、
/etc/X11/XF86Config
にコピーする
Disk Image File
NetBSDで完全なDisk Imageを読むためにはvnconfigを利用する。
# vnconfig vnd0 /some/where/Disk.Image ← /dev/vnd0にDisk.Imageをattachして、Diskに見えるようになる # vnconfig -u vnd0 ← vnd0をdetachする # vnconfig -l ← 現在使われているvnd[0-9]デバイスか判る vnd0: dev 203,4 inode 2132 vnd1: dev 203,4 inode 850222 vnd2: not in use vnd3: not in use
あとは、disklabelやnewfsで普通にDiskとして使える。
XenのDomain0を作る場合、vndが足りなくなると悲劇なので、必要に応じてvndを増やしておくべき
# cd /dev # sh MAKEDEV vnd4 vnd5 vnd6 vnd7
ps
psでuserは取れるのにgroupが取れないのが気に入らなかったので、ちょっとmanを読んでみたら、
$ ps -o user,group,command USER GID COMMAND foo staff -sh foo staff /usr/bin/less /usr/share/man/cat1/ps.0 foo staff ps -o user,gid,command foo staff man ps foo staff sh -c /usr/bin/less /usr/share/man/cat1/ps.0
おお、取れるじゃないか!
backup
まぁ、あんまり頑張ってないんだけど、WeeklyにどこかのDir以下をbackupするためのscript.
大きさとか全然考えないし、DirectoryとかもHard-Codedだけど、忘れるのも嫌なのでメモ。
#! /bin/sh # # Generate backup.(bkup.sh) # # written by seirios@seirios.org # USAGE: set crontab to run. # REQUIRE: /some/where/backup/dir backup directory # GENERATE: /some/where/backup/dir/bkup.#.tgz backup file # Set variables BASE=/some/where/backup/dir BKUPDIR=/some/where/dir new=1 for i in 6 5 4 3 2 1; do new=`expr $i + 1` if [ -f ${BASE}/bkup.$i.tgz ]; then mv ${BASE}/bkup.$i.tgz ${BASE}/bkup.$new.tgz fi done cd ${BKUPDIR} tar czf ${BASE}/bkup.1.tgz . echo "Backup of home directory is done." ls -l ${BASE}
これをどこかに置いて、chmod 700 bkup.sh
と chown root.wheel bkup.sh
しておく
crontabに以下を記載。もちろん、crontab -eで編集しても良い。
# 0 6 * * 7 /bin/sh /some/where/bin/bkup.sh 2>&1 | sendmail -t
これで、Weekly(この場合は日曜日)に自動的にあるディレクトリがbackupされる。
もう少し改良の余地があるけど、今のところはこれで。
ただ、weeklyで動く用にする手もあるので、少し考えないと駄目だな。
build.sh
毎回build.shで忘れるので、メモを。
- toolを作る :
sh build.sh tools
- kernelを作る :
sh build.sh kernel=CONFIG_FILE_NAME
- Updateする場合 :
sh build.sh -u ….
PUFFS
NetBSDでPUFFS/FUSEを使うためには、kernelにPUFFS関係の設定を入れる必要がある。
http://www.jp.netbsd.org/docs/puffs/を参照のこと
特に、netbsd-iscsi-initiatorを使うなら、PUFFS必須である。
kernel configurationファイルに
# FILE SYSTEM関係の部分に追加 file-system PUFFS # Pseudo-Device関係の部分に追加 pseudo-device putter
/etc/mk.confに
MKPUFFS=yes
これでkernelとuserlandを一気にbuildする。
使い方は以下の通り。
# mount_psshfs user@host:/path/to/directory /mountpoint # umount /mountpoint