虚拟机环境配置备忘
准备
- Oracle VM VirtualBox
- ubuntu-20.04.2-live-server-amd64.iso
系统安装
CPU 核心根据物理机核心数拉满,待会需要装软件能更快些
存储不用分区了,感觉虚拟机分区没啥意义,需要扩容的时候反而麻烦。
软件源换成国内比较快的源,比如阿里(http://mirrors.aliyun.com/ubuntu/ )或者清华(https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ )的。
安装的时候把 ssh 工具安装选择勾上。
安装完毕会更新一些东西,不需要就可以 reboot 了,自用虚拟机也懒得安全更新了。
reboot 正常重启的话到 VirtualBox 里重启。因为是服务器版本,有 cloud-init 云环境这东西,重启后关了,用不着。
1 | systemctl disable cloud-init-local cloud-init cloud-config cloud-final |
设置和软件安装
网络
网络问题以前写过 VirtualBox Ubuntu20.04 网络设置,懒得搬过来了。
ssh
如何之前没选择安装 ssh 工具,手动安装
1 | sudo apt-get install openssh-server |
客户机上 ssh-keygen -t rsa
生成密钥
Linux 上密钥位置在当前用户目录下 .ssh
文件夹中,Windows 上密钥位置在 C:\Users\用户名\.ssh
中,公钥文件为 id_rsa.pub,私钥文件为 id_rsa
将公钥文件上传到当前用户目录下 /home/用户/.ssh/
(或者想给谁 ssh 权限放谁目录下,目录不存在先创建)
创建 authorized_keys 文件
1 | touch ~/.ssh/authorized_keys |
将公钥写入 authorized_keys 文件
1 | cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys` |
注意服务器机器若也想 ssh 其他机器,.ssh 目录下要是先生成 id_rsa.pub 文件,上传的客户端公钥文件改个名,别把服务器机器自己的公钥给覆盖了。
Docker
原软件源中的 Docker 可能不是最新版本的
更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:
1 | sudo apt update |
使用下面的 curl
导入源仓库的 GPG key:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
将 Docker APT 软件源添加到你的系统:
1 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。
安装 Docker 最新版本,运行下面的命令
1 | sudo apt update |
非 root 用户执行 docker 命令权限不足,不想 sudo 就把用户加到 docker 用户组,重开终端即生效。
1 | sudo usermod -aG docker {用户名} |
想在 IDEA 或其他工具连接管理容器可以开启远程模式。
编辑 docker 服务,加上远程监听服务
1 | vi /lib/systemd/system/docker.service |
reload 下守护线程,重启 docker。
1 | systemctl daemon-reload |
根据你的 ip 访问 http://{ip}:2375/version,可以看到版本信息就行了。另外在 IDEA 连接 Docker 的时候需要把代理(HTTP Proxy 那地方)关了,否则连接可以会报异常java.io.IOException: unexpected end of stream
。
zsh
github raw 被墙,不想脚本安装就先装 zsh,再克隆git库配置一下就好了。
1 | sudo apt-get install zsh |
vi ~/.zshrc 修改主题
1 | #ZSH_THEME="robbyrussell" |
echo $SHELL
查看默认 shell
chsh -s /bin/zsh
设置 zsh 为默认 shell
待续
...
一些常用的命令配置可以写成脚本一键执行更简单。