====== 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
と通知されるので、さっさと更新
削除((ここでは念のためmvしてる))
# 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"
[[http://dev.n0ll.com/tag/hw-bge-allow_asf/|FreeBSD / Nas4Free / Broadcom (bge) driver issues]]
===== グループ追加 =====
# pw add group -g 10001 -n newgroup
===== ユーザ追加 =====
# useradd
or
# pw add user -n newuser -u 10001 -g newgroup -m
* -w random: ランダムパスワード
===== ユーザ追加でエラー =====
pw adduser が中途半端に失敗したらしく、以下のようなエラーで追加できなくなる。((削除もできない))((11.4-RELEASE-p7))((同じ事象がgitのinstallでも発生 @13.0p1))
pw: user '[newuser]' disappeared during update
以下のコマンドで再作成する((/etc/passwd、/etc/pwd.db、/etc/spwd.db は、/etc/master.passwd から作成可能))
/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日以上前のファイル((-mtimeをかえれば分単位もOK))
$ 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秒の選択を待つ時間がある\\
これを変更する場合(( 例の場合3秒))
# 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などは先頭((シェバンとかシバンとか言われてる))で
#!/usr/bin/env ruby19
と記述されているので、cronで呼び出すと
env: ruby19: No such file or directory
と、エラーになってしまう
==== 参考 ====
[[http://sfujiwara.hatenablog.com/entry/20120613/1339547638|cron で > /dev/null して椅子を投げられないための3つの方法]]
===== 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用のパーティションを作成((1M境界(-a 1M)を設定しておかないと性能が出ないらしい))
# 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
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 =====
認識してるか確認して
# sade
以下を参照してpool追加\\
[[https://wiki.rookie-inc.com/serverapps/zfs/command#disk%E3%81%AE%E8%BF%BD%E5%8A%A0pool%E3%81%AE%E4%BD%9C%E6%88%90|zfsコマンド/Diskの追加/Poolの作成]]
==== 参考 ====
http://www.freebsd.org/doc/faq/disks.html#idp67364656
===== メモリ容量 =====
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