环境配置

132 阅读3分钟

环境配置

把常见的一些环境配置流程做个记录。

Git

# yum or apt
sudo yum install git

# 查看用户配置
git config --global --list
git config --global user.name "yourname"
git config --gloabl user.email "your-email"
git config --global credential.helper store

# 如有必要配置ssh 
ssh-keygen -t rsa –C "your-eamil" 
# 一路回车 再.ssh 将 id_rsa.pub 复制到 gitlab 的ssh

Go

# 1. 下载目标版本
wget https://golang.google.cn/dl/go1.24.3.linux-amd64.tar.gz

# 解压到指定目录
sudo tar -C /usr/local/ -zxvf go1.24.3.linux-amd64.tar.gz

# 配置环境变量 ~/.bashrc or ~/.profile 添加
export GOROOT=/usr/local/go
export GOPATH=$HOME/go

export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin

# 重新加载配置
source .bashrc

# 验证
go version

Nodejs

# 使用 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 安装node
nvm install 24

# 验证
npm -v
node -v

# 设置某个nvm选项为默认
nvm alias default 22.11.0

注:nvm 安装全局的包互相隔离,比如 pm2。如果需要更新已经使用pm2 托管的程序,需要先 pm2 delete all 再重启。

C&C++

使用包管理器:

# 直接使用包管理器
sudo yum install gcc g++

安装指定版本:

# 下载目标版本 https://ftp.gnu.org/gnu/gcc/
wget https://ftp.gnu.org/gnu/gcc/gcc-15.1.0/gcc-15.1.0.tar.gz

# 解压到指定目录 先建好目标目录
sudo mkdir /usr/local/gcc && sudo tar -zxvf gcc-15.1.0.tar.gz -C /usr/local/gcc

# 切换到目标目录 建立构建文件件
cd /usr/local/gcc/gcc-15.1.0 && sudo mkdir build && cd build

# 执行
# sudo ../configure --prefix=/usr/local/gcc -enable-checking=release -enable-languages=c,c++ -disable-multilib
# 可能会报错 
# configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
# 这个时候需要安装对应的依赖 安装顺序是 GMP-> MPFR -> MPC 后续会依赖前面的项
# 安好再回来

# 此时执行 生成make
sudo ../configure --prefix=/usr/local/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc

# 愉快make环节
sudo make -j4
sudo make install

# 将bin目录下软链接 到 /usr/local/bin
# 或者将 gcc/bin 加到 path

安装 gmp版本:

# 下载
wget https://www.multiprecision.org/downloads/mpc-1.3.0.tar.gz

# 解压
sudo mkdir /usr/local/gmp && sudo tar -zxvf gmp-6.3.0.tar.gz -C /usr/local/gmp

# 切目录
cd /usr/local/gmp/gmp-6.3.0/ && sudo mkdir build && cd build

# 执行 --prefix=xxx 指定安装目录 默认一般是 /usr/local/bin
# 如果缺少 m4 安装一下 sudo yum install m4 ... 缺啥装啥
sudo ../configure --prefix=/usr/local/gmp/

# 构建
sudo make -j4
sudo make install

# 查看版本 
grep -i "version" /usr/local/gmp/include/gmp.h

安装mpfr版本:

# 安装目标版本
wget https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.2.tar.gz

# 解压 
sudo mkdir /usr/local/mpfr && sudo tar -xf mpfr-4.2.2.tar.gz -C /usr/local/mpfr

# 切换目录
cd /usr/local/mpfr/mpfr-4.2.2 && sudo mkdir build && cd build

# 生成makefile
sudo ../configure --prefix=/usr/local/mpfr/ --with-gmp=/usr/local/gmp

# make
sudo make -j4
sudo make install

# 查看版本
grep -i "version" /usr/local/mpfr/include/mpfr.h

安装 MPC 版本

# 下载
wget http://www.multiprecision.org/downloads/mpc-1.3.0.tar.gz

# 解压
sudo mkdir /usr/local/mpc && sudo tar -zxvf mpc-1.3.0.tar.gz -C /usr/local/mpc

# 切构建目录
cd /usr/local/mpc/mpc-1.3.0/ && sudo mkdir build && cd build

# 生成makefile
sudo ../configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr

# make
sudo make -j4
sudo make install

# 查看版本
grep -i "version" /usr/local/mpc/include/mpc.h

这几个动态库 可以预先手动导出一下环境 避免失败

#  末尾添加
vim ~/.bashrc

export LD_LIBRARY_PATH=/usr/local/mpc/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/gmp/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/mpfr/lib:$LD_LIBRARY_PATH
export C_INCLUDE_PATH=/usr/local/gmp/include:$C_INCLUDE_PATH
export C_INCLUDE_PATH=/usr/local/mpfr/include:$C_INCLUDE_PATH
export C_INCLUDE_PATH=/usr/local/mpc/include:$C_INCLUDE_PATH

顺带升级下gdb

# 下载 
wget https://ftp.gnu.org/gnu/gdb/gdb-16.3.tar.xz

# 解压
sudo tar -zxvf gdb-16.3.tar.xz -C /usr/local/gdb-16.3

# 生成makefile
sudo mkdir build && cd build
sudo ../configure --prefix=/usr/local/gdb --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc

# make
sudo make -j4
sudo make install

# 软链接到 /usr/local/bin
# 如果原来有就把原来的备份 然后软链接
whereis gdb

# 或者导出到PATH

最好把 libstdc++.so.6 一起换了

# 查询目标位置
$ locate libstdc++.so.6

# 备份 & 替换
$ sudo mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
$ sudo ln -s /usr/local/gcc/lib64/libstdc++.so.6 libstdc++.so.6

MongoDB

参考官方文档 Mongo-Install

系统信息:

cat /etc/os-release

创建存储库 /etc/yum.repos.d/mongodb-org-8.0.repo

[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-8.0.asc

安装最新版

sudo yum install -y mongodb-org

默认使用 mongod 账户运行,其默认目录如下:

# /var/lib/mongo 数据目录
# /var/lib/mongodb 日志目录

启动状态:

# 查看状态
systemctl status mongod

# 启动
# 如果报错 Failed to start mongod.service: Unit mongod.service not found.
# 先执行 sudo systemctl daemon-reload
sudo systemctl start mongod

# 停止
sudo systemctl stop mongod

# 重启
sudo systemctl restart mongod

# 使用 通过 mongosh
mongosh

卸载:

# 停止
sudo service mongod stop

# 删除包
sudo yum erase $(rpm -qa | grep mongodb-org)

# 删除数据目录
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

需要修改绑定主机,配置目录 /etc/mongod.confbindIp: 0.0.0.0 或者通过命令行参数 --bind_ip

创建用户并指定权限:

# 连接
mongosh "mongodb://127.0.0.1:27017"

# 一般在admin操作
use admin

# 创建用户 
# mongodb 权限通过 rbac 处理
# 角色信息参考 https://www.mongodb.com/zh-cn/docs/manual/reference/built-in-roles/
db.createUser({
  user: "用户名",
  pwd: "密码",
  roles: [
    { role: "角色名", db: "数据库名" }
  ]
})

# 启用认证
sudo vim /etc/mongod.conf
# 在 security 添加
# security:
#  authorization: enabled

# 重启
sudo systemctl restart mongod
sudo systemctl status mongod

# 登陆
mongosh -u adminUser -p
EnterPassword:

Redis

参考文档 Redis-Install

创建存储库信息 /etc/yum.repos.d/redis.repo

[Redis]
name=Redis
baseurl=http://packages.redis.io/rpm/rockylinux9
enabled=1
gpgcheck=1

安装

curl -fsSL https://packages.redis.io/gpg > /tmp/redis.key
sudo rpm --import /tmp/redis.key
sudo yum install epel-release
sudo yum install redis

设置启动

sudo systemctl enable redis
sudo systemctl start redis

默认配置文件在 /etc/redis/redis.conf 需要修改 bind 的 Ip 和 密码等信息。

Mysql

AlmaLinux9

# 确定系统版本 AlmaLinux 8 或 9 使用 dnf 包管理器。
cat /etc/os-release

# 更新
sudo dnf update -y

# 检查可用mysql
dnf module list mysql
# 如果有 启用
sudo dnf module enable mysql:8.0 -y

# 安装mysql server
sudo dnf install mysql-server -y

# 启动
sudo systemctl enable mysqld
sudo systemctl start mysqld

# 验证
sudo systemctl status mysqld
mysql --version

# 如果有临时密码 
# sudo grep 'temporary password' /var/log/mysql/mysqld.log
# 没有可能会说密码为 empty 这时可以直接登陆
mysql -uroot -p

# 改密码 YourSecurePassword123! 替换为你的
# 'root'@'%' 表示开启远程登陆
# mysql8 认证需要设置 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YourSecurePassword123!';
FLUSH PRIVILEGES;

exit

创建 User

# 登陆 root
mysql -u root -p

# 创建db
CREATE DATABASE myNewDatabase;

# 创建用户
CREATE USER 'dbUser'@'%' IDENTIFIED BY 'dbPassword123';
# 设置权限 ALL PRIVILEGES 表示 read write + 管理权限
# 如果是只读为 SELECT
GRANT ALL PRIVILEGES ON myNewDatabase.* TO 'dbUser'@'%';
FLUSH PRIVILEGES;

XMake

xmake直接使用 shell 脚本安装

bash <(wget https://xmake.io/shget.text -O -)

CMake

官网有编译好的版本,直接安装就行。

# 下载
wget https://github.com/Kitware/CMake/releases/download/v4.0.2/cmake-4.0.2-linux-x86_64.tar.gz

# 解压
sudo mkdir /usr/local/cmake && sudo tar -zxvf cmake-4.0.2-linux-x86_64.tar.gz -C /usr/local/cmake

# 将cmake/bin下文件通过软链到 /usr/local/bin
# 或者将其加入到 .bashrc .profile等
source ~/.bashrc