说明
Ubuntu 18.04 LTS已经出来一年多了,小版本号已经更新到了18.04.2。
这里记录一下Ubuntu 18.04虚拟机模板的制作过程
下载镜像
这里使用清华大学的镜像源
↓↓↓↓↓↓↓↓下载地址↓↓↓↓↓↓↓↓
创建虚拟机
- 这里使用VMware Workstation 15 Pro 版本号
15.0.2 build-10952284
- 虚拟机规格
- 客户机操作系统版本
Ubuntu 64位
- 处理器数量
2
- 内存2GB
- 硬盘30GB
- 网络适配器
NAT模式
- 客户机操作系统版本
安装操作系统
- 启动菜单
- 语言选择
English
- 选择
Install Ubuntu Server
或者Install Ubuntu Server with the HWE kernel
都可以,关于HWE kernel的说明,看这里
- 语言选择
- 安装流程
- 语言选择
English
- 键盘Layout和Variant都选择
English (US)
- 安装的类型选择
Install Ubuntu
即可,另外两个选择Install MAAS bare-metal cloud (region)
和Install MAAS bare-metal cloud (region)
可以看一下官方说明 - 网络连接,这里根据需要配置即可
- 代理地址设置,没有就直接跳过
- 设置镜像地址,默认是
http://archive.ubuntu.com/ubuntu
,安装完系统之后可以修改,这里看需要配置即可 - 配置分区,这里设置
/boot
分区1GB
,/
分区剩余空间,无swap分区,由于Ubuntu会自动创建一个1M大小的分区用于BIOS_GRUB,因此,实际上,硬盘分区是有三个的 - 设置用户名密码和主机名,这里统一用Ubuntu了,密码这里尽量不要设置的太简单了
- Your name:
ubuntu
- Your server’s name:
ubuntu
- Pick a username:
ubuntu
- Choose a password:
***********
- Confirm your password:
***********
- Your name:
- 设置SSH,选择
Install Openssh Server
,Import SSH identity
选择No
Featured Server Snaps
这里可以在安装系统的时候顺带选择额外安装的软件包- 这个后续安装完系统可以自己操作,所以直接跳过,避免安装时间过长!
- 接下来就等待系统安装完成,安装完成后选择
Reboot Now
重启
- 语言选择
操作系统启动后初始化设置
配置ssh证书登录
- 通过ssh命令生成密钥对
- 将
~/.ssh/id_rsa.pub
提取出来
1 | ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa |
添加sysctl参数
fs参数
1 | cat > /etc/sysctl.d/99-fs.conf <<EOF |
vm参数
1 | cat > /etc/sysctl.d/99-vm.conf <<EOF |
net参数
1 | cat > /etc/sysctl.d/99-net.conf <<EOF |
修改limits参数
1 | cat > /etc/security/limits.d/99-ubuntu.conf <<EOF |
修改journal设置
1 | sed -e 's,^#Compress=yes,Compress=yes,' \ |
修改终端提示符
1 | export PS1="[\t]\[$(tput setaf 1)\][\u@\h:\w]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]" |
修改APT源
/etc/apt/sources.list
1 | 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
刷新APT缓存
1 | apt update |
更新系统软件
1 | apt upgrade |
安装常用软件
1 | apt install -qyy \ |
禁用系统服务
1 | systemctl disable iscsid.socket \ |
卸载snapd
1 | systemctl stop snapd |
配置网络
- Ubuntu 18.04 LTS 使用netplan来管理网络配置,可以使用
NetworkManager
或者Systemd-networkd
的网络守护程序来做为内核的接口。 - 如果再通过原来的
ifupdown
工具包继续在/etc/network/interfaces
文件里配置管理网络接口是无效的。 默认的
systemd-resolve
会接管/etc/resolv.conf
,无法直接修改,并且会监听localhost:53
端口,看着非常不爽。修改过程如下网卡配置文件路径
/etc/netplan/50-cloud-init.yaml
,配置文件的样例在这里
1 | # This file is generated from information provided by |
- 使用netplan命令让配置生效
1 | sudo netplan apply |
这时候会发现,
/etc/resolv.conf
里面的nameserver指向127.0.0.53并且是软链接到
/run/systemd/resolve/stub-resolv.conf
内容如下
1 | This file is managed by man:systemd-resolved(8). Do not edit. |
- 修改systemd-resolv的配置文件
/etc/systemd/resolved.conf
1 | This file is part of systemd. |
- 重启systemd-resolv服务
1 | systemctl restart systemd-resolved.service |
- 修改
/etc/resolv.conf
软链接指向
1 | ln -svf /run/systemd/resolve/resolv.conf /etc/resolv.conf |
- 现在再看
/etc/resolv.conf
的内容就舒服了
1 | This file is managed by man:systemd-resolved(8). Do not edit. |
修改HISTORY参数
1 | cat > /etc/profile.d/history.sh <<EOF |
修改时区
1 | timedatectl set-timezone Asia/Shanghai |
配置时间同步
- Ubuntu 18.04 LTS 使用
systemd-timesyncd
实现跨网络同步系统时钟的守护服务,与NTP的复杂实现相比,这个服务简单的多,它只专注于从远程服务器查询然后同步到本地时钟。 - 守护进程运行只需要尽可能小特权,并且会跟网络服务 networkd 挂钩,仅在网络连接可用时才工作。
- 配置文件路径
/etc/systemd/timesyncd.conf
1 | sed -e 's,^#NTP=.*,NTP=cn.pool.ntp.org,' -i /etc/systemd/timesyncd.conf |
- 重启systemd-timesyncd服务
1 | systemctl restart systemd-timesyncd.service |
修改LANG默认值
1 | localectl set-locale LANG=en_US.UTF-8 |
修改SSH配置
这里禁用root通过密码方式登录,修改默认端口
22
→2233
1 | sed -e 's,^#PermitRootLogin prohibit-password,PermitRootLogin prohibit-password,' \ |
可选操作
禁用终端欢迎消息广告
- 关闭获取Ubuntu新闻
1 | sed -e 's,^ENABLED=1,ENABLED=0,g' -i /etc/default/motd-news |
- 关闭动态motd不需要的内容
1 | chmod -x /etc/update-motd.d/80-livepatch |
禁用IPV6设置
1 | cat > /etc/sysctl.d/99-disable-ipv6.conf <<EOF |
禁用ICMP
1 | cat > /etc/sysctl.d/99-disable-icmp.conf <<EOF |
添加vim设置
将vim设置写入
~/.vimrc
文件
1 | cat > ~/.vimrc <<EOF |
配置内核模块
配置lvs模块
1 | cat > /etc/modules-load.d/ipvs.conf <<EOF |
配置连接状态跟踪模块
1 | cat > /etc/modules-load.d/nf_conntrack.conf <<EOF |
配置kvm模块
1 | cat > /etc/modules-load.d/kvm.conf <<EOF |
安装Docker-CE
- 添加GPG KEY
1 | curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - |
- 添加APT源
1 | add-apt-repository \ |
- 刷新APT缓存
1 | apt update |
- 查找Docker-CE版本
1 | apt-cache madison docker-ce |
输出示例
1 | docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages |
- 安装指定版本的Docker-CE
1 | apt install docker-ce=5:18.09.7~3-0~ubuntu-bionic \ |
- 查看docker信息
1 | docker info |
- 修改docker配置
配置文件路径
/etc/docker/daemon.json
1 | { |
- 启动docker
1 | systemctl restart docker.service |