# 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 mrtg@GuoBiAo.UNIX-FreeBSD >mrtg.cfg
\\建立MRTG设定档
路径:/usr/local/etc/mrtg/
指令: cfgmaker mrtg@GuoBiAo.UNIX-FreeBSD > 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 代表同??除其 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
-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