存档

文章标签 ‘rpm’

从as4迁移到centos4.9

2011年4月21日 没有评论

  有些机器,年代久远,装的是redhat advance server 4的系统,暂时又不能下线,也不能重装,怎么办?“升级”到centos4.9吧。
  具体流程是这样的:

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4
rpm -ivh http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/yum-2.4.3-4.el4.centos.noarch.rpm \
 http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/python-elementtree-1.2.6-5.el4.centos.i386.rpm \
 http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/python-sqlite-1.1.7-1.2.1.i386.rpm \
 http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/python-urlgrabber-2.9.8-2.noarch.rpm \
 http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.i386.rpm \
 http://mirror.centos.org/centos/4/os/alpha/CentOS/RPMS/centos-yumconf-4-4.5.noarch.rpm \
 http://mirror.centos.org/centos/4.9/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm
vim /etc/yum.repos.d/CentOS-Base.repo
#将所有的$releasever替换成4
yum -y install kernel-smp.i686 screen
screen -d -m yum -y update
#这里引入screen命令是因为update过程比较长,怕session挂掉,用screen之后就让他在screen里跑了

等update动作做完,稍稍检查下(主要是检查下grub啥的)没有问题,就

reboot

重启吧,应该没有问题的。

分类: tips 标签: , , ,

一个rpm命令hang住了的问题

2011年1月17日 没有评论

系统是Centos 5.4
这个也算是Rhel5.4的山寨吧
发现突然不管敲入某个参数的rpm命令都会到一定时候就没反应(hang掉,挂住)
strace命令跟了一下
发现hang在了这里:

open(“/var/lib/rpm/Packages”, O_RDONLY) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=35233792, …}) = 0
futex(0x2ba116b5bad4, FUTEX_WAIT, 1, NULL

于是用rpm -vv –verifydb这个隐含的参数来修,不行
也会hang在上面所示的地方
rpm –rebuilddb来搞,还是不行,问题同上

最后
rm -rf /var/lib/rpm/__db.00?
(删除之前请先做备份)
然后再rpm –rebuilddb
终于搞定了。

分类: tips, TroubleShooting 标签: , , ,

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

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包就对了

rpm出错:Program version 4.3 doesn’t match environment version

2008年10月14日 没有评论

一台linux机器
输入命令
rpm -qa
的时候
系统报错:

rpmdb: Program version 4.3 doesn’t match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 – (-30974)
error: cannot open Packages database in /var/lib/rpm

解决方法:

cd /var/lib/rpm
rm -rf __*
rpm –rebuilddb

rpm的参数–allmatches

2008年8月18日 没有评论

一台机器上rpm -a的时候有个rpm包显示有两个(名字已模一样)
因为这个包是需要删除的
rpm -e xxx-xxxx
报错误:

specifies multiple packages

于是发现加上–allmatches后搞定
rpm -e –allmatches xxx-xxxx

分类: Operation System 标签: ,

rpm -e时有多个匹配包的时候的问题

2007年10月22日 没有评论

redhat的包管理比较混乱
经常某一个软件包
在rpmdb里有好几个
比如今天我rpm -e xxx的时候就出错了

error: “xxx” specifies multiple packages

rpm -qa | grep xxx一看
果然有2个
于是man rpm
终于rpm -e –allmatches xxx
搞定了

分类: Operation System 标签: ,