NIS详解[转]

来源:http://linux.chinaunix.net/bbs/viewthread.php?tid=78260&extra=page%3D3%26amp%3Bfilter%3Ddigest

网络信息服务(NIS)是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。

提到NIS不得不先说明一下WINDOWS2000的域控制器,在局域网内有一台WIN2000域控制器,下面有一些机器加入到这个域中,在下的机器登录时,有一个选项是选择登入到本机还时登入到域内(应该是这么说的,有点记不清楚了,大概就是这个了),登入本地的密码有本机控制,但是如果登入域内,密码支有域控制器负责管理。
LINUX也是操作系统,跟WIN2000没有本质的区别,所以仔细读上段话,就能理解NIS是原理是什么样了,这时出现了一个重要的文件/etc/nsswitch.conf

NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。ypserv是回答客户端查询的服务器进程。
Read More »

yum服务器设置 — how to set up a yum repertory server

不得不说,RedHat的确很邪恶,如果我们直接用他自带的系统碟做YUM源的话,总是会得到类似下面的信息:

media://1192656534.547140%232/httpd-2.2.3-11.el5.i386.rpm: [Errno 4] IOError: <urlopen error unknown url type: media>
Trying other mirror.
Error: failed to retrieve httpd-2.2.3-11.el5.i386.rpm from rhel
error was [Errno 4] IOError: <urlopen error unknown url type: media>

不过,还好Linux是开源的,我们可以自己RH的rpm包自己来架设一个源。

首先,我们按照他的目前结构把光盘上所有的文件拷贝一份到服务器上(假设服务器目录为/yumrepo)

# mount /dev/cdrom /mnt
# cp -ar /mnt/* /yumrepo

然后,我们要先安装一个RPM包才能开始架设YUM仓库

# cd /yumrepo/Server
# rpm -ihv createrepo-0.4.4-2.fc6.noarch.rpm
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:createrepo             ########################################### [100%]

这个包安装之后,会生成一个新的命令:/usr/bin/createrepo,而这个命令是我下面必须要用到的。
首先生成最重要的东西,是最基本的RPM:

#cd /yumrepo/Server
# cp repodata/comps-rhel5-server-core.xml /root
# rm -rf repodata
# createrepo -g  /root/comps-rhel5-server-core.xml  .
2159/2159 - xorg-x11-drv-cyrix-1.1.0-4.i386.rpm       
Saving Primary metadata
Saving file lists metadata
Saving other metadata

comps-rhel5-server-core.xml这个文件保存的是分组的信息,这个是createrepo这个命令不能自动生成的,我们要先把这个信息保存下来。

然后其他的几个目录,Cluster,ClusterStorage,VT也按上面的方法做一次,要注意的是comps-rhel5-server-core.xml这个文件名会不相同,但都以comps开头。我们的YUM仓库到这里也就建好了。

接下来,我们要做的就是要设置/etc/yum.repo.d里面的内容了,大家按我这个里面的写就是:

[Server]
name=Red Hat Enterprise Linux Server Core
baseurl=file:///yumrepo/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=Red Hat Enterprise Linux Virtual Technology
baseurl=file:///yumrepo/VT
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Red Hat Enterprise Linux Cluster
baseurl=file:///yumrepo/Cluster
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux Cluster Storage
baseurl=file:///yumrepo/ClusterStorage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

当然,你也可以通过http与ftp方式把这个目录发布出去,那只要把相关的file:///yumrepo/这部分修改一下就可以了。

PS:
也可以修改这个文件:/usr/lib/python2.4/site-packages/yum/yumRepo.py中的411行来直接使用光盘做YUM仓库
比如我们上面的例子中,可改为:

remote = url + '/' + relative

改为:

remote = “/mnt” + '/' + relative

其中mnt为你光盘的挂载点

关于Mysql主从数据库的设置[转]

来源:http://caiying0504.javaeye.com/blog/176432

