Lokve博客 - Linux运维
type: channel
link: http://blog.lokve.cn/index.php/category/Linux%E8%BF%90%E7%BB%B4/
items: Linux Openeuler DNS部署实战
items: Linux Docker多容器管理部署
items: Linux chown命令
items: Ubuntu22.04 Nginx反向代理实战
items: Ubuntu22.04 部署LNMP环境实验
items: Linux screen命令
items: Linux vi/vim编辑器
items: Centos部署阿里云镜像源yum
items: Ubuntu修改阿里镜像源apt

Linux Openeuler DNS部署实战
type: item
date: 2025-11-28T13:56:00+08:00
description: DNS核心概念什么是域名（Domain Name）域名是互联网中用于标识主机的人类可读地址，是 IP 地址的友好映射。由于 IP 地址（如 192.168.1.1 或 2001:db8::1）难以记忆，域名通过分层结构（如www.example.com）简化主机标识。域名分层结构（从右到左）：根域（.）：最高层级，隐含在所有域名末尾（如www.example.com.）顶级域（TLD）：如.com（商业）、.org（组织）、.cn（国家顶级域）二级域：如 example（核心品牌 / 机构标识）主机记录：如 www（web 服务器）、mail（邮件服务器）什么是 DNS（Domain Name System）DNS（域名系统）是互联网的分布式域名解析服务，核心功能是将域名（如www.example.com）转换为 IP 地址（如 192.168.1.100），反之也支持 IP 到域名的反向解析。DNS 的核心价值：解决 IP 地址难记忆问题支持服务地址动态切换（无需修改客户端配置）分布式架构保证高可用与负载均衡支持多种资源记录（IP、邮件服务器、别名等）正向解析与反向解析正向解析（Forward Resolution）最常用的 DNS 解析类型：域名 → IP 地址的映射过程。例如：将www.example.com解析为 192.168.1.100，用于用户通过域名访问网站、API 等服务。反向解析（Reverse Resolution）IP 地址 → 域名的映射过程，核心用于身份验证（如邮件服务器反垃圾邮件、日志审计）。例如：将 192.168.1.100 解析为www.example.com，验证该 IP 对应的主机是否为合法服务节点。客户端域名解析流程（hosts 文件优先机制）当终端（Windows/Linux/macOS）发起域名解析请求时，遵循本地优先、逐级向上的流程，其中hosts文件优先级最高：graph TD 复制 A[用户输入域名访问] --> B{查询本地hosts文件} B -- 存在对应记录 --> C[直接使用hosts中的IP访问] B -- 无对应记录 --> D{查询本地DNS缓存} D -- 缓存命中 --> E[使用缓存IP访问] D -- 缓存未命中 --> F[向配置的DNS服务器发起请求] F --> G[DNS服务器递归/迭代解析] G --> H[返回IP地址给客户端] H --> I[客户端缓存结果并访问目标主机] 关键说明hosts 文件路径：Windows：C:\Windows\System32\drivers\etc\hostsLinux/macOS：/etc/hostshosts 文件格式：一行一条记录，格式为 IP地址 域名 [别名]，例如： 复制 192.168.1.100 www.example.com example.com 优先级顺序：hosts文件 > 本地DNS缓存 > 配置的DNS服务器适用场景：本地测试、临时映射、屏蔽恶意域名（无需依赖 DNS 服务器）环境准备DNS 服务器OpenEuler 22.03 LTS192.168.1.200dns-server.example.combind-9.16.x测试客户端CentOS 7 / Windows 10192.168.1.10（示例）-nslookup、dig前置条件服务器关闭防火墙（或开放 53 端口，DNS 使用 UDP/53 和 TCP/53）禁用 SELinux（或配置规则）网络互通，服务器可正常联网（用于安装依赖）安装Bind9 复制 # 更新系统包 dnf update -y # 安装BIND核心组件（named为DNS服务进程） dnf install -y bind bind-utils bind-libs bind-chroot # 验证安装结果 rpm -qa | grep bind # 预期输出示例：bind-9.16.23-10.el9.x86_64、bind-utils-9.16.23-10.el9.x86_64 核心组件说明bind：DNS 服务器核心程序（named 进程）bind-utils：DNS 测试工具（dig、nslookup、host）bind-libs：BIND 依赖库bind-chroot：安全加固组件（将 named 进程限制在/var/named/chroot目录，降低安全风险）BIND9 核心配置BIND 的配置文件分为两类：主配置文件（全局参数）和区域配置文件（解析规则）。主配置文件（/etc/named.conf）主配置文件定义 DNS 服务器的全局参数（监听地址、允许查询的客户端、区域文件路径等）。 复制 # 备份默认配置文件 cp /etc/…

