文章列表
 
2008/11/14 0:10
在catalina.bat文件中设置
set CATALINA_TMPDIR = 新临时文件存储目录
 
2008/11/08 18:57
安装SQL SERVER 2005出现“无法在 COM+ 目录中安装和配置程序集”错误处理2008-07-23 20:44

安装到Notification Services组件的时候出现以下错误提示:

无法在 COM+ 目录中安装和配置程序集 D:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin \microsoft.sqlserver.notificationservices.dll。错误: -2146233087
错误消息: Unknown error 0x80131501
错误说明: 事务管理器可用。 (异常来自 HRESULT:0x8004D01B)

网上搜索一下,找到一个解决方法:
暂停安装,不要点击中止、忽略,也不要点击取消
按以下步骤:
1.删除注册表中的键:
•HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC 项
• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC 项
• HKEY_CLASSES_ROOT\CID 项
2、使用cmd执行 停止MSDTC服务:net stop msdtc
3、使用cmd执行 卸载MSDTC服务:msdtc -uninstall
4、使用cmd执行 重新安装MSDTC服务:msdtc -install
最后,点击重试继续安装。
 
2008/10/21 13:15
从换东家以来,每日忙于工作,
擅长的,
迷惑的,
新瓶老酒,
老树新花,
喷香扑鼻,
恶心乏味,
其中滋味细心评点,
新的环境,新的挑战,战斗吧!

Blog,真的很想一直有时间写,记下成长的足迹 ...

 
2008/03/12 22:46

1.下载subversion和apache的最新src包

2. 新建一个用

以下操作非特别说明皆为root用户操作

# groupadd svn

# useradd svnroot -g svn

# passwd svnroot

3. 编译安装httpd

# tar xvzf httpd-2.2.6.tar.tar

# cd httpd-2.2.6

# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/

# make

# make install

# /usr/local/apache2/bin/apachectl start

打开浏览器http://localhost/

如果有测试页"It works!"出现则证明已经安装成功。

4. 安装Subversion

# tar xvzf Subversion-1.4.6.tar.gz

# cd Subversion-1.4.6

#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mode

# make

# make install

# mkdir /home/svnroot/repository

# su - svnroot

# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/public

# /usr/local/subversion/bin/svnadmin --version

# chmod 700 /home/svnroot/repository

# exit

5. 修改Apache配置文件

# vi /usr/local/apache2/conf/httpd.conf

添加:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>
   DAV svn
   SVNParentPath /home/svnroot/repository/
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf
   AuthType Basic
   AuthName "Blog:http://hi.baidu.com/zhulinywj"
   AuthUserFile /home/svnroot/repository/authfile
   Require valid-user
</Location>

# /usr/local/apache2/bin/apachectl restart

打开浏览器访问http://localhost/svn/public/

6. 权限管理

1)增加用户

# htpasswd -c /home/svnroot/repository/authfile 用户名

第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加

# htpasswd /home/svnroot/repository/authfile 用户名

加入新的用户,就不用-c了

2)权限分配

# vi /home/svnroot/repository/authz.conf

[groups]
admin=zhulinywj
guest=guest
[/]
@admin = rw
* = r
[public:/]
@admin = rw
@guest = r
* =
在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行

User daemon
Group daemon

将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行

User svnroot
Group svn

# /usr/local/apache2/bin/apachectl restart

访问http://localhost/svn/public

 
2008/03/12 22:46

网络传输速度的单位
我们一般说的百兆、千兆网络的单位是bps(比特率,即位/秒,bit/s),
比如我们说网卡或光纤的传输速度是百兆,也就是100Mbps的意思。
而在实际应用中(Widnwos、网际快车、迅雷等)使用的传输单位是字节/秒(Byte/s)。
电脑中1字节=8位,因此100兆的光纤速度等于12.5MB/s(即100Mbps/s除以8)。

这也只能是理论值,实际应用中还会受到诸多的影响,电磁,电脑,服务器,网络堵塞等,
一般来说只能达到理论值的七成至八成,有些的网卡能达到九成。

 
2008/03/12 22:45

1、关闭不需要tty

# vi /etc/inittab

关闭后4个控制台

禁止ctrl+alt+delete关闭命令

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

改动项生效:

/sbin/init q

2、关闭ipv6

# vi /etc/sysconfig/network

NETWORKING_IPV6=no

# vi /etc/modprobe.conf

alias net-pf-10 off
alias ipv6 off

3、关闭atime

# vi /etc/fstab

/dev/cache/cache0 /cache0               ext3    noatime,nodiratime        0 0

4、编译选项

参考:http://gentoo-wiki.com/Safe_Cflags#Xeon_w.2Fo_EM64T

# cat /proc/cpuinfo

64-bit profile (x86)

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -march=nocona -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

32-bit profile (x86)

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -march=prescott -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

5、减少TCP连接中的TIME-WAIT sockets

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

TCP状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 
2008/03/12 22:44

1、设置GCC编译参数

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -mcpu=pentium-m -march=pentium-m -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -msse2 -mmmx -Wall -W -mfpmath=sse -funroll-loops -mcpu=pentium-m -march=pentium-m -pipe -fomit-frame-pointer"

