« php curl函数应用方法之模拟浏览器 | Main | 读取基于 Web 的 Domino 文件的 PHP 函数 »

FreeBSD快速指引

01.查看网络流量
a.systat -if 1 (1表示1s刷新屏幕一次)
b.netstat 1
# Traffic 流量 peak 峰值 average 平均值

02.查看硬盘信息
diskinfo -vt /dev/ad0
disklable /dev/ad0 (分区信息)
disklable /dev/ad0s2

03.查看核心信息
vmstat 1

04.查看进程
top ps auxww ps -ef |grep xxx

05.查看硬盘详细分区信息&读写状况
gstat

06.sysctl sysctl -a 查看所有变量(/etc/sysctl.conf)
sysctl kern.maxproc 查看特定变量
sysctl kern.maxfiles=5000 设置变量

07.查看磁盘空间使用情形 df 和 du
指令df用来查看整个档案系统的使用情形,
如果您需要知道某个目录的使用情形用指令du。
df -h
du -h /etc
du -sh /etc
-s 参数来省略指定目录下的子目录
-h 表示使用GB、MB等易读的格式

08.断电后系统无法启动
a.启动到sing user模式
b.fsck
c.reboot

09.升级内核后无法启动
a.重启机器到10秒读秒时按enter以外的任意键(新版bsd按6)
b.unload
c.boot kernel.old 或其他可以启动的内核
另外一种方法
a.使用cd1启动,选择Fixit-->CDROM/DVD
b.Fixit#mount /dev/ad0s2a /mnt mount硬盘上的文件系统
c.cd /mnt/boot
d.rm -rf kernel
e.cp -R kernel.old kernel
f.reboot

修改了/boot/loader.conf以后不能正常引导系统了,当机器开始加载
/boot/defaults/loader.conf的时候(未加载完)机器停止响应,我应该怎么办?
a.使用cd1启动,选择Fixit-->CDROM/DVD
b.Fixit#mount /dev/ad0s2a /mnt mount硬盘上的文件系统
c.cd /mnt/boot
d.vi loader.conf 去掉错误的加载项
e.reboot

10.丢失root密码

启动到单用户模式,执行/sbin/mount -a, 然后用passwd更改密码
/sbin/mount -a=挂接/etc/fstab里所有列出的文件系统
如果单用户登录也需要密码
a.使用cd1启动,选择Fixit-->CDROM/DVD
b.Fixit#mount /dev/ad0s2a /mnt mount硬盘上的文件系统
c.cd /mnt/etc
d.vi /ttys 找到when going to single-user mode,更改
console none unknow off insecure为secure
e.reboot,启动到单用户模式/sbin/mount -a,passwd

启动到单用户模式后,ctrl+d进入多用户模式
####让单用户登录也需要密码
a.cd /etc
b.vi /ttys 找到when going to single-user mode,更改
console none unknow off secure为insecure

11.用win2000的引导器启动FreeBSD
我在笔记本上装了双系统,win2000 和freebsd,装完 freebsd后 系统自动设置如下:
f1 dos
f2 freebsd
先起动到dos下,fdisk /mbr,再把FreeBSD光盘上的boot\boot1复制到c:\,
再编辑c:\boot.ini 加一行c:\boot1="FreeBsd"

12.硬盘分区时shift+F -->NO可以使用全部空间

13.ctrl+alt+backspace 杀掉xwindows

14.alt+F1...F8 或 printscreensysr循环切换控制台

15.shutdown now 切换到单用户模式
shutdown -p now shutdown -hp now 关闭电源
shutdown -r now reboot 重新启动机器
shutdown -p +90 (90分钟后关机)
shutdown 0203122359(0203122359表示2002年3月12日23:59,格式是yymmddhhmm)

16.挂载ntfs,fat32分区和u盘
ntfs: mount_ntfs -C eucCN /dev/ad0s5 /mnt/d
fat32:mount_msdos -L zh_CN.eucCN /dev/ad0s6 /mnt/e
u盘(scsi盘): mount_msdos -L zh_CN.eucCN /dev/da0s1 /mnt/u
cdrom: #mount_cd9660 /dev/acd0 /mnt/cdrom
NTFS在FreeBSD中只能只读而无法写入

17.卸载分区
umount /dev/ad0s5
umount -f /dev/ad0s5 (强制卸载)

