Change CLI display resolution under freebsd

Kernel:
options VESA
options SC_PIXEL_MODE

List mode:(local)

#vidcontrol -i mode

Choose font:

#vidcontrol -f 8×16 /usr/share/syscons/fonts/ +tab
cp1251-8×8.fnt haik8-8×16.fnt iso08-8×8.fnt
cp437-8×14.fnt haik8-8×8.fnt iso09-8×16.fnt……

#vidcontrol -f 8×16 /usr/share/syscons/fonts/cp866-8×16.fnt
#vidcontrol MODE_277

Add to /etc/rc.conf

allscreens_flags=”MODE_277″

syslogd config

在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得到任何入侵信息。因此,在网络中安排一台专用的日志服务器来记录系统日志是一个比较理想的方案。下面我们以FreeBSD下的syslog为例介绍如何利用syslogd记录来自Unix和windows的logs。

A:记录类Unix主机的log:

首先需要对Freebsd的syslog进行配置,使它允许接收来自其他服务器的log信息。
在/etc/rc.conf中加入:
syslogd_flags=”-4 -a 0/0:*”

配置说明:freebsd的syslogd参数设置放在/etc/rc.conf文件的syslogd_flags变量中,Freebsd对syslogd的默认设置参数是syslogd_flags=”-s”,(可以在默认配置/etc/defaults/rc.conf中看到),默认的参数-s表示打开UDP 514端口监听,但是只监听本机的UDP 514端口,拒绝接收来自其他主机的log信息。如果是两个ss,即-ss,表示不打开任何端口,只在本机/dev/log设备记录。

参数说明:
-4 只监听IPv4端口,如果你的网络是IPv6协议,可以换成-6。

-a 0/0:* 接受来自所有网段所有端口发送过来的log信息。

-a 192.168.1.0/24:514或者-a 192.168.1.0/24表示仅接收来自局域网该网段514端口的log信息,这也是freebsd的syslogd进程默认设置,也就是说freebsd 在接收来自其他主机的log信息的时候会判断对方发送信息的端口,如果对方不是用514端口发送的信息,那么freebsd的syslogd会拒绝接收信息。在默认情况下必须:远程IP的UDP 514端口发送到本地IP的UDP 514端口。

在参数中加入*,表示允许接收来自任何端口的log信息。这点,在记录类Unix主机信息的时候感觉不到加不加有什么区别,因为类Unix主机都是用 514端口发送和接收syslog信息的。但是在接收windows信息的时候就非常重要了。因为windows的syslog软件不用514端口发送信息,这会让默认配置的syslogd拒绝接收信息。

修改好syslogd参数后,我们需要修改一下/etc/syslog.conf文件,指定log信息的存放路径,
比如你要记录其他系统的远程登陆登出信息并指定日志存放路径,则需要修改以下行:

authpriv.* /var/log/otherslog
这表示把系统的登入登出日志(包括本机系统登陆登出日志)存放到/var/log/otherslog文件中。
当然,这是最简陋的做法,因为这样会把所有服务器的登陆登出信息存放在一个文件中,察看的时候很不方便,通常的做法是用一个脚本,对接收到的信息进行简单的分拣,再发送到不同的文件。

如下设置:
authpriv.* |/var/log/filter_log.sh

在记录目标前面加上“|”表示把接收到的信息交给后面的程序处理,这个程序可以是一个专门的日志处理软件,也可以是一个自己编写的小的脚本,举例:

#!/bin/sh
stuff=/var/log/auth.log
read stuff
SERVER=`echo $stuff |awk’{print $4}’`
echo $stuff >> /usr/logs/login_log/$SERVER.log

这个简单的脚本以IP作为分类依据,先用read读取log信息,用awk取出第四字段(即IP地址或者主机名所在的字段),以该字段为文件名存放该主机的日志。
这样一来,来自192.168.1.1的log会记录到192.168.1.1.log文件中,来自192.168.1.2的log会被记录在 192.168.1.2.log文件中,分析和归类就比较方便了。当然这是一个最简单的例子,可以根据自己的需求写出更合适的脚本,可以按照日期每天,每周,每月分目录存储,甚至把log信息分类后插入数据库中,这样日志的管理和分析就更方便了。

