`
y806839048
  • 浏览: 1119963 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

yum 本地库离线安装源码

 
阅读更多
===============================步骤说明===============
===========

os: centos6.5 64bits(需是Basic server版本)
账号:root
密码:123456

此处需要注意,安装时使用root账号操作。使用的os用户名和密码被使用在配置文件中,与登录数据库postgresql有关系。
勿使用其他账号和密码;可以在安装完成后再修改os密码;

1.上传certus-FlexScape-ver03.tar.gz(个性化),rails,vmdb.tar.gz(个性化), install.py(个性化), sql.sh, start.py 和 update.py到/root目录下;

2.在/root目录下执行 python install.py

3.在/root目录下执行  source sql.sh


4.在/root目录下执行 python start.py

5.在/root目录下执行 python update.py


certus-FlexScape-ver03.tar.gz这种是rmp源,真正安装哪个是在install.py中决定的 
os.system("yum -y install expect-5.44.1.15-5.el6_4.x86_64.rpm  ")

##yum -y install expect 在线安装,由于有时会因nameservice解析的问题安装不了,所以在一次成功之后将相应的rmp下载出来,这个可以在yum的缓存中获取,放在本地仓库expect.tar.gz


cd $ROOT_DIR
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/release/expect.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_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/sql.sh . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/start.py . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/rails . $CM_PASSWORD

//yum的一些用法
http://www.jb51.net/LINUXjishu/32189.html

# yum install bochs(即可从本地获取rmp也可从源头获取)

  如果本地有相关的 rpm 文件,可以用

  # yum localinstall ur.rpm

  前者导致 yum 搜索现有 repository 中的数据(一般先会连接到这些 repository 下载更新数据),如果发现有此软件,则会通过分析其 dependencies 然后下载并安装所需软件。



=============================================================



#!/bin/bash

#we need this
set -e

DISABLE_MANO=$1
ROOT_DIR=/root #must be exist or we can create one
CM_USER=cm
CM_IP=172.16.33.166
CM_PASSWORD=cm2012
CM_RELEASE_ROOT_DIR=/home/cm/iCloud/release-latest
CM_SCAPE_ROOT_DIR=$CM_RELEASE_ROOT_DIR/scape
CM_MANO_ROOT_DIR=$CM_RELEASE_ROOT_DIR/nfv-mano

#  release-latest/
#  |-- nfv-mano
#  |   |-- release
#  |   |   |-- init-sql
#  |   |   |   |-- db.sql
#  |   |   |   |-- index.sql
#  |   |   |   |-- init.sql
#  |   |   |   `-- table.sql
#  |   |   |-- mano-war
#  |   |   |   |-- mano-nfvo.war
#  |   |   |   |-- mano-vim.war
#  |   |   |   |-- mano-vnfm.war
#  |   |   |   `-- mano.war
#  |   |   `-- scripts
#  |   |       |-- ascp
#  |   |       |-- mysql-init-passwd.sh
#  |   |       `-- psql-cmd.sh
#  |   `-- software
#  |       |-- MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar
#  |       |-- apache-tomcat-7.0.57.tar.gz
#  |       `-- jdk-7u75-linux-x64.tar.gz
#  `-- scape
#      |-- release
#      |   |-- certus-FlexScape-ver03.tar.gz
#      |   `-- vmdb
#      |       |-- vmdb-2015-04-12.tar.gz
#      |       `-- vmdb-latest.tar.gz -> vmdb-2015-04-12.tar.gz
#      `-- scripts
#          |-- FlexScape--install-step-by-step.txt
#          |-- install.py
#          |-- rails
#          |-- sql.sh
#          `-- start.py

###########################prepare 1 ####################################################
scp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/release/scripts/ascp $ROOT_DIR/ascp
chmod u+x $ROOT_DIR/ascp

##yum -y install expect

$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/release/scripts/psql-cmd.sh $ROOT_DIR/psql-cmd.sh $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/release/scripts/mysql-init-passwd.sh $ROOT_DIR/mysql-init-passwd.sh $CM_PASSWORD
chmod u+x $ROOT_DIR/psql-cmd.sh
chmod u+x $ROOT_DIR/mysql-init-passwd.sh
###########这里是我做的一段离线安装源expect.tar.gz ,instalexpect.py 这两个是我自己改造的
cd $ROOT_DIR
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/release/expect.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_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/sql.sh . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/start.py . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/rails . $CM_PASSWORD
###########################prepare 2 ####################################################
cd $ROOT_DIR
$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/install.py . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/sql.sh . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/start.py . $CM_PASSWORD
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/scripts/rails . $CM_PASSWORD