18.在/etc/fstab中挂载fat32分区
/dev/ad0s5 /mnt/d msdos rw,-L=zh_CN.eucCN 2 2

19.如何在FreeBSD5.X以上加载,卸载ISO文件
mount iso文件:
mdconfig -a -t vnode -f myisofile.iso (屏幕输出md0或者类似的设备名)
mount -t cd9660 /dev/md0 /cdrom
umount:
umount /cdrom
mdconfig -d -u 0 (上面的-u后面的数字和前面的md?中的数字一致)
mdconfig -l 命令可以列出关于配置 md(4) 设备的信息

20.声卡
vi /boot/defaults/loader.conf
更改snd_ich_load="NO"->"YES" #intel ich
检测声卡 kldstat 或 dmesg |grep pcm

21.ls 命令详解
ls 显示本目录下的文件及目录
ls -a显示本目录下的所有文件及目录(包括隐藏目录和文件)
ls -l 显示本目录下所有文件的属性
ls -l | grep ^d 只显示目录
ls -l | grep ^- 只显示文件
ls -l | grep ^d | wc –l 统计当能目录下的子目录数
ls -l | grep ^- | wc –l 统计当能目录下的文件数
ls -G 以颜色显示目录名和文件名

22.查找程序或文件
which 程序名
whereis 程序名
find 文件名
locate 文件名
locate: database too small: /var/db/locate.database的一种解决方法
a.这个仅仅是因为你开机时间不够长,看看/etc/periodic/weekly/310.locate
b.试试运行/usr/libexec/locate.updatedb看
whatis xxx 要找东西但不知道它是什么
grep bpf /usr/src/sys/i386/conf/GENERIC 在文件中找指定文本
#只能对文本进行grep,如是命令,则
command |grep text
grep text filename

23.xmms乱码问题 (要拷贝simsun.ttf和taboma.ttf到/usr/X11R6/lib/X11/fonts/TrueType/)
在用户目录下建立 .gtkrc.mine 文件.代码如下
style "gtk-default-zh-cn" {
fontset = "-*-tahoma-medium-r-normal-*-12-0-0-0-p-0-iso8859-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-p-*-gbk-0,*-r-*" }
class "GtkWidget" style "gtk-default-zh-cn"
修改xmms中的字体设置,将播放清单及主窗口的字体修改为下面的设置
-*-tahoma-medium-r-normal-*-12-0-0-0-p-0-iso8859-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-p-*-gbk-0,*-r-*

xorg6.9+xfce4+xmms
cd /usr/ports/chineses/xmms make install clean
拷贝simsun.ttf到/usr/X11R6/lib/X11/fonts/TTF/,无需要建立.gtkrc.mine
只要修改xmms中的字体设置,字体simsun,size 12就好了。

24.停止sendmail
vi /etc/rc.conf 加入
sendmail_enable="NONE"

25.you have mail
mail 回车,输入1看第一封邮件...输入?看帮助
mail 古老的 UNIX 邮件处理程序
如果我们要寄信给非本机的使用者,可以使用的收件人格式如下:
mail -s"hi, my friend" jack@mymail.com
mail -s "hi, my friend" jack@mymail.com < content.txt
执行了 mail 之后,程序会先要求我们输入邮件主旨,输入后就可以开始打本文了。
当完成本文的编辑之后,可以按 Ctrl+D 来将信件送出,或是按二次 Ctrl+C 取消。

26.traceroute &ping的整合工具my traceroute /mtr
/usr/ports/net/mtr
使用: mtr www.163.com

27.使用gnome2的gdm做桌面管理器
vi /etc/rc.conf 加入
gdm_enable="YES"
vi /root/.dmrc 更改Language=zh_CN.UTF-8-->zh_CN.eucCN

28.远程连接windows终端
rdesktop [-a 16 -f] server'IP[:port]
-a 16表示16位色,-f表示全屏
gui,grdesktop (/usr/ports/net/grdesktop)

29.播放APE格式音乐
/usr/ports/chinese/xmms/ /usr/ports/audio/xmms-mac(ape插件)xmms-wma(wma插件)

30.看图
/usr/ports/graphics/xnview