重启一下syslogd服务,让配置生效:
/etc/rc.d/syslogd restart

OK,服务端的配置完成。现在配置一下客户端:
这里所说的客户端,就是发送自己的日志到远程日志服务器上的主机。

修改/etc/syslog.conf文件:

如果你只需要记录系统登入登出日志到远程日志服务器上,那么只需要修改以下一行:
authpriv.* @192.168.1.100
这里的192.168.1.100就是log服务器的IP,“@”符号表示发送到远程主机。

重启一下syslog服务:
/etc/rc.d/syslogd restart

用logger测试一下是否配置成功:
logger -p authpriv.notice “Hello,this is a test”

到log服务器上去看看,“Hello,this is a test”应该已经被记录下了。最后在客户机上登陆登出几次,看看真实的authpriv信息是否也被成功的记录下。

B: Windows日志的记录

对于类Unix主机之间记录日志,由于协议、软件和日志信息格式等都大同小异,因此实现起来比较简单,但是windows的系统日志格式不同,日志记录软件,方式等都不同。因此,我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
一个第三方软件evtsys (全称是evntlog to syslog)
这是一个非常小巧而且免费的第三方日志记录软件:
https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys/
文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
把这两个文件拷贝到 c:\windows\system32目录下。

打开CMD
C:\>evtsys –i –h 192.168.1.100
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u

启动该服务:
C:\>net start evtsys

打开windows组策略编辑器 (开始->运行 输入 gpedit.msc)

在windows 设置-> 安全设置 -> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。

OK,所有的配置windows端配置完成,现在配置一下syslogd的配置文件.
参数的配置和上面相同,
所不同的是evtsys是以daemon设备的方式发送给 syslogd log信息的。
因此,需要在/etc/syslog.conf中加入:
daemon.notice |/var/log/filter_log.sh
关于syslog 记录设备和记录等级方面的知识可以参考syslog文档。

C:网络设备日志的记录

各种不同的中高档路由器都有日志记录的选项,且多使用嵌入式Linux上的syslogd,只需要在路由器GUI或CLI中设置即可,将NAT信息,防火墙信息,以及DHCP等等信息发送到日志服务器备查,这个机器型号太多了,不作赘述。

OK,所有配置设置完成。这下所有服务器上的系统日志都可以统一记录到一台日志服务器上轻松管理了。

mysql backup script

make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_LINUXTHREADS=yes WITHOUT_INNODB=yes
————————–
www# vi mysql_backup.sh
#!/bin/sh
# change into the backup_agent directory where data files are stored.
cd /usr/database_backup
/usr/local/bin/mysqldump –opt –user=ken –password=ling –all-databases > /usr/database_backup/all.sql
bzip2 -9 all.sql
mv all.sql.bz2 all-$(date +%Y%m%d-%H%M%S).bz2

Mysql error

##########custom
max_connections = 1000
wait_timeout = 5
skip-bdb
skip-innodb
tmpdir = /disk2/tmp/

如果不指定mysql的tmpdir,且默认的/var/tmp目录空间不足,那么一旦自动脚本出现问题,就会把mysql卡住,继而出现更多错误。我完全有理由相信Oracle有同样的问题,特别是在reset重启之后,而他们几乎从来没有修复过。

 

心血来潮在笔记本上装了个freebsd

花费了我6个小时,大部分时间浪费在准备工作上,因为我不想刻光盘安装,却没想到从网络安装,最后在0.67上面设置了一个NFS-SERVER,从网络直接读取ISO文件进行安装,

#mdconfig -a -t vnode -f 6.0-RELEASE-i386-disc1.iso
#mdconfig -a -t vnode -f 6.0-RELEASE-i386-disc2.iso
#mount -t cd9660 /dev/md0 /pub
#mount -t cd9660 /dev/md1 /pub2

Edit /etc/exports
/pub -alldirs 202.202.*.*
/pub2 -alldirs 202.202.*.*

