主頁 > 知識(shí)庫 > FreeBSD學(xué)習(xí)筆記

FreeBSD學(xué)習(xí)筆記

熱門標(biāo)簽:集時(shí)通訊 呼叫外包 檢查注冊(cè)表項(xiàng) 免費(fèi)建站 蘋果 美團(tuán) 呼叫中心解決方案 IT外包
1、進(jìn)入單用戶模式
BOOT: /kernel -s
就進(jìn)了單用戶了, 然后/sbin/mount -rw /把/設(shè)置成可寫
然后 vipw把root口令置空 2、開機(jī)自動(dòng)fsck硬盤
fsck_y_enable="YES" 3、FreeBSD彈出光驅(qū)
cdcontol->Eject
4、OpenBSD彈出光驅(qū)
eject /dev/rcd0c 5、BSD下增加帳號(hào)
pw useradd hanyang -g wheel -s /usr/local/bin/bash 6、觀察網(wǎng)絡(luò)流量
systat -if 1 7、添加IP地址和網(wǎng)關(guān)
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、手動(dòng)添加默認(rèn)網(wǎng)關(guān)
route add default new_gateway
route change default new_gateway 9、freebsd中設(shè)置時(shí)區(qū)命令為:
tzsetup 10、查看打開的端口
bsd下:sockstat -l
linux:netstat -anp|grep LISTEN 11、bsd 新內(nèi)核無法啟動(dòng)
你可以在系統(tǒng)啟動(dòng)進(jìn)行10計(jì)數(shù)的時(shí)候按Enter以外的任何鍵, 接著鍵入unload命令,再鍵入boot kernel.old
或是執(zhí)行/boot/loader 12、查看硬件信息
cat /var/run/dmesg.boot |grep CPU
sysctl hw.model 13、關(guān)掉NFS服務(wù)
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 表號(hào) #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服務(wù)器( DELL 1950,4塊73G 2.5寸SAS盤,每塊盤單獨(dú)做raid0)bsd系統(tǒng)下更換硬盤步驟:
一、確認(rèn)現(xiàn)場準(zhǔn)備工作已經(jīng)完成,可以隨時(shí)更換故障,然后通知服務(wù)器所屬負(fù)責(zé)人,確認(rèn)服務(wù)器可以關(guān)機(jī)后,就遠(yuǎn)程關(guān)機(jī),然后通知現(xiàn)場更換硬盤
二、等現(xiàn)場更換好硬盤,并做完成riad后,執(zhí)行下面操作:
1、#初始化新磁盤mfid3是指id=3的硬盤,可以根據(jù)實(shí)際情況做相應(yīng)調(diào)整
   dd if=/dev/zero of=/dev/mfid3 bs=1k count=1
   fdisk -BI mfid3
2、#加上標(biāo)簽
   disklabel -B -w -r mfid3s1 auto
3、# 現(xiàn)在編輯您剛才創(chuàng)建的磁盤分區(qū)
   disklabel -e mfid3s1
   刪除這一行:
   a: 142078781       16    unused        0     0
   然后在文件最下面添加下面這行:
   d: 142078797        0    4.2BSD     2048 16384 28552
4、創(chuàng)建文件系統(tǒng)
   newfs /dev/mfid3s1d
5、修改fstab,mount新加的硬盤
   vi /etc/fstab
   /dev/mfid3s1d           /data3          ufs     rw              2       2
6、掛載硬盤
   mount -a ################################################
