前言

在服务器场景中,有些虚拟机只用于单一服务、实验环境、GPU/AI 计算节点或内网运维节点,并不需要普通桌面用户目录,也不希望系统自动创建 /home 等额外分区。

Ubuntu Server 24.x 的安装器基于 Subiquity,默认安装流程会要求创建一个普通用户,并且默认磁盘布局可能会使用 LVM。这对很多通用场景是合理的,但如果目标是一个简洁的服务器系统,常见需求会变成:

  • 只保留 root 用户;
  • 不创建独立 /home 分区;
  • 不使用 LVM;
  • 磁盘只保留 EFI 分区和根分区 /
  • 安装完成后允许 root 通过 SSH 密码登录。

本文记录一套适用于 Ubuntu Server 24.x live-server 系列镜像 的完整安装流程,例如:

  • ubuntu-24.04-live-server-amd64.iso
  • ubuntu-24.04.1-live-server-amd64.iso
  • ubuntu-24.04.2-live-server-amd64.iso
  • ubuntu-24.04.3-live-server-amd64.iso
  • ubuntu-24.04.4-live-server-amd64.iso
  • 后续 Ubuntu 24.04 LTS 同系列 live-server 镜像

本文以 VMware ESXi 虚拟机为例,但安装器内的步骤同样适用于大多数虚拟化平台。

阅读剩余部分

问题现象

在 macOS 系统中使用 Git 时,经常会遇到一个令人困扰的弹窗:

"git-credential-osxkeychain" 想要访问你的钥匙串中的密钥 "gitlab.xxx.cloud"

更糟糕的是,当你打开"钥匙串访问"应用尝试删除这个凭证时,却发现:

  • 找不到对应的条目
  • 或者删除后弹窗依然出现
  • 甚至删除按钮是灰色的,无法操作

这个问题的根本原因是 Git 凭证存储在 macOS 钥匙串中,但权限配置出现了异常,导致 git-credential-osxkeychain 工具无法正常访问凭证。

阅读剩余部分

Linux 策略路由与接口绑定问题深度剖析:为什么 ping -I eno1 会失败?

问题背景

在实现静态 IP 多网卡策略路由时,遇到了一个令人困惑的问题:使用 ping -I 192.168.20.10(指定源 IP)可以正常访问外网,但使用 ping -I eno1(指定网卡接口)却完全无法连通。这个问题看似简单,实则涉及 Linux 内核路由查找机制、策略路由、反向路径过滤等多个底层技术细节。

阅读剩余部分

问题描述

在 macOS 开发环境中,使用 Homebrew 安装的 PHP 8.2 + PHP-FPM 连接远程 PostgreSQL 数据库时,频繁出现 502 Bad Gateway 错误。

症状特征

  • CLI 模式完全正常php artisan tinker 或直接运行 PHP 脚本都能成功连接
  • PHP-FPM 模式崩溃:通过 Nginx 访问时,PHP-FPM worker 进程会崩溃
  • Linux 服务器正常:相同的代码在 Linux 生产服务器上运行完全正常
  • 间歇性发生:有时能成功,有时失败,重启 PHP-FPM 后短暂恢复
  • 并发时更容易触发:多个请求同时访问时崩溃概率更高

阅读剩余部分

一、什么是拨号?为什么要“拨号”?

在计算机网络领域,拨号指的是客户端(如计算机、路由器等)通过一套协议与服务端(例如运营商、宽带终端等)建立临时网络连接过程。这一过程不仅仅是“连上线”那么简单,往往还涉及身份认证、参数分配、链路协商等一整套机制。

目的

  • 获取网络访问权(如宽带拨号上网)
  • 进行身份认证、确保带宽和资费安全
  • 动态分配 IP 等网络配置

在互联网早期,拨号一般是通过电话线和调制解调器(Modem)使用PSTN/ISDN 网络实现的(如56K猫)。而宽带普及后,主流接入方式转向了DSL、光纤、以太网等,PPPoE 由此成为最广泛采用的接入协议之一。

阅读剩余部分