zoukankan      html  css  js  c++  java
  • #centos7 创建内网yum源 OpenStack源部署

    #centos7 创建内网yum源
    #centos7 自动化安装 本地 内网 web源创建、更新 createrepo http OpenStack源部署

    Elven原创 http://www.cnblogs.com/elvi/p/7657770.html

    # Mady by Elven
    

    ##########################################
    #环境准备

    #自动化安装centos7
    #下载系统镜像
    #http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso
    #使用ISO镜像 + ks文件自动化安装
    #安装界面选择"Install CentOS7" 按TAB键进入编辑,添加自动化安装脚本 ks=http://elven.vip/ks/c7cd.ks
    #按Enter开始自动化安装
    
    
    #更改grub启动项,更改等待时间,更改字符界面
    [ `uname -r` = *el6* ] && { Grubcfg=/boot/grub/grub.cfg; } || { Grubcfg=/boot/grub2/grub.cfg; }
    echo  "修改 $Grubcfg"
    cp $Grubcfg{,.bak}
    sed -i 's#timeout=5#timeout=2#g' $Grubcfg
    sed -i 's#rhgb##g' $Grubcfg
    
    #关闭selinux、防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    firewall-cmd --state
    sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
    sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
    grep --color=auto '^SELINUX' /etc/selinux/config
    setenforce 0
    
    #设置hostname
    hostnamectl set-hostname yum

    #设置固定IP
    #ifconfig #查看网卡名
    NetName=ens37 #网需要设置的网卡
    rm -f /etc/sysconfig/network-scripts/ifcfg-$NetName
    nmcli con add con-name $NetName ifname $NetName autoconnect yes type ethernet
         ip4 172.16.11.25/24 ipv4.dns "172.16.11.14 119.29.29.29" ipv4.gateway "172.16.11.1"
    nmcli connection reload #重新加载网络

    
    #时间同步
    /usr/sbin/ntpdate ntp6.aliyun.com 
    echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com  &> /dev/null" > /tmp/crontab
    crontab /tmp/crontab
    
    #更换阿里源
    mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #可选
    yum clean all && yum makecache #生成缓存
    
    #--------
    #我这里单独使用一个数据盘(可选)
    #fdisk快速分区,新建40G
    echo -e 'n
    p
    1
    
    +40G
    w' | fdisk /dev/sdb
    mkfs.ext4 /dev/sdb1
    e2label /dev/sdb1 /www
    mkdir /www
    mount -t ext4 /dev/sdb1 /www
    df -h|grep /dev/sdb1
    #开机挂载磁盘
    echo "mount -t ext4 /dev/sdb1 /www" >>/etc/rc.d/rc.local
    tail -1 /etc/rc.d/rc.local
    chmod +x /etc/rc.d/rc.local
    #--------
    

    #########################
    #yum安装配置

    
    #设置yum下载目录
    mkdir -p /www/share/yum
    cp /etc/yum.conf{,.bak}
    sed -i 's#^keepcache=0#keepcache=1#' /etc/yum.conf
    sed -i 's/^cachedir/#cachedir/' /etc/yum.conf
    sed -ir '3 icachedir=/www/share/yum/$basearch/$releasever 
    ' /etc/yum.conf
    head /etc/yum.conf

    #升级,重启
    yum update -y && reboot

    
    

    ##########################################

    
    #安装createrepo,http服务
    yum install createrepo httpd -y
    
    #配置http目录共享
    echo '#http share
    Alias /share /www/share
    <Directory "/www/share">
        Options Indexes FollowSymLinks
        IndexOptions NameWidth=* DescriptionWidth=* FoldersFirst
        IndexOptions SuppressIcon HTMLTable Charset=UTF-8 SuppressHTMLPreamble
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
    '>/etc/httpd/conf.d/share.conf
    cp /etc/httpd/conf/httpd.conf{,.bak}
    echo "
    ServerName localhost
    #关闭版本号显示
    ServerSignature Off
    ServerTokens Prod
    ">>/etc/httpd/conf/httpd.conf
    systemctl enable httpd.service
    systemctl restart httpd.service
    netstat -antp|grep 'httpd'
    #浏览器访问 172.16.11.25/share ,能访问即正常
    
    #创建YUM仓库
    mkdir -p /www/share/centos7_rpm
    createrepo -p /www/share/centos7_rpm/
    
    #创建源文件
    echo "
    [My_share]
    name=My_Souce
    baseurl=http://172.16.11.25/share/centos7_rpm/
    gpgcheck=0
    enabled=1
    cost=88
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    ">/www/share/Lan7.repo
    
    
    ## RPM更新
    # yum缓存的rpm包拷贝到/www/share/centos7_rpm/
    find /www/share/yum -name *.rpm |sed -r 's#.*#mv & /www/share/centos7_rpm/
    #'|bash
    # #下载没有安装过的包
    # yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y 包名称
    # #下载已经安装过的包
    # yum reinstall --downloadonly --downloaddir=/www/share/centos7_rpm/ -y 包名称
    
    #更新源
    createrepo --update -p /www/share/centos7_rpm/
    
    ##########################################
    #rpm下载、yum更新 shell
    echo '#!/bin/sh [ $# = 0 ] && { echo "更新源" /usr/bin/createrepo --update -p /www/share/centos7_rpm/ } || { echo "yum下载" yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y $* echo "更新源" /usr/bin/createrepo --update -p /www/share/centos7_rpm/ } '>yumd.sh ln -s $(pwd)/yumd.sh /usr/bin/yumd chmod +x yumd.sh # 执行 yumd 更新源 # 执行 yumd 软件1 软件2 ,就会下载相关软件并更新源 ########################################## #客户端使用源 wget -O /etc/yum.repos.d/Lan7.repo http://172.16.11.25/share/Lan7.repo #客户端测试,查看源名称 yum install httpd


    ##########################################

    #下载OpenStack安装包(仅作为参考,根据需求添加其它组件)
    yum install centos-release-openstack-pike -y #安装OpenStack官方源
    yum install --downloadonly --downloaddir=/www/share/centos7_rpm/ -y
    python-openstackclient openstack-selinux python-openstackclient python2-PyMySQL
    openstack-utils
    mariadb mariadb-server mariadb-galera-server python2-PyMySQL
    erlang socat rabbitmq-server
    openstack-keystone httpd mod_wsgi memcached python-memcached
    apr apr-util
    openstack-glance python-glance
    openstack-nova-api openstack-nova-conductor
    openstack-nova-console openstack-nova-novncproxy
    openstack-nova-scheduler openstack-nova-placement-api
    openstack-nova-compute python-openstackclient openstack-selinux
    openstack-neutron openstack-neutron-ml2
    openstack-neutron-linuxbridge python-neutronclient ebtables ipset
    openstack-neutron-linuxbridge ebtables ipset
    openstack-dashboard
    openstack-cinder targetcli python-keystone lvm2
    corosync pacemaker pcs fence-agents resource-agents

    openstack-neutron-linuxbridge

    #更新源
    createrepo --update -p /www/share/centos7_rpm/

    ##########################################



    #Elven原创 http://www.cnblogs.com/elvi/p/7657770.html
  • 相关阅读:
    BF算法和KMP算法
    Python课程笔记 (五)
    0268. Missing Number (E)
    0009. Palindrome Number (E)
    0008. String to Integer (atoi) (M)
    0213. House Robber II (M)
    0198. House Robber (E)
    0187. Repeated DNA Sequences (M)
    0007. Reverse Integer (E)
    0006. ZigZag Conversion (M)
  • 原文地址:https://www.cnblogs.com/elvi/p/7657770.html
Copyright © 2011-2022 走看看