一、windows安装wsl
按开始键+X键 选择终端(管理员),以管理员身份打开 PowerShell ,依次执行:
- 开启WSL子系统功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart- 开启虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart- 执行完重启电脑GitHub。
上述操作后重启后继续管理员终端:
- 下载更新WSL内核
wsl --update --web-download二、安装Ubuntu发行版(二选一)
- 直接安装到C盘
wsl --install -d Ubuntu --web-download- 将Ubuntu安装到D盘指定位置
wsl --install -d Ubuntu --location D:\wsl\wsl_data --web-download- 配置环境
sudo apt updatesudo apt install python-is-python3三、安装opencode
- 安装nvm
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.3.tar.gz mkdir -p ~/.nvm tar -zxvf v0.40.3.tar.gz -C ~/.nvm # 把子目录内容移到 ~/.nvm/ 根下 mv ~/.nvm/nvm-0.40.3/* ~/.nvm/ rm -rf ~/.nvm/nvm-0.40.3 v0.40.3.tar.gz echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bashrc source ~/.bashrc- 查看版本
nvm --version如果上面报错后处理方式 直接安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # 加载环境变量 source ~/.bashrc # 验证安装 nvm --version初始化 并安装对应版本opencode
nvm install 24 #安装opencode npm install -g opencode-ai进入到opencode
# 进入到uBuntu wsl -d Ubuntu # 进入到opencode opencode四、Ubuntu安装ssh并支持xshell链接
开启并运行ssh
sudo apt update && sudo apt install openssh-server -y sudo service ssh start切换root用户和普通用户
1、 切换root用户
sudo -i输入当前普通用户密码 这里是123,回车后进入到root用户
2、切换回普通用户
#edy是普通用户的用户名,输入完成后回车,root没有密码直接切换成功
su - edy五、Ubuntu安装docker
安装docker前需要切换到root用户权限
1、刷新软件源,然后自动安装 Docker
sudo apt update && sudo apt install -y docker.io#2、查看docker是否启动成功
docker ps1、docker镜像下载加速
- 写入加速器配置**
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.1ms.run", "https://docker.1panel.live", "https://docker.xuanyuan.me" ] } EOF- 重启 docker**
sudo systemctl restart docker- 验证加速器生效,再拉镜像**
docker info | grep -A5 "Registry Mirrors" docker pull redis2、docker安装mysql
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -v mysql8-data:/var/lib/mysql --restart unless-stopped mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci- 如果安装失败则可以先下载镜像
docker pull docker.m.daocloud.io/library/mysql:8.0- 给镜像打别名
docker tag docker.m.daocloud.io/library/mysql:8.0 mysql:8.0- 删除旧的镜像标签
docker rmi docker.m.daocloud.io/library/mysql:8.0- 再执行第一步命令安装mysql
3、docker安装redis
- 拉取redis镜像
docker pull redis运行镜像生成容器
docker run -itd \ --name redis \ --restart=always \ --log-opt max-size=100m \ --log-opt max-file=2 \ -p 6379:6379 \ -v /home/edy/redis/conf/redis.conf:/etc/redis/redis.conf \ -v /home/edy/redis/data:/data \ redis:latest \ redis-server /etc/redis/redis.conf \ --appendonly yes \ --requirepass 123456docker安装金仓数据库
- 下载金仓数据库
KES - 电科金仓-成为世界卓越的数据库产品与服务提供商
- 上传到 WSL Ubuntu
先切换root
sudo -i新建opt目录
mkdir -p /opt把tar包从Windows‑D盘复制进Ubuntu内部/opt
cp /mnt/d/kingbase.tar /opt/进入目录
cd /opt#查看文件是否上传成功
ls- 导入docker镜像
cd /opt #导入镜像 docker load -i kingbase.tar #查看镜像是否导入成功 docker images- 重命名镜像(打标签)
tag后面是当前镜像名称,需根据实际名称切换,v9r1c10也是,你可以直接改成v1
docker tag kingbase_v009r001c010b0004_single_x86:v1 kingbase:v9r1c10删除旧的镜像标签
docker rmi kingbase_v009r001c010b0004_single_x86:v1- 启动金仓容器
docker run -tid --name kingbase --privileged \ -p 54321:54321 \ -v /opt/kingbase/data:/home/kingbase/userdata \ -e SYSDBA_PASSWORD="123456" \ --restart=always \ kingbase:v9r1c10- 金仓数据库过期处理方法
清理旧持久化目录(如果是全新服务器可以跳过,⚠️会清空所有旧数据库数据)
rm -rf /opt/kingbase/data创建全新空的数据目录
mkdir -p /opt/kingbase/data运行上一步命令启动金仓容器
如果密码错误可以关闭并删除容器
docker stop kingbasedocker rm kingbase删除旧的数据目录
rm -rf /opt/kingbase/data再重新安装容器
- 初始化金仓数据库用户密码
#1. 进入金仓数据库容器 docker exec -it kingbase /bin/bash #2. 进入数据库提示这个,证明用户名不是SYSDBA [kingbase@88b60aaf61b0 ~]$ ksql -U SYSDBA test ksql: error: could not connect to server: FATAL: role "sysdba" does not exist #3. 使用system账号进入 ksql -U system test #4. 修改用户密码 test=# ALTER USER system WITH PASSWORD '123456'; #5. 退出数据库 \q #6. 退出容器 exit六、迁移C盘的Ubuntu
- 先备份Ubuntu,目录不能有特殊字符包括空格,可以有下划线
可以再D盘新建两个文件夹wsl_backup(存放原来c盘的备份)和wsl_data(存放新的Ubuntu位置),我都放在了wsl文件夹下了
wsl --export Ubuntu D:\wsl\wsl_backup\ubuntu_backup.tar等待执行完成,去 D:\wsl_backup 看,文件不为 0 字节才算导出成功2
- 确认备份正常,注销旧 C 盘 Ubuntu
wsl --unregister Ubuntu- 查看是否已注销
wsl -l -v #完整写法 wsl --list --verbose- 执行备份
wsl --import Ubuntu D:\wsl\wsl_data D:\wsl_backup\ubuntu_backup.tar --version 2- 校验是否还原成功
PS C:\Users\EDY> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 PS C:\Users\EDY>- 查看Ubuntu现存位置
PS D:\Program Files\wsl\wsl_backup> (Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu' }).GetValue("BasePath") D:\wsl\wsl_data #成功了 PS D:\Program Files\wsl\wsl_backup>- 删除备份的tar文件