freebsd 基本使用

1、進入單用戶模式
BOOT: /kernel -s
就進了單用戶了, 
然後/sbin/mount -rw /把/設置成可寫
然後 vipw把root口令置空 
2、開機自動fsck硬盤
fsck_y_enable="YES" 
3、FreeBSD彈出光驅
cdcontol->Eject
4、OpenBSD彈出光驅
eject /dev/rcd0c 
5、BSD下增加帳號
pw useradd hanyang -g wheel -s /usr/local/bin/bash 
6、觀察網絡流量
systat -if 1 
7、添加IP地址和網關
vi /etc/rc.conf
ifconfig_bge0="inet 61.135.152.35 netmask 255.255.255.0"
ifconfig_bge1="inet 172.16.152.35 netmask 255.255.255.0"
defaultrouter="61.135.152.1" /sbin/ifconfig bce0 inet 192.168.0.1 netmask 255.255.255.255 
8、手動添加默認網關 
route add default new_gateway
route change default new_gateway 
9、freebsd中設置時區命令爲:
tzsetup
 10、查看打開的端口
bsd下:sockstat -l
linux:netstat -anp|grep LISTEN 
11、bsd 新內核無法啓動
你可以在系統啓動進行10計數的時候按Enter以外的任何鍵, 接着鍵入unload命令,再鍵入boot kernel.old
或是執行/boot/loader 
12、查看硬件信息
cat /var/run/dmesg.boot |grep CPU
sysctl hw.model 
13、關掉NFS服務
vi /etc/rc.conf
增加
nfs_server_enable="NO" 
nfs_client_enable="NO" 
portmap_enable="NO" 


################################################
######         BSD 的防火牆ipfw語法        ######
################################################
ipfw show
ipfw add deny/allow all from 10.210.136.47 to any
ipfw -f flush 
ipfw delete 表號 #Add by jinshuai to forbid IP 2006-01-26
# # # # # /data1/apache2/logs/forbid_bsd.pl
1 2 # # # /sbin/ipfw -f flush
1 8 # # # /sbin/ipfw -f flush 
################################################
######     FreeBSD上使用磁盤命令行工具    #######
################################################
播客squid服務器( DELL 1950,4塊73G 2.5寸SAS盤,每塊盤單獨做raid0)bsd系統下更換硬盤步驟:
一、確認現場準備工作已經完成,可以隨時更換故障,然後通知服務器所屬負責人,確認服務器可以關機後,就遠程關機,然後通知現場更換硬盤
二、等現場更換好硬盤,並做完成riad後,執行下面操作
1、#初始化新磁盤mfid3是指id=3的硬盤,可以根據實際情況做相應調整
   dd if=/dev/zero of=/dev/mfid3 bs=1k count=1
   fdisk -BI mfid3
2、#加上標籤
   disklabel -B -w -r mfid3s1 auto
3、# 現在編輯您剛纔創建的磁盤分區
   disklabel -e mfid3s1
   刪除這一行:
   a: 142078781       16    unused        0     0
   然後在文件最下面添加下面這行:
   d: 142078797        0    4.2BSD     2048 16384 28552
4、創建文件系統
   newfs /dev/mfid3s1d
5、修改fstab,mount新加的硬盤
   vi /etc/fstab
   /dev/mfid3s1d           /data3          ufs     rw              2       2
6、掛載硬盤
   mount -a ################################################
