歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

FreeBSD 6.2綜述


# cd /usr/ports/net/vnc
# make install clean
home目錄下面新建一個目錄
# mkdir .vnc
# cd .vnc
# vncserver
啟動vncserver,第一次啟動會為你的session設定密碼:
{home}/.vnc/xstartup 這個文件很重要,接下來會修改它!
# 下面的2行是vncserver第一次啟動的時候產生的,為了使用Gnome,我把它們給
# 注釋掉了
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
gnome-session & <--這個是增加的,不要忘了後面的&
exec /root/.xinitrc
(Use startkde & for KDE, gnome-session & for GNOME or fvwm2 & for FVWM2.)
GuoBiAo_CN.localdmain:1
如果要關閉vncserver
# vncserver -kill :1
開啟多個VNC Server
您可以在同一台機器上開啟復數個VNC Server,方法如下:
# vncserver :display#
display#是數字,它代表各個VNC Server的編號,可以利用它來指定開啟不同的VNC Server。若第一次開啟預設是在display 1。例如我們想開一個遠程桌面於display 2,就輸入以下指令:
# vncserver :2
(2) 關閉VNC Server
要關閉已開啟的VNC Server,可以利用-kill這個參數來完成關閉的動作。
# vncserver -kill :display#
Killing Xvnc process ID 80163
VNC Viewer
VNC也提供了vncviewer這個指令來登入遠程桌面,使用方法與vncserver類似,只是多了主機地址。
# vncviewer 140.121.xxx.ooo:display#
想要從FreeBSD連上Windows桌面,若尚未設定VNC Server,先到「Configure VNC Server」建立密碼等相關設定,再點選「Register VNC Server」在Windows中登錄一個VNC Server,然後才點選「Run VNC Server」啟動它。以後就可以在FreeBSD主機上輸入以下指令登入Windows桌面:
> vncviewer 主機地址
要特別注意的是,在Windows下開啟的VNC Server並沒有以display#做區分,僅能開啟一個VNC Server。
2007.10.10 Web服務器 apache+php+mysql+phpmyadmin+mrtg
使用wget加速port下載
# cd /usr/ports/ftp/wget/
# make install clean
FETCH_CMD=wget -c -t 1
DISABLE_SIZE=yes
優化編譯環境
MASTER_SITE_OVERRIDE=\
# cd /usr/ports/www/apache22
# make install clean
//查找
Listen 125.208.15.3:80 \\此處為您服務器的IP地址以及端口
ServerName 127.0.0.1
AddHandler cgi-scrīpt .cgi \\去掉#打開CGI腳本服務
Options Indexes FollowSymLinks \\改為Options FollowSymLinks (配置文件目錄浏覽修改)
Directorylndex index.html index.php index.cgi \\填入(index.php index.cgi)
****WARNING:MaxClients ofXXX **
# cd /usr/local/www/apache22/cgi-bin/
# mv printenv printenv.cgi
# chmod a+x printenv.cgi
# cd /usr/ports/lang/php5
# make install clean
#AddType application/x-gzip .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
/usr/local/etc/php.ini
safe_mode = Off,更改為safe_mode = On
disable_functions =phpinfo 是否關閉PHPINFO?
# cd /usr/ports/lang/php5-extensions
# make install clean
# cd /usr/ports/devel/ZendOptimizer/
# make install clean
/usr/local/etc/php.ini and add:
下最面加上:
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
# cd /usr/ports/databases/mysql51-server
# make BUILD_OPTIMIZED=yes install clean
#/usr/local/bin/mysql_install_db --user=mysql \\ 初始化數據庫
apache22_enable="YES"
mysql_enable="YES"
# cd /usr/local/etc/rc.d
# ./apache22 start;./mysql-server start
能否正常運行!?
apache http:/192.168.1.10 "It works!
mysql # mysql -u root -p
# mysql> show databases;
# cd /usr/local/www/apache22/data/
# rm index.html;vi index.php
(index.php)
phpinfo();
?>
# cd /usr/ports/databases/phpmyadmin/
# make install clean
# cd /usr/local/www/
# cp -R phpMyAdmin/ apache22/data/phpmyadmin
# rm /usr/local/www/apache22/data/phpmyadmin/config.inc.php
# cd /usr/local/www/apache22/data/phpmyadmin/libraries/
# cp config.default.php config.inc.php
config.inc.php
$cfg['blowfish_secret'] = 'XXXX' "配置文件現在需要絕密的短語密碼(blowfish_secret)"
$cfg['Servers'][$i]['auth_type'] = 'cookie';
cookie預設值不需輸入密碼即可登入 http有變動到資料庫就要輸入 利用cookie方式只要輸入一次密碼即可
$cfg['Servers'][$i]['user'] = 'xxxx';
$cfg['Servers'][$i]['password'] = 'xxxx';
# mv config.inc.php /usr/local/www/apache22/data/phpmyadmin/
"##1045 - Access denied for user 'root'@'localhost' (using password: NO) "
# cd /usr/local/www/{phpMyAdmin_HOME}
# vi config.inc.php
$cfg['Servers'][$i]['controlpass'] = '改'; 改為 (stuhack)
保存.刷新phpMyAdmin
查看當前的連接數可以用
ps aux | grep httpd | wc -l
pgrep httpd|wc -l
計算httpd占用內存的平均數
ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}'
配置虛擬主機.綁定域名
找到
Virtual hosts
# cd /usr/local/www/apache22/data/
# mkdir htdocs
mkdir htdocs
#cd htdocs
#vi index.php
輸入:
?>