###########################install flexscap ####################################################
cd $ROOT_DIR
python install.py

#bugfix remove =>  "[[ -s /opt/rh/postgresql92/enable ]] && source /opt/rh/postgresql92/enable"
#from /var/www/miq/system/LINK/etc/default/evm
#from sql.sh
DELETE_LINE=`grep -n 'postgresql92' /var/www/miq/system/LINK/etc/default/evm |awk -F ':' '{print $1}'`
sed "${DELETE_LINE}d" -i /var/www/miq/system/LINK/etc/default/evm

source sql.sh
python start.py

############################update vmdb####################################################
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_SCAPE_ROOT_DIR/release/vmdb/vmdb-latest.tar.gz vmdb.tar.gz  $CM_PASSWORD
cd $ROOT_DIR
tar -xzf vmdb.tar.gz
cp -rf  /var/www/miq/vmdb   /var/www/miq/vmdb.bak
cp -rf ./vmdb   /var/www/miq/
cp -rf ./vmdb/fog-1.19.0/lib /usr/share/gems/gems/fog-1.19.0/

###########################recreate database####################################################
cd $ROOT_DIR
$ROOT_DIR/psql-cmd.sh 'drop database "vmdb_production";'
$ROOT_DIR/psql-cmd.sh 'create database "vmdb_production" with owner="root";'

cd /var/www/miq/vmdb
bundle exec rake db:migrate
/sbin/chkconfig  --add  evmserverd

service evmserverd restart
###########################disable iptables####################################################

service iptables stop
/sbin/chkconfig --level 2345 iptables off

#############################################################################################
if [ $DISABLE_MANO ]; then
   exit
fi

##########################install mysql ####################################################
cd $ROOT_DIR
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/software/MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar .  $CM_PASSWORD
tar -xf MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar
MYSQL_CURRENT=`rpm -qa  | grep -i mysql`
if [ $MYSQL_CURRENT ] ;then
        rpm -e  $MYSQL_CURRENT  --nodeps  
fi
rpm  -ivh   MySQL-server-5.6.21-1.el6.x86_64.rpm
rpm  -ivh   MySQL-client-5.6.21-1.el6.x86_64.rpm
rpm  -ivh   MySQL-devel-5.6.21-1.el6.x86_64.rpm

cp  /usr/share/mysql/my-default.cnf  /etc/my.cnf
service mysql start

RANDOM_PASSWORD=`cat ~/.mysql_secret |awk -F ' ' '{print $NF}'`

MYSQL_PASSWORD=123456

