该脚本适合centos6和ubuntu用,关于debian可以根据脚本中的范例自己添加

微笑哥与你每天进步一点点

#!/bin/bash
#
#Check system
check_sys(){
    local checkType=$1
    local value=$2

    local release=''
    local systemPackage=''

if [[ -f /etc/redhat-release ]]; then
    release="centos"
    systemPackage="yum"
elif cat /etc/issue | grep -Eqi "debian"; then

    release="debian"
    systemPackage="apt"
elif cat /etc/issue | grep -Eqi "ubuntu"; then
    release="ubuntu"
    systemPackage="apt"
elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
    release="centos"
    systemPackage="yum"
elif cat /proc/version | grep -Eqi "debian"; then
    release="debian"
    systemPackage="apt"
    elif cat /proc/version | grep -Eqi "ubuntu"; then
    release="ubuntu"

    systemPackage="apt"
elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
    release="centos"
    systemPackage="yum"
fi

if [[ ${checkType} == "sysRelease" ]]; then
if [ "$value" == "$release" ]; then
  return 0
 else 

  return 1
fi
elif [[ ${checkType} == "packageManager" ]]; then
if [ "$value" == "$systemPackage" ]; then
  return 0
else
  return 1
fi
fi
}

# Get version
getversion(){
if [[ -s /etc/redhat-release ]]; then

  grep -oE "[0-9.]+" /etc/redhat-release
else
  grep -oE "[0-9.]+" /etc/issue
fi
}

pre_install(){
  if check_sys packageManager yum || check_sys packageManager apt; then
    # Not support CentOS 5
      if centosversion 5; then
      echo -e "$[{red}Error${plain}] Not supported CentOS 5, please change to CentOS 6+/Debian 7+/Ubuntu 12+ and try again."
      exit 1
      fi
  else
      echo -e "[${red}Error${plain}] Your OS is not supported. please change OS to CentOS/Debian/Ubuntu and try again."

      exit 1
fi
}

local_IP=`curl -s ident.me`
if check_sys packageManager yum; then
    echo ""
    echo ""
    echo "=======安装前请把yum源配好,(ctrl + c停止)======="
    echo "您的系统是:`cat /etc/centos-release`"
    echo "您的内核是:`uname -r`"
    echo "您的外网publicIP是:$local_IP"

#centos的设置倒计时

kk=5
echo "时间同步中,请稍候....."

service ntpd start >/dev/null
   echo $? >/dev/null
 if [ $? -ne 0 ];then
     yum -y install ntpd && service ntpd start >/dev/null
 fi
    ntpdate time.nist.gov >/dev/null
     hwclock --systohc >/dev/null
     hwclock -w >/dev/null

while [ $kk -gt 0 ];do
echo -n $kk

sleep 1
kk=$(($kk - 1))
echo -ne "\r   \r"
done
fi

#系统判断

if check_sys packageManager apt; then
    echo ""
    echo ""
    echo "=======安装前请把yum源配好,(ctrl + c停止)======="
    echo "您的系统是:`cat /etc/issue`"
    echo "您的内核是:`uname -r`"
    echo "您的外网publicIP是:$local_IP"

#ubuntu的设置倒计时

if check_sys packageManager apt; then
  echo ""
  echo ""
  echo "=======安装前请把yum源配好,(ctrl + c停止)======="
  echo "您的系统是:`cat /etc/issue`"
  echo "您的内核是:`uname -r`"
  echo "您的外网publicIP是:$local_IP"

kk=5
echo "时间同步中,请稍候....."

  service ntp start >/dev/null
  echo $? >/dev/null
if [ $? -ne 0 ];then
  sudo apt install ntp || service ntp restart >/dev/null
fi
  sudo hwclock --systohc >/dev/null
  sudo hwclock -w >/dev/null

while [ $kk -gt 0 ];do
echo -n $kk

sleep 1
kk=$(($kk - 1))
  echo -ne "\r       \r"
done
fi

#按任意键开始设置
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty raw
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw

stty echo
stty $SAVEDSTTY
}

sleep 3
echo "时间同步完毕,按任意键继续...."
char=`get_char`

#系统确定后的执行命令
if check_sys packageManager yum;then
    yum install -y wget readline-devel gcc*
elif check_sys packageManager apt; then
    sudo apt-get -y update
    sudo apt-get -y install wget lrzsz gcc make \
    libbz2-dev libsqlite3-dev python3-dev libxml2-dev libffi-dev libssl-dev zlib1g-dev
