返回文章列表
服务器

运维效率低怎么办?Ubuntu 22.04 LTS 初始化与优化全流程

小站
2026-01-20
2周前
运维效率低怎么办?Ubuntu 22.04 LTS 初始化与优化全流程

开发运维人员经常与黑乎乎的终端打交道,使用体验差、效率低。一些用户了解可使用各类软件如oh-my-zsh等来优化用户体验,但在云服务器配置过程中面临的网络访问困难、重复配置效率低下等痛点。本文介绍 Linux 环境起手式,安装必备的软件,包括 zsh、oh-my-zsh、git、docker 等。

关键词:云服务器配置、国内网络优化、oh-my-zsh、Docker、系统镜像

面向云服务器环境,开发、运维工程师,特别适用于国内网络。

注:本文所有的命令都是在 Ubuntu 22.04 LTS 上测试通过的,基于腾讯云服务器。

操作系统 Ubuntu 22.04 LTS

在国内的开发环境中,Ubuntu 是非常流行的,可与之相提并论的 Debian。Ubuntu 更注重用户体验,而 Debian 更注重稳定性。

LTS 版本是 Long Term Support 的缩写,意思是长期支持版本。

推荐选择20.04或22.04等LTS版本,不太推荐24.04是因为新版本配套软件可能不完善,容易出现难以解决的问题。

初始化服务器系统时,支持多种类型:使用应用模板、基于操作系统镜像、使用容器镜像、使用自定义镜像,可根据实际情况选择。

启动后可以首先执行基本的系统初始化配置,比如更新软件包列表、升级系统软件等。

# 更新软件包列表sudo apt update && sudo apt upgrade -y

国内云服务厂商的都默认了依赖包安装源,无需修改。如果是在 VMWare 上安装 Ubuntu 22.04 LTS,需要注意的是,默认的安装源是 Ubuntu 官方的源,而不是国内的源,需要手动修改为国内的源。

Git 配置

git 是版本控制工具,用于管理代码的版本,Linux 操作系统发行版本一般都默认安装,直接进行配置即可。

git --version # 先查看下 git 版本,验证是否安装git config --global user.name "your_name"git config --global user.email "your_email@example.com"git config --global init.defaultBranch main # 设置默认分支为 main

Github、Gitee、Gitlab 等代码托管平台都支持 SSH 协议,你可以在本地生成 SSH 密钥对,然后将公钥添加到代码托管平台的账户中。

# 生成SSH密钥ssh-keygen -t ed25519 -C "your_email@example.com"# 私钥文件:~/.ssh/id_ed25519chmod 700 ~/.ssh/id_ed25519 # 设置低权限

建议一次生成密钥对后,自行保存管理(比如放到密码管理工具),可以重复使用,分发到其他服务器。

注:Ed25519 是一种 SSH 密钥算法,它比传统的 RSA 算法更安全,也更快速,已经基本取代 RSA 和 ECDSA。

主机名称更换

默认名为VM-XXX,可以根据偏好更换,尤其是需要在多台服务器之间切换时。

hostnamectl set-hostname <新主机名>

默认 SHELL:zsh

Linux 操作系统中默认的 SHELL 是 bash,但是 bash 比较旧,功能也比较有限。macOS 从版本10.15 Catalina(2019年)开始,默认的 SHELL 由Bash 切换到 zsh。

zsh 确实更强大,功能丰富,支持更好的自动补全和主题定制。

sudo apt install zsh# 设置为默认shellchsh -s /bin/zsh

检查当前 SHELL 是否为 zsh:

echo $SHELL

zsh 增强,oh-my-zsh

oh-my-zsh 是一个社区驱动的 zsh 配置框架,它提供了很多有用的功能,比如插件、主题等(184k的Star)。

oh-my-zsh GitHub Repository

安装 oh-my-zsh

国内云服务器网络访问 GitHub 可能会比较慢,我基于GitHub官方安装脚本和国内清华源镜像,使用大模型生成的安装脚本

#!/bin/bash## Oh My Zsh 一键安装脚本 - 清华源版本# 解决国内网络访问GitHub困难的问题## 设置清华源镜像OHMYZSH_REPO="https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git"ZSH_SYNTAX_HIGHLIGHTING_REPO="https://mirrors.tuna.tsinghua.edu.cn/github/zsh-users/zsh-syntax-highlighting.git"ZSH_AUTOSUGGESTIONS_REPO="https://mirrors.tuna.tsinghua.edu.cn/github/zsh-users/zsh-autosuggestions.git"ZSH_COMPLETIONS_REPO="https://mirrors.tuna.tsinghua.edu.cn/github/zsh-users/zsh-completions.git"# 颜色定义RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[1;33m'BLUE='\033[0;34m'NC='\033[0m' # No Color# 日志函数log_info() {    echo -e "${BLUE}[INFO]${NC} $1"}log_success() {    echo -e "${GREEN}[SUCCESS]${NC} $1"}log_warning() {    echo -e "${YELLOW}[WARNING]${NC} $1"}log_error() {    echo -e "${RED}[ERROR]${NC} $1"}# 检查命令是否存在command_exists() {    command -v "$1" >/dev/null 2>&1}# 检查是否已安装zshcheck_zsh_installed() {    if ! command_exists zsh; then        log_error "zsh 未安装,请先安装 zsh"        echo "安装命令:sudo apt install zsh"        exit 1    fi}# 检查当前shellcheck_current_shell() {    local current_shell=$(basename "$SHELL")    if [ "$current_shell" = "zsh" ]; then        log_success "当前shell已经是 zsh"        return 0    else        log_warning "当前shell是 $current_shell,建议切换为 zsh"        return 1    fi}# 安装 Oh My Zshinstall_ohmyzsh() {    log_info "开始安装 Oh My Zsh..."    # 备份现有的 .zshrc 文件    if [ -f "$HOME/.zshrc" ]; then        log_info "备份现有的 .zshrc 文件"        cp "$HOME/.zshrc" "$HOME/.zshrc.backup.$(date +%Y%m%d%H%M%S)"    fi    # 克隆 Oh My Zsh 仓库    if git clone --depth=1 "$OHMYZSH_REPO" "$HOME/.oh-my-zsh"; then        log_success "Oh My Zsh 克隆成功"    else        log_error "Oh My Zsh 克隆失败"        exit 1    fi    # 复制模板配置文件    if [ -f "$HOME/.oh-my-zsh/templates/zshrc.zsh-template" ]; then        cp "$HOME/.oh-my-zsh/templates/zshrc.zsh-template" "$HOME/.zshrc"        log_success "配置文件已创建"    else        log_error "找不到模板配置文件"        exit 1    fi}# 显示安装完成信息show_completion_info() {    echo    log_success "Oh My Zsh 安装完成!"}# 主函数main() {    echo "=========================================="    echo "  Oh My Zsh 一键安装脚本 - 清华源版本"    echo "=========================================="    echo    # 检查前置条件    check_zsh_installed    check_current_shell    # 安装过程    install_ohmyzsh    show_completion_info}# 执行主函数main "$@"