DocumentRoot /usr/local/etc/www/apache22/data/htdocs
DirectoryIndex index.htm index.html index.jsp index.php
ErrorLog logs/170-error_log
CustomLog logs/170-access_log common \\del

MRTG 流量分析
# cd /usr/ports/net-mgmt/net-snmp
# make install clean
# cd /usr/local/share/snmp
rocommunity mrtg
syslocation UNIX-FreeBSD
# /usr/local/etc/rc.d/snmpd start(rcvar)
# netstat -an \\udp4 0 0 *.161 *.*
# cd /usr/ports/net-mgmt/mrtg
# make install clean
# mkdir /usr/local/www/apache22/data/mrtg \\建立MRTG設定檔
# cd /usr/local/etc/mrtg
# rehash
# cfgmaker [email protected] >mrtg.cfg
\\建立MRTG設定檔
路徑:/usr/local/etc/mrtg/
指令: cfgmaker [email protected] > mrtg -->是要輸出的檔案
GuoBiAo.UNIX-FB -->機器名
mrtg -->是要輸出的檔案
mrtg -->設備設定檔的共同的名字(community name) 預設是public
# vi mrtg.cfg
WorkDir: /usr/local/www/apache22/data/mrtg \\注意的一點前邊不要有空格
Language:GB2312
# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg \\第一次執行mrtg
# /usr/local/bin/indexmaker -output=/usr/local/www/apache22/data/mrtg/index.html -
title=mrtg /usr/local/etc/mrtg/mrtg.cfg
# crontab -e
*/5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
設定每5分鐘執行一次 使用手工運行mrtg並不能定時產生適當的統計信息,因此最好還是定時自動運行
mrtg來生 成統計信息,默認為五分鐘運行一次。
到此為止,配置完畢!
2007.09.05 控制台不夠用 (SSH) 系統多加個用戶
# pw user add user01 -m -g wheel #添加用戶user01並建立家目錄及隸屬wheel組 # passwd user01 #更改密碼
2007.07 架設pure-ftpd服務器
# cd /usr/ports/ftp/pure-ftpd/
# vi Makefile 編譯加入 --with-puredb \\支持虛擬用戶
# make install clean
# cd /usr/local/etc \\修改配置文件
PureDB # 你的用戶db的位置 使用虛擬用戶:
ChrootEveryone yes # 限制所有用戶在自己主目錄
CreateHomeDir yes # 用戶主目錄不存在的話,自動創建。
NoAnonymous yes #不許匿名登錄。你不一定會用到,但如果需要還是打開的好
AllowUserFXP yes #是否允許驗證過的用戶作FXP 傳輸
DisplayDotFiles no # 即使客戶端沒有發送 '-a' 選項也列出隱藏文件( dot-files )。
ProhibitDotFilesRead yes # 禁止讀點文件(文件名以 '.' 開頭的文件)
FortunesFile /usr/share/fortune/zippy # 定制用戶登陸後的顯示信息
SyslogFacility none # 將禁止日志
ProhibitDotFilesWrite/ProhibitDotFilesRead:這些名字為點開頭的文件通常會包含敏感信息,你可能不希望允許通過FTP讀寫它們(特別是用戶目錄與其實際用戶目錄重合的時候)
MaxClientsNumber:總並發連接數
MaxClientsPerIP:每IP並發連接數
MaxIdleTime:最長靜默時間
NoTruncate:上傳文件時,不立即覆蓋。如果你用FTP來維護網站,打開這個選項會改善維護體驗.
AntiWarez:不允許匿名上傳的文件被匿名下載(除非管理員做chown)
Umask:用戶掩碼。比較喜歡177:077或者137:037,不過默認的133:022對於多數需求來說也夠用
# 關閉反向解析,提高登陸速度
UseReverseDNS off
Identlookups off
希望在別人登錄ftp時顯示點什麼,這個可以在ftp用戶的~/.banner中設置
pure-ftpd 設定虛擬賬號方法
添加的虛擬用戶以用戶文件的形式存放於/usr/local/etc/pureftpd.passwd
##PureDB /usr/local/etc/pureftpd.pdb \\虛擬數據庫位置
# /usr/local/bin/pure-pw useradd ftpuser -u 200 -g 200 -d /home/ftpuser -m \\建立虛擬賬號
# /usr/local/bin/pure-pw passwd 用戶名 -m ## show \\查看用戶
--------------------
-u 指定 用戶的uid
-g 指定 組id
-d 指定 家目錄 usermod 指令參數
-m 立即更新puredb
-------------------
-t 400 -T 200 -y 4
針對個別ftpuser設一些權限,可用pure-pw usermod 指令參數:
-t , -T 設定上傳及下載頻寬
-q , -Q 設定上傳/下載比率
-n 設定最多檔案數
-N 限制檔案大小(MB)
-z 限定聯機時間
-r 設定允許的來源端
Ex:
限制ftpuser上傳100k 下載50K
pure-pw usermod ftpuser -t 100 -T 50
設定好後可利用指令 pure-pw show ftpuser查詢設定結果
pw userdel -n -r
-r 代表同時刪除其 home 目錄等相關資料
# sh /etc/rc \\啟動pure-ftpd服務
啟動參數 \\參示
pure-ftpd -S 21 -c 20 -C 1 -E -u 1000 -R -t:800 -a 0 &
-S 端口
-c 最大用戶數
-C 線程數
-E Anonymous logins are prohibited
-u Don't allow uids below to log in
-R Disallow users (even non-anonymous ones) usage of the CHMOD command
-t:800 下載800k,上傳無限制
-a 0 除gid 0的組,限制用戶在主目錄。
2007.06 給網吧做了個軟路由(NAT+PF) PPOE防ARP
OpenBSD Packet Filter
#PF firewall
device pf # 將PF納入核心
device pflog #啟動虛擬網絡設備來記錄流量(經由 bpf)
device pfsync #啟動虛擬網絡設備來監視網絡狀態
options PANIC_REBOOT_WAIT_TIME=0 #內核異常時立即重起
options DEVICE_POLLING #打開網卡的poling,改善網絡響應時間 不幸的是它不能和SMP連用
options HZ=2000 #man 4 polling (根據CPU頻率修改HZ值,CPU頻率1.5G以內,HZ為2000, 1.5G~2G, HZ=4000, 2G以上HZ=5000)
options IPSTEALTH #支持秘密IP轉發
options ALTQ # 將頻寬控管納入核心
options ALTQ_CBQ # 基於分類的排列 (CBQ)
options ALTQ_RED # 隨機先期檢測 (RED)
options ALTQ_RIO # 對進入和發出的包進行 RED
options ALTQ_HFSC # 帶等級的包調度器 (HFSC)
options ALTQ_PRIQ # 按優先級的排列 (PRIQ)
options ALTQ_NOPCC # 在聯編 SMP 內核時必須使用,禁止讀時鐘
sshd_enable="YES"
sendmail_enable="NONE" #關閉mail默認服務
hostname="GuoBiAo_CN" #設置主機名稱
gateway_enable="yes" #啟用為 LAN 網關
defaultrouter="219.129.112.65" #設置默認路由地址
fsck_y_enable="YES" #開啟fsck -y ,以防非正常關機
inetd_enable="YES" #設置守護進程
natd_enable="YES" #啟用nat功能
natd_interface="xl0" #設置NAT轉發的網卡標識號(外網卡)
pf_enable="YES" #啟用防火牆支持
pflog_enable="YES" #啟用日志服務
pflog_logfile="/var/log/pflog" #指定pf日志文件路徑
pf_flags="" #啟動時傳遞給 pfctl 的其它選項
pflog_flags="" #啟動時傳遞給 pflogd 的其它選項
ifconfig_xl0="inet 219.129.112.106 netmask 255.255.255.0" #外網網卡界面參數
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0" #內網網卡界面參數
--------
PING 192.168.1.1 成功連接主機,OK!

