2025-06-09
Git
00

vmware 的 dns 问题 导致 git pull失败:

  1. nslookup github.com

    • 检查 github.com 的 DNS 解析是否正确,确认是否返回 GitHub 的真实 IP(如 20.205.243.166)。
  2. echo "nameserver 8.8.8.8" > /etc/resolv.conf

    • 强制使用 Google 的公共 DNS(8.8.8.8),避免本地 DNS 解析错误导致 github.com 指向 127.0.0.1
  3. ssh-keygen -f "/root/.ssh/known_hosts" -R "github.com"

    • 删除本地记录的旧 GitHub SSH 主机密钥,防止因密钥不匹配导致连接失败。
  4. ssh -T git@github.com

    • 测试 SSH 连接,首次会提示确认 GitHub 的新主机密钥,输入 yes 后即可正常认证。

更离谱的是,有时候这个文件只是软连接,可以看看这样:

bash
展开代码
ls -l /etc/resolv.conf sudo rm /etc/resolv.conf echo "nameserver 8.8.8.8" > /etc/resolv.conf sudo chattr +i /etc/resolv.conf # 锁定文件(防止被覆盖) sudo systemctl stop systemd-resolved # 禁用 systemd-resolved(可选) sudo systemctl disable systemd-resolved
2025-06-09
Linux运维
00

1. 安装 Caddy

在 Ubuntu 服务器上执行以下命令:

bash
展开代码
# 安装必要的包 sudo apt update sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https # 添加 Caddy 官方 GPG 密钥 curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg # 添加 Caddy 仓库 curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list # 安装 Caddy sudo apt update sudo apt install caddy
2025-06-09
建站教程
00

ACME 证书申请方式

HTTP-01 挑战

  • 原理:CA向域名的 /.well-known/acme-challenge/ 路径发送HTTP请求验证域名控制权
  • 优点:配置简单,无需DNS API
  • 缺点:需要80端口可访问,不支持通配符证书
  • 适用场景:单域名或多个具体域名的证书申请

DNS-01 挑战

  • 原理:在域名的DNS记录中添加TXT记录来验证域名控制权
  • 优点:支持通配符证书,无需开放80端口,可在内网使用
  • 缺点:需要DNS提供商API支持,配置相对复杂
  • 适用场景:通配符证书、内网服务、防火墙限制环境
2025-06-09
Docker
00
  1. 清理无用镜像/容器/卷/网络
    使用以下命令一键清理所有未被使用的资源(包含停止的容器、悬空镜像、未使用的网络和卷):

    bash
    展开代码
    docker system prune -a --volumes
    • -a:删除所有未被容器引用的镜像(不仅仅是悬空镜像)。
    • --volumes:删除未被使用的卷(⚠️ 确保卷中无重要数据!)。
    • 注意:此操作会删除所有停止的容器和无用的资源!
  2. 单独清理不同资源

    • 停止的容器:

      bash
      展开代码
      docker container prune
    • 悬空镜像(未被任何容器引用):

      bash
      展开代码
      docker image prune
    • 未被使用的卷:

      bash
      展开代码
      docker volume prune
    • 构建缓存(Builder Cache):

      bash
      展开代码
      docker builder prune
2025-06-08
Linux运维
00

VMware 虚拟机磁盘扩容后 Linux 分区扩展完整教程

1. 前言

在 VMware 中扩容虚拟磁盘后,Linux 系统并不会自动识别新增的空间,需要手动扩展分区和文件系统。本教程以 GPT 分区表 + ext4/xfs 文件系统为例,详细介绍如何安全扩展 /dev/sda3 分区,使其占用全部可用空间。


2025-06-07
Linux运维
00

sudo

bash
展开代码
echo "nameserver 8.8.8.8" > /etc/resolv.conf

看是否可以正常解析:

bash
展开代码
nslookup github.com

确定里面没有乱指:

bash
展开代码
vim /etc/hosts
2025-06-06
Linux运维
00

VMware 连不上网络?

2025-06-06
Python
00

一个极其快速的 Python 包和项目管理工具,用 Rust 编写。

为什么需要 uv?

我们在日常开发中,经常要用到这些工具:

  • pip:安装依赖
  • pipx:安装命令行工具
  • poetryrye:管理项目和虚拟环境
  • pyenv:切换 Python 版本
  • virtualenv:创建虚拟环境
  • pip-tools:锁定依赖版本
  • twine:发布包
2025-06-05
Linux运维
00

临时有效:

展开代码
export http_proxy="http://127.0.0.1:10828" export https_proxy="http://127.0.0.1:10828" sudo -E apt update # -E 保留环境变量 sudo -E apt upgrade
2025-06-05
售卖作品
00

两头USB都插电,左上角的开关打到中间是给电,打到上面是USB,打到下面是关闭电源。

image.png

2025-06-04
单片机ban
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

2025-06-03
深度学习ban
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

2025-06-03
深度学习ban
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

2025-06-03
深度学习
00

5种Agent模式


一、反思模式(Reflection Pattern):闭环优化的认知迭代

  • 工作流程
    用户输入 → LLM生成初版响应 → 用户反馈 → LLM反思优化 → 迭代至满意 → 返回终版

2025-06-03
深度学习
00

Fooocus Outpaint 完整处理流程

1. Canvas Expansion & Mask Creation 画布扩展和遮罩创建

12:15:modules/async_worker.py
展开代码
def apply_outpaint(async_task, inpaint_image, inpaint_mask): if len(async_task.outpaint_selections) > 0: H, W, C = inpaint_image.shape if 'top' in async_task.outpaint_selections: inpaint_image = np.pad(inpaint_image, [[int(H * 0.3), 0], [0, 0], [0, 0]], mode='edge') inpaint_mask = np.pad(inpaint_mask, [[int(H * 0.3), 0], [0, 0]], mode='constant', constant_values=255)
  • 根据用户选择的方向(top/bottom/left/right)扩展画布30%
  • 使用edge模式复制边缘像素填充新区域
  • 新区域的mask值设为255(完全需要重绘)
2025-06-03
深度学习ban
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

2025-06-03
深度学习ban
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

2025-06-03
深度学习
00

匈牙利算法是做什么的?通俗解释

匈牙利算法(Hungarian Algorithm)是一种用来解决**"最佳分配问题"的数学方法。它的核心任务是:"如何用最低成本,把N个任务分配给N个人,让总成本最小?"**(或者反过来,让收益最大)。

2025-06-02
深度学习
00

的问题:

1. OpenPose的输入和输出形状

输入形状:

cpp
展开代码
// 从 src/openpose/net/netCaffe.cpp:218 可以看到 if (inputData.getNumberDimensions() != 4 || inputData.getSize(1) != 3) error("The Array inputData must have 4 dimensions: [batch size, 3 (RGB), height, width].");

输入张量形状: [batch_size, 3, height, width]

  • batch_size: 批次大小,通常为1
  • 3: RGB三通道
  • height, width: 图像的高度和宽度
2025-06-02
深度学习
00

CDP:共识驱动传播人脸聚类方法

摘要

CDP(Consensus-Driven Propagation)是一种高效的大规模无标签人脸聚类方法。该方法通过投票机制和图传播算法,实现对人脸特征的快速准确聚类。CDP具有线性时间复杂度,能够处理大规模数据集,并在保持高精度的同时提供出色的聚类性能。