fi

if [ ! -d /opop ];then

    mkdir /opop
fi
cd /opop/
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar -zxvf Python-3.6.4.tgz || tar -xf Python-3.6.4.tgz ./
cd Python-3.6.4
./configure --prefix=/usr/local/python3
make && make install
ln -sv /usr/local/python3/bin/python3.6 /usr/bin/
echo -e  "\t\t#####################"
echo -e  "\t\t#         输入exit()可退出    #"
echo -e  "\t\t#####################"
python3.6

python3.6.4源码安装的更多相关文章

  1. linux中的源码安装

    前两天自己在笔记本上装了CentOs版本的虚拟机,接着要装Python3,是源码安装的挺费劲,个人总结了一些源码安装的经验,今天在这里给大家分享一下. 1. 首先准备环境,安装必要的编译工具gcc g ...

  2. CentOS6.5源码安装python3.5.2

    前提: 1.实现自动补全需要安装模块 readline-devel (yum install -y readline-devel) 2.实现支持SSL协议需安装模块 openssl-devel (yu ...

  3. centos7源码安装Python3的前提条件

    centos7源码安装Python3的前提条件: # yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline- ...

  4. CentOS7 下源码安装 python3

    CentOS 7 下源码安装 python3   在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下:   1. 首先安装python3.6可能使用的依 ...

  5. [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录

    Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录 源码安装时报错 File "/home/abeenser ...

  6. 源码安装Python3

    源码安装Python3 一.安装Python3需要的依赖包 [root@localhost ~]# yum install -y gcc make wget openssl openssl-devel ...

  7. centos 服务器装与python34源码安装

    http://www.111cn.net/sys/CentOS/63645.htm 1.CentOS安装Python的依赖包(不安装依赖包,会导致python安装不完整) yum groupinsta ...

  8. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  9. CentOS6源码安装vim8

    CentOS6源码安装vim8 vim8相比vim7多了很多功能. 不过需要源码来进行安装. 移除旧版本的vim yum remove vim 安装依赖库 sudo yum install -y ru ...

随机推荐

  1. 搭建Hbase完全分布式集群

    配置HBASE: 因为Hbase要依赖zookeeper集群和Hadoop集群,所以在配置hbase之前先确保已经配置zookeeper集群和Hadoop集群,这里不再详解zookeeper和hado ...

  2. JavaScript有这几种测试

    译者按: 也许你讨厌测试,但是你不得不面对它,所以至少区分一下单元测试.集成测试与功能测试?对吧... 原文: What are Unit Testing, Integration Testing a ...

  3. js-Higher-base.js

    // 1.基于原型链的继承 // 继承属性 // 当访问一个对象的属性时发生的行为: // 假定有一个对象 o, 其自身的属性(own properties)有 a 和 b: {a: 1, b: 2} ...

  4. python之while循环/格式化输出/运算符/初始编码/成员变量

    一.主要内容:1.while 循环 (难点)while 条件: 循环体 break: 直接跳出循环continue:停止当前本次循环,继续执行下一次循环.不会中断循环能让循环退出:(1)break ( ...

  5. AWT初步—Frame和 Panel

    初识 AWT       GUI 和 AWT GUI:Graphics User Interface  图形用户界面 AWT:Abstract Window Toolkit  抽象窗口工具集 之前的程 ...

  6. openlayer3之高级标注实现

    首先看实现效果: 实现要点: 1)树形标注实现 2)复杂标注样式定义 3)效率优化 1.树形标注实现 树形标注采用字体符号来实现,包括以下几个步骤 1)载入字体 2)设置标注值与字体对照关系 3)设置 ...

  7. 配置Synwrite作为Python的IDE

    先建立批处理 建立SynPython.bat ::Synwrite call Python to compile file ::Set Path @ set PATH=H:\XPprogram\Cod ...

  8. Android中使用progurad混淆代码

    第一步,取消project.properties中关于progurad的注释,开启progurad,默认的配置文件会被加载进来. proguard.config=${sdk.dir}/tools/pr ...

  9. Android--判断listview上下滑动的方法

    elv_music_res_fragment.setOnScrollListener(new AbsListView.OnScrollListener() { private int mLastFir ...

  10. Appium学习——Appium工作原理

    appium的工具原理 Appium-client>>>>Appium-server>>>>移动设备 ========================= ...