【算法工程】大模型开发之windows环境的各种安装

1. 背景

最近由于研究需要,我购置了两块3090显卡,以便在家中进行一些小规模的实验。为此,还更换了主机。当然,新系统上少不了要安装各种开发环境。从开发体验来看,macOS无疑更为流畅,但为了确保所有环境都能顺利运行,Windows系统也是必不可少的。因此,决定记录下在Windows系统下安装各种环境的过程,以便日后参考。

2. 环境安装/使用

2.1 Windows Subsystem for Linux

windows下使用linux,之前还会安装双系统,但目前看最方便的就是wsl。

WSL2 的磁盘路径结构:

1. Windows 文件系统的挂载
  • 根目录 /mnt

    Windows 的所有磁盘分区都会挂载到 /mnt 目录下:

    • C盘/mnt/c
    • D盘/mnt/d
    • 其他分区以此类推。
  • 示例路径转换

    • Windows路径:C:\Users\username\Documents
      → WSL2路径:/mnt/c/Users/username/Documents
2. Ubuntu 的 Home 目录
  • 位置

    Ubuntu 的用户主目录(~/home/username)独立于 Windows 文件系统,存储在 WSL2 的虚拟磁盘中(.vhdx 文件)。

    • 默认路径:
      Windows 的隐藏文件位置:
      C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_...\LocalState\ext4.vhdx
  • 访问方式

    在 WSL2 中直接通过 ~/home/username 访问,无需挂载。

3. 路径操作示例
3.1 访问 Windows 文件

# 进入 Windows 的 C盘根目录 cd /mnt/c # 进入用户目录(假设用户名为 user) cd /mnt/c/Users/user # 查看 Windows 的文件 ls Documents

3.2 操作 Ubuntu 的 Home 目录

# 进入 Home 目录 cd ~ # 创建文件 touch my_file.txt # 编辑文件(在 Windows 中无法直接看到此文件,除非通过 WSL 访问) nano my_file.txt

3.3 在 Ubuntu 中操作 Windows 文件

# 在 Ubuntu 中编辑 Windows 文件 nano /mnt/c/Users/user/file.txt # 将文件从 Windows 复制到 Ubuntu 的 Home 目录 cp /mnt/c/Users/user/document.txt ~/Documents/

场景 Windows 路径 WSL2 路径
访问用户目录 C:\Users\username /mnt/c/Users/username
Ubuntu Home 目录 不直接映射到 Windows ~/home/username
临时文件 C:\Windows\Temp /tmp
4. 路径注意事项
4.1 权限问题
  • Windows 文件权限:
    默认情况下,WSL2 对 /mnt/c 及其子目录的权限为 root,普通用户可能需要 sudo

    sudo chmod 755 /mnt/c/Users/user/file.txt # 修改权限

  • 建议:在 Windows 中以管理员身份运行 WSL2 或修改 Windows 文件夹的权限。

4.2 文件名大小写敏感
  • WSL2 是 大小写敏感 的,而 Windows 文件系统(NTFS)默认不敏感。
    • 问题示例:在 Windows 中创建 File.txt,在 WSL2 中输入 file.txt 可能无法找到。
    • 解决:确保文件名大小写一致,或在 Ubuntu 中使用 ls 查看正确名称。
4.3 符号链接(Symlink)
  • 跨系统符号链接:
    在 WSL2 中创建的符号链接(ln -s)在 Windows 中可能无法识别,反之亦然。
    • 建议:在 /home 目录内使用符号链接,避免跨文件系统操作。
5. WSL2 的虚拟磁盘空间
1. 扩展存储空间
  • 默认情况下,WSL2 的虚拟磁盘(.vhdx)大小为 默认值(通常 5GB 或 256GB),可通过以下命令扩展:

    wsl --set-auto-mount $true # 启用自动挂载 wsl --resize --size <GB> # 例如:扩展到 50GB

2. 备份 Home 目录
  • 备份路径:
    Ubuntu 的 Home 目录存储在 WSL2 的虚拟磁盘中(.vhdx 文件),可通过备份此文件实现数据恢复。

