#author("2024-03-02T10:22:29+00:00","default:patent","patent")
#author("2024-03-02T10:22:53+00:00","default:patent","patent")
&size(24){&color(navy){''FreeBSD''};};
----
#contents
----
- [[BSDのプリンセス、マジカルとこちゃん:http://tokochan.haun.org/]]
- [[FRESH ports:http://www.freshports.org/]]
- [[FreeBSDハンドブック日本語版:http://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/index.html]]情報がちょっと古いので,最新情報を得るには英語版をどうぞ。
- [[FreeBSD Handbook:http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html]]
---
**FreeBSD Update [#k61af712]
***パッチ適用 [#t25026fc]
 # freebsd-update fetch
 # freebsd-update install
*** バージョンアップ [#d970f66c]
''OSの更新''
 # freebsd-update upgrade -r 14.0-RELEASE
 # freebsd-update install -r 14.0-RELEASE
''PKGの更新''
 # pkg-static install -fy pkg
 # pkg upgrade -y

**Portの管理 [#m5f414fe]
''Gitから取得''
 git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports
''最新に更新''
 git -C /usr/ports pull


**インストール [#x9b198ed]

''インストールCDの準備''

インストールCDイメージ
 ftp3.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/5.2.1/5.2.1-RELEASE-i386-miniinst.iso
をダウンロード。新潟大学からだとこのサイトが早いです。

isoイメージをCD writerで焼きます。

焼きあがったCDから起動します。

''スライス・パーティションの切り方''

FreeBSDの場合物理的なHDDを,まずスライスという単位にきります。
すべてのディスクを1つのスライスにしてしまってよいでしょう。

次にスライスの中にパーティションを切ります。
いろいろ流儀があるでしょうが
  / swap容量を差し引いた残り全部
  swap 256MB〜1G
が簡単です。

''残りのインストール過程''

-配布モデルはX-Developper
-Portsは入れる
-Gatewayにはならない
-NFS clientになる
-NFS serverにならない
-Anonymous FTPを提供しない
-Linux Emulationをとりあえず無効化
この辺は適当に選択しても後から修正できますので。
** カーネルオプション [#qea44829]
 /usr/src/sys/conf/

**パッケージ管理 [#tbc395de]
''最初の一回だけ''
 # pkg_add -r cvsup-without-gui
 # cp /usr/share/example/cvsup/ports-supfile /etc
 # chmod 644 /etc/ports-supfile
/etc/ports-supfileの
 *default host=CHANGE_THIS.FreeBSD.org
と書かれた行を
 *default host=cvsup.jp.FreeBSD.org
と編集して、cvsup.jp.freebsd.orgからとってくるように設定。
 # cvsup -L 2 /etc/ports-supfile
 # cd /usr/ports/sysutil/portupgrade
 # make install clean

''パーッケージを最新に保つ''
 # cvsup -L 2 /etc/ports-supfile
 # portsdb -uU
 # portupgrade -ark

''新規パッケージの導入''
 # cd /usr/ports
 # portinstall japanese/kterm

''たまにやって欲しいこと''

お掃除
 # portsclean -LCD

** HDDをまるごとコピー [#web39bcb]
- [[FreeBSD QandA 1859:http://www.jp.freebsd.org/QandA/HTML/1859.html]]
+ コピー先の HDD を接続して、オリジナルの HDD から起動します。
+ root でログインして /stand/sysinstall を実行します。
+ Configure -> Fdisk の画面からコピー先の HDD のスライスを作成します。ブートマネージャもインストールしておきます。
+ Configure -> Label の画面から、オリジナルのHDDと同じようにパーティションを作成します。newfs もここで行っておくとよいです。
    例:
       Part      Mount           Size Newfs
       ----      -----           ---- -----
       da1s1a    /mnt           100MB UFS Y
       da1s1b    swap          1024MB SWAP
       da1s1e    /mnt/var      1024MB UFS Y
       da1s1f    /mnt/usr      2048MB UFS Y
       da1s1g    /mnt/home     4550MB UFS Y
+ /mnt 以下に新たに作成したパーティションをマウントします。
     # mount /dev/da1s1a /mnt
     # mount /dev/da1s1e /mnt/var
     # mount /dev/da1s1f /mnt/usr
     # mount /dev/da1s1g /mnt/home
+ それぞれのパーティションをコピーします。
     # dump 0af - /     | ( cd /mnt      && restore rf -)
     # dump 0af - /var  | ( cd /mnt/var  && restore rf -)
     # dump 0af - /usr  | ( cd /mnt/usr  && restore rf -)
     # dump 0af - /home | ( cd /mnt/home && restore rf -)
+ restoresymtable を削除します。
     # rm /mnt/restoresymtable
     # rm /mnt/var/restoresymtable
     # rm /mnt/usr/restoresymtable
     # rm /mnt/home/restoresymtable
+ コピー先の HDD から起動した際にブートデバイス名が変わるのであれば /mnt/etc/fstab も書きかえておきます。この場合、デバイスファイルも /mnt/dev 上で忘れずに作成しておきます。
+ オリジナルの HDD を切り離して、コピー先の HDD から起動することを確認します。

**WSD [#q6f83cbf]
**WSDD [#q6f83cbf]
- Windowsからブラウジングできるようにする
-- WSDD

**データCD [#zd48fca3]

:sysutils/cdrtools-cjk|日本語ファイルに対応したCD作成ツール

+Joliet拡張とRock Ridge拡張なisoイメージを作る
 % mkisofs -J -r -input-charset euc-jp -o hoge.iso hoge
+できたイメージを確認
 # mdconfig -af hoge.iso 
 md0
 # mount -t cd9660 /dev/md0 /mnt
 # mdconfig -du md0
+Burn!
 # burncd -s max data hoge.iso fixate

**音楽CD [#i09e511f]

:sysutils/cdrdao|CDをdisc at onceで焼く.

***一度だけ必要な手順 [#dc8e0bbc]

cdrdaoはscsiデバイス用なので,cam transport moduleをkernelに組み込む。
 device atapicam

***CDを作るたびに必要な手順 [#h04e268e]

cueシートをtocに変換
 % cue2toc hoge.cue > hoge.toc

burn!!!
 # cdrdao write --device 1,0,0 --driver generic-mmc --speed 8 hoge.toc

- リッピング
 cdparanoia

***TOCファイルの作り方 [#mb64c65d]

音楽CDを示すラベルをファイルの先頭に書きます。
 CD_DA

後はトラックを書いていきます。
-トラックの種別
 TRACK AUDIO
-ファイル名 開始位置 長さ
 FILE "hoge01.wav" 00:00:00 04:55:37
--単一のwavを区切って焼くときは,ファイル名はすべてのトラックで同一にして,開始位置と長さを指定します。
 CD_DA
 
 TRACK AUDIO
 FILE "CDImage.wav" 00:00:00 04:11:00
 
 TRACK AUDIO
 FILE "CDImage.wav" 04:11:00 05:05:62
 START 00:02:00
 
 TRACK AUDIO
 FILE "CDImage.wav" 09:16:62 04:48:63
 START 00:01:50

--トラックごとに分かれたwavファイルからCDを作るには,各トラックにおいて対応するファイル名を書きます。
 CD_DA
 
 TRACK AUDIO
 FILE "01 - Egao no Yokan ('Deep'Dream mix.).wav" 0
 
 TRACK AUDIO
 FILE "02 - Wonder Girl ('Deep'Club mix.).wav" 0
 
 TRACK AUDIO
 FILE "03 - Yureru Koi Otome Iro .wav" 0

-pre gap
 START 00:01:00
例えばこんな風にすると,前のトラックのラスト1秒になったときに,トラックインデクスが現在のトラックに切り替わります。

** CDのコピー [#l370dc8b]
 #cdrdao copy --device 1,0,0 --speed 24

**xfsの起動スクリプト発見 [#zfbf7f56]
 # echo 'xfs_enable="YES"' >> /etc/rc.conf

** その他のports(MATLABへの道) [#s65fda4d]
 # portinstall net/tightvnc
 # portinstall emulator/linux_base-8
 # portinstall net/rsync

** Matlabインストール [#veb82031]
//+xsetupを動かすのに必要なLinuxバイナリをインストール
// # portinstall emulators/linux_base-8/
// # portinstall /usr/ports/x11/linux-XFree86-libs
//+インストールCDの中身をまるごとコピー
// # mount /cdrom
// # cp -R /cdrom /mnt
//+LinuxバイナリにLinxu印をつける
// # find . -print -type f | grep glnx86 | xargs brandelf -t Linux
//+でもこの共有ライブラリはオリジナルのを使用
// # cp /cdrom/update/bin/glnx86/libmwins.so /mnt/cdrom/update/bin/glnx86/libmwins.so
//+ARCHが必ずgnlx86になるようにごにょごにょする
// # vi /mnt/cdron/install
//+ここからはLinux版といっしょ
// # mkdir /opt/matlab
// # cd /opt/matlab
// # /mnt/cdrom/install

+xorgが入っているのを前提として,必要なLinuxバイナリをインストール
 # portinstall emulators/linux_base-8/
 # portinstall x11/linux-XFree86-libs
 # portinstall x11-fonts/linux-fontconfig
 # portinstall textproc/linux-expat
+/etc/rc.confに以下を追加
 linux_enable="YES"
+/etc/fstabに以下を追加
 linprocfs     /compat/linux/proc     linprocfs     rw     0     0
+/compat/linux/etc/fstabを作成
 proc          /proc                  proc          rw     0     0
+再起動もしくは,自分でmountとか/etc/netstart
+CD-ROMからインストール
 # mount /cdrom
 # /compat/linux/bin/sh /cdrom/install -t
--GUIインストールしたければ,あらかじめ一般ユーザで
 % setenv XAUTHORITY $HOME/.Xauthority
としておくこと
+matlabの起動
 % ./matlab -glnx86
+licenseサーバも同じく起動できる
 % ./lmstart -glnx86

-これでとりあえず,R13, R13sp1, R14は起動確認.R14は終了時にエラーが...R14sp1はまだうまくいかない.

**システムの再構築 [#deab1149]
''最初の一回だけ''
 # pkg_add -r cvsup-without-gui
 # cp /usr/share/example/cvsup/stable-supfile /etc
 # chmod 644 /etc/stable-supfile
/etc/stable-supfileの
 *default host=CHANGE_THIS.FreeBSD.org
と書かれた行を
 *default host=cvsup.jp.FreeBSD.org
のように、また
 *default release=cvs tag=RELENG_4
と書かれた行を
 *default release=cvs tag=RELENG_5_2
と編集する。
 # cvsup -L 2 /etc/stable-supfile

+ユーザーランドの再構築
 # cd /usr/src
 # make buildworld
+カーネルの再構築
 # cd /usr/src
 # make buildkernel
+カーネルのインストール
 # cd /usr/src
 # make installkernel
+ユーザーランドのインストール
 # cd /usr/src
 # make installworld
+設定ファイルの更新
 # mergemaster

** インテル製コンパイラ [#t4b177b4]
ライセンス取得
-[[Intel Software Development Products:http://www.intel.com/software/products/compilers/]]

**Japanese TeX [#g4ff8140]
-japanese/teTeX
--tex-texmflocal-1.4
--teTeX-texmf-2.0.2
--teTeX-base-2.0.2_2
--ja-kochi-ttfonts-20030809
--ja-ptex-tetex-3.1.3_1
--ja-texfamily-tetex-1.2
--ja-texfamily-vfn2a-1.3
--ja-xdvik-tetex-22.40y1.1.21_3
--ja-dvipsk-tetex-5.94a

**/usr/X11R6/lib/X11/fs/config [#g194989f]
 clone-self = on
 use-syslog = off
 catalogue = /usr/X11R6/lib/X11/fonts/TTF/ 
 error-file = /var/log/xfs.log
 default-point-size = 120
 default-resolutions = 75,75,100,100

**PukiWiki運営のために必要なパッケージ [#p7bb6589]
-php4-4.3.8_2        PHP Scripting Language (Apache Module and CLI)
--perl-5.8.5
--libiconv-1.9.2_1
--expat-1.95.8
--apache-2.0.50_2
-php4-mbstring-4.3.8_2 The mbstring shared extension for php
-php4-pcre-4.3.8_2   The pcre shared extension for php

** USB Keyboardを使えるようにする [#m275259f]
 # kbdcontrol -k /dev/kbd1 < /dev/ttyv0 -l jp.106> /dev/null

** Xでアンダーバーが効かない [#f03c0043]
-xorgな環境
-xevで拾ってみるとkeycode228はなにも対応されていない

.Xmodmapに
 keycode 228 = backslash underscore
.xinitrcの適当な所に
 xmodmap $HOME/.Xmodmap

** 決まった時間にチャイムを鳴らす [#q65acdc8]
- portsからbeepをインストール
 # portinstall audio/beep

- 次のようなスクリプトを /root/bin/chaimes に作成
-- A4
 #!/bin/sh
 /usr/local/bin/beep -p 440 $1
-- B4
 #!/bin/sh
 /usr/local/bin/beep -p 493.8 $1
-- C4
 #!/bin/sh
 /usr/local/bin/beep -p 261.6 $1
-- D4
 #!/bin/sh
 /usr/local/bin/beep -p 293.6 $1
-- E4 
 #!/bin/sh
 /usr/local/bin/beep -p 329.6 $1
-- F4
 #!/bin/sh
 /usr/local/bin/beep -p 349.2 $1
-- G4
 #!/bin/sh
 /usr/local/bin/beep -p 392 $1

- A4〜G4を組み合わせてチャイムを鳴らす.スクリプトは /root/bin/chimes に保存
-- play1
 #!/bin/sh
 ./F4 100
 ./A4 100
 ./G4 100
 ./C4 200
 
 sleep 1
 
 ./F4 100
 ./G4 100
 ./A4 100
 ./F4 200
 
 sleep 1
 
 ./A4 100
 ./F4 100
 ./G4 100
 ./C4 200
 
 sleep 1
 
 ./C4 100
 ./G4 100
 ./A4 100
 ./F4 200

-- play2
 #!/bin/sh
 
 ./F4 50
 ./C4 100
 ./A4 50
 ./F4 200
 
 sleep 1
 
 ./F4 50
 ./C4 100
 ./A4 50
 ./G4 200
 
 sleep 1
 
 ./G4 50
 ./C4 100
 ./A4 50
 ./G4 200
 
 sleep 1
 
 ./G4 50
 ./C4 100
 ./A4 50
 ./F4 200

- /etc/crontab に以下のような内容を追加
 30      8       *       *       *       root    (cd /root/bin/chimes && ./play1)
-- 並び順は"minute hour    mday    month   wday    who     command"

- Cronを再起動
 # kill -HUP `cat /var/run/cron.pid`
 



** Vinum [#v29ea79d]
Vinumは仮想ディスクを作り出す。

はじめにVolumeというオブジェクトがある。
Volumeは容量制限のない何らかのディスク領域。

Volumeの中にPlexがある。
Plex1つでVolumeのすべての可能なアドレスをカバーしている。
2つ以上のPlexがある場合,ひとつひとつがVolume全体のアドレス空間を張る。
Plexはつまり冗長である。

BSDパーティションをPlexの構成単位にしてもいいが,
パーティションの数には限りがある。
だからVinumはひとつのBSDパーテシション(drive)を
複数のディスク(subdisks)に分けることができる。

SubdisksはVinum drive = BSDパーテション上にいくつでも作ることができる。

Plexは任意の数の,任意のVinum Driveに散らばっているSubdisksを含むことができる。
つまり,plexは,そしてvlumeはdriveの物理的な容量に制約されないのだ。

まずこんなファイルを作る

 # cat backuphome
  drive ad2s1c device /dev/ad2s1c
  drive ad3s1c device /dev/ad3s1c
  volume backuphome
  plex org concat
  sd length 77879478k drive ad2s1c
  sd length 77879478k drive ad3s1c

意味を説明しよう。
 drive ad2s1c device /dev/ad2s1c
この行によってデヴァイス /dev/ad2s1cをad2s1cという名前のVinum driveにする。
次の行も同様。
 volume backuphome
この行でbackuphomeという名前のボリュームを作る。
以下backuphomeボリュームの内容を書く。
 plex org concat
上で説明したように,volumeはplexからなる。
ここでは単一のplexを用いているから冗長度はない。
 org concat
というのは,単純連結の意味。
sd length 77879478k drive ad2s1c
上で書いたように,plexはsubdiskからなる。
ここではdrive ad2s1cに長さ77879478kBのsubdiskをつくって,
それをplexに追加している。
次の行も同様。
なお,このときの長さは,一度/dev/ad2s1cをnewfsしてmountしてdfで調べた:P

さて,このコンフィグレーションファイルを使ってボリュームを作る。
 # vinum
 > create -f backuphome
 > quit
以上。

これで/dev/vinum/backuphomeというでかい領域ができた。
後は通常のディスクのようにnewfsする。
 # newfs /dev/vinum/backuphome
で,fstabにでも書いてケロ。

注意。vinumドライバが起動時に実行されるように,
 echo 'start_vinum="YES"' >> /etc/rc.conf
しておくこと。

** Marvell Yukon 88E8053を使う [#p3952139]
 --- if_sk.c.orig	Thu Jan  6 17:54:47 2005
 +++ if_sk.c	Fri Jan 28 12:12:55 2005
 @@ -157,6 +157,11 @@
  	},
  	{
  		VENDORID_MARVELL,
 +		DEVICEID_MARVELL_88E8053,
 +		"Marvell Yukon 88E8053 Gigabit Ethernet"
 +	},
 +	{
 +		VENDORID_MARVELL,
  		DEVICEID_BELKIN_5005,
  		"Belkin F5D5005 Gigabit Ethernet"
  	},
 --- if_skreg.h.orig	Thu Jan  6 17:54:47 2005
 +++ if_skreg.h	Fri Jan 28 12:12:45 2005
 @@ -65,6 +65,12 @@
  #define VENDORID_MARVELL	0x11AB
  
  /*
 + * Marvell Yukon 88E8053 PCI Express Gigabit Ethernet Controller
 + */
 +
 +#define DEVICEID_MARVELL_88E8053	0x4362
 +
 +/*
   * SK-NET gigabit ethernet device IDs
   */
  #define DEVICEID_SK_V1		0x4300

- ネタ元
-- http://docs.freebsd.org/cgi/getmsg.cgi?fetch=277939+0+archive/2005/freebsd-net/20050130.freebsd-net 
** Windowsの共有フォルダをマウント [#o392c6b9]
mount_smbfs -E euc-jp-MS:cp932 -I hoge //tacoma@hoge/data /mnt

** MatrixRaid [#u6c3d112]
- http://www.on-sky.net/hs/index.cgi?date=200711

** Soft Update Journalingを有効にする [#h23a34e4]
 tunefs -j enable /dev/ada0s1d
- http://d.hatena.ne.jp/pebblescabin/20111009/1318107969

** パッケージ依存関係再構築 [#j587363b]
 pkgdb -L
- http://d.hatena.ne.jp/akira_you/20110907/p1

** GtkクリップボードとXクリップボードの同期 [#p6e89b4c]
  autocutsel

** Rsync [#e4f90efc]
-ファイル名の文字コードが、
 
 remote - EUC-JP
 local - UTF-8 
 
だとする。この場合、
 
 rsync -aruvz --iconv=utf-8,euc-jp xxx.xxx.xxx.xxx:/home /backup/home

とする。(local,remote の順番なことに注意)

-http://clicklog.org/article/128714978.html
-http://blogs.oracle.com/thaniwa/entry/ja_rsync_file_move

** ファイルだけディレクトリだけパーミッション変更 [#v9769191]
 find ./backup -type d -print0 | xargs -0 chmod 750
 find ./backup -type f -print0 | xargs -0 chmod 640

**minidlna [#w5f3cbb0]
-文字化け対策
 /usr/local/share/locale/ja/LC_MESSAGES

**certbotでLet's Encrypt [#r85f900c]
-https://nofu.jp/wiki/freebsd/apache/freebsd_13_apache24_certbot
-https://intaa.net/archives/52482

** その他 [#ab18c63a]
-chown -h hoge:hoge pon でシンボリックリンクの所有者変更
-cp -d hoge でシンボリックリンクをシンボリックリンクのままコピー
- vmstat -i でirqとか表示
- カーネル構築のマニュアル
-- /usr/src/sys/conf/
- FD_SETSIZE
-- /sys/sys/select.h
-lsのタイムスタンプフォーマット
--ls -l --time-style=full-iso

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS