Ubuntu双系统安装与使用
Windows平台下Ubuntu双系统的安装
经过一段时间的尝试,我发现使用WSL2、MSYS2、Docker和虚拟机等环境搭建Linux开发环境各有其局限性。要获得完整的Linux开发体验,最直接有效的方法还是安装原生的Linux操作系统。因此,我最终选择了在Windows平台上安装Ubuntu双系统。
安装步骤参考
详细安装步骤可参考:Ubuntu双系统安装指南,注意事项: - U盘启动问题:如果U盘启动失败,可能是电脑与安装盘启动方式不兼容,建议更换制作工具重试 - 安装选项:进入Ubuntu安装界面后,建议选择"其他选项"进行手动安装,以便更好地控制分区布局
完成安装后,建议执行下列步骤:
- 更换国内镜像源(注意不同版本需要更换对应的codename),否则apt install可能无法正常工作;
- 配置中文输入法,调整首选项,词频,打开云输入,配置完成后,系统自带的IBUS输入法就很好用;
- 设置交换文件,防止内存占满,系统卡顿或崩溃;
- 修改分辨率,改壁纸。
另外,建议先安装*** verge rev和Chrome。其他软件可以参考Ubuntu 24必装软件、使用技巧与系统优化,下载软件最好去官网,ubuntu自带商店的软件可能并不好用。
Ubuntu软件的安装
以下简要记录一下,软件安装的过程,并对安装方式进行总结。
安装包安装: *** verge rev,并导入订阅地址; Chrome,并打开同步,安装插件; VScode,调整界面文字大小,设置用户名和邮箱,设置git代理;- Clion,工具->创建桌面图标;以及 Spark-store、WeChat、wps-office等
命令行安装:
sudo apt install git
sudo apt-get install gnuradio
sudo apt-get install gnuradio-dev cmake libspdlog-dev clang-format
sudo apt install uhd-host # uhd驱动
sudo uhd_images_downloader # usrp镜像
编译安装:liquid-dsp包,自定义的gnuradio库(如果用clion,可能需要clean)
安装方式分类
Ubuntu提供多种软件安装方式,主要包括:
1. 命令行安装
-
系统级软件管理 ```bash # 安装gnuradio sudo apt install gnuradio
安装git
sudo apt install git ```
2. 安装包方式
- deb包安装:下载后使用
apt install或dpkg -i安装- Chrome浏览器
- GitKraken
3. 免安装方式
- 解压即可使用的可执行文件
- CLion
- PyCharm
- Audacity.AppImage
跨平台软件管理对比
| 类别 | Linux/Ubuntu 示例 | Windows 示例 | 核心特点 |
|---|---|---|---|
| 系统级管理 | apt, dpkg, Snap | winget, choco, Microsoft Store | 管理操作系统层面的应用,处理系统依赖 |
| 语言级管理 | pip(Python), gem(Ruby), cargo(Rust) | pip, npm, vcpkg, NuGet | 管理特定编程语言的库和工具,处理语言生态内的依赖 |
| 可执行文件/安装包 | .deb文件, AppImage, 二进制tar.gz | .exe, .msi安装程序, 便携版应用 | 用户友好,图形化或解压即用,但更新需手动 |
| 源码编译 | ./configure && make && make install | Visual Studio, CMake, MinGW | 最大控制权,可定制优化,但复杂耗时 |
对比后可以发现:
- 语言级包管理器(如pip、npm、vcpkg)本质上是跨平台的,它们工作在各自语言的运行时之上,与底层操作系统相对解耦
- Windows发展趋势:传统上严重依赖可执行文件安装方式,但正在积极拥抱系统级包管理和现代化分发模式
开发者的软件管理策略
作为开发者,建议在不同平台上采用相似的策略:
-
管理开发环境:优先使用语言级包管理器
- C++:vcpkg
- Python:pip
- JavaScript:npm
-
安装日常工具:优先使用系统级包管理器
- Windows:winget/choco
- Ubuntu:apt
-
使用特定专业软件:可能需要下载官方安装程序或便携版
APT安装流程详解
apt install的大致工作流程:
- 依赖分析:从软件源下载元数据,与本地目录比较,分析依赖关系和冲突,提示用户确认
- 下载验证:从镜像服务器下载deb包,验证数字签名和哈希值
- 安装执行:按顺序调用dpkg -i
- 解压.deb文件(本质是ar归档格式)
- 运行pre-installation脚本(如果存在)
- 将文件复制到正确位置
- 运行post-installation脚本(如果存在)
- 更新dpkg数据库(/var/lib/dpkg/status)
- 清理缓存:可选清理操作
软件的卸载
Ubuntu在大多数情况下的软件卸载比Windows更简单彻底。如果软件是使用apt install或dpkg安装的,可以使用如下步骤进行卸载:
- 查找软件准确的名称
dpkg -l | grep -i <name>
- 进行卸载
sudo apt-get remove <name>
Ubuntu vs Windows 卸载复杂度对比
| 方面 | Ubuntu/Linux | Windows |
|---|---|---|
| 注册表 | 无注册表概念,配置通常以纯文本文件形式存储在用户目录 | 有注册表,软件会在注册表中留下大量条目,容易产生残留 |
| 文件分布 | 文件按功能分布在标准目录中: - /usr/bin(可执行文件) - /usr/lib(库文件) - /etc(配置文件) - /usr/share(共享数据) |
文件通常集中在程序安装目录,但也会在系统目录、用户目录散布 |
| 依赖管理 | 包管理器自动跟踪依赖关系,卸载时自动清理不再需要的依赖 | 依赖管理混乱,DLL文件经常共享,卸载时不敢轻易删除 |
| 卸载彻底性 | 通过包管理器安装的软件可以完全清除,包括配置文件 | 即使用官方卸载程序,也经常留下残留文件、注册表项 |
| 跨用户清理 | 一个命令即可为所有用户卸载软件 | 可能需要为每个用户账户分别清理 |
设置交换空间
如果需要打开大量内存占用高的程序,Ubuntu可能会出现卡死或崩溃的情况。设置交换空间不仅能防止系统崩溃,还能优化内存使用效率。
创建交换文件(推荐方案)
详细步骤
-
创建交换文件(建议大小为物理内存的1-2倍,这里以8GB为例)
bash sudo fallocate -l 8G /swapfile如果提示fallocate failed: Operation not supported,使用dd命令:bash sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 -
设置正确的权限
bash sudo chmod 600 /swapfile -
格式化为交换空间
bash sudo mkswap /swapfile -
启用交换文件
bash sudo swapon /swapfile -
验证是否启用成功
bash sudo swapon --show free -h应该能看到类似这样的输出: NAME SIZE USED PRIO /swapfile 8G 0B -2 -
让交换文件开机自动启用
bash sudo gedit /etc/fstab在文件末尾添加:bash /swapfile none swap sw 0 0 - 优化交换文件设置(可选但推荐)
- 调整swappiness(控制系统使用交换空间的倾向,默认60):
bash echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf这会让系统更倾向于使用物理内存,减少不必要的交换。 - 调整缓存压力:
bash echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
- 调整swappiness(控制系统使用交换空间的倾向,默认60):
验证最终结果
完成所有步骤后,重启系统并验证:
sudo reboot
重启后检查:
sudo swapon --show
free -h
应该能看到交换文件正常工作。
为什么选择交换文件而不是交换分区?
- 更灵活:可以随时调整大小,无需重新分区
- 更安全:避免分区表操作的风险
- Ubuntu推荐:新版本Ubuntu默认使用交换文件
- 双系统友好:不会影响Windows分区
Ubuntu系统的卸载/删除
卸载ubuntu,保留Windows,具体步骤参考文章: https://blog.csdn.net/ZChen1996/article/details/115436436

浙公网安备 33010602011771号