====== 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 永続化 => /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 ===== ユーザ追加でエラー ===== 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