[i=s] 本帖最后由 baizx 于 2010-1-29 09:31 编辑 [/i]
Ip 配置方法:
ip addr add dev eth0
ip link set dev eth0
vi /etc/rc.d/rc.local ifcongfig etho IP或者写个脚本
bash
再就是改/etc/sysconfig/network-scrips/ifcfg-eth0然后 ifdown eth0 再ifup eth0 或者service network restart 重启网卡服务 就不用重启LINUX了
SETUP 或者netconfig也可以
Linux下星际译王 stardict 的安装
“星际译王”是用Gtk2开发的跨平台的国际化的词典软件。它具有“通配符匹配”、“选中区取词”、“模糊查询”等强大功能。本文主要解说一下主程序和词库的安装;
一、什么是星际译王 stardict ;
“星际译王”是用Gtk2开发的跨平台的国际化的词典软件。它具有“通配符匹配”、“选中区取词”、“模糊查询”等强大功能。所以他不仅仅是汉英和英汉词典;目前星际译王的词库多多;但国人大多还是用英汉和汉英比较多;
官方主站: http://stardict.sourceforge.net
词库页面: 词库页面http://stardict.sourceforge.net/Dictionaries.php
中英字典: 中(简体)英词典http://stardict.sourceforge.net/Dictionaries_zh_CN.php
其它词典,请到词库存页面上查看;
二、安装星际译王 stardict;
1、安装主程序 stardict
您可以通过到官方直接下载 stardict 的RPM 包,也可以通过 yum 或apt 来在线安装stardict ;其实系统光盘映像中也有stardict的主程序包,只是没有词典;
[root@localhost beinan]# yum install stardict
或者直接下载rpm 包来安装;
[root@localhost beinan]#rpm -ivh stardict*
2、安装词典;
我们通过 中(简体)英词典下载所有的RPM 包,放在一个目录中,比如是stardict目录;执行安装命令;
[root@localhost stardict]# rpm -ivh stardict*.rpm
Preparing... ########################################### [100%]
1:stardict-xdict-ec-gb ########################################### [ 13%]
2:stardict-cdict-gb ########################################### [ 25%]
3:stardict-cedict-gb ########################################### [ 38%]
4:stardict-hanzim ########################################### [ 50%]
5:stardict-langdao-ec-gb ########################################### [ 63%]
6:stardict-oxford-gb ########################################### [ 75%]
7:stardict-stardict1.3 ########################################### [ 88%]
8:stardict-xdict-ce-gb ########################################### [100%]
3、调用stardict ;
[beinan@localhost stardict]$ stardict
加载字典详细信息如下:
bookname: 朗道英汉字典5.0 , wordcount 435468
bookname: XDICT英汉辞典 , wordcount 177842
bookname: stardict1.3英汉辞典 , wordcount 51214
bookname: CEDICT汉英辞典 , wordcount 23451
bookname: XDICT汉英辞典 , wordcount 160997
bookname: 牛津现代英汉双解词典 , wordcount 39429
bookname: CDICT5英汉辞典 , wordcount 57510
bookname: Hanzi Master 1.3 , wordcount 25992
4、其它词典的安装;
大同小异,自己下载,直接rpm -vih file.rpm 就能安装上;没有什么难的;
yum
举例:比如下载了一个没有签名的软件包,可以这样安装
1. yum --nogpgcheck install 软件包名称
复制代码
,
我一般习惯先su到root,再用yum。网上很多直接再普通用户下用yum的用法,这个例子就应该是这样的
1. su -c 'yum --nogpgcheck install 软件包名称‘
复制代码
我觉得如果要连续操作的时候还是先切到su方便些,不然老要输入密码,命令格式也显的复杂。如果只是安装一个软件的话网上流行的这种方法很好,装完之后自动退出到普通用户模式,安全性高。本文只是列出常用的操作,有些参数和命令没有涉及,不够应该是够用了。
新装好的系统应该简单配置一下yum,载入几个常用的插件,让它更好用
1. yum install yumex yum-presto yum-fastestmirror yum-security yum-allowdowngrade
复制代码
yumex yum的扩展,图形前端
yum-presto 增量包应用插件,有增量包的时候优先下载增量包,可以大大减少下载量
yum-fastestmirror 可以让yum选择速度最快的源(软件仓库)
yum-security 安全插件,具体功能我也不是很清楚
yum-allowdowngrade 允许软件降级的插件
yum是个功能强悍的包管理工具,命令语法很简单的:yum --操作参数 命令 包名称1 包名称2 .......,,有些操作也可以没有包名称(软件名) ,支持再在报包名称中使用通配符*来一次安装多个名称前端一致的软件包。 下面把操作参数和命令列出来,大多数时候没必要要操作参数的。
Options list (操作参数)
h, --help 显示帮助信息,并退出
-t, --tolerant 忍受发生的错误
-C 从缓冲中运行,而不是升级缓存
-R [minutes] 最大化的命令等待时间
-d [debug level] 调试输出级别
--showduplicates 显示复制, 在repo,list/search命令下
-e [error level] 错误输出级别
-q, --quiet 安静的操作
-y 回答所有的问题为是
--version 显示 YUM版本信息并退出
--installroot=[path] 设置为root安装
--enablerepo=[repo] 激活一个或多个仓库(支持通配符)
--disablerepo=[repo] 禁掉一个或多个仓库(支持通配符)
-x [package], --exclude=[package] 在名称或glob不包含包。
--disableexcludes=[repo] 禁掉出了这个之外的别的仓库
--noplugins 禁掉yum插件
--nogpgcheck 禁掉GPG验证检查,没有签名的软件安装加这个参数
--disableplugin=[plugin] 用名称禁掉插件
--enableplugin=[plugin] 用名称启用插件
--skip-broken 忽略包的依赖问题
--allow-downgrade 晕软件包降级
--disablepresto 禁用Presto 插件并且不下载任何增量包
list of Commands:(操作命令)
check-update 检查可提供的包升级
clean 删除缓存数据
deplist 列出包依赖相关
downgrade 降级一个软件包
erase 移除一个或多个包从你的系统
groupinfo 显示关于包组的细节
groupinstall 从组里安装软件包到你的系统
grouplist 列出当前的组
groupremove 在一个组中移除包从您的系统
help 显示帮助用法信息
info 显示关于包或一组包的细节信息
info-security 返回影响系统安全的数据
install 安装一个或多个软件包在你的系统
list 列出一个包或某组的包
localinstall 安装本地 RPM
makecache 生成原数据缓存
reinstall 重新安装一个包
repolist 显示软件仓库的配置
resolvedep 决定哪个包提供了给定的依赖
search 查找包细节居给定的字符串
shell 运行交互式的yum shell
update 更新一个或多个系统 中已安装的包
update-minimal 只升级安装最新的包,系统补丁
upgrade 升级整个系统,一般在系统版本升级的时候用
yum -y remove httpd
卸载多个相类似的软件时
yum -y remove httpd*
卸载多个非类似软件时
yum -y remove httpd php php-gd mysql
像windows下的快捷方式-刚摸索出来。
1.rpm包
rpm包一般在终端输入对应与以包名命名的命令
就可以起动,如,vi起动vi编译器,xmms起动xmms.........
下面讲一下怎样利用ln创建rpm包的快捷方式:
例如,rpm -ql gedit,看一下gedit的安装位置和其执行命令的位置
/etc/gconf/schemas/gedit.schemas
/usr/bin/gedit
。
。
。
上面显示了gedit在/usr/bin下,
好了,开始创建(注意大小写):
ln -s /usr/bin/gedit /root/Desktop/gedit
ok。上面的意思是把快捷方式放在桌面上,命名为gedit
其他rpm包,道理same!
2.tar.gz包
此包不能rpm -ql
拿我的gftp举例(我把rpm包的gftp卸了,装tar.gz的gftp包,在
/usr/local/gftp)
我也是新手,我是安装时候制定安装位置的,
在安装位置找到gftp
同样:
ln -s /usr/local/gftp/bin/gftp /root/Desktop/gftp
ok..........
3.
其他情况
有些安装包,以现在的技术,找不到它,
但我知道执行的命令--难道每次用都要输入执行命令?
不必,
在桌面上新建起动器,在命令框,输入执行它的命令
ok
双系统只有一个启动解决:
在双安装系统的时候 记得在格完盘后的启动项那里 一个是LINUX的 一个是以前的系统的要设置好
如忘记设置 可在/BOOT/GRUB下的menu.lst 或grub.conf
双系统时间不能同步:
问题主要是FC7中是启用了UTC时间。关闭UTC即可。
打开:/etc/sysconfig/clock
内容为:
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="Asia/Shanghai"
UTC=true
ARC=false
把 UTC=true 一行改为: UTC= false
保存,退出, 重启,恢得正常了。
也可以用右键点击时间栏,然后选择调整日期和时间,然后去掉时区下面的系统时钟使用UTC的选项,保存退出即可。
最好的办法还是装一个webmin可以同时调整系统时间和硬件时间,以及将系统时间和硬件时间同步,而且可以方便的管理系统其他的信息。
安装webmin的方法和使用,见
wenmin的网址
Linux硬件时间的设置方法(转载):
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=]
补充说明:在Linux
中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当
Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
参 数:
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date= 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息
Vista下安装LINUX
安装准备:1.磁盘分区。vista下用系统自带的分区工具分出2个新区,一个做根分区,一个做swap分区。Vista系统有个UAC的东西,要先把这个东西关了。进入控制面板>用户帐户和家庭安全>用户帐户>打开或关闭用户帐户控制。右键单击桌面“计算机”图标,选择“管理”,进入“计算机管理”窗口,选择“存储”-“磁盘管理”。查看硬盘分区,分出两个空白分区,最好是最后的两个区。xp下用相应的分区工具。更多磁盘分区知识,请参考 零命令玩转Ubuntu 8.04 之 安装篇 (准备知识)2.下载文件。下载一个最新grub for dos ,下载ubuntu8.04安装文件,ubuntu-8.04.1-desktop-i386.iso ,ubuntu-8.04.1-alternate-i386.iso,ubuntu-8.04.1-dvd-i386.iso 三个文件都可以,只不过后面操作稍有不同。安装过程:SP1 不能双系统(其实是过于麻烦)1.解压grub4dos文件夹中的grldr,grldr.mbr,menu.lst到C:\ 。 备注:menu.lst不复制也行,自己用记事本新建一个文件另存为menu.lst。C盘格式为ntfs或者fat32都可以安装。2.把ubuntu安装程序放到c盘根目录下,解压缩ISO文件中的casper目录内的initrd.gz和vmlinuz两个文件,并将其复制到C盘根目录下。如果下载的是desktop版,除了以上文件外,还需要把ISO镜像中的.disk目录也复制到C盘根目录下。3.把grub添加到系统启动菜单。vista和xp下的操作不一样。 vista下:在cmd中输入以下命令: bcdedit /create /d "GRUB4DOS" /application bootsector 命令结果应该会返回一个GUID,后面的命令用到这个GUID bcdedit /set {GUID} device partition=C: bcdedit /set {GUID} path \grldr.mbr bcdedit /displayorder {GUID} /addlast xp下:在C盘根目录系统文件boot.ini的最后加上一行:c:\grldr=”GRUB4DOS“ 如果boot.ini中的timeout值为零,把它设置为大于0的数字,例如timeout=30,然后保存。 注意:boot.ini文件一般是隐藏的,你需要在文件夹选项中设置显示所有文件,或者在cmd中使 用以下命令来去掉boot.ini的隐藏属性:attrib -s -r -h c:\boot.ini4.用记事本编辑刚才复制的menu.lst(如果没有复制,就新建一个),粘贴以下内容:color black/cyan yellow/cyantimeout 30default /defaulttitle Microsoft Windows Vistaroot (hd0,0)savedefaultmakeactivechainloader +1title Install Ubunturoot (hd0,0)kernel=/vmlinuzinitrd=/initrd.gztitle rebootsavedefault --wait=2reboottitle haltsavedefault --wait=2halt如果是alternate和dvd的,直接复制粘贴上面的代码。如果是desktop的,把红色代码替换为:title Install Ubunturoot (hd0,0)kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-8.04.1-desktop-i386.isoinitrd /initrd.gz备注:如果第一个分区是系统还原分区,C盘在第二个分区,把(hd0,0)改为(hd0,1)。如果desktop安装过程提示找不到文件,检查你下载的文件名是否和iso-scan/filename=/ubuntu-8.04.1-desktop-i386.iso中的文件名一样,如不一样,修改代码。5.重新启动电脑,启动菜单多了一个GRUB4DOS选项,进入后选Install Ubuntu。 安装过程中可以参考 ubuntu中文wiki的” 写给ubunt新手 “或者网上其他图文教程,主要是磁盘分区过程。后面有一个步选择安装软件时,普通用户选desktop就可以了。 最后一步可以把grub写入mbr,用grub引导vista和ubuntu双系统,也可以跟我一样,写在linux分区,用vista的启动管理器引导grub,再用grub引导ubuntu。 如果网速不快,安装时可以拔掉网线。如果自动配置了网络,在后来apt-get下载软件时,速度很慢,可以 Ctrl+Alt+F2 ,sudo pkill apt-get ,Alt+F7。6.重启,进入vista,编辑menu.lst,添加ubuntu启动项。title Start Ubuntu 8.04root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro quiet splashinitrd /boot/initrd.img-2.6.24-19-generic如果懒得重复修改menu.lst,直接复制我下面的。重启进入GRUB4DOS,选择Start Ubuntu 就能登陆ubuntu系统了。包括各种ubuntu的安装和启动菜单的menu.lst:color black/cyan yellow/cyantimeout 30default /defaulttitle Microsoft Windows Vistaroot (hd0,0)savedefaultmakeactivechainloader +1title Start Ubuntu 8.04root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro quiet splashinitrd /boot/initrd.img-2.6.24-19-generictitle Start Ubuntu 8.04 (rescue)root (hd0,5)kernel /boot/vmlinuz-2.6.24-19-generic root=/dev/sda6 ro single quiet splashinitrd /boot/initrd.img-2.6.24-19-generictitle Install Ubuntu (alternate / dvd)root (hd0,0)kernel=/vmlinuzinitrd=/initrd.gztitle Install Ubuntu 8.04 (desktop)root (hd0,0)kernel /vmlinuz boot=casper iso-scan/filename=/Ubuntu-8.04.1-desktop-i386.iso quiet splash ro locale=zh_CN.UTF-8initrd /initrd.gztitle rebootsavedefault --wait=2reboottitle haltsavedefault --wait=2halt备注:代码中红色部分需要根据自己的实际情况进行更改。1. 一处是hd(0,5),对应的是sda6 hd(0,5) 是指第一硬盘的第6分区,对应于ubuntu,就是sda6。 hd(1,2) 是指第二硬盘的第3分区,对应于ubuntu,就是sdb3。 GRUB 要求设备名被括在一个 ( ) 中。fd表示软盘,hd 表示硬盘(不区分 IDE 还是 SCSI)。其次设备是从 0 开始编号,分区也是如此,分区和设备之间用一个 ‘,’ 分开。 ""注意"":"root"必须指向你的'/boot/'分区,如果你有的话。没有,则指向'/'分区。2. kernel和initrd后面的红色数字为内核版本,安装过程中需要留意一下,如果是8.04.1的话,应该是2.6.24-19 ,如果是其他内核,请自己修改一下。
tips:硬盘分区简单介绍
1. 硬盘分区 一块硬盘可以分为四个主分区,或三个主分区加上一个扩展分区。扩展分区其实只是一个容器,我们实际上并不直接使用扩展分区。在扩展分区内,我们可以继续划分逻辑分区。一般的认为在一个扩展分区内,能分出无数个逻辑分区。正因为有了逻辑分区,一块硬盘才能被分成很多个分区。
2. Linux中的硬盘分区 与Windows不同,Linux并不是用C, D, E, F等盘符来标识每一个分区的,而是用一系列设备文件来标识----Linux把一切硬件设备都当成文件。比如,Linux下,四个主分区分别对应/dev /sda1, /dev/sda2, /dev/sda3, /dev/sda4。其中/dev是设备文件所在的目录,sd代表SCSI Disk,a代表第一个SCSI设备,数字1,2,3,4分别代代表了四个主分区。如果你不知道什么是SCSI Disk,不用担心,因为你并不需要知道它究竟是什么。通常,如果你的电脑中只有一块硬盘,那么,这块硬盘一定是/dev/sda。
可能你以前接触过Linux,或曾经在一些老旧的资料中看到过/dev/hda代表第一个主IDE通道上的硬盘,……你现在已经无需知道这些了。因为 Ubuntu已经取消了用hd和sd区分不同类型的硬盘的机制,取而代之的,用sda统一代表电脑中的第一块硬盘。
Linux下,/dev/sdaX中的数字X的编号是有限的。在Linux下,最大的分区编号是16。因此,主分区和扩展分区编号占用 1~4,逻辑分区占用5~16。即使你的硬盘中只有一个主分区(如,/dev/sda1)和一个扩展分区(/dev/sda2),剩下的两个主分区编号: /dev/sda3, dev/sda4 也不会分配给逻辑分区。第一个逻辑分区一定是从/dev/sda5开始编号的。这点与Windows下盘符的编制类似。如:A盘一定是3.5英寸软驱,B 盘一定是5.25英寸软件,而从C盘开始才是硬盘分区。即使电脑上没有软驱,第一个硬盘分区的编号也是C,而不是A。
XP下安装:
最近安装了Fedora11,遇到不少的困难,也走了很多弯路,在这里总结下。
一、安装准备
我是在windowsXP下安装的F11,就是装个双系统。
首先给系统分区,我是分了三个区: 使用了分区魔术师
1、主分区,就是挂载“/”根目录的分区,给了15G。
2、挂载“/tmp”目录的分区,因为在装软件的时候经常要求/tmp文件有一定的空间,所以,我就单独给了它一个分区,2G。
3、swap分区,交换分区,这个必须要有的,一般是内存空间的2倍,我的内存2,所以划给它4G。
总共20G。
4,当然你也可以不需要先分区,但是一到定要 删除 WIN的一部分分区留给LINUX。安装的时候手动分区就好
二、下载镜像
我是在F10的官方网站http://fedoraproject.org/zh_CN/get-fedora下载的那个3G多的,就是Upgrade to Fedora 10 from an older version这个,还有一个685M的liveCD,可以制作CD,DVD啥的,从光盘安装,这里我用了个分量大的,从硬盘安装。(很明显两个里面的目录结构是不同的)。
下载之后将它放在一个FAT32格式的硬盘下,一定是FAT32,要不然安装的时候找不到文件。从中提取几个必要的文件,isolinux文件夹中的vmlinuz和initrd.img,为了文件目录的完整性,直接解压出文件夹就行了,放在跟镜像同一个目录下。还有一个images文件夹,也解压到同一个目录下。
文件目录:
Fedora-11-i386-DVD.iso
isolinux
images
三、grub4dos的使用
grub for dos 可以帮助你引导安装linux,如果想详细了解什么是grub4dos可以去百度下。
http://www.52zhe.cn/read.php/213.htm
我是下载的grub4dos-0.4.4,这是个绿色版的。
从中提取三个文件: grldr , , menu.lst放在C盘下,其实是放在FAT32文件系统的盘下就行,我就放在C盘下,用完了可以删除。 打开文件menu.lst,在文档的末尾添加如下代码
title Install-Fedora11
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img
这3条命令最好抄下来,如果是第一次安装的话。
然后打开我的电脑->右击属性->高级->启动与故障恢复->高级->编辑,打开boot.ini文件,在文件最后添加
C:\grldr="GRUB"
确认之后,可以重启了,启动之后就可以看到grub启动的选项,进入后,可以看到很多选项,当然我们选择刚才配置的最后一项Install-Fedora11,进入,就可以安装Fedora11了,至此第一步完成。
故障处理:
如果不小心弄坏了,但是还有grub提示,那么可以进入grub命令行依次输入:
root (hd0,0)
makeactive
chainloader +1
boot
就可以重新进入Windows了。
如果没有在menu.lst中添加上面的代码,在选项中找不到Install-Fedora11这项,也可以进入命令行,依次输入:
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img
boot
就行了。
如果在安装的过程中因为人为原因或者自然原因导致安装没完成就机器断电了,使其MBR表损坏不能进入任何系统,任何界面。
可以使用PE进入系统然后安装DiskGenius 修复 MBR 重启 ,OK! 又可以进入WINDOWS XP了!呵呵……
sensors(cpu温度)
groupadd (建立组)
groupdel (删除组)
mv (移动或更名现有的文件或目录)
cp(copy)
find (查找)
tar(解压)
gzip (压缩)
zip (压缩)
unzip(解压缩zip文件)
su -l(变量也跟过来)
uname -a (查看系统是 32 还是64)(686 386=32;86_64 64 大概)
pklill (群杀进程)
date (日期显示与添加修改)
useradd (建立用户)passwd (建立密码) -d(删除密码)
userdel (删除用户)
;(例子)#(注销)(vi 某个文件里)
#(注销) “”(如有文档 -AX 之类的无法删除则加)
cat (把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
rm -rf(强制删除)
mkdir(建目录)mkdir --mode(-m)=666 dir2 (建出来的目录权限) -p(确保路径目录存在)
touch(建文件)
ls -lh (查看文件大小) ls -l=ll
DF -m (查看磁盘使用M)df(查看是否正确mount)
ifdown ifup (关闭启动 网卡)
ntsysv setup 网络配置
vi /etc/inittab(修改 3 5 )
set nu(加上数字)
startX=init 5(进入图形界面)
mount (挂载)
umount (卸载)
chgrp (变更文件所属组)
chmod(变更文件目录权限)
chown (变更文件或目录的拥有者或所属群组。)
chkconfig --list dhcpd(查看级别)
chkconfig --level 35 dhcpd on(提升DHCP 3 5 on)
ps -e(查看所有进程)
arp (使用前先PING一下)
vi /etc/rc.d/rc.local(启动时候最后的脚本)
system-config-packages(在图形界面下安装各种服务)
pwd(查看绝对路径)
vi -o 文件1 文件2(同时打开两个文件)
vi -o 1.txt 2.txt
rpm -qa | grep XXX(安装多少系列软件)
rpm -ql XXX(软件安装到哪里)
grep -v "^#" /etc/samba/smb.conf |grep -v "^;"(查看SMB有效命令)
yum upgrade(升级整个系统)
yum update(升级已经有的包)
linux内核升级后如何删除旧的内核
用fdisk -l ;df -lh ;more /etc/fstab来确认分区情况;
inux下为php添加GD库的步骤如下:一、下载
gd-2.0.33.tar.gz http://www.boutell.com/gd/jpegsrc.v6b.tar.gz http://www.ijg.org/libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/php-4.3.9.tar.gz http://www.php.net
安装步骤:安装libxml # tar -zxf libxml2-2.6.19.tar.gz# cd libxml2-2.6.19# ./configure (xml默认安装就可以,不要指定路径了,因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本) # make # make install 安装zlib # tar -zxf zlib-1.1.3.tar.gz# cd zlib-1.1.3# ./configure --prefix=/usr/local/zlib (注意,如果您以前没有安装zlib,可以不指定路径,我是没有删除以前的低版本才指定的!以下雷同!) # make # make install 安装jpeg # tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b/ # ./configure --prefix=/usr/local/jpeg# make # make install-lib 如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹 错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/include/jconfig.h’: 没有那个文件或目录 make: *** [install-headers] Error 1 # mkdir /usr/local/jpeg# mkdir /usr/local/jpeg/include # mkdir /usr/local/jpeg/lib # make install-lib # make install 安装时如果错误提示: /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/lib/libjpeg.a’: 没有那个文件或目录 make: *** [install-lib] Error 1 创建如下文件夹: # mkdir /usr/local/jpeg/lib # make install /usr/bin/install -c cjpeg /usr/local/jpeg/bin/cjpeg /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/bin/cjpeg’: 没有那个文件或目录 make: *** [install] Error 1 # mkdir /usr/local/jpeg/bin /usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg/man/man1/cjpeg.1 /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg/man/man1/cjpeg.1’: 没有那个文件或目录 make: *** [install] Error 1 # mkdir /usr/local/jpeg/man # mkdir /usr/local/jpeg/man/man1 # make install 好了,直到安装成功! 安装libpng: # tar -zxf libpng-1.2.29.tar.gz# cd libpng-1.2.29.tar.gz # ./configure --prefix=/usr/local/libpng# make # make install 安装freetype: # tar -zxf freetype-2.3.5.tar.gz # cd freetype-2.3.5 # ./configure --prefix=/usr/local/freetype # make # make install 安装gd库: # tar -zxf gd-2.0.35.tar.gz # cd gd-2.0.35.tar.gz # ./configure --prefix=/usr/local/gd --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/ (请指定及格插件的安装路径,否则安装php的时候可能出错!) # make # make install
安装GD可能出现的错误:
当make 时出现 configure.ac:64: error: possibly undefined macro: AM_ICONV
下载gettext-devel-0.14.1-13.i386.rpm,然后安装上就行了.
重新安装编译php5: # tar -zxf php-5.1.4.tar.gz # cd php-5.1.4 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir=/usr/local/libpng/ --with-gd=/usr/local/gd/ --with-freetype-dir=/usr/local/freetype/ --enable-trace-vars --with-zlib-dir=/usr/local/zlib/ -with-mysql=/usr/local/mysql
内核下载删除:
首先我们需要查看一下当前使用的是哪个内核:
uname -r 该命令会告诉你当前使用的内核版本
接下来,如果你是自己动手编译的内核的话,请删除以下文件和文件夹
1. 删除掉/lib/modules/目录下过时的内核库文件
2. 删除掉/usr/src/kernels/目录下过时的内核源代码
3. 删除掉/boot目录下启动的核心档案以及内核映像
4. 更改/boot/grub/menu.lst,删除掉不用的启动列表
如果你使用的是yum或者rpm包管理器更新的话
rpm -qa | grep kernel* 查找所有linux内核版本
rpm -e kernel-(相要删除的内核版本)
用rpm命令行删除的话会遇到依赖关系问题,也就是说如果卸载的时候出现不让卸载的情况,请使用
rpm -e --nodeps kernel-(要删除的版本) 不检查依赖关系直接删除
或者:
yum remove kernel-(要删除的版本)
建议用这个来删除,它会提示所有的依赖关系,如果你确认他会把这些相关的文件全删了,即卸载的很干净。
在CentOS 5.3 命令行中显示中文
第一,打开语系支持文件:#vim /etc/sysconfig/i18n
LANG="en_US.UTF-8” ← 找到这一行,将“UTF-8”,改为"GB2312"
第二,安装中文环境的shell : 首先安装libstdc++.so.5包:# yum install libstdc++.so.5
再下载zhcon:# wget http://nchc.dl.sourceforge.net/sourceforge/zhcon/zhcon-0.2.3-1.i386.rpm
安装下载的zhcon:# rpm -ivh zhcon-0.2.3-1.i386.rpm
完了,用zhcon 命令就可以显示中文了。
http://linux.chinaunix.net/techdoc/desktop/2008/09/22/1033890.shtml
如果通过 SSH 方式登录服务器,比如用PuTTY登录,不必安装 zhcon就能够实现中文显示,详情请见:Putty中文教程
用putty登录,这样上面wget那段地址就可以直接复制去,不必一个个敲到命令行界面里
?置 ?置在Linux?的?名
IDE硬碟? /dev/hd[a-d]
SCSI/SATA/USB硬碟? /dev/sd[a-p]
USB快?碟 /dev/sd[a-p](?SATA相同)
?碟? /dev/fd[0-1]
印表? 25?: /dev/lp[0-2]
USB: /dev/usb/lp[0-15]
滑鼠 USB: /dev/usb/mouse[0-15]
PS2: /dev/psaux
?前CDROM/DVDROM /dev/cdrom
?前的滑鼠 /dev/mouse
磁?? IDE: /dev/ht0
SCSI: /dev/st0
网卡:
/etc/sysconfig/network
???案主要的功能在於?定『主?名?( HOSTNAME )??? Network ?否』!一般??,如果您??????案?的主?名??,??必重新?? (reboot), 因???才??系?上面所有的程式都使用最新?定的主?名?喔!( 在 SuSEL 上面,主?名?是??在 /etc/HOSTNAME ?面的!)
/etc/sysconfig/network-scrips/ifcfg-eth0
???案的?容即是?定?路卡??的?案啦!?面可以?定『network, IP, netmask, broadcast, gateway, ???的 IP 取得方式( DHCP, static ), 是否在??的?候??』等等。至於 ifcfg-eth0 指的是第一??路卡,而第二??路卡? ifcfg-eth1 以此?推。(在 SuSE 上面?是使用 /etc/sysconfig/network/ifcfg-eth0 )。
/etc/modprobe.conf
如果硬?要能?作,?然要核心有支援才行!同?,我?也可以利用外?的核心模? (可以?他想成是??程式) ???硬?,而???用??定?入核心模?的?案就是 modprobe.conf 啦。一般??,目前的 distributions 通常使用模?的方式????路卡??程式,所以, ?您安?完?後,您的?路卡?模???通常已??到???案?中?!
/etc/resolv.conf
我?在?路基??面稍微提到的 DNS 功能是什???啦, 就是?行主?名?? IP 的??!而 resolv.conf 就是?定 DNS IP (名?解析伺服器) 的?案, 常常有人提到『咦!我已?可以 ping 到外部??的公共 IP 了,?何?入?址??法???』 通常?生的??就是???案?面的?定不正?啦!?注意! 通常???案可以?入中??信的 DNS ( 168.95.1.1 )!
/etc/hosts
???案可以????的 IP ??主?的名?或者主?的?名!特?留意的是, 在?域?路?有些服?需要反查 Client 的身份,此?就??用到主?名??? IP 的?料。 但是因??域?路?使用私有保留 IP ,?然?法?行 Hostname ?? IP 的行?, ???候?服?就?呆呆的等待 30~60 秒~如果可以避???反查,或者是直接告?主? Hostname ? IP 的??,那?就可以?省??反查的??了!所以,如此一?省去反查的??,就可以改善 LAN ?的??速度了!?? hosts 就是用??定 Hostname ?? IP 的啦! 更多的???查?後?伺服器章? DNS 伺服器的介?。
/etc/services
???案?是??架?在 TCP/IP 上面的???定,包括 http, ftp, ssh, telnet 等等服?所定?的 port number ,都是???案所??出?的。如果您想要自?一?新的?定? port 的??,就得要改???案了;
/etc/protocols
???案?是在定?出 IP 封包?定的相??料,包括 ICMP/TCP/UDP ?方面的封包?定的定?等。
大概知道上面????案後,未?要修改?路???,那就太??了! 至於?路方面的??指令的?,可以?得????的指令即可喔!
/etc/init.d/network restart
?? script 最重要!因?可以一口?重新??整??路的??! 他?主?的去?取所有的?路?定?,所以可以很快的恢?系???的??值。
ifup eth0 (ifdown eth0)
??或者是??某??路介面。可以透?????的 script ??理喔! ??? script ?主?到 /etc/sysconfig/network-scripts/ 目?下, ?取??的?定???理啊! (例如 ifcfg-eth0)。
IDE\Jumper Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd
GRUD加密
etc/grub
password=xxxxx
/sbin/grub-md5-crypt
password --md5 xxxxxx(你得到的那串数字)
default=0
timeout=10
passwd=123456
splashimage=......
title......
root......
kernel......
initrd(AS5此处有点不同)/initrd......
password=123456
:wq
(解压源安装):
tar.gz tar zxvf
tar.bz2 tar jxvf
cd 解压目录
./config
make
make install
RPM(Red Hat Package Manager)
命令:rpm
1、查询、检查软件包
rpm {-q|--query} [select-options] [query-options]
rpm {-V|--verify} [select-options] [verify-options]
2、安装、升级、删除软件包
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
[--notriggers] [--repackage] [--test] PACKAGE_NAME ...
3、其他
rpm {--initdb|--rebuilddb}
rpm {--addsign|--resign} PACKAGE_FILE ...
rpm {--querytags|--showrc}
rpm {--setperms|--setugids} PACKAGE_NAME ...
RPM(Red Hat Package Manager)
命令:rpm
select-options
[PACKAGE_NAME] [-a,--all] [-f,--file FILE]
[-g,--group GROUP] {-p,--package PACKAGE_FILE]
[--fileid MD5] [--hdrid SHA1] [--pkgid MD5] [--tid TID]
[--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
[--whatprovides CAPABILITY] [--whatrequires CAPABILITY]
query-options
[--changelog] [-c,--configfiles] [-d,--docfiles] [--dump]
[--filesbypkg] [-i,--info] [--last] [-l,--list]
[--provides] [--qf,--queryformat QUERYFMT]
[-R,--requires] [--scripts] [-s,--state]
[--triggers,--triggerscripts]
verify-options
[--nodeps] [--nofiles] [--noscripts]
[--nodigest] [--nosignature]
[--nolinkto] [--nomd5] [--nosize] [--nouser]
[--nogroup] [--nomtime] [--nomode] [--nordev]
RPM(Red Hat Package Manager)
命令:rpm
install-options
[--aid] [--allfiles] [--badreloc] [--excludepath OLDPATH]
[--excludedocs] [--force] [-h,--hash]
[--ignoresize] [--ignorearch] [--ignoreos]
[--includedocs] [--justdb] [--nodeps]
[--nodigest] [--nosignature] [--nosuggest]
[--noorder] [--noscripts] [--notriggers]
[--oldpackage] [--percent] [--prefix NEWPATH]
[--relocate OLDPATH=NEWPATH]
[--repackage] [--replacefiles] [--replacepkgs]
[--test]
【示例】
rpm -v 显示rpm程序的详细信息
rpm --version 显示rpm的版本号
rpm -qa 显示系统中安装的所有软件包
rpm -q gcc 查询指定软件包是否已安装
rpm -qi gcc 显示指定软件包的详细信息
RPM(Red Hat Package Manager)
命令:rpm
rpm -ql gcc 显示指定软件包所包含的文件列表
rpm -qf /usr/lib/bash 查看指定文件所属的软件包
rpm -qp /tmp/webmin.rpm 查询RPM包文件中的文件信息
rpm -i webmin-1.290-1.noarch.rpm 安装指定的RPM包
rpm -ivh webmin-1.290-1.noarch.rpm 安装并显示详信息
rpm -ivh --test webmin-1.290-1.noarch.rpm 对安装进行测试,并不是安装
rpm -ivh --replacepkgs webmin-1.290-1.noarch.rpm
软件包重复安装将会失败,若仍需要安装必须加--replacepkgs
rpm -ivh --replacefiles webmin-1.290-1.noarch.rpm
软件包的某个文件已在安装其他软件包时安装过,则安装将会失败,若仍需要安装必须加--replacefiles
rpm -ivh --nodeps webmin-1.290-1.noarch.rpm
软件包所依赖的软件包未安装,则安装将会失败,若仍需要安装必须加--nodeps
rpm -ivh --force webmin-1.290-1.noarch.rpm 强制安装指定软件包
(忽略软件包依赖性和文件冲突,不建议)
RPM(Red Hat Package Manager)
命令:rpm
rpm -U webmin-1.29 升级指定的软件包
rpm -Uvh webmin-1.29 升级指定的软件包(显示详细信息)
rpm -e webmin-1.29 删除指定的软件包
rpm -V webmin 验证软件包webmin
rpm -Vf /bin/vi 验证包含指定文件的软件包是否正确
rpm -Va 验证所有已经安装的软件包
rpm -Vp webmin.rpm 利用RPM文件验证软件包
注:如校验正确将没有任何输出(.表示验证通过)
5 MD5校验
S 文件尺寸
L 符号链接
T 文件修改日期
D 设备
U 用户
G 用户组
M 模式(包括权限和文件类型)
webmin 安装
rpm -ivh /mnt/Server/ perl-5.8.8-10.i386.rpm
http://www.openssl.org/source/
tar zxvf openssl-0.9.8e.tar.gz
cd openssl-0.9.8e
./config
make
make install
http://search.cpan.org/dist/Net_SSLeay.pm/
tar zxvf Net_SSLeay.pm-1.30.tar.gz
cd Net_SSLeay.pm-1.30
perl Makefile.PL
make install
(如果64系统下 怎么都不行 那么 使用 yum -y install perl-Net-SSLeay 来安装)
http://prdownloads.sourceforge.net/webadmin
rpm -ivh webmin-1.350-1.noarch.rpm
(tar包 解压后 进入目录后使用./setup.sh 来安装 一路回车 后默认ADMIN)
问https://Linux服务器的IP或域名:10000/
as4.0
DHCP的配置:(无主配置文件!需要COPY)
ifconfig eth0 (查看Eth0的IP)
rpm -qa | grep dhcp
df(看光盘是否挂载)
mount /dev/cdrom /mnt
rpm -ivh dhcp-.....
rpm -ql dhcp
/etc/rc.d/init.d/dhcpd(启动脚本)
cp /usr/share/doc/dhcp-3.01/dhcpd.conf.sample(模板文件) etc/dhcpd.config (生成配置文件)
man dhcpd.conf(说明)
service dhcpd restart(重启)
service dhcpd status(查看状态)
租约文件dhcpd.leases中记录了DHCP服务器向DHCP客户机提供租用的每个IP地址的信息
# tail -7 /var/lib/dhcp/dhcpd.leases
具体配置:
# cat /etc/dhcpd.conf
ddns-update-style ad-hoc;(全局设置中一定要包括ddns-update-style设置项,dhcpd才能够正常启动)
default-lease-time 21600;(缺省租约时间使用default-lease-time参数设置,参数值的单位是秒)
max-lease-time 43200;(最大租约时间使用max-lease-time参数设置,参数值的单位是秒 )
option domain-name "abc.com";(主机所在域的名称使用domain-name选项进行设置)
option domain-name-servers 192.168.1.1;(DNS服务器的IP地址使用domain-name-servers选项进行设置)
subnet 192.168.1.0 netmask 255.255.255.0 {(subnet关键字后面设置子网的网络地址,netmask关键字后面设置子网的掩码) range 192.168.1.100 192.168.1.200;(subnet中可供动态分配的IP地址范围使用range配置参数设置)
option subnet-mask 255.255.255.0;(subnet-mask选项设置子网内分配IP地址的子网掩码)
option routers 192.168.1.1;(routers选项设置给DHCP客户端分配的IP地址所使用的缺省网关地址)
host Server01 { (host关键字后面需要为DHCP客户端主机设置主机名称)
hardware ethernet b0:c0:c3:22:46:81;(hardware参数在host声明中用于指定客户端主机的物理地址)
fixed-address 192.168.1.11;(fixed-address参数在host声明中用于指定为客户端分配的固定使用的IP地址)
}
}
主机拥有多个网络接口时需要在文件中指定提供dhcp服务的网络接口
在/etc/sysconfig/dhcpd文件中设置
DHCPDARGS=
为
DHCPDARGS=eth0
eth0是提供dhcp服务的网络接口名称
设置网络接口文件
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NIS
rpm -ivh ypserv-。。。。。。
NIS服务器的运行需要time和time-upd服务的支持
vi /etc/sysconfig/network(改域名
NISDOMAIN=XXX
rpm -ivh xinetd-...
service xined start
rpm -ivh portmap-......
service portmap start
chkconfig time on
chkconfig time-udp on
service xinetd restart
vi /etc/ypserv.conf(改配置文件)
:set nu
127.0.0.0/255.255.255.0 : * : * : none
192.168.1.0/255.255.255.0 : * : * :none
*:*:*:deny
:wq
vi /var/yp/securenets(安全配置文件只写允许)
host 127.0.0.1
255.255.255.0 192.168.1.0
service portmap status
/etc/rc.d/init.d/ypserv restart
/etc/rc.d/init.d/yppasswdd restart
建在客机器的登陆
user baizx
passwd baizx
123456
构建数据库
/usr/lib/yp/ypinit -m
客户端
rpm -qa ypbind
nisdomainname xxx
vi /etc/yp.conf
domain bai server 192.168.1.1
vi /etc/nsswich.conf
:set nu
33 nis 34 nis 35 38 nis
service ypbind restart
login baizx
NFS AS5
vi /etc/exports
/home 192.168.1.0/24(rw)
9.0
mount -t nfs 192.168.1.1:/home /home
VSFTP
匿名
不能上传
安装VSFTPD-XXX-XXX
touch/var/fto/111
chmod 777 111
ifconfig eth0 192.168.1.1
客户机
ifconfig eth0 192.168.1.2
ftp 192.168.1.1
匿名登陆 anonymous ftp
>get mget
本地
useradd baizx
passwd baizx
123456
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
service vsftpd restart
~(家目录)
客户机登陆
su root
FTP 192.168.1.1
baizx
123456
FTP>pwd
/
服务器
/etc/vsftpd.ftpuser(不允许登陆)(优先级别大)
/etc/vsftpd.user_list(默认不允许登陆FTP/只让这里的登陆
vi /etc/vsftpd.user_list
useradd bzx
passwd bzx
123456
vi /etc/vsftpd.config
chroot_lock_user
userlist_enable=YES
userlist_deny=NO
service vsftpd restart
客户端
su -l root
FTP 192.168.1.1
bzx
530(不能登陆)
baizx
230(没问题)
服务器
touch /home/baizx/222
cd /home/baizx
chmod 777 222
客户端
su -l root
touch 333
chmod 777 333
ftp 192.168.1.1
ftp>get 222
ftp>put 333
虚拟用户
建口令文件
vi abc
abcde(用户名)
123(密码)
db_load -T -t hash -f abc /etc/vsftpd/abc.db(把口令生成数据库文件)
建PAM配置文件vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam.userdb.so db=/etc/vsftpd/abc
account required /lib/security/pam.userdb.so db=/etc/vsftpd/abc
建普通用户
useradd vu
修改配置文件 优于单独建虚拟目录
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES(开启虚拟用户功能)
guest_username=vu(假借)
pam_service_name=vsftpd.vu(指定认证文件)
单独虚拟用户
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/ftp(目录)
mkdir /etc/ftp
cd /etc/ftp
vi abcde(给权限)
max_clients=100(用户有100)
max_per_ip=5(多线程,每IP有5)
local_max_rate=500000(本地传输)
anon_max_rate=200000(匿名传输)
anon_word_readable_only=NO(用户可以上传下载)
anon_upload_enable_=YES(上传)
samba
安装samba-XXX
查看smb.conf有效配置的命令
# grep -v "^#" /etc/samba/smb.conf |grep -v "^;"
smbstatus
vi /etc/samba/smb.conf
[dir]
path=/tmp/
guest ok=yes
writable=yes
service smb restart
useradd text
useradd abc
smbpasswd -a text
smbpasswd -a abc
vi /etc/samba/smb.conf
[dir2]
path=/tmp2
valid user=abc.text
Read list=text
write list=abc
service smb restart
网页配置samba-swat
chkconfig swat on
service xinetd restart
http ://serverIP:901
smbclient //192.168.1.123/share -U osmond


baizx 于 2015-01-28 17:23:04发表:
(⊙o⊙)… 原来 几年前 我满厉害的!!
baizx 于 2010-09-14 20:44:58发表:
openVZ
OpenVZ是开源软件,是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,Virutozzo是SWsoft公司提供的商业虚拟化解决方案。 OpenVZ可以在单个物理服务器上创建多个隔离的虚拟专用服务器(VPS)并以最大效率共享硬件和管理资源。每个VPS的运行和独立服务器完全一致,因其自身的用户、应用程序都可以独立重起,它拥有根访问权限、用户、IP地址、内存、处理器、文件、应用服务、系统库文件和配置文件等。拥有轻量级处理损耗和高效设计的OpenVZ是运行应用服务和实时数据生产型服务器虚拟化的最佳选择。 OpenVZ软件同时为用户提供工具,协助自动化管理虚拟服务器。基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用,而且与其他的虚拟化技术相比,OpenVZ可以在每CPU上运行几倍于其他虚拟化服务器技术的虚拟化服务器。 从应用程序和VPS用户的角度来看,每个VPS是完全独立的系统,这种独立性由位于系统内核之上的虚拟化层来提供。注意仅有极小的CPU资源消耗在虚拟化过程中(大约1-2%)。OpenVZ虚拟化层实现的主要特性包括: ◆VPS看起来像一套普通的Linux系统。它具有标准的启动脚本、软件厂商提供的科可以运行在VPS内部的软件而无需为OpenVZ做特别的修改或调整; ◆用户可以修改任何配置文件和安装其他软件; ◆VPS相互之间完全隔离(包括文件系统,进程,内部进程通讯(IPC),sysct1变量); ◆VPS不会绑定在一个CPU上,可以使用所有的CPU资源。属于某个VPS的进程可以运行在所有可获得的CPU之上。
marry889930 于 2010-08-25 15:14:28发表:
支持楼主,最好是能做成文件下载。
baizx 于 2010-08-23 18:36:52发表:
http://atp8.org/
baizx 于 2010-08-04 17:34:06发表:
[i=s] 本帖最后由 baizx 于 2010-8-5 11:09 编辑 [/i]
回楼上,这个只是 用来备份我笔记的 以便于我自己的查询!而且都是些粗浅的应用,还不够资格,做成附件!!
孔仔 于 2010-08-04 12:58:43发表:
搞成附件更好
baizx 于 2010-08-04 11:26:06发表:
MySql(errno: 145)解决方法-修复mysql数据库
http://www.webase.net.cn/html/Server/Web/200711/129.html
Mysql有的时候因为掉电或者其他原因导致数据库损坏,错信息如下:
MySql: Can’t open file: ‘sdb_sessions.MYI’. (errno: 145)
For more information, see Help and Support Center at
我们可以使用mysql自带的mysqlcheck命令来快速修复所有的数据库或者特定的数据库;例如
检查优化并修复所有的数据库用:
# mysqlcheck -A -o -r -p
Enter password:
guestbook.simpgb_avatars OK
guestbook.simpgb_bad_words OK
guestbook.simpgb_banlist OK
guestbook.simpgb_data OK
……
……
……
mysqlcheck语法/html/Program/Mssql/200711/130.html
修复指定的数据库用
# mysqlcheck -A -o -r Database_NAME -p
另外如果只是对某个表进行修复可以用:myisamchk或isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
PHP程序出现errno 145的解决办法
http://www.leoneo.com/FAQ/mysql-error-145
如果您的PHP程序出现如下错误
mySQL error: Can’t open file: ‘table_name.MYI’. (errno: 145)
其中table_name是出错的表名字,可能是别的名字,请您打开PHPMyadmin,并使用我们提供给您的数据库用户名和密码登陆。
接下来按照所示操作,请注意table_name,使用您在程序错误中看到的table_name替换。
phpmyadmin
找到你出问题的表名
然后
SQL查询
打入如下命令
repair table table_name
yanlong938 于 2010-08-04 10:07:22发表:
好多东东哦 哈哈
小小Mavis 于 2010-08-03 16:52:02发表:
学习。。。
baizx 于 2010-08-02 08:17:37发表:
LNMP一键安装包
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
下载官方:http://lnmp.org/index.html
baizx 于 2010-07-12 12:14:03发表:
官网下载
centos官方下载 https://www.centos.org/
redhat官方下载http://www.redhat.com/
Fedora下载http://fedoraproject.org/zh_CN/get-fedora
freebsd官方程序下载地址http://www.freebsd.org/
Ubuntu官网下载http://www.ubuntu.com/desktop/getubuntu/download 或http://www.ubuntu.org.cn/
debian官网下载http://www.debian.org/
openSUSE 官网下载 http://www.opensuse.org/zh-cn/
SUSE官方下载http://www.novell.com/linux/
Solaris/openSolaris 官方下载 http://cn.sun.com/
yangzhibinfa 于 2010-07-03 10:33:12发表:
好东东啊 学习下载
baizx 于 2010-07-03 08:50:47发表:
167# shawnbing
晕死 我的服务器 和练习 就是这样做的啊 还有用 VB VM 做VPS 之类的 但是的确少部分只是放着的 留待有机会试验试验
彻底晕了 于 2010-06-24 18:37:36发表:
谢谢了
youth0916 于 2010-06-21 09:26:43发表:
学习了
baizx 于 2010-06-18 22:17:19发表:
174# zhang54126
个人认为 linux 学的时候要复杂了学 使用的时候要往简单安全上用比如一些工具 或者 集成包之类的
zhang54126 于 2010-06-18 11:33:01发表:
怎么感觉那么复杂呢....
baizx 于 2010-06-18 09:54:16发表:
iSNS Server 研?小?(转于鸟哥论坛)
使用 iSCSI 服?, iSCSI initiator 必?先 Discover Target,
但是SAN有可能包含比?多的?置, 所以 iSCSI 必?辨? SAN的resource
目前有三? Target 的discovery方式
Traditional iSCSI
Internet Storage Name Service ( iSNS )
SLP ( not currently supported )
iSNS 提供 自?Discovery, 管理, 以及?定 iSCSI ?置
如果有 iSNS Server 在?路?, iSCSI Initiator 可以? iSNS Server 送出查?,
iSNS Server ??回覆? iSCSI Initiator 可以使用的 iSCSI Targets.
iSCSI 也可以? iSCSI Initiator and iSCSI Target ?成一? zone,
可以定? iSNS discovery domains 以及 discovery domain sets
Discovery domains:
a group of iSCSI nodes. iSCSI Initiator 只能?找?他相同的Discovery domain 的?置.
Discovery domain sets:
a group of discovery domains.
iSNS Targets ? iSCSI Initiator 使用 iSNS protocol ??通.
iSCSI Client:
Register device attribute information in a common discovery domain.
Download information about other registered clients.
Receive asynchronous notification of events occur in their discovery domain.
iSCSI Server
Respond to iSNS queries and requests send from iSNS clients using the iSNS protocol.
Initiate iSNS protocol state change notifications.
Store properly authenticated information submitted by a registration request in an iSNS database.
Lab: Installing and Configuring iSNS
安? iSNS Server
# yast2 isns
??安?(如果被提示要安?套件)
於ISNS 伺服器的位置 ?入 IP 或是 FQDN
服??? ?取 ???
??防火??定
??完成
?察相???
# cat /etc/isns.conf
isns_address=192.168.123.201
da-1:~ # netstat -tupln | grep 3205
tcp 0 0 0.0.0.0:3205 0.0.0.0:* LISTEN 25683/isnsd
udp 0 0 127.0.0.2:3205 0.0.0.0:* 25683/isnsd
# rcisns status
Checking for iSNS Internet Storage Naming Service: running
da-1:~ # chkconfig isns --list
isns 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Lab: 建立 iSNS Discovery Domains 以及 Discovery domain set
iSNS Server 至少要有一? Discovery Domain 以及 Discovery domain set
???建立一? default DD
#yast2 isns
?? 探查?域 ?面
?? 建立探查?域
?入 自?名?
?? ?定
?? 探查?域集
?? 建立探查?域集
?入自?名?
???定
?? 新增探查?域
?取 要新增的探查?域
?? 完成
Lab: Add iSCSI Nodes to a Discovery Domain
? iSCSI Node 加入 Discovery Domain
在 iSCSI Target 主?上面
# yast2 iscsi-server
勾? iSNS 存取控制
?入iSNS 伺服器 IP
??完成
?察??
可以?? iSNS 模??察 iSCSI ?? ?面, 是否有被新增??.
# yast2 isns
也可以?察
da-1:~ # head -n 2 /etc/ietd.conf
iSNSServer 192.168.123.201
iSNSAccessControl Yes
Lab: ? iSCSI Initiator 使用 iSNS Server
在 iSCSi Initiator 主?上面
# yast2 iscsi-client
在 iSNS 位址 ?入 iSNS Server IP
在 iSNS ?接阜 ?入 ?? Port 3205
??完成
?察??
# grep isns /etc/iscsi/iscsid.conf
isns.address = 192.168.123.201
isns.port = 3205
重新??服?
# rcopen-iscsi restart
Lab: ? iSCSI Target 以及 iSCSI Initiator 指定到 Discovery Domain
在 iSNS Server 上面
# yast2 isns
?? iSCSI ?? ?面
?? iSCSI Target 以及 iSCSI Initiator 都有出?在清?上面
?? 探查?域 ?面
?? 要指定的 discovery domain
?? 新增?有的 iSCSI ??
??要新增的 Target 以及 Initiator ??
?? 新增?? (?要附加在此 Discovery domain 所有??加入)
?? 完成
?? iSNS 伺服器
在 iSCSI Initiator 主?上面
# yast2 iscsi-client
?查 探查的目? ?面
??探查 按?
在?有 iSNS Server 架?的情形下, 必??入 iSCSI Target 的主? IP
在 有iSNS Server 架?的情形下, 只要??探查, 就?自?列出相??源
但是登入???是要自己作 ^^
????的小bug ( 可能是我的SUSE LINUX ??有升? )
#yast2 iscsi-client 加入 iSNS Server 有?候不??入 /etc/iscsi/iscsid.conf , 要手?修改
如果登入不成功或是 iSNS Server 有??, 建??服?重?
# rcopen-iscsi restart
# rciscsitarget restart
baizx 于 2010-06-14 08:29:38发表:
170# yuliuliu777
……你是要便捷的那种吗??集成包?? 或者是什么?? 我是新手了~而且这些都是我要用的或者用过的~所知道有限了~~ 你可以在红联发问啊 或者去鸟哥的网站论坛发问http://linux.vbird.org/(鸟哥网址) 或者使用 http://atp8.org/(以linux知识为主的搜索引擎)搜索你需要的啊
邪门猪窝 于 2010-06-02 16:11:06发表:
感谢楼主精彩分享
yuliuliu777 于 2010-06-02 15:15:42发表:
找了好久,没我现在想要的。
copyleft 于 2010-05-28 09:31:59发表:
{:2_104:}
glxin1982 于 2010-05-27 20:42:12发表:
:0wpoi2
shawnbing 于 2010-05-27 19:18:00发表:
25# baizx
还正好用得上,哈哈!谢谢楼主了
shawnbing 于 2010-05-27 19:14:10发表:
还真是够多的,不错啊楼主!
qyl68 于 2010-05-27 15:19:22发表:
内容好多呀!
baizx 于 2010-05-23 08:34:09发表:
[i=s] 本帖最后由 baizx 于 2010-5-23 08:37 编辑 [/i]
apache与tomcat 整合
(转)apache:侧重于http server
tomcat:侧重于servlet引擎,如果以standalone方式运行,功能上与apache等效 , 支持JSP,但对静态网页不太理想;
apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。
换句话说,apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上。
tomcat在静态页面,资源文件(图片,文本,js,htc等)的处理能力远远弱于最强大稳定的web服务器:apache
它的优势在于处理动态页面.
所以要整合tomcat和apache.结合的目的是apache前置来缓解大数量并发访问对tomcat的压力
apache去处理静态页面 tomcat去处理动态页面
Tomcat和Apache整合经验: 以下#在apache配置文件里代表注释的意思
1.首先下载
Tomcat:http://archive.apache.org/dist/tomcat/tomcat-5/archive/v5.0.14-alpha/bin/
jakarta-tomcat-5.0.27.exe
Apache: http://archive.apache.org/dist/httpd/
apache_2.0.52-win32-x86-no_ssl.msi
还要下载一个mod_jk2.so文件和JDK ,Apache组织Jakarta项目组开发的使Apache支持Tomcat的插件,这个文件的主要作用是tomcat和apavhe的连接器
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/
2.安装以上下载的软件
配置环境变量
给tomcat配置环境变量
TOMCAT_HOME:D:\Tomcat 5.0 后面的内容是tomcat的安装路径
3.以上软件都安装好后,测试tomcat和apache是否安装成功.
启动tomcat和apache服务器,在IE上输入http://localhost:8080/测试tomcat,如果看到IE上有一只猫的图片,就表示tomcat安装成功.在IE上输入http://localhost/测试apache.如果看到有apache的四个字的图片就 apache安装成功
4.修改tomcat的配置文件:server.xml
在
jsong是我取的名字,在后面会调用的 docBase:是我的项目路径
查看复制到剪切板打印
1.
必须在host标签里面,然后保存
5.修改apache配置文件
修改httpd.conf文件
在文件的最后面加入:
查看复制到剪切板打印
1. LoadModule jk2_module modules/mod_jk2.so:表示把od_jk2.so文件加载近来
2.
3. ServerAdmin songj888@sina.com :是我的服务器管理员,必须和文件上面的ServerAdmin里面的内容一样
4. DocumentRoot "D:\jsong" :是我的项目的路径
5. ServerName 127.0.0.1 :我的服务名 127.0.0.1代表是我的本机
6.
7. DirectoryIndex index.htm index.html index.jsp
8. ErrorLog logs/dummy-host.example.com-error_log
9. CustomLog logs/dummy-host.example.com-access_log common
10.
LoadModule jk2_module modules/mod_jk2.so:表示把od_jk2.so文件加载近来
ServerAdmin songj888@sina.com :是我的服务器管理员,必须和文件上面的ServerAdmin里面的内容一样
DocumentRoot "D:\jsong" :是我的项目的路径
ServerName 127.0.0.1 :我的服务名 127.0.0.1代表是我的本机
DirectoryIndex index.htm index.html index.jsp
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
6.然后在新建一个workers2.properties文件
在里面写入
查看复制到剪切板打印
1. [shm]
2. file=D:/Apache2/logs/shm.file
3. size=1048576
4. [channel.socket:localhost:8009]
5. port=8009
6. host=127.0.0.1
7. [ajp13:localhost:8009]
8. channel=channel.socket:localhost:8009
9. #让Apache支持servlet、jsp,.do传送,交由tomcat处理
10. [uri:/*.jsp]
11. worker=ajp13:localhost:8009
12. [uri:/*.do]
13. worker=ajp13:localhost:8009
14. [uri:/servlet/*]
15. worker=ajp13:localhost:8009
[shm]
file=D:/Apache2/logs/shm.file
size=1048576
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
#让Apache支持servlet、jsp,.do传送,交由tomcat处理
[uri:/*.jsp]
worker=ajp13:localhost:8009
[uri:/*.do]
worker=ajp13:localhost:8009
[uri:/servlet/*]
worker=ajp13:localhost:8009
保存
7.在d://新建一个jsong文件夹,在里面新建一个index.jsp的文件.在里面写入以下代码:
查看复制到剪切板打印
1.
2.
3.
4.
5.
6.
heello
7. <% out.println("Hello World!"); %>
8.
9.
heello
<% out.println("Hello World!"); %>
保存
然后在重启apache和tomcat服务器,
在IE上是输入http://localhost:8080/jsong/index.jsp 测试tomcat
http://localhost/jsong/index.jsp 测试apache
页面显示都 "hello和hello word"的话 就表示整合成功
2009-10-12
Linux系统下Apache与Tomcat整合的简单方法
1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
到Apache官方网站下载所需要的文件:httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。
2、安装Apache。# tar xzvf httpd-2.2.0.tar.gz
# cd httpd-2.2.0
# ./configure --prefix=/usr/local/apache2 --enable-so
# make
# make install
3、安装Tomcat。# cp apache-tomcat-5.5.12.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-5.5.12.tar.gz
# ln -s apache-tomcat-5.5.12 tomcat
4、编译生成mod_jk。# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
# vi mod_jk.conf
添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions+ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/*worker1
JkMount /*.jsp worker1JkMount *.action Worker1JkMount *.do Worker1
# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1:80
将ServerName 修改为 ServerName LocalHost:80
在DirectoryIndex中添加 index.jsp
我的网页放在/var/wwwroot下,所以要修改DocumentRoot
DocumentRoot "/var/wwwroot"
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
Order deny,allow
Deny from all
增加关于加载mod_jk的语句:LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
在/var/wwwroot下建立一个index.jsp:
2 + 2 =
启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
baizx 于 2010-05-23 08:23:23发表:
[i=s] 本帖最后由 baizx 于 2010-5-23 08:25 编辑 [/i]
160# almitra
这些都是基础阿~~都是入门的东西 当然放在这里了
baizx 于 2010-05-23 08:22:37发表:
157# dakewood
恩 是笔记
JKbear 于 2010-04-26 10:57:13发表:
膜拜。
almitra 于 2010-04-25 10:52:47发表:
这东西也放在初学者园地。。。
yuliuliu777 于 2010-04-24 01:47:58发表:
太多了。
aperfume 于 2010-04-09 14:09:02发表:
LZ有心了
dakewood 于 2010-04-09 13:03:17发表:
楼主是在记笔记吗?这么长,看完都头痛,不过还是收藏下,说不定以后会用到
baizx 于 2010-04-09 12:57:13发表:
rhce
概述
RHCE是Red Hat Certified Engineer的简称----红帽认证工程师 始于1999年3月。
Red Hat是全世界Linux厂商中的龙头老大,其市场占有率从1999年起就已超过了50%。并在业界得到广泛应用。而红帽认证工程师也是业界公认的最权威的Linux认证之一。RHCE 是世界上第一个面向Linux 的认证考试,它不是一个普通的认证测试,和其他操作系统认证考试相比,它没有笔试,全部是现场实际操作,所以RHCE成了业界公认的最难的认证考试之一。Red Hat在北京举行的RHCE十年庆典中统计表明,截至2009年6月,中国大陆通过人数为2037人。
红帽认证工程师(RHCE)和红帽认证技师(RHCT)是以实际操作能力为基础的测试项目,主要考察考生在现场系统中的实际能力。其它培训项目一般是教授学生如何回答多项选择问题,而并非是如何操作一个真正的系统。红帽培训和测试非常注重培养实际的动手能力。
[编辑本段]保密协议
凡是参加考试的考生在考前都必须签署一个协议,保证在考试完毕之后,不论成功还是失败,都不许向其他人透露考题内容。这样不仅考题的保密程度得到保证,在一定程度上也维护了考试的公平性。此外,确切的考试内容是在考试当天,从一个巨大的题库中随机抽出的,即使考官本人,在下载考题之前对考试内容也不得而知。
考试介绍
红帽认证技师(RHCT)考试是红帽认证工程师(RHCE)考试中的一部分,其安排如下:
故障排除及系统维护部分:包含必答题和可选题 1.5小时
安装及配置部分:包含RHCT项目和RHCE项目 2小时
成为RHCT的分数条件
故障排除及系统维护部分中,必须满分完成必答题的所有要求,同时的整个部分不低于70分。 安装及配置部分中,RHCT项目获得70分或以上。RHCE项目无要求。
成为RHCE的分数条件
故障排除及系统维护部分中,必须满分完成必需部分的所有要求,同时的整个部分不低于80分。
安装及配置部分中,RHCT项目获得70分或以上。RHCE项目获得70分或以上。
考试形式的变更
根据红帽美国总部的通知,从2009年5月1日起,红帽RHCT和RHCE考试将会有如下变更:
1、RHCT考试则从之前1.0 和2.0个小时的两种选择改为2.0小时的单一形式。
2、RHCE考试则从之前2.5 和3.0个小时的两种选择改为3.5小时的单一形式。
3、红帽中国区的RHCT和RHCE参试者将可以选择参加中文认证(以往问题为英文)。
考试结果公布
红帽将在美国的3个工作日之内将考试结果通过电子邮件的方式发送给考生,但前提条件是他们已提供了准确的联系信息。不幸的是,有些邮件服务器可能会将这些邮件错认为垃圾邮件并将其过滤到垃圾邮件箱,注意查收。
考试的结果邮件中包括以下内容:参加红帽认证技师认证考试的考生将收到考试的各部分得分。对于红帽认证工程师考试,考试结果包含第一部分必答题和选答题的得分、第一部分的总分、第二部分中红帽认证技师内容的得分及其红帽认证工程师内容的得分。但是考试结果中不包含考生对特定任务或问题的表现,即各个项目的具体得分信息。另外出于方便考虑,红帽将颁发电子证书,该证书将直接附在您的通知邮件内。
[编辑本段]学习要点
考生必须掌握如下的技能,因为这些技能对于达到考试的要求必不可少:
● 使用标准的命令行工具(如ls、cp、mv、rm、tail、cat)来创建、删除、查看和调查文件及目录
● 使用grep、sed和awk来处理文本流和文件
● 使用基于终端的文本编辑器,如vi/vim来修改文本文件
● 使用输入/输出重导(input/output redirection)
● 了解TCP/IP网络的基本原则,包括IP地址、子网掩码和网关
● 使用su切换用户账户
● 使用passwd来设置密码
● 使用tar、gzip和bzip2v
● 在红帽企业Linux之上配置一个邮件客户端
● 使用mozilla 和/或 lynx访问HTTP/HTTPS URL
● 使用lftp访问FTP URL
RHCT必须掌握的技能
故障排除及系统维护
红帽认证技师应该具有如下技能:
● 以不同运行级启动系统,从而进行故障排除和系统维护
● 诊断并校正配置不当的网络
● 诊断并校正主机名解析(hostname resolution)问题
● 配置X Window系统及一个desktop环境
● 向现有系统添加新的区、文件系统和swap
● 使用标准的命令行工具来分析问题和配置系统
安装配置
红帽认证技师必须具有如下技能:
● 安装网络操作系统
● 执行定制分区模式
● 配置打印机
● 使用 cron 和 at 配置任务的时间安排
● 将系统与网络目录服务相连,如NIS或LDAP 配置autofs
● 添加和管理用户、组和限额
● 通过配置文件系统的权限实现协同
● 安装和更新RPM 正确更新内核RPM
● 修改系统bootloader
● 安装和运行时执行Software RAID
● 使用/proc/sys 和sysctl来修改和设置内核运行时间参数
RHCE必须掌握的技能
故障排除及系统维护
RHCE除必须具有上述RHCT全部技能外,还必须具有如下技能:
● 使用第一张安装盘提供的救援模式(rescue environment)
● 诊断并校正由bootloader、模块和文件系统错误造成的系统启动失败
● 诊断并校正与网络服务相关的问题(有关这些服务的列表,参见下面的安装及配置部分)
● 添加、删除逻辑卷和调整逻辑卷的大小。
安装及配置
还必须能够配置如下各种网络服务:
● HTTP/HTTPS,SMB,NFS,FTP,Web 代理,SMTP,IMAP,IMAPS
● POP3,SSH,DNS (缓存域名服务器、从属名称服务器)
对于以上每一种服务,RHCE必须具有如下技能:
● 安装提供服务所需的软件包
● 配置系统启动时开始的服务
● 配置要进行基本操作的服务
● 为服务配置基于主机和基于用户的安全
RHCE同时还必须掌握:
● 使用Kickstart配置自动安装
● 安装时执行逻辑卷
● 使用PAM来执行用户级限制
课程涵盖技能
● RH033 红帽Linux 基础课程:主要介绍必须掌握的基本技能,但不包括TCP/IP基本原理。
● RH133 红帽Linux系统管理:涵盖了红帽认证技师需掌握的技能。
● RH253 红帽Linux网络服务及安全:涵盖了红帽认证工程师应具备的网络服务及安全技能。
● 红帽认证工程师速成课程:是RH133和RH253两大培训课程培训内容浓缩的精华。只有拥有网络服务背景、经验丰富的Linux和UNIX系统管理员可以参加这一课程。
baizx 于 2010-03-11 19:12:31发表:
呼~~~他奶奶的 终于可以存在自己的网站里了 安了 这样备份就可以 所以以后就不在这里备份了~~我的网站
www.atp8.net
baizx 于 2010-03-09 16:20:07发表:
mysql数据库命令集锦(转)
测试环境:mysql 5.0.45
【注:可以在mysql中通过mysql> SELECT VERSION();来查看数据库版本】
一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、给root加个密码ab12。首先在DOS下进入目录mysql\bin,然后键入以下命令
mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、再将root的密码改为djg345。
mysqladmin -u root -p ab12 password djg345
三、增加新用户。
(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@”%” Identified by “abc”;
但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。
2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;
下篇我是MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。
也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。
二、显示命令
1、显示当前数据库服务器中的数据库列表:
mysql> SHOW DATABASES;
注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示数据库中的数据表:
mysql> USE 库名;
mysql> SHOW TABLES;
3、显示数据表的结构:
mysql> DESCRIBE 表名;
4、建立数据库:
mysql> CREATE DATABASE 库名;
5、建立数据表:
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
6、删除数据库:
mysql> DROP DATABASE 库名;
7、删除数据表:
mysql> DROP TABLE 表名;
8、将表中记录清空:
mysql> DELETE FROM 表名;
9、显示表中的记录:
mysql> SELECT * FROM 表名;
10、往表中插入记录:
mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);
11、更新表中数据:
mysql-> UPDATE 表名 SET 字段名1=’a',字段名2=’b’ WHERE 字段名3=’c';
12、用文本方式将数据装入数据表中:
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;
13、导入.sql文件命令:
mysql> USE 数据库名;
mysql> SOURCE d:/mysql.sql;
14、命令行修改root密码:
mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;
15、显示use的数据库名:
mysql> SELECT DATABASE();
16、显示当前的user:
mysql> SELECT USER();
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ‘深圳’,
year date
); //建表结束
//以下为插入字段
insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);
insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);
如果你在mysql提示符键入上面的命令也可以,但不方便调试。
(1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
mysql -uroot -p密码 < c:\\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
(2)或者进入命令行后使用 mysql> source c:\\school.sql; 也可以将school.sql文件导入数据库中。
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\\n来代替.例:
3 rose 大连二中 1976-10-10
4 mike 大连一中 1975-12-23
假设你把这两组数据存为school.txt文件,放在c盘根目录下。
2、数据传入命令 load data local infile “c:\\school.txt” into table 表名;
注意:你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。
五、备份数据库:(命令在DOS的\\mysql\\bin目录下执行)
1.导出整个数据库
导出文件默认是存在mysql\bin目录下
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.导出一个数据库结构
mysqldump -u user_name -p -d -add-drop-table database_name > outfile_name.sql
-d 没有数据 -add-drop-table 在每个create语句之前增加一个drop table
4.带语言参数导出
mysqldump -uroot -p -default-character-set=latin1 -set-charset=gbk -skip-opt database_name > outfile_name.sql
yytx1225 于 2010-03-02 11:27:04发表:
看不来啊 这么多 !
baizx 于 2010-03-02 10:00:28发表:
151# baizx
dmidecode | grep "Product"
查看服务器型号
baizx 于 2010-02-26 19:04:23发表:
[i=s] 本帖最后由 baizx 于 2010-2-26 19:06 编辑 [/i]
(转自http://q.sohu.com/forum/5/topic/2122307)Linux下的集群系统通常可以分为三类:
HA容错集群 (Fail-over Cluster)
高可用性集群(High available)用于不可间断服务的环境下。提供冗余的容错备份,在主节点失效后,能够立即接管相关资源及继续提供相应服务。
负载均衡集群 (Load Balancing Cluster)
在应用服务的高负载情况下运用该技术,由多台节点提供高可伸缩的,高负载的服务器组。以保证对外提供良好的服务响应。
HPC高性能计算机集群 (High Performance Computing)
概念并不完全统一,有一定争论,应该理解为并行系统,主要用于科学计算。
本文所要介绍的是前两类集群的一个完美的组合。
1.1. Linux Virtual Server项目
在1998 年5月,由章文嵩博士成立了Linux Virtual Server的自由软件项目,进行Linux服务器集群的开发工作。同时,Linux Virtual Server项目也是国内最早出现的自由软件项目之一。该项目针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解 决方法,它通过前端一个负载调度器(Load Balancer)无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、 高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进 程故障和正确地重置系统达到高可用性。并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。
虚拟服务器的体系结构如图2所示。
图2:虚拟服务器的结构
1.1.1. LVS的核心软件IPVS
在调度器的实现技术中,IP负载均衡技术是效率最高的。在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)VS/NAT技术的基础上,IPVS软件实现了三种IP负载均衡技术:
1)Virtual Server via Network Address Translation(VS/NAT) 网络地址转换 (如图1)
2)Virtual Server via IP Tunneling(VS/TUN) 隧道技术 (如图2)
3)Virtual Server via Direct Routing(VS/DR) 直接路由 (如图3)
针对不同的网络服务需求和服务器配置,IPVS调度器实现了如下十种负载调度算法:
轮叫(Round Robin)
加权轮叫(Weighted Round Robin)
最少链接(Least Connections)
加权最少链接(Weighted Least Connections)
基于局部性的最少链接(Locality-Based Least Connections)
带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
目标地址散列(Destination Hashing )
源地址散列(Source Hashing)
最短期望延迟(Shortest Expected Delay)(新增加调度算法)
无须队列等待(Never Queue)(新增加调度算法)
其中9-10是最新1.09版IPVS软件包中新增的调度算法,这十种调度算法将会在后面的ipvsadm配置文件中用到,通常用英文单词的第一个字母的缩写来表示。例如:轮叫(Round Robin)表示为rr。
三种IP负载均衡技术的优缺点比较
VS/NAT VS/TUN VS/DR
服务器(OS) 任意 支持隧道 多数(支持Non-arp )
服务器网络 私有网络 局域网/广域网 局域网
服务器数目(100M网络) 10~20 100 多(100)
服务器网关 负载均衡器 自己的路由 自己的路由
效率 一般 高 最高
三种IP负载均衡技术中特别是后两种技术VS/TUN,VS/DR极大地提高系统的伸缩性,它们的相关技术原理不是本文讨论的重点,若需了解详细内容,请参看章文嵩博士的相关撰文。
图1
图2
图3
1.2. High Availability of LVS
较为成熟的方案有mon+heartbeat+fake+coda 和ldirectord+heartbeat 方案,本文我们采用的是ldirectord+heartbeat 方案。
1.2.1. Heartbeat
Linux-HA 项目开始于 1998 年,是 Linux-HA HOWTO(Haranld Milz 著)的产物。该项目目前由 Alan Robertson 领导,许多其他代码提供者也参与其中。1.0.3版本是2003年6月发布的最新稳定版本。
Heartbeat 通过通信介质(通常是串行设备和以太网)监控节点的"健康"状况。最好有多个冗余介质,以便我们既可以使用串行线又可以使用以太网链接。每个节点运行一个 守护程序进程(称为"心跳")。主守护程序派生出读和写每个心跳介质的子进程,以及状态进程。当检测到某个节点发生故障时,Heartbeat 运行 shell 脚本来启动(或停止)辅助节点上的服务。按照设计,这些脚本使用与系统 init 脚本(通常位于 /etc/init.d 中)相同的语法。缺省脚本是为文件系统、Web 服务器和虚拟 IP 故障转移提供的。
1.2.2. Ldirectord
"ldirectord"(Linux Director Daemon)是Jacob Rief编程实现的一个独立进程,以实现对服务和物理服务器的监测,广泛地用于http和https等服务, Ldirectord与mon相比,优点如下:
ldirectord是专门为LVS 监控而编写的。
ldirectored可以方便地被heartbeat管理启动和停止。
它 能从heartbeat的配置文件/etc/ha.d/xxx.cf中读取所有有关IPVS路由表配置的信息。当 ldirectord 运行后,IPVS路由表将被适当地配置。你也可以将不同的虚拟服务器配置保存在不同的配置文件里, 所以你可以单独修改某种服务的参数而不用停止其它的服务
另外,ldirectord安装简便,可以手工地启动和停止。你可以在没有备份负载均衡器的LVS集群上使用。
1.2.3. ldirectord+heartbeat的绝妙组合
ldirectord +heartbeat方案前端负载调度器采用双机热备份方式,双机均安装双网卡,一个网卡用于连接集群系统,另一个作为冗余心跳线路连接双机。采用串口线 + 以太网口做为冗余心跳线路,以确保双机热备份的可靠性,消除由于主负载调度器或心跳线故障带来的集群单点故障。
在主负载 调度器及备份负载调度器同时安装ldirectord及heartbeat,并同时运行Heartbeat,相互监视"健康"状况,一旦备份负载调度器监 测到主负载调度器发生故障,备份服务器通过运行shell脚本来启动备份调度器上服务来完成虚拟 IP 故障转移,通过ipvsadm启动LVS及ldirectord,完成负载调度器的整体接管。一旦主负载调度器恢复正常工作,备份负载将通过脚本停掉备份 负载调度器上的LVS及ldirectord,同时完成虚拟 IP 故障转移,主负载调度器重新恢复接管LVS及ldirectord监控服务。这样负载调度器就完成了一个标准的接管及恢复过程。
该方案结构清晰明了,安装简便,并且ldirectord是专门为LVS所开发,针对性强,无缝衔接,配合默契,堪称绝妙组合。
回页首
2. LVS在Red Hat 9.0上的具体实现
2.1. 实现目标:
实 现以常用、效率最高的LVS-DR IP负载技术为基础,以高可用性(HA)+ 高性能 + 高性能/价格比 + 高可伸缩性为最终目的。负载均衡器采用HA技术构架,采用Heartbeat软件包,heartbeat采用串口、网络口冗余线路,保证24X7不间断运 行。结构如图:
Setup LVS using LVS-DR forwarding
________ | | | client | |________| CIP= SGW =192.168.7.254/24 (eth0) | | eth1 __________ |192.168.0.1 | director | | --------| primiary |---| DIP=192.168.7.9/24 (eth0) | |__________| | | ttyS0| | |heartbeat | | |backup | | VIP=192.168.7.110/32 (eth0:0)* | ttyS0| | | _____|____ | | | director | | --------| backup |---| DIP=192.168.7.10/24 (eth0) eth1 |__________| | 192.168.0.2 | | | | | ----------------------------------- | | | | RIP=192.168.7.11/24 (eth0) RIP=192.168.7.12/24 (eth0)VIP=192.168.7.110/32 (lo:0) VIP=192.168.7.110/32 (lo:0) ____________ ____________ | | | | | realserver | ----------- | realserver | |____________| |____________|
2.2. 设备要求:
因 为负载均衡器和真实服务器节点均有软硬件冗余保障,所以硬件设备可以根据具体资金情况及提供服务规模而定。当然最好采用支持RAID,SCSI,内存 ECC校验,热插拔等技术的专用服务器,以提供稳定高效的服务。对于非关键业务服务,也可以考虑采用最新支持IDE RAID(0,1,0+1,1.5,5)的服务器,可以获得一个良好的性能/价格比。当然,如果你是一个对硬件技术细节非常熟悉,说话又有分量,对自己非 常有信心,敢冒风险,崇尚节约、实用性的人,那么DIY一组高性价比的服务器集群,也是一件非常有意义而且充满乐趣的工作。
2.3.原始软件环境:
Red Hat 9.0 完全安装
Red Hat 9.0 (kernel-2.4.20-8 ) gcc -3.2.2-5
如 果你使用的是Red Hat 8 ,那么你很幸运。Red Hat 8 (kernel-2.4.18-14)已经预先打了ipvs的补丁,在预安装的内核中已将ipvs编译成模块,可以通过检查 /lib/modules/2.4.18-14/kernel/net/ipv4/ipvs 是否存在来判断。可以直接安装ipvsadm。从Red Hat 9 (kernel-2.4.20-8),Red Hat 取消了ipvs的补丁及预编译ipvs为模块的内核,且Red Hat 9 自带的kernel-2.4.20-8的内核无法通过ipvs补丁linux-2.4.20-ipvs-1.0.9 .patch.gz的编译,至少在我的两台P4的机器上都没有通过编译。标准内核linux-2.4.20.tar.gz则可以通过编译。所以我们将采用 www.kernel.org上的标准内核kernel-2.4.20.tar.gz来构造我们的集群系统。
2.4.需下载软件包:
# Linux kernel
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz
# ipvs patch
http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz
# ipvs tar ball
http://www.linuxvirtualserver.org/software/kernel-2.4/ipvs-1.0.9.tar.gz
# hidden patch(已经包括在ipvs-1.0.9.tar.gz,可不用下载)
http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff(解决arp 问题 for LVS-DR/LVS-Tun)
# ipvsadm (已包含在ipvs-1.0.9.tar.gz包中, 可不用下载)
# Ldirectord
http://www.linux-ha.org/download/heartbeat-ldirectord-1.0.3-1.i386.rpm
# heartbeat
http://www.linux-ha.org/download/heartbeat-1.0.3.tar.gz
http://www.linux-ha.org/download/heartbeat-1.0.3-1.src.rpm
http://www.linux-ha.org/download/heartbeat-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-pils-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-stonith-1.0.3-1.i386.rpm
2.5. 安装要求:
2.5.1 Director:
内 核打non-arp的补丁hidden-2.4.20pre10-1.diff (解决arp problem for LVS-DR/LVS-Tun,虽然在Directors上运行时并不需要,但硬件环境如果和Realserver类似,内核可以直接放到 RealServer上运行,不用再为realServer重新编译内核,当然也可不打该补丁。)
内核打ipvs的补丁linux-2.4.20-ipvs-1.0.9.patch.gz,重新编译新内核。
运 行新内核后编译安装ipvsadm。(LVS-NAT (network address translation); LVS-DR (direct routing) and LVS-Tun (tunneling). 真实服务器 realserver/service 的转发方式由ipvsadm来设置。)
2.5.2 RealServes: (在LVS-NAT方式下,不需要打任何补丁)
内核打arp的补丁hidden-2.4.20pre10-1.diff (arp problem for LVS-DR/LVS-Tun)编译新内核。
解决Non-arp problem
设置缺省网关(gw)
LVS-NAT: director(DIP)
LVS-DR, LVS-Tun: 对外路由 (不是director的IP).
如果你不知道你的内核源代码是否已经预打过ipvs的补丁, 可以询问你的Linux发行版的制造商或查看相关ipvs 文件,文件名类似于 /usr/src/linux-2.4/net/ipv4/ip_vs_*.c。
2.6. 安装步骤:
2.6.1 Director或RealServer上内核的安装:
export D=/tmp/downloadmkdir $Dcd $Dwget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gzwget http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9 .patch.gzwget http://www.linuxvirtualserver.org/software/kernel-2.4/ipvs-1.0.9.tar.gztar zxvf linux-2.4.20.tar.gztar zxvf ipvs-1.0.9.tar.gzgunzip linux-2.4.20-ipvs-1.0.9.patch.gzmv linux-2.4.20 /usr/src/linux-2.4.20cd /usr/srcrm -f linux-2.4ln -s linux-2.4.20 linux-2.4cd linux-2.4patch -p1 < $D/ipvs-1.0.9/contrib/patches/hidden-2.4.20pre10-1.diff (arp for LVS-DR/LVS-Tun)patch -p1 < $D/linux-2.4.20-ipvs-1.0.9.patch (仅在编译Director内核时打补丁)make mrpropercp /boot/config-2.4.20-8 .config (使用Red Hat 9自带的config内核配置文件或使用/usr/src/linux-2.4.7-10/configs下的配置文件)make menuconfig(参照相关ipvs及内核配置)或在图形界面运行: make xconfig
相关网络内核选项:
相关LVS内核选项:
make depmake cleanmake bzImagemake modulesmake modules_installcp arch/i386/boot/bzImage /boot/ vmlinuz-2.4.20-lvs (rs)cp System.map /boot/System.map.2.4.20-lvs (rs)cp vmlinux /boot/vmlinux-2.4.20-lvs (rs) cd /bootrm -f System mapln -s System.map.2.4.20-lvs (rs) System.mapvi /boot/grub/grub.conf:title 2.4.20-lvs root (hd0,0) kernel /boot/vmlinuz-2.4.20-lvs (rs) ro root=/dev/xxx
如果要安装该内核在其它机器上:
tar czf linux-2.4.20-dir.tgz /usr/src/linux-2.4.20/在其它机器上解压tar zxvf linux-2.4.20-dir.tgz 放置到/usr/srcrm -f linux-2.4ln -s linux-2.4.20 linux-2.4cd linux-2.4make modules_installcp arch/i386/boot/bzImage /boot/ vmlinuz-2.4.20-lvs (rs)cp System.map /boot/System.map.2.4.20-lvs (rs)cd /bootrm -f System mapln -s System.map.2.4.20-lvs (rs) System.mapvi /boot/grub/grub.conf:title 2.4.20-lvs root (hd0,0) kernel /boot/vmlinuz-2.4.20-lvs (rs) ro root=/dev/xxx
2.6.2 Director上ipvsadm 的安装:
用打过ipvs和hidden(for LVS-DR/LVS-Tun)补丁的新内核启动linux
cd / tmp/download/ipvs-1.0.9/ipvs/ipvsadmmake install
检查ipvsadm 探测到内核的ipvs的补丁可以运行
ipvsadm
如果成功你会看到类似于如下内容:
director: /usr/src# ipvsadmIP Virtual Server version 0.2.7 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
说明安装成功
运行lsmod | grep ip_vs 可以看到ip_vs模块已经被插入内核运行。
2.6.3. 运行脚本( Run Scripts )
以下以最常用的LVS-DR模式来介绍相关的脚本设置
( 以Telnet服务, 轮叫(rr)策略为例 )
2.6.3.1 Director上:
#!/bin/bash#---------------mini-rc.lvs_dr-director------------------------#set ip_forward OFF for vs-dr director (1 on, 0 off)cat /proc/sys/net/ipv4/ip_forwardecho 0 >/proc/sys/net/ipv4/ip_forward#director is not gw for realservers: leave icmp redirects onecho 'setting icmp redirects (1 on, 0 off) 'echo 1 >/proc/sys/net/ipv4/conf/all/send_redirectscat /proc/sys/net/ipv4/conf/all/send_redirectsecho 1 >/proc/sys/net/ipv4/conf/default/send_redirectscat /proc/sys/net/ipv4/conf/default/send_redirectsecho 1 >/proc/sys/net/ipv4/conf/eth0/send_redirectscat /proc/sys/net/ipv4/conf/eth0/send_redirects#add ethernet device and routing for VIP 192.168.7.110#if use backup director ,pay any attention about bellow/sbin/ifconfig eth0:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 up/sbin/route add -host 192.168.7.110 dev eth0:0#listing ifconfig info for VIP 192.168.7.110/sbin/ifconfig eth0:0#check VIP 192.168.7.110 is reachable from self (director)/bin/ping -c 1 192.168.7.110#listing routing info for VIP 192.168.7.110/bin/netstat -rn#setup_ipvsadm_table#clear ipvsadm table/sbin/ipvsadm -C#installing LVS services with ipvsadm#add telnet to VIP with round robin scheduling/sbin/ipvsadm -A -t 192.168.7.110:telnet -s rr#forward telnet to realserver using direct routing with weight 1/sbin/ipvsadm -a -t 192.168.7.110:telnet -r 192.168.7.11 -g -w 1#check realserver reachable from directorping -c 1 192.168.7.11#forward telnet to realserver using direct routing with weight 1/sbin/ipvsadm -a -t 192.168.7.110:telnet -r 192.168.7.12 -g -w 1#check realserver reachable from directorping -c 1 192.168.7.12#displaying ipvsadm settings/sbin/ipvsadm#not installing a default gw for LVS_TYPE vs-dr#---------------mini-rc.lvs_dr-director------------------------
该段运行脚本对于熟悉Linux网络配 置的读者来说应该很容易理解。由于LVS是通过对标准内核打补丁,在内核级提供支持,所以在LVS-DR模式下,首先是进行内核的相关设置。要关闭标准内 核下的ip_forward转发方式,即置为0。同时因为LVS-DR模式下,集群的网关是外部网关,而不是负载均衡器。所以要打开icmp包的重定向设 置send_redirects 置为1。接着就是绑定集群的虚拟服务器的IP地址,并添加一条到该IP地址的主机路由。然后对该虚拟IP做一些必要的自我检测,同时列出路由表。最后是有 关ipvasdm的设置,首先清空ipvasdm表,然后添加需要提供负载均衡的服务及调度策略,这里例举的是telnet服务,也可以直接使用端口号, 调度策略为轮叫(rr)策略。最后添加转发到真实服务器的直接路由,如果有多台RealServer或需要提供多种服务的负载均衡,依次添加。再做一些到 RealServer的网络测试(也可不要),最后显示ipvasdm所有的设置信息。
注意:
ipvs -1.0.9.tar.gz中包含的ipvsadm是1.21版,安装后在/etc/rc.d/init.d/目录下自动生成了标准的init服务脚本, 如果你的Director没有安装备份服务器,你可以通过服务管理工具让它在相应的运行级里自动运行,如果Director是HA系统,则由 heartbeat控制运行。
另外该服务脚本提供了配置保存功能。配置文件为:/etc/sysconfig/ipvsadm 你必须手工建立。然后在其中输入规则和策略:
例如:
-A -t 192.168.7.110:telnet -s rr-A -t 192.168.7.110:http -s rr-a -t 192.168.7.110:telnet -r 192.168.7.11 -g -w 1-a -t 192.168.7.110:http -r 192.168.7.11 -g -w 1
然后存盘。
或直接运行:
/sbin/ipvsadm -A -t 192.168.7.110:telnet -s rr/sbin/ipvsadm -A -t 192.168.7.110:http - rr/sbin/ipvsadm -a -t 192.168.7.110:telnet -r 192.168.7.11 -g -w 1/sbin/ipvsadm -a -t 192.168.7.110:http -r 192.168.7.11 -g -w 1
然后运行:/etc/rc.d/init.d/ipvsadm save
就可以保存当前配置到/etc/sysconfig/ipvsadm文件中。
在具有HA系统的Director上,ipvsadm可以方便地被Heartbeat管理-启动、停止。Director上的VIP(虚拟)服务器地址由Heartbeat负责设置和切换。
做法如下:
在Heartbeat的配置文件haresources中加类似入如下一行:
linuxha1 IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm ldirectord::www ldirectord::mail
2.6.3.2. RealServers上:
#!/bin/bash#----------mini-rc.lvs_dr-realserver------------------#installing default gw 192.168.7.254 for vs-dr/sbin/route add default gw 192.168.7.254#showing routing table/bin/netstat -rn#checking if DEFAULT_GW 192.168.1.254 is reachableping -c 1 192.168.7.254#set_realserver_ip_forwarding to OFF (1 on, 0 off).echo 0 >/proc/sys/net/ipv4/ip_forwardcat /proc/sys/net/ipv4/ip_forward#looking for DIP 192.168.7.9ping -c 1 192.168.7.9#looking for VIP (will be on director)ping -c 1 192.168.7.110#install_realserver_vip/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 up#ifconfig output/sbin/ifconfig lo:0#installing route for VIP 192.168.1.110 on device lo:0/sbin/route add -host 192.168.7.110 dev lo:0#listing routing info for VIP 192.168.7.110/bin/netstat -rn#hiding interface lo:110, will not arpecho 1 >/proc/sys/net/ipv4/conf/all/hiddencat /proc/sys/net/ipv4/conf/all/hiddenecho 1 >/proc/sys/net/ipv4/conf/lo/hiddencat /proc/sys/net/ipv4/conf/lo/hidden#----------mini-rc.lvs_dr-realserver------------------
该段脚本和上面的脚本比较类似,相信不 用再多做介绍了。需要注意的是:LVS-DR模式下,缺省网关的设置。集群的网关是外部网关,而不是负载均衡器。还有就是RealServer上绑定的 VIP地址的设备lo:0。另外不要忘了开启not arp补丁的设置开关。相信你已经很清楚了。
你也可以把以上脚本改写成符合init语法的标准脚本,放到/etc/rc.d/init.d/下面运行,或直接加到/etc/init.d/rc.local下运行。
改写为标准init语法脚本如下:
#!/bin/bash## hidden This shell script takes care of starting and stopping# the ipvs-hidden subsystem (hiddend).## chkconfig: 2345 78 12# description: ipvs-hidden# processname: hiddendprog="hidden"start(){echo 0 >/proc/sys/net/ipv4/ip_forward/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 up# installing route for VIP 192.168.1.110 on device lo:0/sbin/route add -host 192.168.7.110 dev lo:0# listing routing info for VIP 192.168.7.110/bin/netstat -rn# hiding interface lo:0, will not arp# echo 1 >/proc/sys/net/ipv4/conf/all/hiddenecho 1 >/proc/sys/net/ipv4/conf/lo/hidden}stop(){echo 1 >/proc/sys/net/ipv4/ip_forward/sbin/ifconfig lo:0 192.168.7.110 broadcast 192.168.7.110 netmask 255.255.255.255 down/sbin/route del -host 192.168.7.110 dev lo:0# echo 0 >/proc/sys/net/ipv4/conf/all/hiddenecho 0 >/proc/sys/net/ipv4/conf/lo/hidden} restart(){ stop start}condrestart(){ [ -e /var/lock/subsys/hiddend ] && restart || :}# See how we were called.case "$1" in start) start ;; stop) stop ;; restart)stopstart ;; *) echo ___FCKpd___11quot;Usage: $0 {start|stop|restart}" exit 1esacexit $?
然后:
cp rc.lvs /etc/rc.d/init.d/hiddend
chmod 755 /etc/rc.d/init/d/hiddend
chkconfig - -add hiddend