$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/release/init-sql/*.sql .  $CM_PASSWORD

$ROOT_DIR/mysql-init-passwd.sh $RANDOM_PASSWORD $MYSQL_PASSWORD
mysql -v  -uroot -p$MYSQL_PASSWORD -e "use mysql;update user set host='%' where user='root' and host='localhost';flush privileges;"


/sbin/chkconfig mysql on
/sbin/chkconfig --list |grep mysql

mysql -uroot -p$MYSQL_PASSWORD < db.sql
mysql -uroot -p$MYSQL_PASSWORD < table.sql

#don't known how to do ,, we have 'set -e'
echo `mysql -uroot -p$MYSQL_PASSWORD < index.sql`

mysql -uroot -p$MYSQL_PASSWORD < init.sql

##install jdk####################################################

cd $ROOT_DIR
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/software/jdk-7u75-linux-x64.tar.gz .  $CM_PASSWORD
cd  /usr/local/
tar -xzf  $ROOT_DIR/jdk-7u75-linux-x64.tar.gz

##########################install mysql ####################################################
cd $ROOT_DIR
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/software/apache-tomcat-7.0.57.tar.gz .  $CM_PASSWORD

cd /usr/local
tar -xzf  $ROOT_DIR/apache-tomcat-7.0.57.tar.gz

INSERT_LINE=`grep -n 'PRGDIR=.*dirname .*PRG' /usr/local/apache-tomcat-7.0.57/bin/catalina.sh |awk -F ':' '{print $1}'`
echo $INSERT_LINE
INSERT_CONTENT="CATALINA_OPTS=\"$CATALINA_OPTS -server -Xmx2048m -XX:MaxPermSize=512m   -Xdebug -Xnoagent -Djava.compiler=NONE\""
sed "${INSERT_LINE} a${INSERT_CONTENT}" -i /usr/local/apache-tomcat-7.0.57/bin/catalina.sh

cp  /usr/local/apache-tomcat-7.0.57/bin/catalina.sh  /etc/init.d/tomcat
#vim /etc/init.d/tomcat
INSERT_CONTENT="# chkconfig: 2345 10 90 \n# description: Tomcat service\nCATALINA_HOME=/usr/local/apache-tomcat-7.0.57\nJAVA_HOME=/usr/local/jdk1.7.0_75\nexport CATALINA_HOME\nexport JAVA_HOME\n"
INSERT_LINE=`grep -n 'os400=false' /etc/init.d/tomcat |awk -F ':' '{print $1}'`
sed "${INSERT_LINE} a${INSERT_CONTENT}" -i /etc/init.d/tomcat
chkconfig  --add  tomcat

###########################install war packages####################################################
$ROOT_DIR/ascp $CM_USER@$CM_IP:$CM_MANO_ROOT_DIR/release/mano-war/*.war /usr/local/apache-tomcat-7.0.57/webapps $CM_PASSWORD

###########################start tomcat ####################################################
/usr/local/apache-tomcat-7.0.57/bin/startup.sh

###########################config reverse proxy rules####################################################

cp /var/www/miq/vmdb/others/nfv/nfv_apache_config/cfme-redirects-nfv /etc/httpd/conf.d/ ####???????

INSERT_CONTENT="Include conf.d/cfme-redirects-nfv\n"
INSERT_LINE=`grep -n 'VirtualHost.*.*443' /etc/httpd/conf.d/cfme-https-application.conf |awk -F ':' '{print $1}'`
sed "${INSERT_LINE} a${INSERT_CONTENT}" -i /etc/httpd/conf.d/cfme-https-application.conf

##########################restart httpd and evmserverd#########################################
$ROOT_DIR/ascp root@172.16.67.138:/etc/httpd/conf.d/cfme-redirects-ui /etc/httpd/conf.d/ 123456  ##############FIXME
$ROOT_DIR/ascp root@172.16.67.138:/etc/httpd/conf.d/cfme-redirects-ws /etc/httpd/conf.d/ 123456 ##############FIXME

service httpd restart

echo "DONE!!!!!!!!!!!!!!"
分享到:
评论

相关推荐

    yum 本地库离线安装

    总结一下,"yum 本地库离线安装"是Linux环境中解决网络限制的一种实用方法,涉及到的主要知识点包括Yum的工作原理、创建和配置本地仓库、使用Yum离线安装软件以及自动化安装工具如`expect`的使用。通过这些步骤,...

    linux yum离线资源离线资源perl-5.26.1

    不过,你可以将所需的模块下载到本地,然后使用`cpanm`(CPAN Minus)或手动编译来安装。例如,如果你有一个名为`Module::Name.tar.gz`的模块,可以这样操作: ```bash tar -zxvf Module-Name.tar.gz cd Module-...

    centos离线安装python环境依赖

    3. **安装依赖**:使用`yum`或`dnf`(根据你的CentOS版本)命令,配置本地软件仓库并安装必要的依赖。例如: ```bash yum --disablerepo=* --enablerepo=/var/local/repo install gcc cpp glibc-devel kernel-...

    CentOS7.2离线安装openssh8.6p1软件包-步骤及依赖.rar

    在没有网络连接的环境下,离线安装是唯一的选择。以下是一个详细的步骤指南,教你如何在CentOS7.2上离线安装OpenSSH 8.6p1。 首先,你需要获取OpenSSH 8.6p1的源码包。这通常可以通过访问OpenSSH官方网站或通过其他...

    离线安装docker19.03-ce

    使用`yum`命令进行本地安装: ``` [root@localhost docker-ce.19.3]# yum -y localinstall *.rpm ``` 这里的`*`表示匹配目录下的所有rpm文件,包括`containerd.io`、`docker-ce`和`docker-ce-cli`。 ##### 4. 启动...

    CentOS7 nginx离线安装gcc/pcre-devel/openssl-devel/zlib-devel包

    首先,`CentOS7 nginx离线安装gcc/pcre-devel/openssl-devel/zlib-devel包`这个标题表明我们需要为Nginx安装四个关键的开发库:GCC(GNU Compiler Collection),PCRE(Perl Compatible Regular Expressions)的开发...

    gcc离线安装包(linux环境中离线安装Redis)

    在Linux环境中,离线安装Redis通常需要依赖于GCC编译器和其他相关开发库。GCC(GNU Compiler Collection)是GNU项目的一部分,它是一...如果条件允许,使用网络安装或创建一个包含所有依赖的本地YUM仓库会更安全可靠。

    离线安装HADOOP环境

    **创建CM源**:如果使用CM进行Hadoop的安装,只需要创建CM源,安装CM后,当用CM进行批量安装时,可以选择系统本地源。例如: ```bash # cd /var/www/html # ln -s /tmp/cm4 cm ``` 创建CM源的repo文件,内容如下:...

    linux服务器上centos7.5离线安装redis 所需要的gcc包

    3. **创建本地软件仓库**:为了方便安装,可以将这些离线包放在一个目录下,并配置为本地yum仓库。创建一个新目录,如 `/var/local/repo/`,然后将所有离线包移动到这个目录。 4. **编辑yum配置**:打开 `/etc/yum....

    nginx1.16.1离线安装依赖包

    离线安装过程中可能会遇到的常见问题包括依赖库版本不兼容、编译选项错误以及权限问题。为确保万无一失,务必仔细阅读官方文档和教程,确保每个步骤都按照正确的方式执行。 总的来说,离线安装Nginx 1.16.1依赖包是...

    CentOS7.3.1611下,离线安装keepalived1.4.4+nginx1.14.0所需要的一些RPM包

    1. 准备环境:确保你的CentOS 7.3.1611系统已经更新至最新,并安装了`yum-utils`工具,因为它包含`createrepo`命令,用于创建本地RPM仓库。 2. 下载RPM包:你需要从可靠的源获取keepalived 1.4.4和nginx 1.14.0的...

    CentOS7.4离线安装openssh8.6p1软件包-步骤及依赖.rar

    9. **验证安装**:最后,你可以通过运行`ssh localhost`测试本地连接,或者从其他机器尝试连接,以确保OpenSSH工作正常。 离线安装OpenSSH 8.6p1的过程需要细心操作,尤其是在处理依赖关系时。务必确保所有必要的...

    Git离线rpm安装包

    3. 离线安装Git及其依赖:`yum install *.rpm` 在整个过程中,确保你理解了每个步骤的含义,并且在没有网络的情况下解决了所有的依赖问题。这样,即使在没有互联网连接的环境中,你也能顺利地在Linux系统上安装和...

    RockyLinux9.0 yum安装 mysql8.0

    在本文中,我们将详细介绍如何在Rocky Linux 9.0系统上使用`yum`命令安装MySQL 8.0,以及安装后的配置步骤,包括启动服务、添加自启动、登录、重置密码、开放远程连接、防火墙设置等关键操作。 **一、检查与安装** ...

    Ansible离线安装文档

    可以通过挂载CentOS 7.2的DVD镜像文件来安装缺少的rpm包,或者使用yum进行安装,具体命令如下: ``` # rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm ``` 安装过程中如果遇到依赖问题,可以使用-force--nodeps选项...

    linux C7 crontab离线安装包

    然而,在没有网络连接的离线环境里,我们需要先将RPM包下载到本地,然后使用`rpm`命令进行安装。 离线安装Crontab的步骤如下: 1. **下载RPM包**:在有网络的环境中,找到适用于CentOS 7的Crontab RPM包,例如`...

    nginx在线 离线安装资源包

    在线安装则相对简单,只需使用`yum`或`dnf`等包管理器安装所需的依赖,然后下载Nginx的RPM包或使用`yum install nginx`或`dnf install nginx`命令即可完成安装。 在`nginx离线安装.docx`文档中,应该包含了详细的...

    centos8安装zabbix6脚本

    这个压缩包内可能包含了Zabbix 6.0的源码、配置文件以及针对不同安装场景的脚本。解压该文件通常可以使用`tar`命令,例如: ```bash tar -zxvf zabbix6.tar.gz ``` 解压后,你会看到一个名为"zabbix6离线安装.sh...

    Oracle离线安装依赖

    在离线安装过程中,`rpm_data`压缩包文件很可能包含了用于满足Oracle安装所需的所有RPM包,这些包可能包括运行时库、开发库、系统工具和其他必要的软件组件。 1. **环境配置**:首先,确保操作系统符合Oracle的最低...

Global site tag (gtag.js) - Google Analytics