2、修改mysql 客户端最大连接数

vi sql/mysqld.cc
搜索找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},
将其中的100改为1500, 当然小点也可以,根据你的需要来,不建议改的太大。
{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},
保存

3、安装Mysql

# ./configure --prefix=/usr/local/mysql \
--localstatedir=/var/lib/mysql \
--with-comment=Source \
--with-server-suffix=-enterprise-gpl \
--with-mysqld-user=mysql \
--without-debug \
--with-big-tables \
--with-charset=gbk \
--with-collation=gbk_chinese_ci \
--with-extra-charsets=all \
--with-pthread \
--enable-static \
--enable-thread-safe-client \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--enable-assembler \
--without-innodb \
--without-ndb-debug \
--without-isam \
--enable-local-infile \
--with-readline \
--with-raid

# make && make install

# groupadd mysql

# useradd -g mysql -d /dev/null -s /sbin/nologin mysql

# adduser -g mysql -d /dev/null -s /sbin/nologin mysql

# cd /usr/local/mysql/

# bin/mysql_install_db --user=mysql

# chown -R root:mysql .

# chown -R mysql:mysql /var/lib/mysql

# cd share/mysql

# cp my-medium.cnf /etc/my.cnf

# cp mysql.server /etc/rc.d/init.d/mysqld

# chmod 755 /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

4、添加LIB PATH

# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf && ldconfig

5、启动Mysql

# /etc/rc.d/init.d/mysqld start

或者

# service mysqld start

6、设置Mysql的root密码

bin/mysqladmin -u root password 123456

修改root密码

mysql> USE mysql;

mysql> UPDATE user SET password=PASSWORD(’new_password’) WHERE user=’root’;

mysql> FLUSH PRIVILEGES;

7、设置root远程登录

# mysql -u root -p 123456

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by '123456' ;

8、关闭Mysql

# /etc/rc.d/init.d/mysqld stop

或者

# service mysqld stop

9、设置中文字符集

vi /etc/my.cnf

在[client]下面增加一行:
[client]
default-character-set = gbk

在[mysqld]下面增加三行:
[mysqld]
default-character-set = gbk
default-collation     = gbk_chinese_ci
init_connect          = 'SET NAMES gbk'

在[mysql]下面增加一行:
[mysql]
default-character-set = gbk

 
2008/03/12 22:43

linux操作系统为CentOS5.1

ftp软件源码包vsftpd-2.0.5.tar.gz

实现目标:

1) Upload目录可以上传,其他目录用户不能上传,仅能下载

2) 限定只有ftpuser可以登录FTP

3) 限定ftpuser登录后只能在安装时指定的目录,而不能进入其他目录

4) 限定用户ftpuser不能更改目录的文件的权限

5) 限定最大并发访问数为50,每个IP最多5个线程

6) 用户的下载速度为500KBytes/s

7) 超过600S没有动作就自动断线

8) 数据传输时超过120S没有动作自动断线

安装过程:

1.ftp软件源码包vsftpd-2.0.5.tar.gz上传到/usr/local/src下

2.在终端下,新建一个上传目录

mkdir /ftp/upload

3.改变目录的权限

chmod -R 755 /ftp/upload

4.添加一个新用户并使这个用户有root权限

useradd -d /ftp -s /sbin/nologin ftpuser

passwd ftpuser

chown ftpuser:root /ftp

5.跳转到/tmp目录下

cd /tmp

6.解压缩同时解归档

tar -xvzf vsftpd-2.0.5.tar.gz

7.跳转到vsftpd-2.0.5

cd vsftpd-2.0.5

8.编译及安装

make

make install

9.复制RedHat/vsftpd.pam到/etc/pam.d/ftp

cp RedHat/vsftpd.pam /etc/pam.d/ftp

10.新建/etc/vsftpd.conf配置文件

vi /etc/vsftpd.conf

在配置文件加入:

#绑定IP为192.168.0.188,其它IP不能访问

listen_address=192.168.0.188

#使用standalone启动vsftpd

listen=YES

#绑定到21端口

listen_port=21

#允许本地用户登陆

local_enable=YES

#全局配置可写

write_enable=YES

#用户上传的文件权限

local_umask=022

#使用20端口号来做数据传输

connect_from_port_20=YES

#锁定用户登录目录

chroot_local_user=YES

#所有用户登录目录

local_root=/ftp

#本地用户的下载速度为500KBytes/s

local_max_rate=500000

#客户端超过600S没有动作就自动断线

idle_session_timeout=600

#数据传输时超过120S没有动作自动断线

data_connection_timeout=120

#FTP欢迎信息

ftpd_banner=Welcome to FTP

#不检测SHELL

check_shell=NO

#可访问的最大client数目

max_clients=50

#每个ip的最大client数目

max_per_ip=5

#启用用户控制,vsftpd将在userlist_file里读取用户列表

userlist_enable=YES

#若userlist_deny为YES,则userlist_file中的用户将不能登录,

#为NO则只有userlist_file的用户可以登录

userlist_deny=NO

userlist_file=/etc/vsftpd.userlist

