【ECS】Linux_Summary

本文详细介绍了如何在Linux系统中安装和配置SSH工具、Docker、JDK1.8、Maven3.9.5、Git、Python3.9以及Node.js20.9.0,包括添加软件源、安装步骤和环境变量设置。

SSH工具

tabby: GitHub - Eugeny/tabby: A terminal for a more modern age

安装软件

1. Docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

Reference:  docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站

2. JDK,Maven

1) Maven

# step1

wget https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz

# step2

tar -zxvf apache-maven-3.9.5-bin.tar.gz

# step3

ln -s /home/bruce/software/apache-maven-3.9.5/bin/mvn /usr/bin/mvn

 2) JDK

# step1

# Download jdk from Java Archive | Oracle

# step2 vi /etc/profile

```

JAVA_HOME='/home/bruce/software/jdk1.8.0_381'
export PATH=$PATH:${JAVA_HOME}/bin

```

# step3

source /etc/profile

3. Git

# install

yum install git

git --version

[root@xxx yum.repos.d]# yum install git
Last metadata expiration check: 2:05:27 ago on Fri 10 Nov 2023 08:01:41 PM CST.
Dependencies resolved.
============================================================================================================
 Package                      Architecture       Version                        Repository             Size
============================================================================================================
Installing:
 git                          x86_64             2.27.0-1.el8                   AppStream             164 k
Installing dependencies:
 git-core                     x86_64             2.27.0-1.el8                   AppStream             5.7 M
 git-core-doc                 noarch             2.27.0-1.el8                   AppStream             2.5 M
 perl-Error                   noarch             1:0.17025-2.el8                AppStream              46 k
 perl-Git                     noarch             2.27.0-1.el8                   AppStream              77 k
 perl-TermReadKey             x86_64             2.37-7.el8                     AppStream              40 k

Transaction Summary
============================================================================================================
Install  6 Packages

Total download size: 8.5 M
Installed size: 45 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): git-2.27.0-1.el8.x86_64.rpm                                          2.3 MB/s | 164 kB     00:00    
(2/6): perl-Error-0.17025-2.el8.noarch.rpm                                  2.5 MB/s |  46 kB     00:00    
(3/6): git-core-2.27.0-1.el8.x86_64.rpm                                      40 MB/s | 5.7 MB     00:00    
(4/6): git-core-doc-2.27.0-1.el8.noarch.rpm                                  15 MB/s | 2.5 MB     00:00    
(5/6): perl-Git-2.27.0-1.el8.noarch.rpm                                     956 kB/s |  77 kB     00:00    
(6/6): perl-TermReadKey-2.37-7.el8.x86_64.rpm                               1.4 MB/s |  40 kB     00:00    
------------------------------------------------------------------------------------------------------------
Total                                                                        49 MB/s | 8.5 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                    1/1 
  Installing       : git-core-2.27.0-1.el8.x86_64                                                       1/6 
  Installing       : git-core-doc-2.27.0-1.el8.noarch                                                   2/6 
  Installing       : perl-TermReadKey-2.37-7.el8.x86_64                                                 3/6 
  Installing       : perl-Error-1:0.17025-2.el8.noarch                                                  4/6 
  Installing       : perl-Git-2.27.0-1.el8.noarch                                                       5/6 
  Installing       : git-2.27.0-1.el8.x86_64                                                            6/6 
  Running scriptlet: git-2.27.0-1.el8.x86_64                                                            6/6 
  Verifying        : git-2.27.0-1.el8.x86_64                                                            1/6 
  Verifying        : git-core-2.27.0-1.el8.x86_64                                                       2/6 
  Verifying        : git-core-doc-2.27.0-1.el8.noarch                                                   3/6 
  Verifying        : perl-Error-1:0.17025-2.el8.noarch                                                  4/6 
  Verifying        : perl-Git-2.27.0-1.el8.noarch                                                       5/6 
  Verifying        : perl-TermReadKey-2.37-7.el8.x86_64                                                 6/6 

Installed:
  git-2.27.0-1.el8.x86_64              git-core-2.27.0-1.el8.x86_64    git-core-doc-2.27.0-1.el8.noarch     
  perl-Error-1:0.17025-2.el8.noarch    perl-Git-2.27.0-1.el8.noarch    perl-TermReadKey-2.37-7.el8.x86_64   

Complete!
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]
[root@xxx yum.repos.d]# git --version
git version 2.27.0

4. Python3.9

# install

yum install python39

ln -s /usr/bin/pip3.9 /usr/bin/pip

# pip version

pip -V
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)

# pip config (Writing to /root/.config/pip/pip.conf)

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com

5. NodeJs 

# Install

wget https://nodejs.org/dist/v20.9.0/node-v20.9.0-linux-x64.tar.xz

tar -xvf node-v20.9.0-linux-x64.tar.xz -C software/

ln -s /home/bruce/software/node-v20.9.0-linux-x64/bin/npm /usr/bin/

ln -s /home/bruce/software/node-v20.9.0-linux-x64/bin/node /usr/bin/

# Config

npm config set registry https://registry.npmmirror.com

# Config Env Path: /home/bruce/software/node-v20.9.0-linux-x64/bin

# Install cnpm

npm install -g cnp

# Install angular-cli

cnpm install -g @angular/cli

# Check angular version

ng version

上述代码定义了一个枚举类型`EcsMsaChnlType`,用于表示不同的通信通道类型。以下是详细解释: --- ### **代码功能概述** ```c typedef enum { ECS_MSA_CHL_SPI, ECS_MSA_CHL_OH_SDS, ECS_MSA_CHL_OH_SDS1, ECS_MSA_CHL_OH_SDS2, ECS_MSA_CHL_T0T1, ECS_MSA_CHL_ALL } EcsMsaChnlType; ``` #### 1. **枚举类型的定义** - `typedef enum` 用于定义一个新的枚举类型,并通过`typedef`为其指定一个类型名`EcsMsaChnlType`。 - 枚举类型是一组命名的整数常量集合,每个枚举值在默认情况下会被赋予从`0`开始递增的整数值。 #### 2. **枚举值的含义** - **`ECS_MSA_CHL_SPI`**: 表示SPI(Serial Peripheral Interface)通信通道。 - **`ECS_MSA_CHL_OH_SDS`**: 表示某种与SDS(Serial Data Stream)相关的通信通道。 - **`ECS_MSA_CHL_OH_SDS1` 和 `ECS_MSA_CHL_OH_SDS2`**: 表示与SDS相关的两种不同子通道。 - **`ECS_MSA_CHL_T0T1`**: 表示另一种特定的通信通道。 - **`ECS_MSA_CHL_ALL`**: 表示所有通信通道的集合。 #### 3. **默认值分配** 如果没有为枚举值显式赋值,默认情况下它们会从`0`开始依次递增: - `ECS_MSA_CHL_SPI = 0` - `ECS_MSA_CHL_OH_SDS = 1` - `ECS_MSA_CHL_OH_SDS1 = 2` - `ECS_MSA_CHL_OH_SDS2 = 3` - `ECS_MSA_CHL_T0T1 = 4` - `ECS_MSA_CHL_ALL = 5` --- ### **代码解释** 1. **枚举的作用**: - 枚举类型可以提高代码的可读性和可维护性。 - 使用枚举值代替硬编码的整数,使代码更清晰、更易于理解。 - 在嵌入式系统中,枚举类型常用于表示状态、模式或通道类型等。 2. **应用场景**: - 上述枚举类型`EcsMsaChnlType`可以用于表示不同的通信通道类型。 - 在函数参数中使用该类型,可以确保传入的值是合法的枚举值。 3. **示例代码**: 以下是一个简单的示例,展示如何使用`EcsMsaChnlType`: ```c #include <stdio.h> typedef enum { ECS_MSA_CHL_SPI, ECS_MSA_CHL_OH_SDS, ECS_MSA_CHL_OH_SDS1, ECS_MSA_CHL_OH_SDS2, ECS_MSA_CHL_T0T1, ECS_MSA_CHL_ALL } EcsMsaChnlType; void PrintChannelType(EcsMsaChnlType chnl) { switch (chnl) { case ECS_MSA_CHL_SPI: printf("Channel Type: SPI\n"); break; case ECS_MSA_CHL_OH_SDS: printf("Channel Type: OH SDS\n"); break; case ECS_MSA_CHL_OH_SDS1: printf("Channel Type: OH SDS1\n"); break; case ECS_MSA_CHL_OH_SDS2: printf("Channel Type: OH SDS2\n"); break; case ECS_MSA_CHL_T0T1: printf("Channel Type: T0T1\n"); break; case ECS_MSA_CHL_ALL: printf("Channel Type: ALL\n"); break; default: printf("Unknown Channel Type\n"); } } int main() { EcsMsaChnlType chnl = ECS_MSA_CHL_SPI; PrintChannelType(chnl); // 输出 "Channel Type: SPI" return 0; } ``` **解释**: - 定义了一个函数`PrintChannelType`,根据传入的`EcsMsaChnlType`值打印对应的通道类型名称。 - 在`main`函数中调用`PrintChannelType`,传入`ECS_MSA_CHL_SPI`,输出结果为`"Channel Type: SPI"`。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值