2.2 Anaconda安装

2.2.1 非wsl安装

官网下载安装包安装后,需要配置环境变量:

另外,还需要执行:

bash 复制代码
Set-ExecutionPolicy RemoteSigned
conda init powershell

重启powershell后可访问:

2.2.2 wsl安装

在windows上开发,推进在wsl中安装conda,会方便很多。

在 WSL(Windows Subsystem for Linux)中安装 Conda 的步骤如下:

首先,确保你的 WSL 系统是最新的:

bash 复制代码
sudo apt update && sudo apt upgrade -y

下载 Miniconda 安装脚本,Miniconda 是 Anaconda 的轻量版,只包含 Conda 和 Python。你可以使用以下命令下载 Miniconda 安装脚本:

bash 复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

运行安装脚本,下载完成后,运行安装脚本:

bash 复制代码
bash Miniconda3-latest-Linux-x86_64.sh

按照提示进行安装。可以选择安装路径,默认路径是 ~/miniconda3

安装完成后,激活 Conda:

bash 复制代码
source ~/miniconda3/bin/activate

为了让 Conda 在每次启动终端时自动激活,可以运行以下命令:

bash 复制代码
conda init

然后重新启动终端或运行:

bash 复制代码
source ~/.bashrc

最后,验证 Conda 是否安装成功:

bash 复制代码
conda --version

如果安装成功,会看到 Conda 的版本号。

2.3 minio安装

在 WSL(Windows Subsystem for Linux)上使用 Docker 安装 MinIO 的步骤如下:

首先确保 WSL 和 Docker 已安装

  • WSL:确保你已经安装了 WSL 并且已经设置了一个 Linux 发行版(如 Ubuntu)。

  • Docker:确保 Docker Desktop 已经安装,并且已经启用了 WSL 2 支持。判断是否启用WSL 2,可以使用 wsl --list --verbose 指令查看。

打开 PowerShell 或命令提示符,输入 wsl 启动 WSL。

在 WSL 中运行以下命令来拉取 MinIO 的 Docker 镜像:

bash 复制代码
 docker pull minio/minio

在 WSL 中创建一个目录来存储 MinIO 的数据:

bash 复制代码
mkdir -p ~/minio/data

使用以下命令来启动 MinIO 容器:

bash 复制代码
docker run -p 9000:9000 -p 9001:9001 \
  --name minio \
  -v ~/minio/data:/data \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  minio/minio server /data --console-address ":9001"

访问 MinIO

  • MinIO 控制台:在浏览器中访问 http://localhost:9001,使用 minioadmin 作为用户名和密码登录。

  • MinIO API:你可以通过 http://localhost:9000 访问 MinIO 的 API。

停止和启动容器

  • 停止容器:docker stop minio

  • 启动容器:docker start minio

如果你需要删除容器,可以使用以下命令:

bash 复制代码
docker rm -f minio

MinIO 的数据会存储在 ~/minio/data 目录中,即使容器被删除,数据也会保留。

相关推荐
鹿九丸11 分钟前
多线程编程
linux·服务器·c语言·网络·c++
GalaxyPokemon21 分钟前
LINUX基础IO [七] - 文件缓冲区的深入理解
linux·运维·算法
什么半岛铁盒33 分钟前
Linux进程替身术:深入解析进程程序替换机制
linux·运维·服务器
脑子慢且灵34 分钟前
计算机操作系统处理机调度(1)
linux·运维·服务器·开发语言·windows·centos
Mr_liu_6661 小时前
Hostapd2.11解析笔记_nl80211接口交互流程_消息收发细节解析
java·linux·笔记
竹之却2 小时前
VMWare Ubuntu 详细安装教程
linux·运维·ubuntu
熊峰峰2 小时前
Linux第二节:开发工具全攻略--从编译调试到项目部署
linux·运维·服务器
万山y2 小时前
linux设置mihomo,无界面版本
linux·运维·服务器
neter.asia2 小时前
VMware 安装 mac os系统
linux·运维·服务器