Linux Docker多容器管理部署
type: item
date: 2025-11-26T17:13:43+08:00
description: 介绍Docker 是一个开源的应用容器引擎，基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中，然后发布到任何流行的 Linux 机器上，也可以实现虚拟化。容器是完全使用沙箱机制，相互之间不会有任何接口（类似 iPhone 的 app）,更重要的是容器性能开销极低。核心概念Image（镜像）镜像基于分层文件系统构建（Layered Filesystem），由多个只读层叠加组成，用于描述应用的运行时环境。Container（容器）容器是镜像的可运行实例，是一种轻量化、可移植、隔离的进程运行环境。Registry（镜像仓库）用于分发镜像，如 Docker Hub、阿里云 ACR、Harbor 等。Volume（持久化卷）用于持久存储容器外部化数据，避免容器删除导致数据丢失。Ubuntu安装 复制 sudo apt update sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \ | sudo tee /etc/apt/sources.list.d/docker.list sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo systemctl enable --now docker Centos安装 复制 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo systemctl enable --now docker 验证安装： 复制 docker version docker info 国内镜像加速为避免访问 Docker Hub 受限，可在 daemon.json 中加入加速器： 复制 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://dockerproxy.net", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://ccr.ccs.tencentyun.com" ] } EOF 加速配置： 复制 sudo systemctl daemon-reload sudo systemctl restart docker 常用命令镜像管理 复制 docker pull nginx # 拉取镜像 docker images # 列出镜像 docker rmi nginx # 删除镜像 docker build -t myapp:latest . # 构建镜像 容器生命周期管理 复制 docker run -d -p 80:80 nginx # 以守护模式运行容器 docker ps # 查看运行中的容器 docker stop <container> # 停止容器 docker rm <container> # 删除容器 docker exec -it <container> bash # 进入容器 Shell docker logs -f <container> # 实时日志 docker restart <container> # 重启容器 数据卷与持久化 复制 docker volume create data-volume docker volume…

Linux chown命令
type: item
date: 2025-11-24T16:50:19+08:00
description: 介绍Linux chown（英文全拼：change owner）命令用于设置文件所有者和文件关联组的命令。Linux/Unix 是多人多工操作系统，所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组，用户可以是用户名或者用户 ID，组可以是组名或者组 ID，文件是以空格分开的要改变权限的文件列表，支持通配符。chown 需要超级用户 root 的权限才能执行此命令，非超级用户如需要设置关联组可能需要使用 chgrp 命令。使用权限 : root使用语法 复制 chown [选项] 所有者[:组] 文件... chown [选项] --reference=参考文件 文件... 选项：-R, --recursive: 递归更改目录及其子目录中所有文件的所有者-v, --verbose: 显示详细操作信息-c, --changes: 只显示实际发生更改的文件-f, --silent, --quiet: 抑制错误信息--reference=文件: 使用参考文件的所有者和组设置-h, --no-dereference: 影响符号链接本身，而不是链接指向的文件--from=当前所有者: 只有当前所有者匹配时才更改基本使用格式只更改所有者 复制 chown username filename chown john file.txt 同时更改所有者和组 复制 chown username:groupname filename chown john:developers script.sh 只更改组（所有者前留空） 复制 chown :groupname filename chown :staff document.txt 使用数字ID 复制 chown 1000:1000 filename # 用户ID 1000，组ID 1000 chown 1001 filename # 只更改用户ID 案例把 /var/run/httpd.pid 的所有者设置 root： 复制 chown root /var/run/httpd.pid 将文件 file1.txt 的拥有者设为 runoob，群体的使用者 runoobgroup : 复制 chown runoob:runoobgroup file1.txt 将当前前目录下的所有文件与子目录的拥有者皆设为 runoob，群体的使用者 runoobgroup: 复制 chown -R runoob:runoobgroup * 把 /home/runoob 的关联组设置为 512 （关联组ID），不改变所有者： 复制 chown :512 /home/runoob 实际案例Web 服务器文件管理 复制 # 将网站文件所有权给web服务器 chown -R www-data:www-data /var/www/html/ # 设置上传目录权限 chown -R apache:apache /var/www/uploads/ chmod -R 755 /var/www/uploads/ 用户文件管理 复制 # 将用户目录所有权返回给用户 chown -R john:john /home/john/ # 新建用户后设置home目录 chown -R newuser:newuser /home/newuser/ 系统服务文件 复制 设置服务日志文件所有者 chown syslog:adm /var/log/application.log # 设置数据库文件所有者 chown -R mysql:mysql /var/lib/mysql/ 开发项目权限 复制 # 设置项目文件所有者为开发团队 chown -R developer:developers /home/projects/webapp/ # 设置部署目录权限 chown -R deploy:deploy /opt/application/ 高级使用技巧批量操作 复制 # 使用find命令批量更改 find /home/user -name "*.sh" -exec chown user:staff {} \; # 只更改特定类型文件的所有者 find /var/www -type f -name "*.php" -exec chown www-data:www-data {} \; 条件更改 复制 # 只有当前所有者是root时才更改 chown --from=root john /home/john/file.txt # 基于参考文件设置 chown --reference=/etc/passwd /etc/shadow 符号链接处理 复制 # 更改符号链接本身 chown -h john:staff /home/user/link …

Ubuntu22.04 Nginx反向代理实战
type: item
date: 2025-11-24T15:36:00+08:00
description: 介绍Nginx 反向代理是一种将客户端请求转发到后端服务器的技术，隐藏了真实服务器的细节，同时提供负载均衡、缓存加速、SSL 终止等功能。快速安装Nginx若已经安装nginx可忽略此步骤 复制 # 更新源+安装 sudo apt update -y && sudo apt install -y nginx # 启动并设置开机自启 sudo systemctl start nginx sudo systemctl enable nginx # 验证安装（输出版本即成功） nginx -v # 防火墙开放 80/443 端口 sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload Nginx 配置文件结构（关键路径） 复制 # 主配置文件 /etc/nginx/nginx.conf # 虚拟主机配置目录（推荐在此创建配置） /etc/nginx/sites-available/ # 启用的虚拟主机（软链接指向 sites-available 中的配置） /etc/nginx/sites-enabled/ # 日志目录 /var/log/nginx/ 基础反向代理实战需求：http://proxy.example.com 转发至后端服务 http://192.168.1.100:8080创建配置文件 复制 sudo vim /etc/nginx/sites-available/proxy-single.conf 写入配置 复制 server { listen 80; server_name proxy.example.com; # 替换为你的域名/服务器IP # 日志配置 access_log /var/log/nginx/proxy-single-access.log main; error_log /var/log/nginx/proxy-single-error.log warn; location / { proxy_pass http://192.168.1.100:8080; # 后端服务地址 # 传递客户端真实IP和请求信息（后端必须配置） proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 超时优化 proxy_connect_timeout 30s; # 连接后端超时 proxy_send_timeout 30s; # 发送请求超时 proxy_read_timeout 60s; # 读取响应超时 # 缓冲区配置（处理大响应） proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 4 16k; proxy_busy_buffers_size 32k; } } 启用配置并验证 复制 # 创建软链接启用配置 sudo ln -s /etc/nginx/sites-available/proxy-single.conf /etc/nginx/sites-enabled/ # 验证配置语法 sudo nginx -t # 重载 Nginx（不中断服务） sudo systemctl reload nginx # 测试代理效果（返回后端服务响应即成功） curl http://proxy.example.com 负载均衡实战需求：将请求分发至 3 台后端服务器，支持权重分配、故障自动切换创建配置文件 复制 sudo vim /etc/nginx/sites-available/proxy-lb.conf 写入配置 复制 # 定义后端服务器集群（名称自定义） upstream backend_cluster { server 192.168.1.100:8080 weight=3; # 权重3，分发概率最高 server 192.168.1.101:8080 weight=2; # 权重2 server 192.168.1.102:8080 max_fails=3 fail_timeout=30s; # 3次失败标记不可用，30秒后重试 server 192.168.1.103:8080 backup; # 备用服务器（主服务全挂时启用） # 负载均衡算法（默认轮询，可选以下） # ip_hash; # 基于客户端IP哈希，保持会话一致性 # least_conn; # 最少连接数优先（适合后端性能不均） …

