Dec 05 2008

rhel5 转到 centos5

Category: 技术ssmax @ 13:04:57

rhel5的yum source 不好找,还是直接用centos的方便,转换一下就好了

 

It is not hard to switch to CenOS5, just install a couple of rpm packages and your done, but you really do not have to switch. It is possible to add the CentOS repos to your yum configuration. Sample /etc/yum.repos.d/ CentOS5.repo (sample name) file below;

[CentOS5 base]
name=CentOS-5-Base
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[CentOS5 updates]
name=CentOS-5-Updates
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[CentOS5plus]
name=CentOS-5-Plus
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Notice the CentOS5 repos are by default disabled. This is a good idea, one can enable the repos at anytime using the yum –enablerepo switch. It might be a good idea to import the CentOS5 key (see the example repo file above) and enable the gpgcheck;

rpm –import http://isoredirect.centos.org/centos/5/os/i386/RPM-GPG-KEY-CentOS-5

If you really want to switch to CentOS then download and install the;

For 64-bit based system:

http://isoredirect.centos.org/centos/5/os/x86_64/CentOS/centos-release-5-0.0.el5.centos.2.x86_64.rpm
http://isoredirect.centos.org/centos/5/os/x86_64/CentOS/centos-release-notes-5.0.0-2.x86_64.rpm

For 32-bit based system:

http://isoredirect.centos.org/centos/5/os/i386/CentOS/centos-release-5-2.el5.centos.i386.rpm
http://isoredirect.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.2-2.i386.rpm

上面的地址会经常变的,升级版本就会变,所以直接到 http://isoredirect.centos.org/centos/5/os/
里面找

A couple of additional packages might be needed but these should get you started nicely. Test install them to find out if you need to add any packages first, example;

rpm -Uvh centos-release*.rpm –test

You might want to remove the Red Hat release packages first, or you may have to use the force or replace packages switch to really install, for example;

rpm -Uvh centos-release*.rpm –force [–replacepkgs]

Of course the example repo file above would not be needed if you really switch. It would be an excellent idea to first unregister any systems from RHN before switching, this way you can re-register other systems on RHN if desired.


Dec 05 2008

ipvs debian内核

Category: 技术ssmax @ 10:51:40

最好把

CONFIG_IP_VS_TAB_BITS=12

调整成

CONFIG_IP_VS_TAB_BITS=20

这样hash表有100多w,可以顶得住大流量的情况了,哎。

如果是同版本的source,直接把/boot/config-xxx 拷贝到源代码目录下面的.config,然后修改就可以了 ,省下了下面make menuconfig的一步。

 

首先要介绍一下,通常其它操作系统的内核编译是比较繁琐的。然而,由于Debian强大的dpkg软件包管理系统,使得内核的升级、编译也变得容易很多。这篇文章将会一步一步教你如何编译自己的,带有grsecurity的Linux 2.6内核。Grsecurity是一个Linux的内核补丁,针对Linux内核的某些安全漏洞进行修补以及安全性的增强。
首先用 apg-get 自动下载并安装一些必要的软件包,包括编译内核需要的kernel-package和ncurses-dev等。如果在内核编译、制作过程中,遇到错误提示说某个软件包不存在的话,请同样使用 apt-get install 命令进行下载安装。

apt-get install build-essential kernel-package ncurses-dev fakeroot wget bzip2 make patch

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.7.tar.bz2
tar -xjf linux-2.611.7.tar.bz2

请到 http://www.kernel.org 查看最新的内核版本。

之后,下载grsecurity。请注意,务必选择与内核版本相应的grsecurity版本。(grsecurity网站)

wget http://www.grsecurity.org/grsecurity-2.1.5-2.6.11.7-200504111924.patch.gz
gunzip grsecurity-2.1.5-2.6.11.7-200504111924.patch.gz

执行以下命令将新内核打上grsecurity补丁

patch -p0 < ./grsecurity-2.1.5-2.6.11.7-200504111924.patch

OK,切换到新内核的目录

cd linux-2.6.11.7

为了节省时间,请执行以下命令从现有内核中获得配置

make oldconfig

执行完此条命令后,会根据新老内核的差异情况,询问你一些问题,如果不确定的话请都是用默认(直接按回车)。

以上步骤完成后,执行内核配置程序

make menuconfig

如果你的Debian有X的话,也可以使用 make xconfig 来进行内核的配置。请自行根据实际情况进行配置,不确定的话请保持默认。

在 Security Options 中,选择 Grsecurity 并将其设置到 medium。然后根据grsecurity的官方推荐,请在 Security Options -> PaX -> PaX Control 中,将 MAC system integration 设置为 [None] 。

至此,内核的配置就算完成了。请按 ESC 多次后退出内核配置页面(在系统询问是否要保存新内核的配置时,当然要选择yes)。

执行以下命令进行新内核的生成!

make-kpkg clean
fakeroot make-kpkg –initrd –append-to-version=noobu –revision=1.0 kernel_image

fakeroot 的作用是在内核的生成过程中暂时性获取root权限。如果你直接是用root帐号操作的话,可以省略fakeroot。–append-to-version定义的是内核的软件包名字,类似 kernel-image-2.6.11.7-noobu 这样。而 –revision定义的是软件包的版本。

现在系统会开始进行新内核的生成,屏幕上会有许多文字闪过。请注意,如果生成过程中出现错误,请执行 make clean 后,用 make menuconfig 重新配置内核。一般都是仔细看错误信息,找到出错的模块,然后将其去除。

内核顺利生成完毕后,会在/usr/src目录下产生一个 deb 包。例如 kernel-image-2.6.11.7-noobu_1.0_i386.deb

 

如果用

fakeroot make-kpkg –initrd –append-to-version=noobu –revision=1.0 binary

就会生成 headers、image、manual、doc、src 所有的包。

 

执行以下命令安装新内核!^_^

dpkg -i kernel-image-2.6.11.7-noobu_1.0_i386.deb

接着Debian会安装新内核并更新Grub的配置文件。重新启动(shutdown -r now)后将会boot到新内核。

用 uname -a 看一下,是不是看到新内核的名字啦?

怎么样,在Debian上重新编译内核是不是很简单很高效呢?
(http://www.fanqiang.com)