⏬ Ubuntu Server 配置
2025年9月13日大约 5 分钟UbuntuUbuntu
配置 Root用户
设置 Root密码
sudo passwd root
效果图:
ubuntu@ubuntu:~$ sudo passwd root
[sudo] password for ubuntu:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ubuntu@ubuntu:~$ su
Password:
root@ubuntu:/home/ubuntu#
设置 Root允许远程登录
vi /etc/ssh/sshd_config
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes // 加入此行
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
重启服务
service ssh restart
配置 固定IP
特别注意
为每台机器单独配置对应的 IP
和 主机名
- 编辑
vi /etc/netplan/50-cloud-init.yaml
配置文件,修改内容如下network: ethernets: ens33: # IP: 192.168.88.150 addresses: [192.168.88.150/24] gateway4: 192.168.88.2 nameservers: addresses: [192.168.88.2] version: 2
- 使用
netplan apply
命令让配置生效netplan apply
虚拟机系统的额外配置
关闭交换空间:
root@ubuntu:~# free -h total used free shared buff/cache available Mem: 1.9G 189M 1.4G 1.2M 363M 1.6G Swap: 2.0G 0B 2.0G root@ubuntu:~# sudo swapoff -a root@ubuntu:~# free -h total used free shared buff/cache available Mem: 1.9G 189M 1.4G 1.2M 363M 1.6G Swap: 0B 0B 0B root@ubuntu:~#
避免开机启动交换空间:
注释 `vi /etc/fstab` 中的 `swap` #/swap.img none swap sw 0 0
关闭防火墙:
root@ubuntu:~# ufw disable Firewall stopped and disabled on system startup
配置 主机名
在同一局域网中主机名不应该相同,所以我们需要做修改,下列操作步骤为修改 18.04 版本的 Hostname,如果是 16.04 或以下版本则直接修改 /etc/hostname
里的名称即可
查看当前 Hostname
# 查看当前主机名
hostnamectl
# 显示如下内容
Static hostname: ubuntu
Icon name: computer-vm
Chassis: vm
Machine ID: 33011e0a95094672b99a198eff07f652
Boot ID: dc856039f0d24164a9f8a50c506be96d
Virtualization: vmware
Operating System: Ubuntu 18.04.2 LTS
Kernel: Linux 4.15.0-48-generic
Architecture: x86-64
修改 Hostname
# 修改主机名
hostnamectl set-hostname 自定义主机名
# 配置 hosts
cat >> /etc/hosts << EOF
192.168.88.150 自定义主机名
EOF
修改 cloud.cfg
如果 cloud-init package
安装了,需要修改 cloud.cfg
文件。该软件包通常缺省安装用于处理 cloud
, 主要作用是防止重启后主机名还原
# 如果有该文件
vi /etc/cloud/cloud.cfg
# 第 15 行
# 该配置默认为 false,修改为 true 即可
preserve_hostname: true
验证
root@kubernetes-master:~# hostnamectl
Static hostname: kubernetes-master
Icon name: computer-vm
Chassis: vm
Machine ID: 33011e0a95094672b99a198eff07f652
Boot ID: 8c0fd75d08c644abaad3df565e6e4cbd
Virtualization: vmware
Operating System: Ubuntu 18.04.2 LTS
Kernel: Linux 4.15.0-48-generic
Architecture: x86-64
配置SSH免密登录
# 使用rsa加密技术,生成公钥和私钥。一路回车即可
[root@base ~]# ssh-keygen -t rsa
# 进入 ~/.ssh目录下,使用ssh-copy-id命令
[root@base ~]# cd ~/.ssh
[root@base .ssh]# ssh-copy-id root@base
# 进行验证,去掉第一次的询问(yes/no)
[root@base .ssh]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:Dm0MtvR4HSd8Xk7E6ba18iUJCcsmfZq6UWQy2v+YRsA.
ECDSA key fingerprint is MD5:ff:8d:61:d7:23:07:a3:d1:41:cb:e4:05:54:11:2f:32.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Sat Jun 8 15:14:54 2024 from 192.168.10.1
[root@base ~]#
配置 同步时间
- 设置时区
dpkg-reconfigure tzdata
- 选择 Asia(亚洲)
- 选择 Shanghai(上海)
- 时间同步
# 安装 ntpdate apt-get install ntpdate # 设置系统时间与网络时间同步(cn.pool.ntp.org 位于中国的公共 NTP 服务器) ntpdate cn.pool.ntp.org # 将系统时间写入硬件时间 hwclock --systohc
- 确认时间
date # 输出如下(自行对照与系统时间是否一致) Wed May 20 09:02:29 CST 2020
配置 DNS
方法一: 停止
systemd-resolved
服务:systemctl stop systemd-resolved
修改 DNS:vi /etc/resolve.conf
,将nameserver
修改为如114.114.114.114
可以正常使用的DNS
地址方法二: 编辑
resolved.conf
文件vi /etc/systemd/resolved.conf
把 DNS 取消注释,添加 DNS,保存退出,重启即可
[Resolve] DNS=114.114.114.114 //修改此行 #FallbackDNS= #Domains= #LLMNR=no #MulticastDNS=no #DNSSEC=no #Cache=yes #DNSStubListener=yes
安装 Docker
卸载旧版本
- 清理资源
docker system prune --all --volumes # 输出如下 WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all images without at least one container associated to them - all build cache Are you sure you want to continue? [y/N]
- 卸载
apt remove docker.io
安装新版本
apt install docker.io
验证安装
docker version
# 输出如下
Client:
Version: 19.03.6
API version: 1.40
Go version: go1.12.17
Git commit: 369ce74a3c
Built: Fri Feb 28 23:45:43 2020
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 19.03.6
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: 369ce74a3c
Built: Wed Feb 19 01:06:16 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.3-0ubuntu1~18.04.2
GitCommit:
runc:
Version: spec: 1.0.1-dev
GitCommit:
docker-init:
Version: 0.18.0
GitCommit:
配置加速器
提示
注意: 国内镜像加速器可能会很卡,请替换成你自己阿里云镜像加速器,地址如:容器镜像服务,在阿里云控制台的 容器镜像服务 -> 镜像加速器 菜单中可以找到
在
/etc/docker/daemon.json
中写入如下内容(以下配置修改cgroup
驱动为systemd
,满足K8S
建议)# 自定义阿里云镜像源 { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "registry-mirrors": [ "https://oxf7fdmw.mirror.aliyuncs.com", "https://docker.1panel.live", "https://hub.rat.dev", "https://docker.anyhub.us.kg", "https://docker.chenby.cn", "https://dockerhub.jobcher.com", "https://dockerhub.icu", "https://docker.awsl9527.cn", "https://docker.hpcloud.cloud", "https://atomhub.openatom.cn", "https://docker.m.daocloud.io", "https://dockerproxy.cn", "https://dockerpull.com", "https://docker.jianmuhub.com", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://dockerhub1.beget.com", "https://noohub.ru", "https://docker.1ms.run", "https://docker.m.daocloud.io" ], "storage-driver": "overlay2" }
注意,一定要保证该文件符合 JSON 规范,否则 Docker 将不能启动。 验证加速器是否配置成功:
sudo systemctl daemon-reload sudo systemctl restart docker docker info
输出如下:
# 看到这句即表示配置成功 Registry Mirrors: https://oxf7fdmw.mirror.aliyuncs.com ......
安装 Docker-Compose
apt 安装
apt install docker-compose
查看
root@cangbao:~# docker-compose -v
docker-compose version 1.29.2, build unknown
root@cangbao:~#
附:Ubuntu环境变量配置
vi /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$MAVEN_HOME/bin
vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$MAVEN_HOME/bin
使用 source /etc/profile
使配置生效