第三章:操作系统与基础环境
好,咱们开始搭建仿真环境的第一步——选操作系统。说实话,这一步看似简单,但选错了后面会非常痛苦。我个人习惯把操作系统比作房子的地基,地基没打好,后面装修得再漂亮也白搭。
3.1 Linux发行版选择:Ubuntu vs CentOS
做仿真测试平台开发,Linux几乎是唯一的选择。Windows当然也能跑,但你在工业级项目里几乎看不到它。主流的发行版就两个:Ubuntu和CentOS。
| 对比项 | Ubuntu | CentOS |
|---|---|---|
| 包管理器 | apt | yum/dnf |
| 软件更新频率 | 快(半年一个大版本) | 慢(追求稳定) |
| 社区活跃度 | 极高 | 中等 |
| 适合场景 | 开发、学习、快速原型 | 生产环境、服务器 |
我个人建议:如果你是初学者或者做个人项目,选Ubuntu。为什么?因为遇到问题好搜,社区资源多。我在项目中遇到过好几次,CentOS上某个库版本太老,折腾半天装不上,换成Ubuntu几分钟搞定。
但如果你在公司做生产环境,CentOS可能更合适。它稳定,不会突然来个更新把环境搞崩。嗯,这里要注意:CentOS 8已经在2021年停止维护了,现在推荐用Rocky Linux或者AlmaLinux作为替代。
我的选择建议:
- 个人开发机 → Ubuntu 22.04 LTS
- 公司服务器 → Rocky Linux 9 或 Ubuntu Server LTS
- 嵌入式/ARM平台 → Ubuntu Server
3.2 系统安装与分区
安装过程我就不一步步截图了,那个太基础。我重点说说分区——这是很多人容易踩坑的地方。
你想想看,一个仿真平台跑起来,日志文件、测试数据、临时文件都会疯狂增长。如果分区没规划好,磁盘满了系统直接挂掉,那叫一个酸爽。
推荐分区方案
对于仿真测试平台,我建议这样分:
/boot → 1GB(引导分区,别太小)
/ → 50GB(根分区,系统文件)
/var → 30GB(日志文件,仿真日志会很大)
/opt → 剩余空间(安装仿真工具、测试平台)
swap → 跟内存大小一致(比如16GB内存就分16GB swap)
我曾经有一次没给/var单独分区,结果仿真跑了三天,日志文件把根分区塞满了,系统直接崩溃。那三天白跑了,气得我...嗯,从那以后我再也不敢偷懒了。
重要提醒:如果你用虚拟机,记得给磁盘预分配大一点。我建议至少100GB起步。仿真工具链动辄几十GB,再加上测试数据,空间很快就吃完了。
3.3 网络配置与SSH服务
装好系统后第一件事是什么?配网络。没有网络,你连包都装不了,更别说搭建环境了。
静态IP配置
仿真环境通常需要固定IP,不然每次重启IP变了,你连SSH都连不上。Ubuntu 22.04用netplan配置网络:
# 编辑 /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
# 应用配置
sudo netplan apply
CentOS/Rocky Linux用nmcli或者直接改配置文件:
# 查看网卡名称
nmcli device status
# 配置静态IP
sudo nmcli connection modify ens33 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8 \
ipv4.method manual
# 重启网络
sudo nmcli connection up ens33
SSH服务配置
SSH是远程连接的命脉。装好系统后立刻开启:
# 安装SSH服务
sudo apt install openssh-server # Ubuntu
sudo yum install openssh-server # CentOS
# 启动并设置开机自启
sudo systemctl enable sshd
sudo systemctl start sshd
# 检查状态
sudo systemctl status sshd
我个人习惯改几个SSH配置,让连接更安全:
# 编辑 /etc/ssh/sshd_config
Port 2222 # 改默认端口,减少被扫描的概率
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication yes # 先用密码,后面配密钥再关
小技巧:配置好SSH后,立刻测试能否从另一台机器连过来。别等到要用的时候才发现防火墙没关或者端口没开。我吃过这个亏,在机房蹲了一下午...
3.4 包管理器与常用工具安装
包管理器是Linux的灵魂。Ubuntu用apt,CentOS用yum/dnf。说白了就是应用商店,只不过在命令行里操作。
apt常用命令(Ubuntu)
# 更新软件源
sudo apt update
# 升级所有软件
sudo apt upgrade
# 安装软件
sudo apt install build-essential git vim curl wget
# 搜索软件
apt search python3
# 卸载软件
sudo apt remove 软件名
yum/dnf常用命令(CentOS/Rocky)
# 更新软件源
sudo yum update
# 安装软件
sudo yum install epel-release # 先装EPEL源,软件更多
sudo yum install git vim curl wget
# 搜索软件
yum search python3
# 卸载软件
sudo yum remove 软件名
仿真环境必备工具清单
这些工具我建议装系统后立刻装上,后面搭建仿真平台都会用到:
| 工具 | 用途 | 安装命令(Ubuntu) |
|---|---|---|
| build-essential | 编译工具链(gcc, g++, make) | sudo apt install build-essential |
| git | 版本控制 | sudo apt install git |
| vim/nano | 文本编辑器 | sudo apt install vim |
| curl/wget | 网络下载 | sudo apt install curl wget |
| htop | 系统监控 | sudo apt install htop |
| net-tools | 网络诊断(ifconfig等) | sudo apt install net-tools |
| python3-pip | Python包管理 | sudo apt install python3-pip |
| docker.io | 容器化部署 | sudo apt install docker.io |
我的安装脚本:每次装新系统,我都会跑一遍这个脚本,省得一个个装。
#!/bin/bash
# 仿真环境基础工具安装脚本
echo "开始安装基础工具..."
# Ubuntu
if command -v apt &> /dev/null; then
sudo apt update
sudo apt install -y \
build-essential \
git vim curl wget \
htop net-tools \
python3-pip \
docker.io \
openssh-server \
tree
fi
# CentOS/Rocky
if command -v yum &> /dev/null; then
sudo yum install -y epel-release
sudo yum install -y \
gcc gcc-c++ make \
git vim curl wget \
htop net-tools \
python3-pip \
docker \
openssh-server \
tree
fi
echo "基础工具安装完成!"
装完这些,你的Linux环境就算基本就绪了。下一章我们会在这个基础上搭建仿真核心环境——安装EDA工具和配置仿真库。到时候你会发现,前面这些准备工作做得越扎实,后面就越顺利。
嗯,最后提醒一句:装完系统先做个快照。不管是虚拟机还是物理机,留个干净的系统备份,后面搞坏了直接恢复,省得重装。这个习惯救过我无数次。