######   內(nèi)核可使用的內(nèi)存不足引起的自動(dòng)重啟 ######
################################################
設(shè)置方法是減少接收和發(fā)送緩沖區(qū)的內(nèi)存的大小,需要做如下設(shè)置:
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 修改完后手工執(zhí)行
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   (這兩個(gè)選項(xiàng)有可能已經(jīng)設(shè)置)
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重復(fù)的行
################################################
######             添加ftp賬號(hào)            ######
################################################
which proftpd
修改proftpd.conf添加賬號(hào)
查看21端口是不是inetd啟動(dòng)的
sockstat -l
vi /etc/inetd.conf
重啟inetd服務(wù)
killall -HUP inetd ################################################
######          BSD下關(guān)閉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下的系統(tǒng)監(jiān)控工具
################################################
1 使用SNP Watch監(jiān)控用戶
參考How to Monitor Users with SNP Watch.
watch命令使用snp設(shè)備來監(jiān)視某個(gè)tty的數(shù)據(jù)的輸入輸出, 因此首先要保證內(nèi)核調(diào)入snp模塊, 所以, 在內(nèi)核配置中加入
pseudo-device       snp 4
watch常用使用方式如下
監(jiān)視用戶的tty, 不需要使用任何參數(shù), 只需要指定tty
# who
jerry            ttyv4     5 18 13:40
# watch ttyv4  
監(jiān)視并控制用戶的tty, 需要加上參數(shù)`-W', 并指定tty
# who
jerry            ttyv4     5 18 13:40
# watch -W ttyv4
watch的快捷鍵如下
CTRL+G = 退出
CTRL+W = 清屏
CTRL+X = 選擇需要監(jiān)視tty
  
2 使用smartmontools監(jiān)視硬盤狀態(tài)
SMART (SFF-8035i)是硬盤生產(chǎn)商們建立的一個(gè)工業(yè)標(biāo)準(zhǔn), SFF-8035i工業(yè)標(biāo)準(zhǔn)經(jīng)過ATA-3, ATA-4, 到了ATA-5, 加入了一個(gè)錯(cuò)誤信息日志(error log)和一系列硬盤自測(cè)SMART命令. 這個(gè)標(biāo)準(zhǔn)就是在硬盤上保存一些跟執(zhí)行情況, 可靠程度, 讀找錯(cuò)誤率等屬性的數(shù)據(jù), 所有屬性都有一個(gè)1字節(jié)(大小范圍 1-253)的標(biāo)準(zhǔn)化值, 還包含另一個(gè)1字節(jié)的關(guān)鍵階段值, 如果屬性中某個(gè)數(shù)據(jù)接近小于或達(dá)到關(guān)鍵階段值,那么硬盤就很可能會(huì)在不久出現(xiàn)嚴(yán)重的讀寫問題, 至少也是超過它的設(shè)計(jì)使用極限了, 這時(shí)應(yīng)該做系統(tǒng)完全備份了.
SMART適用于IDE和SCSI硬盤, 如果硬盤支持SMART標(biāo)準(zhǔn), 就可以使用smartmontools來 監(jiān)視硬盤的狀態(tài), 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
上面設(shè)置smartd在發(fā)現(xiàn)錯(cuò)誤后發(fā)送郵件通知, 此外還可以根據(jù)需要定期測(cè)試硬盤, 查看其是否有錯(cuò)誤,
具體設(shè)置可以參見/usr/local/etc/smartd.conf.sample
還可以通過smartctl來查看和測(cè)試硬盤, 常用命令如下:
查看硬盤是否支持SMART標(biāo)準(zhǔn)
# smartctl -i /dev/sda1
查看硬盤的健康狀況
# smartctl -H /dev/sda1
查看硬盤錯(cuò)誤日志
# smartctl -l error /dev/sda1  
進(jìn)行硬盤自檢
# smartctl -l selftest /dev/sda1
終止硬盤自檢
# smartctl -X /dev/sda1   ################################################
######            BSD的虛擬磁盤技術(shù)        ######
################################################
去掉開機(jī)自動(dòng)加載虛擬磁盤并mount到/var,網(wǎng)上有資料說:
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
這就會(huì)在虛擬內(nèi)存中申請(qǐng)30M空間,并創(chuàng)建虛擬磁盤,使用的虛擬設(shè)備為第 一個(gè)md設(shè)備md0,如果系統(tǒng)中的md0設(shè)備已經(jīng)被占用,那么mdconfig就依序向后尋找下一個(gè)空余的md設(shè)備,并創(chuàng)建它。由于mdconfig能自 動(dòng)創(chuàng)建新的設(shè)備,這樣就解決了在內(nèi)核配置文件指定偽設(shè)備數(shù)量的問題。
也可以使用-u指定使用的md偽設(shè)備的序號(hào),例如下列命令將創(chuàng)建md10,并使用它作為虛擬磁盤設(shè)備:
# mdconfig -a -t swap -s 30M -u 10
上面的命令都是使用虛擬內(nèi)存空間作為數(shù)據(jù)存儲(chǔ)空間,是由swap參數(shù)指定的。同樣,使用mdconfig也能從內(nèi)核空間中創(chuàng)建虛擬磁盤,此時(shí)-t指定的存儲(chǔ)類型參數(shù)為malloc,這告訴內(nèi)核使用內(nèi)核的MALLOC方法申請(qǐng)內(nèi)存。
# mdconfig -a -t malloc -s 30M
這種方法就相當(dāng)于老的md設(shè)備的申請(qǐng)內(nèi)存的方法,但顯然更為靈活,因?yàn)榭梢栽诰唧w使用過程中申請(qǐng)內(nèi)存和設(shè)備,這是因?yàn)镕reeBSD 5.0的內(nèi)核允許更靈活的使用MALLOC內(nèi)存申請(qǐng)方式。當(dāng)然,一般還是主要使用swap申請(qǐng)?zhí)摂M空間的內(nèi)存。
由于mdconfig和偽設(shè)備md將完全代替vnconfig和偽設(shè)備vn,那么使用mdconfig也能創(chuàng)建使用文件作為虛擬磁盤的與vn兼容的方式,這需要指定存儲(chǔ)類型參數(shù)為vnode,并使用 -f指定具體的存儲(chǔ)數(shù)據(jù)的物理文件名字。
# mdconfig -a -t vnode -f imagefile -s 30M
在使用mdconfig配置好虛擬磁盤之后,就可以使用disklabel、newfs、mount等管理虛擬磁盤。而在不需要這些虛擬磁盤的時(shí)候,就可以卸載相應(yīng)的文件系統(tǒng),并使用mdconfig刪除指定的磁盤等。
# mdconfig -l
使用參數(shù)”-l”,則mdconfig列出系統(tǒng)中所有的虛擬磁盤設(shè)備。
# mdconfig -d -u 0
為了刪除指定了磁盤,需要使用”-d"參數(shù),而使用"-u 0”則指定刪除序號(hào)為0的虛擬磁盤,即md0。

標(biāo)簽:邢臺(tái) 泰州 韶關(guān) 營口 信陽 安康 眉山 宿遷

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《FreeBSD學(xué)習(xí)筆記》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266