将上述脚本保存为 install-oh-my-zsh.sh,然后执行:

chmod u+x install-oh-my-zsh.sh./install-oh-my-zsh.sh


GitHub 官方安装脚本:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

其他第三方提供的安装方式:

sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

oh-my-zsh 配置

oh-my-zsh 提供了很多插件,可以根据自己的需求安装,这里介绍几个常用的插件。

主题 Theme

默认主题是 robbyrussell,可以变更为 agnoster 主题,需要修改 ~/.zshrc 文件:

ZSH_THEME="agnoster"

也需要安装字体:

sudo apt-get install fonts-powerline

这两个均是最经典的主题,可以根据自己的偏好选择。

插件 Plugins

使用 Gitee 资源安装插件

# zsh-syntax-highlighting 插件git clone https://gitee.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting# zsh-autosuggestions:自动建议git clone https://gitee.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions# zsh-completions:命令补全git clone https://gitee.com/wangnd/zsh-completions.git ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions# autojump 自动跳转插件sudo apt-get install autojump

需要编辑 ~/.zshrc 文件以使得插件生效:

# 找到plugins=(...) 并修改plugins=(    git    zsh-syntax-highlighting    zsh-autosuggestions    zsh-completions    docker)# 初始化自动补全系统autoload -U compinit && compinit# 最后一行添加. /usr/share/autojump/autojump.sh

最后,执行 source ~/.zshrc 使配置生效。

容器支持,Docker 刚好

Docker 是现代应用部署的标准方式,学习曲线平缓,功能强大。

安装 Docker

容器技术已经成为现代应用部署的标准方式,Docker 和 Kubernetes 是两个主要的容器编排工具。一句话论述:单机环境下,Docker 足够,并且是最佳的。

推荐使用云服务厂商提供的安装文档,本文使用的是腾讯云,可能无法跨云服务器使用,可自行搜索。

推荐查看腾讯云安装文档,因为本文并不能保证是最新的,安装步骤可能会有变化。

腾讯云安装 Docker https://cloud.tencent.com/document/product/1207/45596

添加 Docker 软件源(建议打开上述链接安装)

sudo apt-get updatesudo apt-get install ca-certificates curl -ysudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ \  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update

安装 Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

检查 Docker

# 检查 Docker 服务状态systemctl status docker# 检查 Docker 信息docker info

给普通用户增加权限

默认情况下,执行 docker 命令需要 sudo 权限,可以通过将用户添加到 docker 组来解决:

# 将当前用户添加到docker组sudo usermod -aG docker $USER# 重新登录或重新加载组权限newgrp docker# 验证权限docker ps

配置国内镜像源

Docker 默认的镜像源是DockerHub,由于网络原因,建议配置国内镜像加速器。

# 创建Docker配置目录sudo mkdir -p /etc/docker# 配置镜像加速器(腾讯云、阿里云)sudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": [    "https://mirror.ccs.tencentyun.com",    "https://registry.cn-hangzhou.aliyuncs.com"  ]}EOF# 重启Docker服务sudo systemctl daemon-reloadsudo systemctl restart docker

使用 docker info | grep "Registry Mirrors" && echo "镜像源配置成功" 查看镜像源是否配置成功。

系统镜像

系统镜像(快照)是将系统当前状态保存为一个文件,后续可以直接使用这个镜像创建新的虚拟机,而不需要重复配置。无论是VMWare、阿里云还是腾讯云,均支持该服务。

上述章节中安装的基础软件,除了 ssh 私钥 id_ed25519 以及 git 基础配置,其余内容均是用户无关的,这也是可以轻松更新的。

因此,可以将系统当前状态保存为一个镜像,后续可以直接使用这个镜像创建新的虚拟机,作为开发环境的起点。

tencentyun build image

腾讯云提供5个自定义镜像免费额度:

tencentyun images

总结

本文是给国内开发运维人员用的云服务器配置指南,以Ubuntu 22.04系统为例。主要介绍了服务器环境下的必备软件,以及如何安装,内容包括:Git、zsh、oh-my-zsh、Docker,以及将系统制作为镜像(快照,或时间机器),便于迁移和分发,不再需要重复配置。


本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

分享文章
合作伙伴

本站所有广告均是第三方投放,详情请查询本站用户协议