転載・引用について

ユーザ用ツール

サイト用ツール


os:netbsd:tips

文書の過去の版を表示しています。


NetBSD Tips

ここには、取りあえずNetBSD関連のTipsを適当に書くことにする。

ここは、Tipsなので、説明はしません。判らない人は諦めて下さい。

Listenしているportのprocessを知る

NetBSD(に限らず*BSD系システム)は、標準ではlsofはinstallされていない。

lsofは非常に便利なコマンドなので、入れておく方がいいかもしれないが、とりあえずBSDでもsockstatを使えば必要な情報がとれる。

というわけで、sockstat。

ctrlとcapsを交換

  1. pckbdcを使っている場合
    • kernelのtableを修正すれば交換できるが、wsconsに移行する方がよい。
  2. wsconsを使っている場合
    • /etc/wscons.confに、encoding us.swapctrlcapsを追加する。
  3. Xの場合
    • XF86Configを編集する
      • XF86ConfigSection “InputDevice”に次の行を追加
      • Option "XkbOptions" "ctrl:swapcaps"

RTCをJSTにする

通常はこんなことをする必要は無いのだが、WindowsとDual bootにしている場合、WindowsがRTCをlocaltimeベースにしてしまう。

これに対応するには、kernelのコンフィグファイルで、

options RTC_OFFSET=-540

を指定する。

X Serverを設定する

  1. 以下のコマンドを実行し、XF86Config.newを生成する
    • # X -configure
  2. 必要に応じてXF86Config.newを編集する
  3. 編集した設定ファイルで動作確認する
    • # X -xf86config XF86Config.new

      もしくは

       # xinit -- -xf86config XF86Config.new
  4. 問題なく動作したら、/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.shchown 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 
このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
os/netbsd/tips.1539939722.txt.gz · 最終更新: 2018/10/19 18:02 by seirios

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki