环境配置
把常见的一些环境配置流程做个记录。
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.conf 的 bindIp: 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