然 后浪费掉两个小时在磁盘空间划分上,因为我没想到图形界面居然需要2个G以上的空间,以前从来不用图形界面,最多1G就足够了,应该未雨绸缪,何况我的磁 盘空间不多了,用Pqmagic划空间的时候总是很小心,以前就划坏过,这次好像还不错,什么问题都没有,有时间了装一下其它的各种linux发行版,想 来应该不错,Windows的页面文件简直就是垃圾,什么作用也起不了,除了内存满时硬盘的一阵狂响,文件系统的优越性和内存管理的优越性,我想这才是为 什么有这么多nix服务器的原因,不错,用windows可以提供稳定的服务,不过你要为此付出10倍于nix系统的代价,即使你用的是盗版,我曾经总结 了一下,windows是这样一种系统,你需要1小时装好它,1小时调整它,1000个小时来维护它,nix是这样一种系统,你需要15分钟装好它,10 个小时调整它,以后所有维护时间的总和不会超过100小时,排除停电,机房进水,火灾地震等不可抗拒的因素……不过这液晶的固定分辨率让CLI显 得不太正常,字体好难看啊,GUI倒是能自动设置,刷新率,嗯不对液晶没有刷新率,所以我不知道它是不是自己调整了…..

注:
NFS:NFS就是Servers上的档案能被其他的机器mount,而达到资源共享,享用这些档案的机器就可称为 Client,一个client可以从server上mount一个或是一个层次的目录(file hierarchies).事实上任何一台机器都可以 做server or client,甚至同时为server and client。
CLI:Command line interface,命令行用户界面
GUI:Graphics user interface,图形化用户界面

一只命令行浏览器

一直在想命令行下面怎么浏览3W网页,偶然发现了lynx,安装试用了一下,不错,至少下jdk的时候可以直接在命令行下面下载了…..不过浏览中文网页之前先要把默认编码改成GB2312,不然是乱码….
—————————
Lynx is a fully-featured World Wide Web (WWW) browser for users on Unix, VMS, and other platforms running cursor-addressable, character-cell terminals or emulators. That includes vt100 terminals, other character-cell displays, and vt100 emulators such as Kermit or Procomm running on PCs or Macs.
http://lynx.isc.org
—————————

配好了Tomcat和Apache

得来全不费功夫啊,Apache2.1里面专门提供了给Tomcat的ajp接口,三行配置就搞定了Apche对Tomcat的代理,而且可以通过 proxy pass进行负载均衡,完美啊,而且实现http请求的负载均衡,也是很简单的事情,2.1里面更加入了多种cache的支持,包括磁盘缓存,内存缓存, 我在想,2.1一旦出了正式版,squid还有用武之地么?

Reffer:http://tomcat.apache.org/connectors-doc/proxy.html
——————————–
The AJP proxy is a new module based on the standard Http proxy it uses AJP instead of HTTP.
<Location />
ProxyPass ajp://localhost:8009/
</Location>

下面需要配置的就是最困难的oracle了,我还得再去读几遍国外各个网站上的资料了来……中文资料不可信,东抄抄西抄抄,结果TMD全部是错的。

 

重拾FreeBSD

我早料到有这么一天,阿金要我配置unix服务环境,重拾FreeBSD,我已经落后了,小红魔它已经升级到了6.0,5.0的终结版本是5.4,java不适用BSD平台已经成为过去,freebsd甚至有一个java project:http://www.freebsd.org/java/,可是我疑惑了,用6.0还是5.4呢?
————————————
This is the official port of Sun’s Java&#8482; Development Kit for FreeBSD. No known significant bugs exist at this time, but there are no guarantees of usability. However, many commercial companies rely on this port, so it should be safe to use.
————————————

之所以使用freebsd的原因:因为它是最正统的unix,不含有那些什么特有的linux命令,aix命令,solaris命 令等等…..就像吃肉吃多了吃咸菜一样爽口的感觉,我是很不愿意在日记里面提到亦彩的,所谓出其不意,攻其不备,亦彩的服务器架构于 freebsd5.3+apache2+php4+mysql4.1+icecast2+proftpd1.2+openssh4,比较难配置的就是 icecast,其他的还是比较简单,这次的任务有了新内容,要配置oracle10,java,tomcat,有挑战性,我喜欢!不过就是不知道我能不 能忍受256M内存下的oracle运行速度,oracle的标准配置是4G运行内存,看起来只有曙光的机器能担当这个重任……