Ubuntu22.04 部署LNMP环境实验
type: item
date: 2025-11-24T14:17:00+08:00
description: 前言LNMP 作为 Linux + Nginx + MySQL + PHP 的经典 Web 架构组合，凭借轻量、高效、稳定的特性，成为中小企业及个人开发者搭建 Web 服务的首选方案。本文将基于 Ubuntu 22.04 LTS 系统，从环境准备、组件编译安装、配置优化、安全加固到项目部署，提供一套生产级别的 LNMP 部署教程，全程附详细代码及专业配置说明。环境准备系统初始化首先确保系统处于最新状态，同时安装部署所需的依赖工具： 复制 # 更新系统软件包索引 sudo apt update -y # 升级已安装软件包（避免依赖冲突） sudo apt upgrade -y # 安装基础依赖工具（编译、依赖库、网络工具等） sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev \ libssl-dev openssl wget curl vim git unzip zip libxml2-dev libcurl4-openssl-dev \ libjpeg-dev libpng-dev libfreetype6-dev libzip-dev libonig-dev 关闭不必要服务（优化系统资源） 复制 # 停止并禁用 avahi-daemon（局域网服务发现，生产环境无用） sudo systemctl stop avahi-daemon sudo systemctl disable avahi-daemon # 停止并禁用 cups（打印机服务） sudo systemctl stop cups sudo systemctl disable cups # 查看系统运行状态 sudo systemctl status 配置防火墙（UFW）仅开放 80（HTTP）、443（HTTPS）、22（SSH）端口，增强系统安全性： 复制 # 启用 UFW 防火墙 sudo ufw enable # 允许 SSH 连接（远程管理必备） sudo ufw allow 22/tcp # 允许 HTTP/HTTPS 服务 sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 查看防火墙规则 sudo ufw status numbered 编译安装Nginx1.26.2采用编译安装方式，可自定义模块（如 SSL、Gzip 等），相比 apt 安装更灵活可控。下载并解压 Nginx 源码 复制 # 创建源码存放目录 sudo mkdir -p /usr/local/src/nginx cd /usr/local/src/nginx # 下载 Nginx 稳定版（当前最新稳定版 1.26.2） sudo wget https://nginx.org/download/nginx-1.26.2.tar.gz # 解压源码包 sudo tar -zxvf nginx-1.26.2.tar.gz cd nginx-1.26.2 配置编译参数（启用核心模块） 复制 # 创建 Nginx 运行用户和组（避免使用 root 运行） sudo groupadd -r nginx sudo useradd -r -g nginx -s /sbin/nologin nginx # 配置编译选项（启用 SSL、Gzip、Rewrite 等核心模块） sudo ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-http_realip_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-pcre \ --with-stream \ --with-stream_ssl_module \ --with-http_v2_module # 编译并安装（-j4 表示使用 4 线程编译，根据 CPU 核心数调整） sudo make -j4 && sudo make install 配置 Nginx 系统服务（systemd）方便通过 systemctl 管理 Nginx 启停： 复制 # 创建服务配置文件 sudo vim /usr/lib/systemd/system/nginx.service 写入以下内容： 复制 [Unit] Description=Nginx High P…

Linux screen命令
type: item
date: 2025-11-24T10:07:00+08:00
description: 介绍Linux screen命令用于多重视窗管理程序。screen为多重视窗管理程序。此处所谓的视窗，是指一个全屏幕的文字模式画面。通常只有在使用telnet或ssh登入主机或是使用老式的终端机时，才有可能用到screen程序。安装screen基于debian内核代码如下： 复制 apt install screen -y 基于centos内核代码如下： 复制 yum install screen -y screen语法 复制 screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>] 参数说明：-A 将所有的视窗都调整为目前终端机的大小。-d <作业名称> 将指定的screen作业离线。-h <行数> 指定视窗的缓冲区行数。-m 即使目前已在作业中的screen作业，仍强制建立新的screen作业。-r <作业名称> 恢复离线的screen作业。-R 先试图恢复离线的作业。若找不到离线的作业，即建立新的screen作业。-s 指定建立新视窗时，所要执行的shell。-S <作业名称> 指定screen作业的名称。-v 显示版本信息。-x 恢复之前离线的screen作业。-ls或--list 显示目前所有的screen作业。-wipe 检查目前所有的screen作业，并删除已经无法使用的screen作业。screen实操创建 screen 终端 复制 # screen //创建 screen 终端 创建 screen 终端 并执行任务 复制 # screen vi ~/main.c //创建 screen 终端 ，并执行 vi命令 离开 screen 终端 复制 # screen vi ~/main.c //创建 screen 终端 ，并执行 vi命令 #include main () { } "~/mail.c" 0,0-1 在 screen 终端 下 按下 Ctrl + A + D 键 重新连接离开的 screen 终端 复制 # screen -ls //显示已创建的screen终端 There are screens on: 2433.pts-3.linux (2013年10月20日 16时48分59秒) (Detached) 2428.pts-3.linux (2013年10月20日 16时48分05秒) (Detached) 2284.pts-3.linux (2013年10月20日 16时14分55秒) (Detached) 2276.pts-3.linux (2013年10月20日 16时13分18秒) (Detached) 4 Sockets in /var/run/screen/S-root. # screen -r 2276 //连接 screen_id 为 2276 的 screen终端

Linux vi/vim编辑器
type: item
date: 2025-11-24T02:19:00+08:00
description: vi和vim的区别vi 是一种广泛使用的文本编辑器，它起源于 Unix 系统。由于其简洁和高效的特点，vi 成为了很多系统管理员和开发者的首选工具。而 vim（Vi IMproved）则是 vi 编辑器的增强版，它在 vi 的基础上增加了许多新的特性和功能，使得编辑过程更加便捷和高效。vim安装debian内核代码如下： 复制 apt install vim -y centos内核代码如下： 复制 yum insall vim -y vim键盘图vi/vim的使用基本上 vi/vim 共分为三种模式，命令模式（Command Mode）、输入模式（Insert Mode）和命令行模式（Command-Line Mode）。命令模式：此状态下敲击键盘动作会被 Vim 识别为命令，而非输入字符，比如我们此时按下 i，并不会输入一个字符，i 被当作了一个命令。以下是普通模式常用的几个命令：i -- 切换到输入模式，在光标当前位置开始输入文本。x -- 删除当前光标所在处的字符。: -- 切换到底线命令模式，以在最底一行输入命令。a -- 进入插入模式，在光标下一个位置开始输入文本。o：在当前行的下方插入一个新行，并进入插入模式。O -- 在当前行的上方插入一个新行，并进入插入模式。dd -- 剪切当前行。yy -- 复制当前行。p（小写） -- 粘贴剪贴板内容到光标下方。P（大写）-- 粘贴剪贴板内容到光标上方。u -- 撤销上一次操作。Ctrl + r -- 重做上一次撤销的操作。:w -- 保存文件。:q -- 退出 Vim 编辑器。:q! -- 强制退出Vim 编辑器，不保存修改。若想要编辑文本，只需要启动 Vim，进入了命令模式，按下 i 切换到输入模式即可。命令模式只有一些最基本的命令，因此仍要依靠底线命令行模式输入更多命令。输入模式：在命令模式下按下 i 就进入了输入模式，使用 Esc 键可以返回到普通模式。在输入模式中，可以使用以下按键：字符按键以及Shift组合，输入字符ENTER，回车键，换行BACK SPACE，退格键，删除光标前一个字符DEL，删除键，删除光标后一个字符方向键，在文本中移动光标HOME/END，移动光标到行首/行尾Page Up/Page Down，上/下翻页Insert，切换光标为输入/替换模式，光标将变成竖线/下划线ESC，退出输入模式，切换到命令模式底线命令模式：在命令模式下按下 :（英文冒号）就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令，可用的命令非常多。在底线命令模式中，基本的命令有（已经省略了冒号）：:w：保存文件。:q：退出 Vim 编辑器。:wq：保存文件并退出 Vim 编辑器。:q!：强制退出Vim编辑器，不保存修改。按 ESC 键可随时退出底线命令模式。简单的说，我们可以将这三个模式想成底下的图标来表示：

Centos部署阿里云镜像源yum
type: item
date: 2025-11-21T21:34:00+08:00
description: 备份初始镜像源 复制 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载镜像源文件centos8（centos8官方源已下线，建议切换centos-vault源） 复制 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo 或者 复制 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo CentOS 7 复制 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 或者 复制 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 生成缓存 复制 yum clean all && yum makecache

Ubuntu修改阿里镜像源apt
type: item
date: 2025-11-21T13:39:00+08:00
description: 备份初始镜像源 复制 mv /etc/apt/sources.list /etc/apt/sources.list.bak 编辑镜像源 复制 vim /etc/apt/sources.list 根据系统版本信息输入阿里云网络镜像源：ubuntu 24.04 (noble) 配置如下： 复制 deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse # deb https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse ubuntu 23.04 (lunar) 配置如下： 复制 deb https://mirrors.aliyun.com/ubuntu/ lunar main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ lunar main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ lunar-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ lunar-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ lunar-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ lunar-updates main restricted universe multiverse # deb https://mirrors.aliyun.com/ubuntu/ lunar-proposed main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ lunar-proposed main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ lunar-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ lunar-backports main restricted universe multiverse ubuntu 22.04…