有时我们不得不在 没有互联网 的环境中开展开发工作,这篇文章记录一些配置离线开发环境的经验 Ubuntu 开发环境准备
- 下载常用的软件
- 定义常用依赖
deps+=(git neovim silversearcher-ag jq p7zip tmux zsh curl wget) deps+=(python3 python3-pip python3-virtualenv) # 编译python 所需要的依赖 deps=(zlib1g-dev libncurses5-dev libgdbm-dev \ libnss3-dev libssl-dev libreadline-dev \ libffi-dev libsqlite3-dev libbz2-dev) # docker 相关 deps+=(docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ) # 常用的binary 依赖 deps+=(libpq-dev clang)
- 更新下载镜像
sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list ## 更新 Docker下载镜像 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg \ | gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ tee /etc/apt/sources.list.d/docker.list \> /dev/null ## 离线下载deb包 apt-get install apt-rdpends for str in ${deps[@]}; do apt-get download \ $(apt-rdepends "$str" \ |grep -v "^ "|grep -v "^libc-dev$" | grep -v "^debconf-2.0" \ | grep -v "^dbus-session-bus" | grep -v "^default-dbus-session-bus") done
Windows 开发环境准备 (Windows Server 2019 或 Windows 10)
- 在Windows中离线安装 WSL
id:: 653a1182-0795-4286-9de8-640e10f92bb6
> 重点参考微软官方文档
- Manual installation steps for older versions of WSL | Microsoft Learn
- Install Linux Subsystem on Windows Server | Microsoft Learn
- 启用Windows功能
logseq.order-list-type:: number
# Windows 10 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # Windows Server Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux # 启用虚拟机功能 (安装WSL2 所需要的) dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 下载Linux 内核升级包 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi logseq.order-list-type:: number > 应该就是个普通的Exe文件,点击安装即可
- 开启wsl2
logseq.order-list-type:: number
wsl --set-default-version 2
- 在 Downloading distributions 下载Linux 发行版安装包
logseq.order-list-type:: number
下载到的安装包应该是
*.appbundle
文件,大小1GB左右,下载完成后将扩展名修改为APPX Ubuntu 22.04下载地址: https://aka.ms/wslubuntu2204 - 安装 appx文件
logseq.order-list-type:: number
-
如果是
Windows 10
logseq.order-list-type:: numberAdd-AppxPackage .\ubuntu.appx
-
如果是
Windows Server
logseq.order-list-type:: number# 1.将appx重命名成Zip 然后解压 Rename-Item .\Ubuntu.appx .\Ubuntu.zip Expand-Archive .\Ubuntu.zip .\Ubuntu # 这一步完成后,在 Ubuntu 文件夹 # 1. 下如果有 ubuntu.exe, 点击运行它即可 # 2. 如果有一堆appx 文件,就再用 重命名为zip 解压这个方法处理一次,直到看到ubuntu.exe # 2. 将解压后的 `Ubuntu`目录添加到系统环境变量
-
- 在Windows中离线安装 Docker
> + 重点参考Install Docker Desktop on Windows | Docker Docs
- 请确保已经完成了
- 在联网的机器上
pull
镜像,并用docker save
保存-
docker pull postgres:16 docker save postgres:16 \> postgres-16.tar
-
- 在离线机器上用
docker load
保存 - 常用镜像
postgres:16 node:18 node:21 redis:7 clickhouse/clickhouse-server:23 sonatype/nexus3:3.61.0
[offline npm镜像避坑](offline npm镜像避坑.md)