存档

文章标签 ‘as5’

upgrade from as4u6 to as5u2 on a x86_64 linux server

2008年12月30日 哈哈 没有评论

这次要升级的是x86_64的系统
而且这次没有将其先升级为as4的最新版
而是直接从as4u6升到as5的
因而碰到的问题大多跟以前大不一样
首先:

rpm -Uvh http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-5Server-5.2.0.4.i386.rpm http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-notes-5Server-12.i386.rpm
apt-get clean all

vim /etc/apt/source.list
将其指向as5的安装软件仓
apt-get update;apt-get check

apt-get install rpm-libs rpm-python rpm yum

这时,出了一大堆的conflict的错误
但是好像所需软件包都当下来了
于是就想干脆强制手工升级得了

cd /var/cache/apt/archives
wget http://10.0.0.1/pathto5server/RPMS.os/glib2-2.12.3-2.fc6.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/glib2-2.12.3-2.fc6.i386.rpm http://10.0.0.1/pathto5server/RPMS.os/e2fsprogs-libs-1.39-15.el5.i386.rpm http://10.0.0.1/pathto5server/RPMS.os/SysVinit-2.86-14.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/rsyslog-2.0.0-11.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/kernel-2.6.18-92.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/initscripts-8.45.19.EL-1.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/rsyslog-2.0.0-11.el5.x86_64.rpm http://10.0.0.1/pathto5server/dmraid-1.0.0.rc13-9.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/libsysfs-2.0.0-6.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/kpartx-0.4.7-17.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/udev-095-14.16.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/mkinitrd-5.1.19.6-28.i386.rpm http://10.0.0.1/pathto5server/RPMS.os/e2fsprogs-1.39-15.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/procps-3.2.7-9.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/rsyslog-2.0.0-11.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/sysklogd-1.4.1-44.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/uuidd-1.39-15.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/e2fsprogs-libs-1.39-15.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/device-mapper-multipath-0.4.7-17.el5.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/nash-5.1.19.6-28.x86_64.rpm http://10.0.0.1/pathto5server/RPMS.os/lm_sensors-2.10.0-3.1.x86_64.rpm

这里之所以wget抓这么多东西回来
主要是因为这些包都是下面yum update时需要的,所以就干脆先做了

rpm -Uvh *.rpm –replacefiles

强制升级
完毕后
vim /etc/yum/yum.conf
将yum的源指向我们自己的软件仓
yum update
这时出rpm库打不开的错误
具体见这里
然后按照上面文章里的解决方法解决后
接着

yum update
yum groupinstall base

然后再ntsysv配一下启动的服务就差不多了
reboot

upgrading from as4 to as5 online(success!)

2008年12月16日 哈哈 2 条评论

又一次干脏活
把某一台rhel4(as4)的机器在线升级到rhel5(as5)
as4上原来的包管理用的是第三方的apt(apt不在我们的as5的repos仓里)
由于有了上一次的经验
这一次我先稳打稳扎
先用

apt-get update;apt-get check;apt-get -y upgrade;apt-get -y dist-upgrade

先把系统升级成as4的最新版
如果升级了kernel还需要用新kernel重起
(其实最后看起来这一步实属多余,而且还可能添加更多的麻烦,其实只是需要安装as4的最新的kernel即可的)
然后正式开始升级工作
首先

rpm -Uvh http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-5Server-5.2.0.4.i386.rpm http://10.0.0.1/pathto5Server/RPMS.os/redhat-release-notes-5Server-12.i386.rpm

这里的10.0.0.1是局域网上的一台维护着as4、as5仓(repository)的服务器
然后

apt-get clean all # 清apt缓存
vim /etc/apt/sources.list # 更改apt的安装源为as5的安装仓(repository)

再接着

apt-get update;apt-get check

接着升级rpm*并安装上yum*

apt-get install rpm* rpm\* yum* yum\*

到这里,第一个考验来了,系统抱错:

“srptools: Obsoletes: openib-srptools”

rpm -qa | grep srptools没发现系统装的有srptoolsopenib-srptools
但是在as4的仓里有openib-srptools、as5的仓里有srptools

rpm -ivh http://10.0.0.1/pathto4Server/RPMS.os/openib-srptools-0.0.6-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/openib-1.2-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/libibumad-1.0.5-7.i386.rpm http://10.0.0.1/pathto4Server/RPMS.os/libibcommon-1.0.3-7.i386.rpm

上面这一步其实可能不用,因为后来openib-srptools又给删掉了

rpm -ivh http://10.0.0.1/pathto5Server/RPMS.os/srptools-0.0.4-2.el5.i386.rpm

你要srptools我就给你装srptools

rpm -e openib-srptools

删掉openib-srptools

rpm -e openldap-clients cups-libs openldap elinks ckermit nmap cyrus-sasl-devel pwlib curl neon libwvstreams stunnel pyOpenSSL dhcpv6_client rhnlib wvdial openh323 openldap-devel nss_ldap libuser cyrus-sasl nss_ldap compat-openldap cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-plain cyrus-sasl-md5 libuser-devel usermode passwd nfs-utils autofs nfs-utils-lib kbd system-logviewer authconfig-gtk usermode-gtk system-config-network-tui system-config-lvm system-config-packages system-config-language system-config-date system-config-nfs system-config-services system-config-securitylevel system-config-soundcard system-config-rootpassword system-config-keyboard system-config-network redhat-lsb system-config-users system-config-mouse sendmail cyrus-sasl-sql mutt python-ldap apr-util-devel up2date cadaver curl-devel php php-gd php-mysql php-mbstring php-pear python-ldap kdebase samba-common samba-client gnupg evolution-data-server httpd apr-util samba-common samba-client libgnomeprint22-2.8.0-3.i386 ghostscript kdelibs ghostscript tog-pegasus mdadm fetchmail httpd-devel kdemultimedia gnome-panel cups-libs httpd kde-i18n-Chinese kde-i18n-Chinese-Big5 gimp-print iiimf-gnome-im-switcher tog-pegasus-devel ghostscript-fonts httpd-suexec libgnomeprintui22 gtksourceview libgnomecups cups rpm-devel rpm-build redhat-rpm-config bg5ps VFlib2 dmraid

再删掉一大堆妨碍升级rpm*并安装yum*的东东
反正到最后

apt-get install rpm-libs rpm-python rpm yum

成功了
这一步的时候,貌似apt就给删掉了,否则还需要rpm -e apt一下
然后把yum的安装源指向我们自己的仓
再执行升级

yum update

完成后再做一次base安装,因为前面删的东西太多了,怕有的东西是必须的,所以做一次base安装

yum groupinstall base

这个时候会出一个”device-mapper“相关的错误
这是因为系统目前的device-mapper包(as4的)比安装仓(as5)里的device-mapper的版本还要新!
这也就是我前面说为什么升级之前把系统升级成as4的最新版也许还添了麻烦的原因
没办法
先强行升级device-mapper

rpm -Uvh –force http://10.0.0.1/pathto5Server/RPMS.os/device-mapper-1.02.24-1.el5.i386.rpm

最后yum groupinstall base完成后
再装下新kernel(如果没自动装的话)

yum install kernel-PAE kernel-PAE-devel kernel-doc

再用新kernel起起来就ok了

分类: Operation System 标签: , , , , , ,

rpm错误”setransd is needed by libselinux-xxx”

2008年11月24日 哈哈 没有评论

升级系统的时候包一个错:

setransd is needed by libselinux-1.33.4-5.el5.x86_64


仔细翻了下rhel as5的目录
没有叫setransd啥啥啥的rpm包呀
是的,是没有
应该装mcstransd啥啥啥的rpm包就对了

公网网卡上加绑一个教育网ip以及策略路由

2008年11月19日 哈哈 没有评论

公司某个保密项目需要打通一条从教育网到网通、电信乃至于国外的更宽广、通畅的道路
于是就从教育网拉了根儿光纤到某个非教育网的机房
然后在这个机房的某些机器的公网交换机端口上同时配上了教育网和以前公网地址的vlan的trunk
按照以前的文章http://www.haw-haw.org/node/5
很容易就在公网网卡上配上了教育网和以前公网网段的ip地址
剩下就只是策略路由的事情了
而这个策略路由的需求比较简单
只是需要把从哪个设备来的包还从哪个设备上回过去就ok了

假设公网网卡设备是eth0
教育网和原来公网网段的vlan id分别是100101
那么教育网和原来公网的网络设备就分别是eth0.100eth0.101
教育网和原来公网的ip分别是a.b.c.de.f.g.h
default gw分别是a.b.c.254e.f.g.254
然后,先添加2张路由表eduother
(这里的优先级100和101跟上面的vlan id没有关系,可以随便取,只要不跟已有的重就行)

echo -e “100\tedu\n101\tother” >> /etc/iproute2/rt_tables

接着,配置好新加的两张路由表eduother

ip route add a.b.c.0/24 dev eth0.100 src a.b.c.d table edu
ip route add default via a.b.c.254 table edu
ip route add e.f.g.0/24 dev eth0.101 src e.f.g.h table other
ip route add default via e.f.g.254 table other

最后,再配上路由选择的策略

ip rule add from a.b.c.d table edu
ip rule add from e.f.g.h table other

于是一切ok了
最后把这几条命令写入/etc/rc.d/rc.local
(因为最后没有找到改哪个配置文件可以实现以上命令的功能,所以只有写道rc.local里了)

install php(<5.2.0) extension json on rhel as5

2008年10月20日 哈哈 2 条评论

一台rhel as5 update2的机器
php版本是5.1.6
需要安装json(一种php扩展)
php从5.2.0开始就已经将json集成到core代码里
所以5.2.0及以后的php是不需要单装json的
但我们这里是5.1.6的php
看了下文档
就是一句:

pecl install json

最后会出错:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 7680 bytes) in /usr/share/pear/PEAR/PackageFile/v2.php on line 1067

忽略这个错误
php -m
发现还没有json
编辑/etc/php.ini
加上一句

extension=json.so

重起apache
搞定
猜想可能是最后改配置文件php.ini的时候出错了,于是没有更新php.ini
导致需要手工更改

分类: Operation System 标签: , , , , ,

upgrading from rhel as4 to rhel as5

2008年10月13日 哈哈 没有评论

一台rhel as4的机器要升级成rhel as5
由于其包管理软件apt不在其repository(储藏室,库)里
所以不能通过apt-get来同时升级自己和所依赖的软件包
貌似as5u2里有了yum
但是我的as4下又没有,只有装的第三方的apt-get
本来我想的过程是
1,先装上as5的release的rpm包
2,再用apt-get升下rpm*相关软件包,尽量再装上yum
3,如果上一步能装上yum,那就好办了,直接update就ok了;否则只能rpm手工安装yum,最后再yum update
但是实际上
我第2步apt-get升级rpm*就出错了
于是只有用rpm手工升级rpm(听起来有点绕口:)
期间删了一大堆的rpm,以下仅是一部分

rpm -e openldap-clients cups-libs openldap elinks ckermit nmap cyrus-sasl-devel pwlib curl neon libwvstreams wpa_supplicant stunnel pyOpenSSL dhcpv6_client rhnlib wvdial openh323 openldap-devel nss_ldap libuser cyrus-sasl nss_ldap compat-openldap cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-plain cyrus-sasl-md5 libuser-devel usermode passwd nfs-utils autofs nfs-utils-lib kbd system-logviewer authconfig-gtk usermode-gtk –allmatches

后来当了一大堆的rpm包,用rpm –force装上了(这里的apt也是从第三方当下来的)

rpm -Uvh –force device-mapper-1.02.24-1.el5.i386.rpm lvm2-2.02.32-4.el5.x86_64.rpm device-mapper-event-1.02.24-1.el5.x86_64.rpm readline-5.1-1.1.x86_64.rpm apt-0.5.15lorg3.2-1.el5.rf.x86_64.rpm python-2.4.3-21.el5.x86_64.rpm rpm-libs-4.4.2-48.el5.x86_64.rpm db4-4.3.29-9.fc6.x86_64.rpm openssl-0.9.8b-10.el5.x86_64.rpm rpm-4.4.2-48.el5.x86_64.rpm elfutils-libelf-0.125-3.el5.x86_64.rpm sqlite-3.3.6-2.x86_64.rpm beecrypt-4.1.2-10.1.1.x86_64.rpm popt-1.10.2-48.el5.x86_64.rpm wget-1.10.2-7.el5.x86_64.rpm openssh-clients-4.3p2-26.el5.x86_64.rpm openssh-server-4.3p2-26.el5.x86_64.rpm openssh-4.3p2-26.el5.x86_64.rpm nss-3.11.99.5-2.el5.x86_64.rpm nspr-4.7.0.99.2-1.el5.x86_64.rpm pam-0.99.6.2-3.27.el5.x86_64.rpm libselinux-1.33.4-5.el5.x86_64.rpm libsepol-1.15.2-1.el5.x86_64.rpm mcstrans-0.2.7-1.el5.x86_64.rpm

这一步做完后,最麻烦的就算是过去了
然后用新的apt-get
apt-get update
然后报错,这个错误以前碰到过,见这里
于是按照上面的方法解决

反正最后是用apt-get update;apt-get check;apt-get -y upgrade;apt-get -y dist-upgrade搞定
(期间也出过n多的问题,幸好都一一解决了)