トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

DailyTips

/hoge/backup のファイルで7日以上更新の無いものを削除

# find /hoge/backup -mtime +7 -a -type f -delete

rootで実行する時は作業ディレクトリに注意。

rsyncを使ってリモートにバックアップ(ミラー)

# rsync -avz --delete -e ssh /home/* root@192.168.1.1:/home/

ローカルの/home/以下のディレクトリを192.168.1.1の/home/以下にミラー

sendmailを起動しないとcronからのメールでスプールが溢れる

periodicのレポートをファイル出力にする。/etc/periodic.conf というファイルを作成し、

daily_output="/var/log/daily.log"		# user or /file
weekly_output="/var/log/weekly.log"
monthly_output="/var/log/monthly.log"

と記述する。

ZFS root なマシンで、freebsd-update

OSのバージョンを上げると、ZFSのバージョンも変わることがある。

# zpool status -v

でそれっぽいコメントが帰ってくれば、更新の必要あり。

# zpool upgrade zroot

でアップグレードできるが、ブートコードは手動で更新する必要あり

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

これを忘れないように! (注意!!! 下記参照のこと!!)

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada3

freebsd-bootのあるディスクは全て更新したほうがいいか?

上記を実施したら、HP ProLiant DL160 Gen9 の UEFIモードでブートできなくなった。

起動時にF9->システム構成->RSBUS でレガシーBIOSモードに切り替え (UEFIのブートオプション追加ではできなかった。)

UEFIブートはややこしい

(追記) UEFIの場合は上記ではダメで、

# gpart bootcode -p /boot/boot1.efifat -i 1 ada0
# gpart bootcode -p /boot/boot1.efifat -i 1 ada1
# gpart bootcode -p /boot/boot1.efifat -i 1 ada2
# gpart bootcode -p /boot/boot1.efifat -i 1 ada3

としなければならなかった。(下記参照)

HP ProLiant ではUEFIブート領域を登録する必要があり、

起動時にF9->システム構成->RSBUS->ブートオプションでアドバンスUEFIブートメンテナンスに入り、

ブートオプション追加でOSを入れたHDD/SSDを選び、

<EFI> -> <BOOT>- > BOOTX64.EFI をブートコードとして登録、起動名を「FreeBSD-*.*R」などと入力し、ブートオプションに戻る。

UEFIブート順序で「FreeBSD-*.*R」を選択、「+」キーで起動エントリの一番上へ移動、 最後にF10で保存する。

UEFIブートについて

UEFIブートは、ディスクに800KB以上のMS-DOS領域(ボリューム名 efi)を探し、その \efi\boot ディレクトリにある BOOTX64.EFI をブートコードとして読み込む仕組み。efi領域はディスクの先頭でなくても問題ないようだ。

FreeBSDの場合、

# gpart add -a 4k -s 800K -t efi adaX

(X: ディスク番号)で efi領域を作成し、

# gpart show

で、efi領域のパーティション番号を確認し、

# gpart bootcode -p /boot/boot1.efifat -i Y adaX

(Y: efi領域のパーティション番号(GPT))でブートコード書き込みできる。