31.apache22+php5+mysql+postgresql+ZendOptimizer
a,apache22:
cd /usr/ports/www/apache22
make install clean
b,php5:
cd /usr/ports/lang/php5
make install clean
选中APACHE,就可以联编出用于与Apache web服务器配合使用的可动态加载的mod_php5模块.
勿选debug,否则不能装ZendOptimizer
c,php5扩展:
cd /usr/ports/lang/php5-extesions
make install [FORCE_PKG_REGISTER=yes] 强迫安装
make clean
(除预设项目还应选中CTYPE,EXIF,GD,ICONV,IMAP,PCRE,SESSION,ZLIB)
FreeBSD中的PHP支持是高度模块化的,因此基本安装的功能十分有限。增加其他功能非常简单,
只需通过lang/php5-extensions即可完成。这个port提供了一个菜单驱动的界面来帮助完成PHP
扩展的安装。另外也可以通过对应的port来单独安装扩展。例如要将对于MySQL数据库服务器
的支持加入PHP5,只需简单地安装databases/php5-mysql.
d,cp /usr/local/etc/php.ini.recommended /usr/local/etc/php.ini
e,ZendOptimizer
cd /usr/ports/devel/ZendOptimizer
make install clean
f,mysql:
cd /usr/ports/databases/mysql41-server
make WITH_OPENSSL=yes BUILD_OPTIMIZED=yes WITH_CHARSET=gbk WITH_XCHARSET=all SKIP_DNS_CHECK=yes install
./work/mysql-5.0.24/scripts/mysql_install_db
cd /usr/ports/databases/php5-mysql
make install clean
g,postgresql
cd /usr/ports/databases/postgresql81-server
make install clean
/usr/local/etc/rc.d/postgresql initdb
echo 'postgresql_enable="YES"' >> /etc/rc.conf
cd /usr/ports/databases/php5-pgsql
make install clean

32.怎样刷新环境变量值,而不用退出再登陆?
a,比如要重新设置环境变量ABC的值为abcdef
bash$ export ABC=abcdef
csh% setenv ABC abcdef
b,更新了PATH变量指定目录里可执行命令
rehash
c,更新配置文件
比如你编辑了.cshrc等文件,就需要用source命令
source .cshrc

33.检视软件间的关联
cd /usr/ports/sysutils/pkg_tree
make install clean
之后我们就可以使用 pkg_tree | more 来看各个软件之间的关系了

34.使用 portupgrade 更新软件
cd /usr/ports/sysutils/portupgrade
make install clean
配置文件:/usr/local/etc/pkgtools.conf
如果您只想要升级某一个软件本身,而非所有相依的软件,只要使用
portupgrade "pkgname" 即可。如果您要升级所有和该软件相依的其它软件,
则可以加上参数 -r。如果您要更新包含相依软件的相依软件,则可以使用
参数 -R。另外,您可以使用参数 -m 来要求编译 (make) ports 时多传入
一些参数,还可以使用参数 -f 要求就算版本一样也强制更新。portupgrade
在更新软件时,会保留您原本的设定档。例如,在更新 Apache 时,它会保留
httpd.conf的设定。假设我们更新软件perl-5.8,我们可以用下列指令更新:
# portupgrade -rRf "perl-5.8.*" -m "ENABLE_SUIDPERL=yes"

35.ports安装失败提示
stop in /usr/ports/lang/ruby18/work
删除work目录下所有文件&文件夹再次安装即可.(make clean)

36.ntop--网络监控软件
cd /usr/ports/net/ntop
make install clean
vi /etc/rc.conf 加入
ntop_enable="YES"
在地址栏中输入http://x.x.x.x:3000 即出来管理界面.

37.修改/etc/rc.conf不重启生效
a.sh /etc/rc
b./etc/netstart

38.freebsd启动的时候停到blanktime的解决办法
可以试试 这个参数:blanktime="NO"
etc/rc.conf 中把 default_router 注释掉
#未验证!!!

39.Bsd 下的QQ
eva不错,运行速度飞快。
/usr/ports/net-im/eva
gaim-openq
/usr/ports/net-im/gaim-openq