一般使用MySQL的时候,如果数据量不大,我们都使用一台MySQL服务器,备份的时候使用mysqldump工具就可以了,但是随着业务不断发展,问题出现了:
首先:数据量往往直线上升,单独一台数据库服务器开始出现性能的瓶颈,数据访问越来越慢。
其次:备份也变得困难了,因为mysqldump是导出一份文本文件,而数据量特别大的时候,这样的备份往往需要很长时间,可能有人会说,我们可以直接通过拷贝数据文件来备份数据库,这样很方便,快捷,不错,这样是比mysqldump方便快捷,但是,直接拷贝数据文件备份的方式要求我们必须先关闭mysql服务,然后再拷贝数据文件,否则,你拷贝的文件很可能是坏的。而实际运行的mysql服务往往要求在任何时候都不可以停止服务,所以这样的备份方式在此情况下不可行。
如果你遇到了类似上面的问题,你就可以使用建立MySQL主从服务器的方式来解决,下面先来看看主从服务器的设置:
前提:MySQL主从服务器最好使用相同的软件版本,以避免不不可预期的故障。

Read More »

七彩虹GT9500白金版 双显示器 驱动安装 问题

工作需要,公司有几天电脑要弄成双显示器,买了七彩虹的9500的显示卡。

安装驱动时却出了一件很奇怪的问题,安装完成后,想设置一下双显示,谁知道XP却突然报告显示卡不能使用,很是奇怪。

以后是安装驱动不得法,于是删除驱动,重启关掉所有程序 ,再次安装,还是出现这个问题。

后来,总算得出了答案:

原来,这种显示卡在安装驱动的时候,不能够接双显示器(起码加了DVI转VGA转接头的不行)。。。

CentOS下安装与配置nagios系统状态监控软件

这个东西以前装一个一次,但是中间没什么时间,也没怎么弄明白。前些天,要为公司架一个服务状态监控,这才又把这个捡起来了。

安装环境:CentOS 5.2 x86(只安装based systeam),无iptables,无SELinux
软件包:
nagios-3.0.3.tar.gz
nagios-plugins-1.4.12.tar.gz
check_snmp_plugins.tar.gz

安装httpd

yum install -y httpd

安装nagios

useradd nagios
tar -xvf nagios-3.0.3.tar.gz
cd nagios-3.0.3
./configure
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

安装nagios-plugins
这个安装也不能,常规,只是记得装上net-snmp-devel之后才开始编绎

yum install net-snmp-devel

其他就简单了

./configure
make
make install

配置nagios管理系统
创建nagios管理帐户

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

管理帐户是apache用户,然后在/usr/local/nagios/etc/cgi.cfg中配置
主要是下面几项,帐户之间用逗号(,)隔开

authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin

主配置文件
一直觉得nagios很烦,就是目前好像还没有听说他有什么插件可以通过web或者图形界面可以直观的添加服务或者主机,一切都要通过修改配置文件来实现。
nagios的主配置文件是/usr/local/nagios/etc/nagios.cfg,,配置完毕之一,可以用这个命令进行配置检查。

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

这个检查还是不错的,会具体告诉你是在哪个文件哪一行开始出错的,方便修改。

这个配置文件的说明很详细,基本上不用我怎么解释,我这就是说几个关键的地方
1. 指定包含的文件,差不多相当于apache配置文件里面的Include

cfg_file=/path/to/file

2.指定放置配置文件的目录,这个目录里面所有的文件都会被加载到nagios配置里面

cfg_dir=/path/

3.状态检查的时间间隔,单位为秒,默认是10秒。

status_update_interval=10

4.开启外部命令,建议打开,因为几乎所有的命令都是外面命令

check_external_commands=1

5.设置外部命令检查的时间间隔,默认单位是分钟,可以在数字后面加上一个s代表秒,设置成-1让其自行决定什么时候检查(官方的说法是as often as possible)

command_check_interval=-1

thinkpad下配置Ubuntu 804

Trackpoint
首先,搞一定最重要(呵呵,起码我认为最重要的),那就是Trackpoint也就是小红帽的中键,总是要到边上去拖滚动条的日子真是难受。

Section "InputDevice"
Identifier "Trackpoint"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
Option "EmulateWheel"          "true"
Option "EmulateWheelButton"    "2"
EndSection

无线网卡
这个我是用ndiswrapper来做的,许多网站上推荐的madwifi我一直没有搞成功,所以很是郁闷。不过,这个东西安装倒也是简单,只是在连接网络的时候比较耗时间
下载一个ndiswrapper-1.53.tar.gz,或者更高版本,解压,按照INSTALL文件的要求安装。
然后,从原来的Windows驱动中,找到原来的无线网卡的驱动(那个文件夹中应该有这三个文件:AR5211.SYS, NET5211.CAT, NET5211.INF, 我的无线网卡是 Atheros的,其他自己找吧),把整个文件夹都copy到Ubuntu里面,然后,运行这个命令:

ndiswrapper -i NET5211.INF

然后,再运行

ndiswrapper -l

应该可以看到类似下面的信息

net5211 : driver installed
device (168C:001C) present

这个时候,ndiswrapper的配置差不多算完成了
接下来就是让系统加ndiswrapper了,在INSTALL里面好像说是可以直接运行

modprobe ndiswrapper

但是我每次一运行这个就会down机,重启之后再运行才正常
而且,这个东西好像每次开机都可重新加载,最好是把他写入到/etc/rc.local里面
呵呵,还记得一点,千万别写在

exit 0

之后啊,没用的,我今天就为这个问题还郁闷了好久,呵呵。
不过,这之后的无线操作,跟Windows XP也就差不太远了,所以还算是方便的
对了,忘说了,这个可能会出现无线指示灯不亮的情况(起码我的灯没亮起来过),这个是没有关系的。你用

ifconfig -a

或者

iwconfig

能够看到无线设置就好了,应该是wlan0

麦克风
右击右上那个小喇叭的图标,选择“Open Volume Control”
在弹出来的对话框菜单中选择 ”Edit” — “Preferences”
然后,把“ Capture”与”Input Source”钩上,记得不要取消原来的东西(我的上面有两个Capture与Input Source,我都钩上了)。
关闭前一个对话框,这个时候,你应该可以看到多了两个选项,一个是”Recording” ,另一个是 “Options”。
选择”Recording”选项。把下面小喇叭与麦克风标志上的小红叉全部去掉,并把滑动条拖到最顶端。
再选择”Options”选项。把“Input Source”后面的选项改为”Internal Mic”(如果你喜欢外接麦克风的话,改为Mic)。
然后可以用Sound Recorder来测试麦克风是否工作了,记得录音之前,先把”Record from input”改为”Captaure“。
这个办法在Sound Recorder与Skype中测试通过

更多信息,大家可以参考这个
http://www.thinkwiki.org/wiki/Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_T61#Open_Source_Intel_Wifi_Driver
只不过,我发现他里面好多要做的工作,我这里都直接完成了
而那个关于无线指示灯的问题,我又用不了。。。

CentOS下配置PXE+Kickstart无人值守安装(Howto install CentOS through PXE+KickStart)

环境:CentOS 5.1 最小安装。

理论

来源:http://coolerfeng.blog.51cto.com/133059/48801

什么是PXE
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

PXE协议的成功运行需要解决以下两个问题:
1. 既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;
2. 通过什么协议下载Linux内核和根文件系统

对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。

这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。
Read More »

squid 2.6及更新版本的透明代理设置(web cache, 网页加速)

前段时间由于需要,要搭建一个web-cache服务器,开始打算用apache的mod_proxy来实现,结果发现在对URL的处理上,很让我们难看。

比如,我们我们的proxy地址是:cache.test.com,实际的地址是:www.test.com
下面的代码:

<a href="/index.php">something</a>

点击something时,
他居然给他链接到的还是http://www.test.com/index.php,而不是我期望的http://cache.test.com/index.php
而且,就效率来说,这个不是很理想。

后来,我们改用专业的squid来做这个

不过,在网上找了很多资源,都是squid2.5或者以前的版本,在squid.conf里面的定义根本就不一样。特别是国内的资料,都陈旧的不行了。找到的东西,在2.6里面根本就不能用。

最后,在这个地方找到了相关的资料
http://www.deckle.co.za/squid-users-guide/Accelerator_Mode#Accelerator_Configuration_Options

原来,从squid2.6开始,就全面不支持httpd_accel_*系统的定义,而将其全部更在了http_port的选项里面了(说实在的,现在的squid配置文件看起来比以前规范多了,以前我一看就头通,现在有条理多了)。

最简单的透明代理,我们只需要写下这句一句:

http_port 80 transparent

然后,将你要访问的网站指向这个squid服务器所在的地址就OK了

如果你要用来做专门一个网站的cache server,则可以用defaultsite选项,比如:

http_port 80 defaultsite=www.test.com

这样的话,不管你要通过个我proxy server访问什么网站,都会被转发到www.test.com,不是专用的web cache建议别用

其他的需求的话,还是可以用acl来控制的