#------------------------------定義基本宏--------------------
ext_if="xl0" # 對外網卡定義為 ext_if
int_if="rl0" # 對外內卡定義為 int_if
internal_net ="192.168.1.0/24" #內部私有的IP
server_ip = "{ 192.168.1.250,192.168.1.251,192.168.1.252,192.168.1.253 }" #服務器IP
all_host= "{internal_net server_ip}" #所有IP
#--------------工作站IP並發數和游戲IP等走專用隊列-------------
#-----------------------流理整形---------------------------------------
altq on $int_if bandwidth 10Mb cbq queue { internal_out,server_ip_out } 總量為10M
queue internal_out bandwidth 6Mb cbq(default borrow)默認6M 可以向父類寬帶
queue server_ip_out bandwidth 2Mb priority 3 cbq(borrow)可以向父類寬帶,同時開啟red
#------------------------NAT/rdr規則(定義要開放的服務)
nat on $ext_if from $internal_net to any -> ($ext_if) # NAT 地址轉換處理 內網段IP轉換成外網IP
rdr on $ext_if proto tcp from any to any port 1723 ->192.168.1.250 port 1723 #向外網映射VPN 1723端口
rdr on $int_if proto tcp from any to any port 21 ->127.0.0.1 port 8021 #內網回流8021端口 讓內部可使用 ftp client 軟件連出去
rdr on $ext_if proto tcp from any to any port 8080 ->192.168.1.250 port 80 #向外網映射網站80端口
#------------------------封包過濾規則-----------------
block all #阻塞任何通信方向在任何接口通行
block return #阻塞的數據包,PF以智能回復合適回答
block in quick proto tcp all flags SF/SFRA #開啟過濾偵測掃描
block in quick proto tcp all flags FPU/SFRAUP
block in quick proto tcp all flags /SFRA
block in quick proto tcp all flags F/SFRA
block in quick proto tcp all flags U/SFRAU
pass in quick on $ext_if proto tcp from any to $server_ip port 80 flags S/SA synproxy state #web服務連由PF進行TCP代理

pass quick on $ext_if #開啟系統回路
antispoof quick for $ext_if inet #在外網接口開啟防欺騙功能
block in quick on $ext_if os NMAP #過濾NMAP
block in quick on $ext_if inet from $internal_net to any #允許本地網絡流出外網
block out quick on $ext_if inet from any to $internal_net #同時也允許返回的數據通過外網流入本地網絡
pass in quick on $ext_if proto {udp,tcp} from any to any keep state #允許TCP,UDP 協議通行
pass out quick on $ext_if proto {udp,tcp} from any to any keep state #同時TCP,UDP 協議通行外網流入
pass in quick on $int_if from $internal_net to any keep state #允許內網IP通行協議通行
pass out on $int_if from any to $internal_net queue internal_out #流理整形標識表
pass out on $int_if from any to $server_ip queue server_ip_out #流理整形標識表
nameserver 202.96.128.86
nameserver 202.96.128.166
net.inet.ip.forwarding=1 # 開啟NAT的IP Forwarding環境
net.inet.ip.fastforwarding=1 #如果打開的話每個目標地址一次轉發成功以後它的數據都將被記錄進路由表和arp數據表,節約路由的計算時間,但會需要大量的內核內存空間來保存路由表
net.inet.tcp.drop_synfin=1 #安全參數,編譯內核的時候加了options TCP_DROP_SYNFIN才可以用
net.inet.tcp.recvspace=65536 #最大的接受TCP緩沖區空間
net.inet.udp.maxdgram=65535 #最大的發送UDP數據緩沖區大小
net.inet.udp.checksum=1 #防止不正確的udp包的攻擊
net.inet.tcp.syncookies=1 #防止DOS攻擊
#加快網絡性能的協議
net.inet.tcp.rfc1323=1
net.inet.tcp.rfc1644=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
kern.ipc.maxsockbuf=2097152 #最大的套接字緩沖區
kern.polling.enable=1 #kernel編譯打開options POLLING功能,高負載情況下使用低負載不推薦
kern.polling.burst_max=500#每次取多少內存中的包默認150,是 一個參數,和內核裡面的HZ相乘(HZ *
kern.ipc.nmbclusters=32768 #當發送大量數據時,可能會超出操作系統的緩存大小限制
net.inet.tcp.delayed_ack=0 #當一台計算機發起TCP連接請求時,系統會回應ACK應答數據包。該選項設置是否延遲ACK應答數據包,把它和包含數據的數據包一起發送,在高速網絡和低負載的情況下會略微提高性能,但在網絡連接較差的時候,對方計算機得不到應答會持續發起連接請求,反而會降低性能。
net.inet.icmp.icmplim=100 #限制系統發送ICMP速率
net.inet.icmp.icmplim_output=0 #安全參數,編譯內核的時候加了options TCP_DROP_SYNFIN才可以用
2007.05.23 自定義個人用FreeBSD內核
cd /usr/src/sys/i386/conf 源代碼內核目錄
GENERIC #系統自帶內核默認配置文件
LINT #內核文件解釋
cp GENERIC GuoBiAo #復制副本
vi GuoBiAo
ident GuoBiAo #自定義內核名
FreeBSD/i386內核配置 (紅色代刪除 藍色代修改 綠色代增加)
------------------------------------------------------------------------------
cpu I386_CPU         # 支持80386
cpu I486_CPU         # 支持80486
cpu I586_CPU         # 支持Pentium
ident GuoBiAo         # 內核文件的名字
# 軟驅
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# 如果使用東芝Libretto以及他的Y-E Y-E Data PCMCIA軟驅
# 不要使用上面的fdc0,而應使用
#device fdc0
# ATA以及ATAPI設備
# 下面兩行新系統不再需要它們
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device atapicd # ATAPI 光驅
device atapifd # ATAPI 軟驅
device atapist # ATAPI 磁帶機
options ATA_STATIC_ID #靜態設備編號[新系統不再需要]
# SCSI控制器
device ahb # EISA AHA1742 family
device ahc # AHA2940 板載AIC7xxx設備
device amd # AMD 53C974 (Tekram DC-390(T))
device isp # Qlogic family
device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (較新的芯片組)
options SYM_SETUP_LP_PROBE_MAP=0x40
# 使用ncr可以在配置了sym和ncr的情況下掛接舊的NCR設備
# 對於pcvt vt220控制台,啟用這個和PCVT_FREEBSD
#device vt0 at isa?
#options XSERVER # 在vt控制台支持X服務器
#options FAT_CURSOR # 使用大光標
# 如果你是用ThinkPad,將下面的一行和其他PCVT相關設備的注釋去掉
#options PCVT_SCANSET=2 # IBM使用非標准鍵盤
device adv0 at isa?
device adw
device bt0 at isa?
device aha0 at isa?
device aic0 at isa?
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
# SCSI 外設
device scbus # SCSI 總線(如果使用SCSI設備,必須有)
device da # Direct Access (硬盤)
device sa # Sequential Access (磁帶,等等)
device cd # CD
device pass # Passthrough device (直接 SCSI 訪問)
# 通過SCSI子系統接口的RAID控制器
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device dpt # DPT Smartcache - See LINT for options!
device iir # Intel Integrated RAID
device mly # Mylex AcceleRAID/eXtremeRAID
device ciss # Compaq SmartRAID 5* series
# 下面兩項在制作對稱多處理器(SMP)內核時需要
#options SMP     #對稱多處理器內核
#options APIC_IO   #對稱(APIC) I/O
options PANIC_REBOOT_WAIT_TIME=0 #內核異常(kernel panic)立即重啟
options DEVICE_POLLING #改善網絡響應時間,但realtek不支持
options SC_DISABLE_REBOOT # 禁止Ctrl+Alt+Del重啟,必須以root登錄。
options IPSTEALTH   #支持秘密IP轉發
options RANDOM_IP_ID  #隨機IP ID,阻止信息洩漏
options INET6     #IPv6通訊協議
-------------------------------------------------------------------------------------
# /usr/sbin/config GuoBiAo 檢測內核
# cd ../compile/GuoBiAo
# make depend;make;make install;reboot 編譯內核,安裝內核
2007.04.20 常在朋友網吧呆著,得開著SSH來維護。監控。
sshd_enable="YES" 開啟激活ssh服務
# sh /etc/rc \\重起服務
安全下默認不允許ROOT直接登陸
# echo 123456 | pw useradd -n user-id -g wheel -m -s /bin/csh -h 0 \\快速建立系統賬號
/etc/ssh/ssh_config 中文配置文件
2007.04.13 boot -s 單用戶模式
防止別人單用戶模式進入
2007.04.06 裝了一個fping #fping -g 192.168.1.0/100 \\掃描
2007.03.27 在VM使用 freebsd-update更新系統。
freebsd-update是二進制的系統userland的更新方式
它也會更新一些核心的源代碼,以便重編譯核心使用.
1、獲取更新:
# freebsd-update fetch
2、安裝更新:
:
# freebsd-update install
3、獲取源代碼更新:
:
# cvsup -gL standard-supfile
4、編譯安裝kernel:
# cd /usr/src
# make -DALWAYS_CHECK_MAKE buildkernel
# make -DALWAYS_CHECK_MAKE installkernel
2007.02.28 27號晚上,啟動EVA,聊著聊應,打終端時,突然重啟系統,已經破壞了文件系統./bin/sh
# mount -a -t -ufs \\掛上文件系統
# fsck -y \\修復完後再重啟 # fsck -p ;檢查文件系統
2007.02.13 ->備份/etc下所有以conf結尾的配置文件 要不然上下次又重新編譯。
2007.02.03 -> 6.1-RELEASE系統源碼升級更新到6.2-RELEASE 使用cvsup更新升級系統
首先提示自己備份相關主要文件 !
# pkg_add -r cvsup-without-gui
# cd /usr/share/examples/cvsup/
# cp stable-supfile /root/
# cp ports-supfile /root/
cvsup地址
同步源代碼樹
回到ROOT目錄編譯stable-supfile
修改為:*default tag=RELENG_6_0 \\tag=RELENG_6_2為同步到6.2中最新的穩定版源碼
# cvsup -g -L 2 stable-supfile \\更新源代碼
# mergemaster -p
mergemaster的說明
重新編譯整個系統不會使用新的或改過的配置文件更新某些目錄 (尤其像 /etc、/var 和 /usr)
更新這些文件最簡單的方式就是使用 mergemaster(8)
mergemaster操作中可能會遇到以下操作提示: \\一般的處理是選 "d" ,刪除原有的目錄,系統開始重新建立這個臨時的根環境。
Use 'd' to delete the temporary 刪除文件,不更新相應的系統配置文件
Use 'i' to install the temporary 安裝文件,使用新的配置文件覆蓋舊文件
Use 'm' to merge the temporary and installed versions 對舊的配置文件進行合並處理,並安裝
Use 'v' to view the diff results again 察看新文件與舊文件的差異
# make installworld 安裝新源碼樹
# mergemaster 更新文件
# cd /usr/src \\清除
# make clean cleandir
Ait+F2以ROOT權根 回到ROOT目錄編譯ports-supfile \\更新PORTS樹
# cvsup -g -L 2 ports-supfile
\\參數 -g 告訴 CVSup 不要使用 GUI。如果沒在運行 X11 這個是自動的,否則必須指定它
\\參數 -L 2 告訴 CVSup 輸出所有正在升級的文件的細節。從 -L 0 到 -L 2。默認是 0,意味著除了錯誤消息 什麼都不輸出.
更新源代碼的默認內核文件復制到ROOT目錄下,同時改變文件為kernel
# cd /sys/i386/conf/
# cp GENERIC /root/kernel
用ln做一個軟鏈接到源代碼目錄下
# ln -s kernel /sys/i386/conf/kernel
修改內核配置文件
# cd /root/
# ee kernel \\根據自己的硬件設備來編譯
安裝內核和編譯內核.
# cd /usr/src/
# make buildkernel KERCONF=kernel
# make installkernel KERCONF=kernel
\\安裝內核安裝完後重起.
# uname -a \\查看版本..
2007.01.24 ->在X窗口工作,英文很差·最終還得漢化,順便給朋友載個系統圖片給他看!
2007.01.15 ->硬件設試完畢
------------------對BSD基本安裝與配置過程-----------------
----------------------------------------------------------------------------------------------------------
軟件名稱 首選
Mail courier cyrus Sqwebmail、Sendmail、Postfix
FTP vsftpd proftpd pure-ftpd
HTTP apache lighttpd thttpd
數據庫 MySQL PostgreSQL sqlite
網絡安全 snort nmap airsnort
科學工程 Scilab kicad gnuplot octave
辦公軟件 openoffice scim adobereader
編輯器 Vim emacs evince
圖形圖像 gimp ImageMagick digikam
視頻工具 mplayer kmplayer vlc
數據計算:scilab
模擬軟件 wine qemu
網卡流量 trafshow 網絡測試 fping
窗口程序
fluxbox
gnome
kde
xfce
windowmaker
fvwm
Others
ubuntu
常用軟件
寫文章:teTeX, CJK, abiWord
聽音樂:xmms
圖象處理:gimp
數據計算:scilab
寫程序:gcc
通訊軟件:gaim,openq-gaim (支持qq,msn,icq,yahoo等)
firefox 浏覽器安裝
evolution 收郵件
ftp工具gftp
mplayer 電影音樂
gnumeric (電子表格)安裝
xpdf(PDF浏覽軟件)
xchm(CHM文件閱讀軟件)
abiword(復雜文檔處理軟件,類似Windows下的Word)
sodipodi,inkscape 圖形編輯軟件
sarg squid日志分析軟件
Lynx 文字模式網頁浏覽器
ntfsprogs 自動識別windows分區並自動掛載,並對ntfs可讀寫
mlterm 多國語言終端
CCE SHELL中文輸入
grdc 終端上顯示當前時間(圖形方式)
------------------------------------------------------------------------------------------
portupgrade \\軟件更新
# cd /usr/ports/sysutils/portupgrade
# make install clean
# portupgrade -rf “eva0.4.1” -m “ENABLE_SUIDPERL=yes”
使用 cvsup 更新 port tree 後
查看目前安裝的軟件版本是否和 port tree 中的版本一樣:
# pkg_version -v
輸出中需要更新的軟件有「< needs updating」的字樣,再使用 portupgrade 來更新
------------------------------------------------------------------------------------------
$ lock -p 鎖定終端
$ man hier 關於FreeBSD的目錄結構
代理服務器的使用
HTTP 的代理: # setenv HTTP_PROXY http://proxyip:port
FTP 的代理: # setenv FTP_PROXY http://proxyip:port
下載文件
tar的使用
$tar zcvf temp.tar.gz temp/(創建備份文件)
$tar zxvf temp.tar.gz (解壓備份文件)
$tar jcvf temp.tar.bz2 temp/(bz2壓縮格式備份)
$tar jxvf temp.tar.bz2
grep的使用
$grep device temp 在temp文件中查找device,並打印所在行
$grep device * 在多個文件中查找device
$grep -R device 當前目錄,包括子目錄遞歸查找device
設定 PACKAGESITE倉儲,current pakcages
MASTER_SITE_BACKUP= \
MASTER_SITE_OVERRIDE= ${MASTER_SITE_BACKUP}
使用wget加速port下載
# cd /usr/ports/ftp/wget/
# make install clean
FETCH_CMD=wget -c -t 1
DISABLE_SIZE=yes
------------------------------------------------------------------------------------------
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
myadsl:
set device PPPoE:rl0 \\修改fxp0 為您連ADSL設備的網卡名
set mru 1492
set mtu 1492
set authname user
set authkey password
set dial
set login
enable dns
add default HISADDR
# ppp -ddial adsl \\拔號
自動聯網
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="adsl"
---------------------------------------------------------------------------------------
nameserver 當地DNS
# sh /etc/rc \\重起服務
snd_ich_load="YES"
sendmail_enable="NONE" \\"NO"停止
設置全局環境變量
此文件中 :umask=022:\ "\"自己加上
:lang=zh_CN.eucCN
:charset=eucCN:
完成後如下:
:umask=022:\
:lang=zh_CN.eucCN
:charset=eucCN:c
配置locale
#vi .cshrc
setenv LANG zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
------------------------------------------------------------------------------------------
安裝一些常用軟件,由於要安裝的軟件比較多,之所寫了個腳本:
#vi ~/install
#!/bin/sh
cd /usr/ports/net-im/gaim #通訊軟件
make BATCH=YES install clean
cd /usr/ports/net-im/gaim-openq #gaim QQ插件
make BATCH=YES install clean
cd /usr/ports/net-im/eva #kde專用的QQ
make BATCH=YES install clean
cd /usr/ports/www/opera #opera浏覽器
make BATCH=YES install clean
cd /usr/ports/www/opera-linuxplugins #linux -falsh
make BATCH=YES install clean
cd /usr/ports/www/firefox #firefox浏覽器
make BATCH=YES install clean
cd /usr/ports/www/firefox-i18n #firefox 浏覽器中文漢化
make BATCH=YES install clean
cd /usr/ports/x11-wm/fvwm2-devel #fvwm2 窗口管理器
make BATCH=YES install clean
echo "/usr/local/bin/fvwm2" >> ~/.xinitrc
# cd /usr/ports/x11-wm/fvwm2-i18n 漢化Fvwm
# make install clean
cd /usr/ports/chinese/fcitx #輸入法
make BATCH=YES install clean
echo "setenv LANG zh_CN.eucCN" >> /etc/csh.cshrc
echo "setenv LC_CTYPE zh_CN.eucCN" >> /etc/csh.cshrc
echo "setenv XMODIFIERS @im=fcitx" >> /etc/csh.cshrc
echo "setenv GTK_IM_MODULE fcitx" >> /etc/csh.cshrc
cd /usr/ports/chinese/scim-tables #五筆輸入法
make BATCH=YES install clean
echo "setenv LC_LANG zh_CN.eucCN" >> /etc/csh.cshrc
echo "setenv XIM scim" >> /etc/csh.cshrc
echo "setenv XMODIFIERS @im=scim" >> /etc/csh.cshrc
cd /usr/ports/multimedia/xmms-skins #xmms 皮膚
make BATCH=YES install clean
cd /usr/ports/multimedia/xmms #xmms 播放器
make BATCH=YES install clean
cd /usr/ports/multimedia/mplayer #mplayer 播放器
make WITH_LANG=zh_CN BATCH=YES install clean
cd /usr/ports/x11/mlterm #多國語終端
make BATCH=YES install clean
cd /usr/ports/x11/CCE #SHELL中文輸入
make BATCH=YES install clean
cd /usr/ports/graphics/gimp #Photoshop 影像處理軟體
make BATCH=YES install clean
cd /usr/ports/emulators/vmware3 #VM 虛擬機
make BATCH=YES install clean
cd /usr/ports/textproc/stardict2 #星際譯王
make BATCH=YES install clean
cd /usr/ports/chinese/stardict2-dict-zh_CN #星際譯王中文漢化
make BATCH=YES install clean
cd /usr/ports/ftp/wget #自動下載文件
make BATCH=YES install clean
cd /usr/ports/chinese/acroread-zh_CN #pdf
make BATCH=YES install clean
cd /usr/ports/sysutils/portupgrade #用於快捷升級軟件
make BATCH=YES install clean
cd /usr/ports/chinese/ttfm #TrueType 字型管理工具
make BATCH=YES install clean
------------------------------------------------------------
說明:BATCH=YES 默認的編譯參數 WITH_LANG=zh_CN 編入中文
配置xmms顯示中文,編輯~/.xmms/config
將下面幾句替換到適當的位置:
playlist_font="-misc-simsun-medium-r-normal-*-*-120-*-*-p-*-gb2312.1980-0",*-r-*
use_fontsets=TRUE
mainwin_use_xfont=TRUE
mainwin_font="-misc-simsun-medium-r-normal-*-*-120-*-*-p-*-gb2312.1980-0",*-r-*
查看使用shell
# echo $0 或 cat /etc/passwd
使用的Shell是bash或sh:~/.profile
使用的Shell是csh或tcsh: ~/.cshrc
# cd /usr/ports/chinese/fcitx #小企鵝輸入法
/etc/csh.cshrc
setenv LANG zh_CN.eucCN
setenv LC_ALL zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
setenv XMODIFIERS @im=fcitx
setenv GTK_IM_MODULE fcitx
.xinitc 前加入 "fcitx"
修改~/.fcitx/config
[程序]
顯示字體(中)=simsun
顯示字體(英)=simsun
顯示字體大小=14
主窗口字體大小=14
是否使用AA字體=1
# cd /usr/ports/chinese/scim-tables #五筆輸入法
/etc/csh.cshrc
setenv LANG zh_CN.eucCN
setenv LC_LANG zh_CN.eucCN
setenv XIM scim
setenv XMODIFIERS @im=scim
xinitrc 前加入 "scim -d"
------------------------------------------------------------------------------------------
#mount_msdosfs -L zh_CN.GBK /dev/ad1s1 /mnt
#mkdir -p /usr/X11R6/lib/X11/fonts/TrueType
#cp simsun.ttc /usr/X11R6/lib/X11/fonts/TrueType/simsun.ttf \\復制simsun.ttf字體到此路徑
掛載win分區
設定csh
~/.cshrc或/etc/csh.cshrc
setenv LANG zh_CN.eucCN
setenv MM_CHARSET zh_CN.eucCN
setenv LC_ALL zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
# mount_msdosfs -L zh_CN.GBK /dev/設備 /mnt/掛載點 (fat格式)
# mount_ntfs -C GBK /dev/設備 /mnt/掛載點 (ntfs格式)
# mount_cd9660 -C GBK /dev/設備 /cdrom
FreeBSD6.2下掛載U盤
# cd /mnt 創建一個掛接目錄
# mkdir /usb
# mount -t msdos /dev/da0s1 /mnt/usb 把USB Flash 盤安裝在/mnt/usb目錄
# cd /mnt 御載 USB Flash 盤
# umount /mnt/usb
# mount cdrom 掛載光驅 (主要標准系統中/etc/fstab已經包含cdrom文件系統的設置)
fstab自動掛載Windows分區 編輯/etc/fstab 添加
\\Windows分區為FAT32 [可讀寫]
/dev/ad0s1 /mnt/winc msdosfs rw,-L=zh_CN.eucCN,-D=CP936 0 0
/dev/ad0s5 /mnt/wind msdosfs rw,-L=zh_CN.eucCN,-D=CP936 0 0
/dev/ad0s6 /mnt/wine msdosfs rw,-L=zh_CN.eucCN,-D=CP936 0 0
\\Windows分區為NTFS [目前只能只讀]
/dev/ad0s5 /mnt/d ntfs ro,-C=UTF-8 0 0
/dev/ad0s6 /mnt/e ntfs ro,-C=UTF-8 0 0
-----------------------------------------
本地漢化
#cd /usr/ports/chinese/kcfonts \\ kcfont(國喬字體)
make BATCH=YES install clean
#cd /usr/ports/chinese/arphicttf \\arphicttf(文鼎字體)
make BATCH=YES install clean
#cd /usr/ports/chinese/zhcon \\終端中文顯示
make BATCH=YES install clean
------------------------------------------------------------------------------------------
X-窗口
echo "/usr/X11R6/bin/gnome-session" >> ~/.xinitrc #X-GNOME2
echo "/usr/local/bin/startkde" 或 "exec startkde" >> ~/.xinitrc #X-KDE
echo "exec fvwm2" >> ~/.xinitrc #X-fvwm2
----------------------------------------------------------------------------------------
配置XWindows
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Horizsync 30-75
VertRefresh 48-120
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection
鼠標中鍵滾輪支持 "InputDevice"小節。
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "rotocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7" \\手動加上
EndSection
Section "Files" 之間加入下面二行,以使X-Window能找到正確的字體路徑
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
FontPath "/usr/X11R6/lib/X11/fonts/local"
------------------------------------------------------------------------------------------
更新ports
pkg_add -r cvsup-without-gui \\CVSUP更新軟件包
#cp /usr/share/examples/cvsup/ports-supfile /root
#cvsup -g -L 2 /root/ports-supfile
------------------------------------------------------------------------------------------
安裝FreeBSD
選擇國家
選擇鍵盤
標准安裝 Standard
快速安裝 Express
定植安裝 Custom
A自動全部分給BSD,BOOTMGR 為多系統引導,選擇 BOOTMGR
A鍵自動分區,Q完成退出
DEVELOPER 開發者模式,專用模式
開始安裝
用戶模式
多用戶模式
窗口模式
非窗口模式
完整安裝 ALL
SLIP/PPP 網絡設備配置
IPV6 是否支持 NO
DHCP 是否通過 NO
正常模式開始安裝。
IPV4。GATEWAY IP網關
是否在INC 啟動 LNC0
是否做網關。MACHINE NO
是否配置超級守護進程。INEETD NEWORK NO
是否支持NFS NO
是否支持 安全級別 SELECT NO FOR MODERATE YES
MEDIUM 默認模式
EX 非常模式 選擇
是否支持CUSTOMIZE 風格,講盤。。
是否支持MACHINE 時間。
是否支持LINUX BINARY COMPATILILITY? LINUX 兼容包 必須支持的 YES
USB 支持 NO
軟件包 NO
增加用戶
設置ROOT 密碼
CONFIGURATIONG MENU FOR 是否看下剛才所安裝的文件
退出安裝..
自定義分了空間給BSD
/ 500MB UF2 Y /SWAP 1000MB SWAP /var 1000MB UF2+S Y /tmp 2000MB UF2+S Y /usr 20000MB UF2+S Y /home 余下所有空間 UF2+S Y
Copyright © Linux教程網 All Rights Reserved