目次
Tips
ntpd.leap-seconds.listの有効期限更新
ntpd[####]: leapsecond file ('/var/db/ntpd.leap-seconds.list'): will expire in less than 26 days
とか
ntpd[####]: leapsecond file ('/var/db/ntpd.leap-seconds.list'): expired less than 26 days ago
と通知されるので、さっさと更新
削除1)
# mv /var/db/ntpd.leap-seconds.list /var/db/ntpd.leap-seconds.list.old
更新
# service ntpd fetch
確認
# ls -la /var/db/ntpd.leap-seconds.list -rw-r--r-- 1 root wheel 10664 Sep 12 04:35 /var/db/ntpd.leap-seconds.list
なお、
Certificate verification failed .........
のようなエラーが出る場合はroot証明書の更新が必要
# pkg install ca_root_nss
Resource deadlock avoided
jailでnullfsマウントで以下のようなエラーが発生
Starting jails:mount_nullfs: /jail/xxxx/usr/ports: Resource deadlock avoided
不正なentryが残っていると設定変更してもerrorが出続けるので以下のようにunmountする
umount /jail/xxxx/usr/ports
CMOSクロック
/etc/wall_cmos_clock
このファイルがあると、CMOSクロックがローカル時間に設定されていることを示し、反対にこれが存在しないと、 UTC の CMOS クロックに設定されています。
Treeコマンドもどき
pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'
ルーティングテーブルの表示
ゲートウェイ(gw)が不明な時など
# netstat -nr
ルーティング設定
# route add -net 10.2.251.0/24 172.16.1.1
default gateway の指定 (192.168.11.1 を指定します)
# route add default 192.168.11.1
defalut gateway の削除
# route delete default
永続化 ⇒ /etc/rc.conf
static_routes="net01" route_net01="-net 10.2.251.0/24 172.16.1.1"
ホスト名の変更
/etc/rc.conf に記述します
以下は記入例。次回起動時から有効になります。
hostname="hoge.example.com"
なお、稼働中のままホスト名を変更するには hostnameコマンドを使用します。
# hostname hoge.example.com
IPの設定
/etc/rc.conf に記述します
ifconfig_re0="inet 192.168.0.1/24" defaultrouter="xxx.yyy.zzz.###"
コマンドラインから有効化・無効化
# service netif [start|stop|restart] igb0
- NIC名を省略すると全部が対象
- 設定を書き換えた時にNIC単位で再起動できる
NICの watchdog timeout
大量のトラフィックを流すとこんな感じでネットワークが死ぬことがあります。
msk0: watchdog timeout msk0: link state changed to DOWN msk0: link state changed to UP msk0: watchdog timeout (missed Tx interrupts) -- recovering
この例ではMarvellですがre0(realtek:蟹)とかIntelでも発生します。
googleでお伺いを立ててみましたが、どうもずいぶん前から有る問題のようで、数年前から同じような質問が出ています。
で、どうも根深すぎてFixもお手上げのような雰囲気なのが…orz
で、対症療法ですが、以下の設定でとりあえずは抑えられます。
# cat /boot/loader.conf hw.msk.msi_disable="1"
FreeBSD10でもHP G6 の内蔵 NIC等、同様のケースがあるようです
bge0: watchdog timeout -- resetting bge0: link state changed to DOWN bge0: link state changed to UP
# cat /boot/loader.conf hw.bge.allow_asf="0"
グループ追加
# pw add group -g 10001 -n newgroup
ユーザ追加
# useradd or # pw add user -n newuser -u 10001 -g newgroup -m
- -w random: ランダムパスワード
ユーザ追加でエラー
pw adduser が中途半端に失敗したらしく、以下のようなエラーで追加できなくなる。2)3)4)
pw: user '[newuser]' disappeared during update
以下のコマンドで再作成する5)
/etc/pwd.db、/etc/spwd.db
# pwd_mkdb /etc/master.passwd
/etc/passwd
# pwd_mkdb -p /etc/master.passwd
sudo
# pkg install sudo # visudo
jailなどで消せないファイルを消す
jail環境を丸ごと消したいときに以下の様に消せないものがある
# rm -rf jail-01b/ rm: jail-01b/libexec/ld-elf32.so.1: Operation not permitted rm: jail-01b/libexec/ld-elf.so.1: Operation not permitted ......
ls -loで見ると
# ls -lo jail01/usr/bin/chpass -r-sr-xr-x 6 root wheel schg ......
この*schg*というフラグが付いていることが原因
schgフラグを取り除く
chflags noschg `find jail-01b/`
これで、消せるはず
圧縮されたLOG閲覧
# bzip2 -dc ...log.#.bz2 or # zcat ...log.#.gz or # gzip -dc ...log.#.gz | less
ファイルまたはディレクトリのみへの chmod コマンド
ファイルのみ
find . -type f -print | xargs chmod 644
ディレクトリのみ
find . -type d -print | xargs chmod 755
n日以上前に作成されたファイルやディレクトリの削除
30日以上前のファイル6)
$ find /path/to/ -type f -mtime +30
-execでコマンド指定できるので、削除は
$ find /path/to/ -type f -mtime +30 -exec rm -f {} \;
ディレクトリなら
$ find /path/to/ -type d -mtime +30 -exec rm -rf {} \;
tmpwatchコマンドを使う
起動時の待ち時間設定
起動時、通常10秒の選択を待つ時間がある
これを変更する場合7)
# cat /boot/loader.conf autoboot_delay="3"
その他の設定項目については、
/boot/defaults/loader.conf
などを参照
cron でのPATH設定
以下のようにcrontabの先頭に追加する
# crontab -l PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin #minute hour mday month wday command 0 4 * * 1-6 /path/to/daily.script
Ruby on Rails のrakeなどは先頭8)で
#!/usr/bin/env ruby19
と記述されているので、cronで呼び出すと
env: ruby19: No such file or directory
と、エラーになってしまう
参考
disk追加1
パーティションテーブル作成
# gpart create -s GPT da#
gpart: geom 'da#': File exists
等と出る場合は以下で既存パーティション削除
# gpart destroy -F da#
確認
# gpart show da# => 40 234441568 da# GPT (112G) 40 234441568 - free - (112G)
パーティション作成
UFS用のパーティションを作成9)
# gpart add -t freebsd-ufs -a 1M da# da#p1 added
確認
# gpart show da# => 40 234441568 da# GPT (112G) 40 2008 - free - (1.0M) 2048 234438656 1 freebsd-ufs (112G) 234440704 904 - free - (452K)
ファイルシステム作成
# newfs -U /dev/da#p1
マウント
手動
# mkdir /mnt/hdd # mount /dev/da#p1 /mnt/hdd
確認
# df
/etc/fstab
以下のように追加
# Device Mountpoint FStype Options Dump Pass# /dev/da#p1 /mnt/hdd ufs rw 0 2
- Dump: ファイルシステムをdumpする必要があるか否かの指定
- 「0」または無記述の場合はdump不要のファイルシステムであると見なされる。
- Pass: システム起動時にfsckチェックを行うか否かの指定。
- 「0」の場合はチェックを行わない。
- ルートファイルシステムでチェックを行う場合は「1」
- ルートファイルシステム以外でチェックを行う場合は「2」を指定
マウント確認
# mount -a
UUIDでマウント
gpart list
表示からrawuuidを見て
1. Name: da#p1 Mediasize: 120032591872 (112G) Sectorsize: 512 Stripesize: 4096 Stripeoffset: 0 <snip> rawuuid: 40aaaaaa-bbbb-cccc-dddd-001122334455
/etc/fstabに追記
/dev/gptid/a5fed6e5-f0cf-11ea-a70d-a0369f210774 /mnt/hdd ufs rw 2 2
disk追加2
# sade # newfs /dev/ada1p1 # mount /dev/ada1p1 /mnt
disk追加3 zfs
参考
メモリ容量
hw.physmemが物理メモリサイズ
% sysctl hw | grep mem hw.physmem: 1035907072 hw.usermem: 839008256 hw.realmem: 1069547520 hw.pci.host_mem_start: 2147483648 hw.cbb.start_memory: 2281701376
イメージをコピーしてVMを作成するとき
seedとして使う値が元のimageと同じなので更新すること
service hostid reset