######   內核可使用的內存不足引起的自動重啓 ######
################################################
設置方法是減少接收和發送緩衝區的內存的大小,需要做如下設置
vi /etc/sysctl.conf
net.inet.tcp.msl=2000
net.inet.tcp.sendspace=32768
net.inet.tcp.recvspace=8192
net.inet.tcp.recvbuf_max=32768
net.inet.tcp.sendbuf_max=131072 修改完後手工執行
sysctl net.inet.tcp.msl=2000
sysctl net.inet.tcp.sendspace=32768
sysctl net.inet.tcp.recvspace=8192
sysctl net.inet.tcp.recvbuf_max=32768
sysctl net.inet.tcp.sendbuf_max=131072 vi /boot/loader.conf   (這兩個選項有可能已經設置
kern.ipc.nmbclusters=0
vm.kmem_size_scale="2"
net.inet.tcp.sendspace="16384"
net.inet.tcp.recvspace="8192"
net.inet.tcp.sendbuf_max="131072" 刪除loader.conf與sysctl.conf重複的行 
################################################
######             添加ftp賬號            ######
################################################
which proftpd
修改proftpd.conf添加賬號
查看21端口是不是inetd啓動的
sockstat -l
vi /etc/inetd.conf
重啓inetd服務
killall -HUP inetd ################################################
######          BSD下關閉sendmail        ###### 
################################################
sh /etc/rc.sendmail stop
killall -9 sendmail
chmod 0 /usr/libexec/sendmail/sendmail
mv /etc/rc.sendmail /etc/rc.sendmail.old vi /etc/rc.conf
sendmail_enable="NONE"
sendmail_submit_enable="NONE"
sendmail_outbound_enable="NONE" ################################################
######            BSD安裝qmail            ######
################################################
mkdir /var/qmail
mkdir /var/qmail/alias pw groupadd nofiles
pw groupadd qmail
pw useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
pw useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
pw useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
pw useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
pw useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
pw useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
pw useradd qmails -g qmail -d /var/qmail -s /sbin/nologin pw useradd admin -g wheel
cd /home/hanyang
tar xvfz ./qmail-1.03.tar.gz
patch -d ./qmail-1.03 < qmail-103.patch 
patch -d ./qmail-1.03 < qmail-maildir++.patch
tar zxvf qmail-smtpd-auth-0.31.tar.gz
cd qmail-smtpd-auth-0.31
cp base# README.auth ../qmail-1.03
patch -d ../qmail-1.03 < auth.patch 
################################################
bsd下修改配置文件支持串口爲 115200輸出
################################################

echo '-Dh -S115200' >/boot.config 
echo 'kern.ipc.nmbclusters=0'>>/boot/loader.conf
echo 'comconsole_speed="115200"'>>/boot/loader.conf
echo 'console="comconsole"'>>/boot/loader.conf
echo 'boot_multicons="YES"'>>/boot/loader.conf
echo 'boot_serial="YES"'>>/boot/loader.conf
echo 'vm.kmem_size_scale="2"'>>/boot/loader.conf
echo 'net.inet.tcp.sendspace="16384"'>>/boot/loader.conf
echo 'net.inet.tcp.recvspace="8192"'>>/boot/loader.conf
echo 'net.inet.tcp.sendbuf_max="131072"'>>/boot/loader.conf vi /etc/ttys
註釋掉ttyd0 /ttyd1,增加:
ttyd0 "/usr/libexec/getty std.115200" vt100 on secure
ttyd1 "/usr/libexec/getty std.115200" vt100 on secure 
################################################
FreeBSD下的系統監控工具
################################################
1 使用SNP Watch監控用戶 
參考How to Monitor Users with SNP Watch.
watch命令使用snp設備來監視某個tty的數據的輸入輸出, 因此首先要保證內核調入snp模塊, 所以, 在內核配置中加入
pseudo-device       snp 4 
watch常用使用方式如下
監視用戶的tty, 不需要使用任何參數, 只需要指定tty
# who
jerry            ttyv4     5 18 13:40 
# watch ttyv4   
監視並控制用戶的tty, 需要加上參數`-W', 並指定tty
# who
jerry            ttyv4     5 18 13:40 
# watch -W ttyv4 
watch的快捷鍵如下
CTRL+G = 退出
CTRL+W = 清屏
CTRL+X = 選擇需要監視tty
   
2 使用smartmontools監視硬盤狀態
SMART (SFF-8035i)是硬盤生產商們建立的一個工業標準, SFF-8035i工業標準經過ATA-3, ATA-4, 到了ATA-5, 加入了一個錯誤信息日誌(error log)和一系列硬盤自測SMART命令. 這個標準就是在硬盤上保存一些跟執行情況, 可靠程度, 讀找錯誤率等屬性的數據, 所有屬性都有一個1字節(大小範圍 1-253)的標準化值, 還包含另一個1字節的關鍵階段值, 如果屬性中某個數據接近小於或達到關鍵階段值,那麼硬盤就很可能會在不久出現嚴重的讀寫問題, 至少也是超過它的設計使用極限了, 這時應該做系統完全備份了.
SMART適用於IDE和SCSI硬盤, 如果硬盤支持SMART標準, 就可以使用smartmontools來 監視硬盤的狀態, smartmontools的安裝如下
# cd /usr/ports/sysutils/smartmontools
# make all install clean
# echo 'smartd_enable="YES"' >> /etc/rc.conf
# echo '/dev/sda1 -H -m mymailbox@mymachine' > /usr/local/etc/smartd.conf
# /usr/local/etc/rc.d/smartd.sh start
上面設置smartd在發現錯誤後發送郵件通知, 此外還可以根據需要定期測試硬盤, 查看其是否有錯誤, 
具體設置可以參見/usr/local/etc/smartd.conf.sample
還可以通過smartctl來查看和測試硬盤, 常用命令如下:
查看硬盤是否支持SMART標準
# smartctl -i /dev/sda1 
查看硬盤的健康狀況
# smartctl -H /dev/sda1 
查看硬盤錯誤日誌
# smartctl -l error /dev/sda1   
進行硬盤自檢
# smartctl -l selftest /dev/sda1 
終止硬盤自檢
# smartctl -X /dev/sda1   ################################################
######            BSD的虛擬磁盤技術        ######
################################################
去掉開機自動加載虛擬磁盤並mount到/var,網上有資料說:
It seems that you have set "varmfs=YES" in you /etc/rc.conf or /var is not popular writable
然後按照下面的操作就可解決
vi /etc/rc.conf
varmfs="NO" 
populate_var="NO" # mdconfig -a -t swap -s 30M 
這就會在虛擬內存中申請30M空間,並創建虛擬磁盤,使用的虛擬設備爲第 一個md設備md0,如果系統中的md0設備已經被佔用,那麼mdconfig就依序向後尋找下一個空餘的md設備,並創建它。由於mdconfig能自 動創建新的設備,這樣就解決了在內核配置文件指定僞設備數量的問題。 
也可以使用-u指定使用的md僞設備的序號,例如下列命令將創建md10,並使用它作爲虛擬磁盤設備:
# mdconfig -a -t swap -s 30M -u 10 
上面的命令都是使用虛擬內存空間作爲數據存儲空間,是由swap參數指定的。同樣,使用mdconfig也能從內核空間中創建虛擬磁盤,此時-t指定的存儲類型參數爲malloc,這告訴內核使用內核的MALLOC方法申請內存。 
# mdconfig -a -t malloc -s 30M 
這種方法就相當於老的md設備的申請內存的方法,但顯然更爲靈活,因爲可以在具體使用過程中申請內存和設備,這是因爲FreeBSD 5.0的內核允許更靈活的使用MALLOC內存申請方式。當然,一般還是主要使用swap申請虛擬空間的內存。 
由於mdconfig和僞設備md將完全代替vnconfig和僞設備vn,那麼使用mdconfig也能創建使用文件作爲虛擬磁盤的與vn兼容的方式,這需要指定存儲類型參數爲vnode,並使用 -f指定具體的存儲數據的物理文件名字。 
# mdconfig -a -t vnode -f imagefile -s 30M 
在使用mdconfig配置好虛擬磁盤之後,就可以使用disklabel、newfs、mount等管理虛擬磁盤。而在不需要這些虛擬磁盤的時候,就可以卸載相應的文件系統,並使用mdconfig刪除指定的磁盤等。 
# mdconfig -l 
使用參數”-l”,則mdconfig列出系統中所有的虛擬磁盤設備。 
# mdconfig -d -u 0 
爲了刪除指定了磁盤,需要使用”-d"參數,而使用"-u 0”則指定刪除序號爲0的虛擬磁盤,即md0。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章