Linux 新装开发环境初始化

初始配置

Ubuntu

静态 IP 配置

配置静态 IP 地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cd /etc/netplan

# 修改配置文件 00-installer-config.yaml 为以下内容
network:
version: 2
ethernets:
ens33: # 网卡名,通过 ifconfig 查询
dhcp4: no
addresses: [192.168.30.252/24] # 静态ip地址/掩码位数
gateway4: 192.168.30.2 # 网关,通过 route -n 查询
nameservers:
addresses: [8.8.8.8, 114.114.114.114] # DNS

# 应用修改的配置
sudo netplan apply

配置国内镜像源

24.04 后,Ubuntu 镜像源配置文件路径及方法发生变化,可根据 /etc/apt/sources.list 内的文字描述找到对应位置进行修改。
从实际情况来看,默认已配置上清华源,所以当前默认下载速度还算可观。

配置国内镜像源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 阿里云 24.04
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.aliyun.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.aliyun.com@g" /etc/apt/sources.list

# 华为云(公共)
sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list

openEuler

静态 IP 配置

  • 获取接口名称
  • ifconfig:查看已配置的网络接口。
  • ip addr:显示网络接口的详细信息。
  • 编辑网卡对应的配置文件
1
/etc/sysconfig/network-scripts/ifcfg-你的网卡名字
  • 在配置文件中,设置以下参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BOOTPROTO="static":使用静态IP地址。
IPADDR="你的静态IP地址":设置您的静态IP地址。
NETMASK="子网掩码":设置子网掩码。
GATEWAY="网关地址":设置网关地址。
DNS1="DNS服务器地址":如果需要,设置DNS服务器地址。
ONBOOT=yes:设置网卡在开机时启动。

# 一个完整的配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=3fae72c0-97d6-4a16-985c-ba32412d18e1
DEVICE=ens33
ONBOOT=yes

IPADDR=192.168.30.128
GATEWAY=192.168.30.2
NETMASK=255.255.255.0
DNS=192.168.30.2
DNS2=8.8.8.8
  • 重启网络服务以应用更改
title url linkText
1
service network restart

Fedora

静态 IP 配置

  • 查询网卡的uuid
1
2
3
4
5
6
sudo nmcli connection show

# 示例
NAME UUID TYPE DEVICE
ens160 efa9002e-e3d0-3b51-ace5-70a172aade97 ethernet ens160
lo 48b9bbc4-117d-4ff4-83d7-020884162259 loopback lo
  • 根据查询结果,配置静态网络
1
2
3
4
sudo nmcli connection modify efa9002e-e3d0-3b51-ace5-70a172aade97 IPv4.address 192.168.3.95/24
sudo nmcli connection modify efa9002e-e3d0-3b51-ace5-70a172aade97 IPv4.gateway 192.168.3.1
sudo nmcli connection modify efa9002e-e3d0-3b51-ace5-70a172aade97 IPv4.dns 8.8.8.8
sudo nmcli connection modify efa9002e-e3d0-3b51-ace5-70a172aade97 IPv4.method manual
  • 重启网络以激活配置
1
2
sudo nmcli connection down efa9002e-e3d0-3b51-ace5-70a172aade97
sudo nmcli connection up efa9002e-e3d0-3b51-ace5-70a172aade97

开发环境搭建

apt/apt-get 包管理工具

开源项目地址:Linux 开发环境一键配置

开发环境搭建脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash

CUR_DIR=$(pwd)
VIM_PLUGIN__PATH="$HOME/.vim/plugged"
VIM_PLUGIN_PREFIX="vim_plugin_"
VIM_PLUGIN_DIR_POSTFIX="-master"

function log_info() {
    echo "[$(date +'%Y-%m-%d %H:%M:%S')][INFO]: $1"
}

function log_error() {
    echo "[$(date +'%Y-%m-%d %H:%M:%S')][ERROR]: $1"
}

function install_tools() {
    log_info "Installing tools..."
    sudo apt update
    sudo apt install -y \
        vim \
        build-essential \
        gcc \
        g++ \
        cmake \
        make \
        openjdk-21-jdk-headless \
        git \
        flex \
        bison \
        libboost-all-dev \
        libcurl4-openssl-dev \
        libssl-dev \
        libelf-dev\
        libsqlite3-dev \
        pkg-config \
        python3-dev \
        python3-pip \
        dos2unix
    log_info "Tools installed."
}

function install_vim_plugin() {
    # 安装vim插件
    # vim +PlugInstall +qall
    log_info "Install plugins of vim."
    find $CUR_DIR -name "$VIM_PLUGIN_PREFIX*" | xargs -I {} unzip -q {} -d $VIM_PLUGIN__PATH
    plugin_master_path_lst=$(find $VIM_PLUGIN__PATH -path "*$VIM_PLUGIN_DIR_POSTFIX")
    for plugin_master_path in $plugin_master_path_lst; do
        plugin_path=${plugin_master_path%-*}
        if [[ ! -e $plugin_path ]]; then
            mv $plugin_master_path $plugin_path
        else
            plugin_name=$(basename $plugin_path)
            log_info "The plugin has been installed: ${plugin_name}."
            rm -rf $plugin_master_path
        fi
    done
}

function config_vim() {
    log_info "Configuring vim..."

    # 配置vim
    cp $CUR_DIR/vimconfig/vimrc.vim ~/.vimrc

    # 安装vim插件管理器
    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
        https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

    if [[ $? -ne 0 ]]; then
        log_info "Failed to install vim-plug and will copy it."
        if [[ ! -f ~/.vim/autoload/plug.vim ]]; then
            mkdir -p ~/.vim/autoload
            cp $CUR_DIR/vimconfig/plug.vim ~/.vim/autoload/plug.vim
        fi
    fi

    install_vim_plugin
    vim +LeaderfInstallCExtension
   
    log_info "Vim configured."
}

function dos_2_unix() {
    find $CUR_DIR -type f | xargs -I {} dos2unix {}
    log_info "Converted dos to unix."
}

function main() {
    dos_2_unix
    install_tools
    config_vim
}
main

yum/dnf 包管理工具

开发环境搭建脚本
1
2
3
4
5
6
7
8
sudo dnf update

#下载所需工具
sudo dnf install -y git.x86_64

sudo dnf install -y gcc.x86_64
sudo dnf install -y cmake.x86_64
sudo dnf install -y make.x86_64
作者

Jeill

发布于

2024-04-27

更新于

2024-06-08

许可协议

评论