centos ubuntu 自动安装 gcc12 g++12 make4 cmake3.2

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: 自动适配编译安装

#!/bin/bash
# centos 安装 vscode 配置 gcc g++ cmake 开发环境

vscodeUrl="http://work.eisc.cn/ruanjian/ubuntu/server/"
dir="/datadisk/eisc/download/cmake"
installDir="/datadisk/eisc/server"

debList=(
    cmake-3.27.0-rc3.tar.gz
    make-4.4.tar.gz
    gcc-12.3.0.tar.gz
)

downloadGF=(
    https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.gz
    https://ftp.gnu.org/gnu/make/make-4.4.tar.gz
)


debrun=(
    cmake3
    make4
    gcc12
)

if [ $USER="root" ]
then 
    qx=" "
else
    qx="sudo"
fi

xitong=` cat /etc/os-release  | grep -w ID | awk -F"=" '{print $2}' | sed "s/\"//g" `
case "$xitong" in
    "centos" ) iCMD="yum" ; rpmCMD="rpm -qa " ; echo "当前是 centos 系统" ;;
    "ubuntu" ) iCMD="apt" ; rpmCMD="dpkg -l " ; echo "当前是 ubuntu 系统" ;;
esac

{
   mathJaxContainer[0]}iCMD install -y openssl-devel gcc gcc-c++ g++ cmake make wget

{
   mathJaxContainer[1]}dir {
   mathJaxContainer[2]}qx chmod 777 {
   mathJaxContainer[3]}installDir; cd $dir 


download()
{
   
    for i in ${
   debList[*]}
    do
        debname=`echo $i | awk -F".tar.gz" '{print $1}'`
        debnameInstalled=`$qx $rpmCMD | grep -w "ii  $debname"` 
        debnameInstalledLength=${
   #debnameInstalled}

        {
   mathJaxContainer[6]}installDir/$debname

        if [ $debnameInstalledLength -gt 1 ]
        then 
            echo "[ok] 该包 $i 已经安装,安装信息: $debnameInstalled"
            installIF=0
        else
            installIF=1
            echo "[runing] 正在检查是否下载安装包: $i"

            if [ ! -e $i ]
            then 
                echo "[runing] 当前没有下载,正在下载包:$i"
                {
   mathJaxContainer[8]}vscodeUrl/$i 
                echo "[running] 正在解压 $i 到目录: $installDir/$debname " 
                {
   mathJaxContainer[10]}i -C $installDir
            else
                echo  "[ok] 已经下载: $i "
            fi

        fi

    done

}


debinstall(){
   

    for((i=0;i<=${
   #debrun[*]};i++))
    do 
        if [ ! -e /bin/{
   mathJaxContainer[11]}i]} ]
        then
            debname=`echo ${debList[$i]} | awk -F".tar.gz" '{print $1}'`
            echo "[waring] 包没有安装 ${debList[$i]}  正在安装 文件不存在: /bin/${debrun[$i]}  " ; ls  /bin/{
   mathJaxContainer[15]}i]}  ;  sleep 3;
            cd {
   mathJaxContainer[16]}debname ; {
   mathJaxContainer[17]}qx make install ; {
   mathJaxContainer[18]}{
   debrun[$i]}
            {
   mathJaxContainer[19]}installDir/{
   mathJaxContainer[20]}{
   debrun[{
   mathJaxContainer[21]}{
   debrun[$i]}
        else
            echo "已经安装: ${debrun[$i]}"
        fi
    done
}

download ; debinstall
相关实践学习
基于EMR Serverless StarRocks一键玩转世界杯
基于StarRocks构建极速统一OLAP平台
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
相关文章
|
7天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
63 25
|
18天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
68 20
|
18天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
264 15
|
2月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
90 25
|
2月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
187 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
2月前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
59 16
|
2月前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
63 15
|
2月前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
46 6
|
2月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
10月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
128 1