40.一次性把所有安装的ports删除掉
a.pkg_delete -a
以下步骤去掉配置文件,解决一些疑难问题
rm -fr /usr/local/
rm -fr /var/db/ports/
cd /usr/ports && make NOCLEANDEPENDS=yes clean
portsnap fetch update
b.安装pkg_cutleaves它会告诉你,哪些package没有人依赖,并让你决定要不要删除
c.make deinstall与pkg_delete有什麽不同?
简单来说,make deinstall会移除该port,并且不会叁照其相依相关的ports。
pkg_delete在移除该port前,会叁照其相依相关的ports,并且pkg_delete
有支援 wild card,如要移除所有p开头的 ports,则:
cd /var/db/pkg/
pkg_delete p*
要注意的是,如果使用 `make deinstall',则最好确定系统目前所
安装的版本,与 ports collection 中显示的版本符合,否则有可能会出现非预
期性错误;而pkg_delete是因为直接删除系统中所安装的版本,所以没有此问题。
因此,换句话说,当系统所安装的版本符合ports collections中的版本,则可
以使用make deinstall或pkg_delete,否则的话最好用pkg_delete。

41.pure-ftp安装
cd /usr/ports/ftp/pure-ftpd/
make WITH_LANG=simplified-chinese install clean
[X] BANNER Show pure-ftpd welcome upon session start
cd /usr/local/etc/
cp pure-ftpd.conf.sample pure-ftpd.conf
vi /etc/rc.conf -->加入pureftpd_enable="YES"
关于pureftpd的编码问题
在win下登陆ftp然后建立中文文件夹,传中文文件然后用FlashFXP登陆看到这些
中文文件和文件夹名字全部是乱码.pure-ftpd.conf中强制用gbk就可以了.
FileSystemCharset gbk
ClientCharset gbk

42.开机自动校准时间
vi /etc/rc.conf--->加入
ntpdate_enable="YES" # Run ntpdate to sync time on boot (or NO).
ntpdate_flags="218.75.4.130" # cn.pool.ntp.org

43.将/usr/ports/distfiles/目录放到/data/disktfiles
cd /usr/ports
mv distfiles /data/distfiles [移动]
ln -s /data/distfiles distfiles [链接][要在/usr/ports目录下做]
ln -s source_file[_dir] target_file[_dir]

44.FreeBSD下面通过串口连接到路由器
使用cu -s speed -l line,就可以连接到COM口或者家猫的线路上,我用的是COM1口,
连接Cisco2924XL,使用cu -s 9600 -l ttyd0,即可连接上交换机配置界面。

45.电子书:CHM、PDF的查看
chmsee,kchmviewer,xpdf,xchm,Acrobat Reader...chmsee对中文支持比较好
/usr/ports/print/acroread7

46.使用axel或者prozilla加速你的port下载
a.axel(据说能搞定文件夹钳套,不错!推荐使用 )
cd /usr/ports/ftp/axel
make install clean
vi /etc/make.conf 加入
FETCH_CMD=axel -a
DISABLE_SIZE=yes
vi /usr/local/etc/axelrc 修改代码
#num_connections = 4
num_connections = 10
4改为10,num_connections前面不留空格,否则出错.
(-a 交互的进步指示器,num_connections = 10 10线程下载)
SIZE参数用来在取得文件之前检查文件的大小.而DISABLE_SIZE则是是否开启这项功能
b.prozilla(速度快,遇到欠套的文件夹会出问题)
cd /port/ftp/prozilla
make install clean
vi /etc/make.conf 加入
FETCH_CMD=proz -s -k=10 -r --no-curses
DISABLE_SIZE=yes
(-s 查找最快的境像,-k=10 10个线程下载,-r 重新开始一个被打断的下载)
c.wget(未测试)
cd /usr/ports/ftp/wget/
make install clean
vi /etc/make.conf 加入
FETCH_CMD=wget -c -t 1
DISABLE_SIZE=yes #这行是必要的
d.在其它机器上fetch
make fetch-recursive (fetch:取得recursive:递归的)
然后将/usr/ports/distfiles拿走。

###make install设置是/etc/make.conf
  ###pkg_add是在~/.cshrc或~/.profile
e.vi /etc/csh.cshrc
加上以下一行可以在让pkg_add先从更快的站点下载
setenv PACKAGEROOT ftp://ftp.cn.freebsd.org
你可以先设定 PACKAGEROOT,这是用来抓取套件的位置,笔者通常设定
setenv PACKAGEROOT ftp://ftp.tw.freebsd.org
因为这是我认为最稳定的机器,然后就可以透过pkg_add -r 套件名来安装套件,
他会自动的到pub/FreeBSD/ports/i386/packages-4.9-release/Latest/底下
寻找套件,而且你不需要知道版本,只要知道套件名称即可,他会自动安 装
当时的最新版,中文的部分只要加上 zh-,像是 zh-xcin。
你也可以直接指定 PACKAGESITE 来指向特定的位置。像是你希望安装的套件是
最新的,而不是 release 时的版本。
setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/Fre ... ages-stable/Latest/

f.vi /etc/make.conf
加上以下一行可以在让make先从更快的站点下载ports Distfiles
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/

####http://ports.cn.freebsd.org/
Welcome to use FreeBSD Ports Distfiles Mirror.
This mirror is running on China Telecom 100Mbit network.
How to use? Set your /etc/make.conf like this:
MASTER_SITE_OVERRIDE?=http://ports.cn.freebsd.org/${DIST_SUBDIR}/
or like this:
MASTER_SITE_OVERRIDE?=http://ports.hshh.org/${DIST_SUBDIR}/

47.星际译王
辞典程序: /usr/ports/textproc/stardict2/
简体中文辞典:/usr/ports/chinese/stardict2-dict-zh_CN/

48.控制台调音量
mixer

49.How to build openoffice
cd /usr/ports/editors/openoffice.org-2.0
Building/installing/packaging a localized language package (Japanese version for example)
make LOCALIZED_LANG=ja install
去这里ftp://ooopackages.good-day.net/pub/OpenOffice.org/FreeBSD/里面的tbz文件,
可以直接pkg_add

50.OPERA,支持Flash浏览器
cd /usr/ports/www/linux-opera  
(注意是www/linux-opera,www/opera是不支持Flash的。)
cd /usr/ports/www/opera
make config
选中[X]SHARED Use a shared Qt library(instead of static)[解决在opera中输入汉字的问题]
make install clean
安装后的美化:
A.Tools->Preference->Advanced->Fonts,把所有的字体都改成Simsun,字体大小设成12。
B.最小字体大小(像素)改为12.[解决一些网站看不清楚的问题]

51.bt客户端
/usr/ports/net-p2p/py-bittorrent 安装完成后执行bittorrent
/usr/ports/net-p2p/rtorrent 功能多,速度快,还完美支持中文编码!

52.emule客户端
/usr/ports/net-p2p/amule2

53.ipguard解决arp攻击
ipguard->Tool designed to protect LAN IP adress space by ARP spoofing
/usr/ports/security/ipguard
make install (不要clean参数,否则无ethers.sample文件)
补充:
A.以/usr/ports/security/ipguard/work/ipguard-0.04/doc/ethers.sample
文件为实例,建立/etc/ethers文件。
B.And then start ipguard:
cd /usr/local/etc/rc.d
mv ipguard.sh.sample ipguard.sh
/usr/local/etc/rc.d/ipguard.sh start
ipguard.sh启动脚本里默认有iface=fxp0,这里应该替换为你做NAT的内网网卡名称。

54.一些安装参数
make fetch 只抓取tarball
make fetch-recursive 抓取安装ports所有须要的其他ports的tarball
make fetch-list 列出port所需的文件
make clean Ports里面make clean,会附带着make clean依赖的软件的
make -DBATCH install不需要用户输入任何东西
make -DINTERACTIVE install 继续上一步
make configure
make distclean,删除不想要的distfiles

55.pkg_info
pkg_info |grep zh-fcitx (查软件版本)
#ls /var/db/pkg也可以查软件版本
pkg_info -L zh-fcitx-3.4 (查看软件安装目录和安装的文件)
pkg_info -xL zh-fcitx (加x了不需要加软件版本号)
pkg_info -r zh-fcitx-3.4 (查看软件依赖情况)
pkg_info -W fcitx (查看fcitx属于哪个软件)

56.Ports如何清除安装参数
cd /usr/ports/www/opera
make distclean移除不是port collections所期望下载的文件
make rmconfig清除用户配置的参数
make showconfig查看当前配置的参数
make config更改参数

57.一款好用的网络性能测试工具iperf
/usr/ports/benchmarks/iperf

58.FreeBSD用户帐户锁定
a.用vipw把他的shell修改成/sbin/nologin就可以了.
b.pw lock useri 解锁用pw unlock userid

TrackBack

TrackBack URL for this entry:
http://www.gccgle.com/cgi-bin/mt/mt-tb.cgi/11

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

This page contains a single entry from the blog posted on January 30, 2008 11:09 AM.

The previous post in this blog was php curl函数应用方法之模拟浏览器.

The next post in this blog is 读取基于 Web 的 Domino 文件的 PHP 函数.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34