11.保存退出 :wq

12.编辑/etc下文件vsftpd.userlist

vi /etc/vsftpd.userlist

ftpuser

13.保存退出 :wq

14.服务启动

vsftpd &

15.查看服务状态

ps -A | grep vsftpd

16.测试:

--在windows打开IE输入:ftp://192.168.0.88,出现如下图1所示界面
clip_image002

1

--在windows中可以拷贝文件到ftp中,整个vsftp安装过程完成.

补充:

ftp监听在21端口,启用了20端口,启用了被动模式,被动模式开启65400~65410端口

防火墙设置

# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 65400:65410 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

# vi /etc/sysconfig/iptables

在commit前加入:-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 65400:65410 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

# /etc/init.d/iptables restart

注意iptables要允许OUTPUT

 
2008/02/15 11:07

大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的IP地址不一样,上班和回家后都得来回切换IP地址,两个字“麻烦”。最近在学Python,于是在网上查找是否Python能够胜任这份造福的工作,很幸运,找到了,这是网络上的一个实现方法,经测试通过,大家可以使用。

注:需要下面两个模块的支持,请朋友们下载自行安装

Tim Golden对WMI的包装模块

Python for Windows extensions(pywin32)

源码如下:

# -*- coding: cp936 -*-
#
# FileName: ModifyIP.py
# Date    : 2008-01-15
#

import wmi

print '正在修改IP,请稍候...'

wmiService = wmi.WMI()
colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled = True)

#for objNicConfig in colNicConfigs:
#    print objNicConfig.Index
#    print objNicConfig.SettingID
#    print objNicConfig.Description.encode("cp936")
#    print objNicConfig.IPAddress
#    print objNicConfig.IPSubnet
#    print objNicConfig.DefaultIPGateway
#    print objNicConfig.DNSServerSearchOrder

if len(colNicConfigs) < 1:
    print '没有找到可用的网络适配器'
    exit()
objNicConfig = colNicConfigs[0]

#for method_name in objNicConfig.methods:
#    method = getattr(objNicConfig, method_name)
#    print method

arrIPAddresses = ['172.16.151.147']
arrSubnetMasks = ['255.255.255.0']
arrDefaultGateways = ['172.16.151.1']
arrGatewayCostMetrics = [1]
arrDNSServers = ['172.16.151.10']
intReboot = 0

returnValue = objNicConfig.EnableStatic(IPAddress = arrIPAddresses, SubnetMask = arrSubnetMasks)

if returnValue[0] == 0:
    print '设置IP成功'
elif returnValue[0] == 1:
    print '设置IP成功'
    intReboot += 1
else:
    print '修改IP失败: IP设置发生错误'
    exit()
returnValue = objNicConfig.SetGateways(DefaultIPGateway = arrDefaultGateways, GatewayCostMetric = arrGatewayCostMetrics)
if returnValue[0] == 0:
    print '设置网关成功'
elif returnValue[0] == 1:
    print '设置网关成功'
    intReboot += 1
else:
    print '修改IP失败: 网关设置发生错误'
    exit()

returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder = arrDNSServers)
if returnValue[0] == 0:
    print '设置DNS成功'
elif returnValue[0] == 1:
    print '设置DNS成功'
    intReboot += 1
else:
    print '修改IP失败: DNS设置发生错误'
    exit()

if intReboot > 0:
    print '需要重新启动计算机'
else:
    print ''
    print '修改后的配置为:'
    print 'IP: ', ', '.join(objNicConfig.IPAddress)
    print '掩码: ', ', '.join(objNicConfig.IPSubnet)
    print '网关: ', ', '.join(objNicConfig.DefaultIPGateway)
    print 'DNS: ', ', '.join(objNicConfig.DNSServerSearchOrder)

print '修改IP结束'

功能上述已经实现了,现在我们再把它做成EXE执行文件,毕竟在Windows下,使用起来方便,一劳永逸呀!:)

1、建立编译文件setup.py

代码如下:

from distutils.core import setup
import py2exe

setup(console=['ModifyIP.py'])

2、进行编译

python setup.py py2exe

如果朋友们没有安装py2exe,请点击这里下载py2exe.exe并安装。注意要找对应于你所安装的python版本。

3、执行exe文件

编译以后会自动生成build和dist两个文件夹,生成的exe文件在dist文件夹中,我们只要保留dist文件夹下的所有文件(必须全部保留),build文件夹可以删除。

好了,我们用Python更改IP的小软件就做好了,以后来回切换就轻松多了,嘿嘿!!!

 
2008/01/29 21:00

今天登录CSDN,运气不错,哈!

 
   
 
 
文章分类
 
   
 
文章存档
 
     
 
最新文章评论
  

很赞啊,真的很详细,顺便问一句,BIOS出来后的截图是怎么弄的
 

哎,这个一定要顶,这8篇我都保存下来了。 非常有用啊。。
 

好东西。最近也在搭建squid应用,学习了
 

你这方法装一大堆东西,直接用cmd的 netsh interface ip set address 不是更快吗?
 

为什么不把code作者的邮箱还有姓名也放上来?可以删可不好
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu