yum 本地库离线安装

//解决nameservice无法解析,导致下不了rmp包的问题,离线安装,这就要求先把要获取的rmp获取,网上,或者安装一次之后从yum缓存中获取。注意依赖性,用这个解决:
//转向yum的更新源,代替RHN

//os.chdir("/etc/yum.repos.d")


//当然在离线安装之前要把相应的gz,py.sh等先传到服务器,之后再在虚拟机端链接服务器,从服务器来下来sh,运行这个sh会自动从服务器上拉下所有需要的资源解压,安装,运行,包括gz(本地rmp源,py,sy等)

//实现了.sh,和.py的交互,解压gz
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/release/certus-FlexScape-ver03.tar.gz . $CM_PASSWORD #qpid-cpp-client... lost


$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/instalexpect.py . $CM_PASSWORD

//root目录就是解压后目录
os.chdir("/root/certus/rpms-release-0.18")
//创建源是基于此解压包的文件夹指定,以后的rmp源都是从这里获取
os.system("createrepo -v /root/certus/rpms-release-yum/")

/////python install.py source sql.sh python start.py这种实现了前后台的交互

///////报错,是由于在window下编辑是用了回车键 linux不识别
bad interpreter: No such file or directory




//yum离线安装的准备工作,下载要lib类库,配置好离线安装
//安装类库,使其具有yum相关功能
=============这个是yum环境必须的====================================
os.system("rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm  python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm createrepo-0.9.9-18.el6.noarch.rpm")
//创建yum本地rpm仓库,解决安装一个包之后的依赖更新问题,在制作yum仓库时需要一个软件包:createrepo-0.4.11-3.el5.noarch.rpm可以用rpm -qa|grep createrepo命令查看是否安装了这个软件包。安装:# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm安装完成之后,在/usr/bin/目录下会有一个createrepo命令,可以执行man createrepo命令查看该命令。但是没有更新功能,通过注册RHN(Red Hat Network)帐号,然后由yum连接到RHN Satellite服务器上去解决更新和软件包依存关系等问题。这种方法需要能连接到internet。如果我没有RHN帐号怎么办呢?注册一个,或使用本地yum仓库。本地yum仓库就是把系统安装光盘里的内容复制到本地磁盘中,通过配置yum,让其访问这个本地磁盘,解决软件包依存关系,但不能更新软件包。

os.system("createrepo -v /root/certus/rpms-release-yum/")
os.system("createrepo -v /root/certus/rpms-release-0.18/")

//转向yum的更新源,代替RHN

os.chdir("/etc/yum.repos.d")

//创建新的目录
os.system("mkdir bak")

//.repo文件是记录当前rmp的头部记录的需要依赖的rmp,yum会自动利用这个文件去更新依赖,
在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件
(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

os.system("mv *.repo  ./bak")
os.system("cp /root/certus/local.repo ./")
os.system("yum clean all")
//将服务器上的软件包信息在本地缓存,以提高 搜索安装软件的速度,相当于建立索引
os.system("yum makecache")

//各种安装,这里是安装运行环境包
yum -y install 包名(支持*) :自动选择y,全自动(各种包)
yum install 包名(支持*) :手动选择y or n
yum remove 包名(不支持*)
rpm -ivh 包名(支持*):安装rpm包
rpm -e 包名(不支持*):卸载rpm包

===========================这个可以去了不是环境必须================

os.system("yum -y install OpenIPMI createrepo freeipmi fuse-libs httpd ipmitool \(末行用\)
memcached mod_ssl net-snmp net-snmp-libs net-snmp-utils nfs-utils portmap  \
yum-utils openslp tcl libxml2 libyaml")

//跳转到前面创建的软件仓库
os.chdir("/root/certus/rpms-release-0.18")


//先跳转目录,以下就是在当前目录的一系列的rmp软件包的安装了。先跳转目录,之后的操作就是在这个目录之下
os.system("yum -y install expect-5.44.1.15-5.el6_4.x86_64.rpm  ")

//1.安装一个包 # rpm -ivh  2.升级一个包 # rpm -Uvh  3.移走一个包 # rpm -e//碰到已经安装的时候可以卸载再安装,从而得到rmp,有一定延时 
//升级一个包
os.system("rpm -Uvh glibc-2.14.1-6.x86_64.rpm glibc-common-2.14.1-6.x86_64.rpm glibc-devel-2.14.1-6.x86_64.rpm  glibc-headers-2.14.1-6.x86_64.rpm")

//设置 on(启动)的服务,chkconfig后面不是跟动作性,只是跟名词的就是检查,跟动作性,状态性的就是设置

chkconfig postgresql on

//开启服务
service postgresql start







猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2206532