Linux
为什么值得关注 Hermes 如果你曾经安装过一个新的 AI 工具,看着二进制文件落入你的 PATH,却最终得到一个技术上存在但实际上毫无用处的东西,你就已经理解了这个 Hermes Agent 快速入门所要解决的问题。安装完成只能证明文件被复制了,并不能证明 agent 可以检查代码库、与真实模型通信、安全地使用工具,或者在之后重新打开工作。 这就是为什么 Hermes 值得关注。当它正常工作时,它不再像”终端里的 ChatGPT”,而是开始表现得像一个可操作的 agent。它可以检查文件、使用终端工具、保持在工作区内,并推进会话,而不是像每次提示都从零开始一样。 这使它非常适合开发者、自托管用户和以终端为主的用户,他们希望在真实任务上获得帮助:总结代码库、在个人机器上检查代码库,或者在 AlexHost 的小型 VPS 或任何其他提供商上运行,而无需直接跳入更大的自动化栈。在本指南结束时,你将完成 Hermes 的安装、配置、在安全的首个任务上测试,并成功恢复会话。 Hermes 是什么——以及本指南实际上会帮你做什么 在运行任何命令之前,请将三个术语分开理解。大多数首次运行的困惑来自于将它们混为一个模糊的”AI”概念。 下表为你提供了本教程的工作思维模型: 术语 简单含义 在此处的作用 Agent Hermes 本身 管理会话、工具、提示和审批的 CLI 工具 Provider 支持模型的服务或账户 提供 Hermes 将调用的 LLM 访问权限 Model 你选择的实际 LLM 生成响应并支持工具使用工作流 本文只针对一个成功状态:一个安全、可用的 Hermes 会话,你可以启动、测试并恢复。这不是生产部署指南,也不是完整的功能介绍。这是通往”Hermes 在我的机器上可以工作,并且我能证明它”的最短可靠路径。 📝 注意:安装 Hermes 与配置 […]
关键词 在深入设置之前,以下是本指南中最容易让读者感到困惑的术语。这份简短的词汇表从一开始就将 Linux、GPU 和本地模型的词汇阐述清楚。 关键词 简要说明 🤖 LLM 大型语言模型;一种根据提示词生成文本的 AI 模型。 🦙 Ollama 一个本地模型运行器和服务器,用于在您自己的机器上下载、部署和调用 LLM。 🖥️ GPU 此处用于加速模型推理的图形处理器。 💾 VRAM GPU 上的显存;它是限制一张显卡能容纳多大模型的主要因素之一。 ⚡ Inference 运行模型以生成答案的过程。 🔄 systemd Linux 服务管理器,用于启动、停止、重启和启用 Ollama 等服务。 🧩 NVIDIA driver 使 Ubuntu 能够正确与 NVIDIA GPU 通信以执行计算任务的软件层。 🚫 nouveau 一种开源 Linux 图形驱动程序,若使用它而非官方 NVIDIA 驱动程序,可能会阻碍正常的 NVIDIA 计算环境配置。 📊 nvidia-smi NVIDIA 的命令行工具,用于检查 GPU 可见性、VRAM […]
关键词 下面的快速术语表在安装开始之前保持术语清晰: 表情符号 + 关键词 简要说明 ⚙️ 3x-ui Xray-core 的网页控制面板 🚀 Xray-core 实际的代理引擎 📥 inbound 服务器上的监听入口点 🔀 transport layer 流量流的传输方式 🎭 Reality Xray 的隐身/安全机制 如何在 VPS 上安装 3x-ui 并选择合适的反审查配置 有一天你的 VPN 工作正常。第二天它就停止工作了。在限制性网络中,封锁往往不在于流量是否加密,而在于流量看起来是否容易分类。 这是许多旧 VPN 教程跳过的部分。仅加密并不能保证隐身。网络仍然可以检查握手模式、数据包行为和协议指纹,以足够的精度判断你的流量是否看起来普通。因此,问题不再是“我如何安装 VPN?”而是“我如何让流量形状看起来足够正常以通过过滤?” 本指南是基础步骤。你将在 Ubuntu VPS 上安装一个可用的 3x-ui 面板,正确地保护管理界面,并为选择在面板内接下来配置什么提供一个清晰的框架。如果你是在小型 VPS 上自托管——无论是来自 AlexHost 还是其他提供商——这就是设置开始变得可管理的地方。 3x-ui 实际是什么——以及它不是什么 最重要的误解是:3x-ui 本身不是反审查技术。 它是仪表盘。Xray 是其下的引擎。引擎内的协议、传输和安全选择决定了你的流量在网络上的表现。 3x-ui 之所以重要,是因为它将 Xray […]
关键词:开始前的快速参考 在我们开始之前,这里是您将在本指南中看到的术语。您不需要记住这些术语,只需知道它们的存在,语境会让它们变得清晰。 术语 含义 终端 💻 您输入命令的基于文本的界面 Shell 🐚 解释您命令的程序(通常是 Bash) Bash ⚙️ 最常见的 shell;您的终端所使用的“语言” Sudo 🔑 允许您以管理员权限运行其他命令的命令 包管理器 📦 为您安装和更新软件的工具(如 apt) 守护进程 / 服务 👻 持续运行的后台程序(如网络服务器) 权限 🔒 控制谁可以读取、写入或执行文件的规则 Root 👑 全能的系统管理员账户 有了这些术语,您就准备好了。让我们开始吧。 介绍:开启服务器之旅 您刚刚连接到您的新服务器。也许您从像AlexHost这样的提供商处配置了它,该提供商提供一键部署 Ubuntu。您打开终端,输入:ssh root@your-server-ip,然后按 Enter。屏幕清空。一个闪烁的光标在一行上盯着您,上面写着类似 root@vps:~# 现在怎么办? 那一刻——从“我有一个服务器”到“我知道如何使用它”之间的差距——是大多数人停下来的地方。他们关闭终端,告诉自己稍后会弄清楚,然后回到点击图形界面。但事实是:Linux 运行着世界上超过 90% 的云服务器。它为 Android 手机、嵌入式设备、超级计算机以及您每天使用的几乎所有服务的基础设施提供动力。真正控制这些系统的人不使用鼠标点击。他们使用命令行。 终端不是遗物。它是告诉计算机该做什么的最直接、可组合和可靠的方式。没有图形开销,没有菜单可供导航,没有等待 UI 加载。您输入一个命令,发生一些事情,然后将下一个命令链接到它。在 SSH 上,无论您的服务器是在隔壁房间还是在海洋对面,它都能以相同的方式工作。 本文不会给您一个记忆列表。相反,您将经历一个在新 Linux VPS […]
关键词 术语 快速定义 🚀 N8N 一个可视化的基于节点的工作流自动化平台,用于连接各种外部服务。 🐳 Docker 一个容器化工具,使应用程序的一致性、隔离部署和管理成为可能。 🐘 PostgreSQL 一个强大的关系数据库,作为 N8N 的主要持久数据存储。 🧩 Node N8N 中的一个单一功能块(例如,数据触发器或 API 操作),执行特定任务。 🔄 Workflow 通过将多个节点链接在一起构建的配置自动化过程,以处理任务序列。 💾 Docker Volume 在 Docker 中用于持久保存系统数据的指定存储机制,存储在容器外部。 🔐 Environment Variable 安全配置值(保存在 .env 文件中),安全地注入到 Docker 容器中。 为什么自动化很重要 现代团队并不是“运行一个应用程序”——他们操作一系列的 SaaS 工具、内部服务、数据存储和聊天/警报系统。这种复杂性的成本以可预测的方式显现出来: 手动交接和重复的繁忙工作(在系统之间复制/粘贴) 缓慢的响应循环(审批、工单路由、事件通知) 不一致的结果(人为错误、遗漏步骤、部分更新) 脆弱的集成(没有可见性或所有权的一次性脚本) 自动化是减少这种摩擦的最高杠杆之一。即使是小型工作流——同步数据、验证有效负载、发布通知、更新记录——也可以积累成有意义的胜利:更快的周期时间、更少的错误和更一致的操作。重要的是,“自动化”不仅仅是减少工作量;它还涉及使流程可观察和可重复。 本报告将自动化视为生产基础设施:干净地部署,控制配置,保持数据持久,并通过确定性测试工作流验证行为。 什么是 N8N(以及它为什么会成为你最好的朋友) N8N 是一个工作流自动化平台,允许您使用基于节点的编辑器连接服务。您通过“节点”(触发器、数据转换、API 调用、数据库操作、通知)构建工作流,然后手动执行、按计划执行或通过 Webhook 执行。 在 […]
SSH(安全外壳)是Linux生态系统中的基础工具,用于远程访问、安全文件传输、自动化和服务器管理。虽然大多数用户通过ssh命令与SSH交互,但在后台 SSH依赖于公钥和私钥对进行身份验证——特别是在无密码登录、自动化和DevOps实践至关重要的环境中。 默认SSH密钥存储位置 SSH密钥最常存储的位置是: ~/.ssh/ 这指的是用户主文件夹中的.ssh目录,例如: /home/username/.ssh/ 此目录中的常见文件: 文件 目的 id_rsa 默认私钥(RSA) id_rsa.pub 匹配的公钥 id_ecdsa, id_ed25519 其他私钥(ECDSA, Ed25519) id_*.pub 对应的公钥 authorized_keys 存储允许连接的公钥 known_hosts 存储服务器指纹(主机密钥验证) config 用户特定的SSH客户端配置 如果您使用ssh-keygen生成密钥,默认情况下它们存储在这里,除非指定了路径。 系统范围的SSH密钥位置 SSH服务器(sshd)主机密钥 由SSH守护进程(服务器端)使用的系统范围密钥: /etc/ssh/ 典型文件: 文件 目的 ssh_host_rsa_key 主机私钥(RSA) ssh_host_rsa_key.pub 主机公钥 ssh_host_ecdsa_key ECDSA主机私钥 ssh_host_ed25519_key Ed25519主机私钥 这些密钥用于识别服务器到客户端,而不是用于验证用户。 SSH守护进程(sshd)在连接期间提供主机公钥;客户端将其与~/.ssh/known_hosts进行比较。 自定义密钥位置 您可以从任何位置生成或使用SSH密钥,但必须指定路径: ssh -i /path/to/custom_key user@host 您还可以通过~/.ssh/config配置多个密钥: Host myserver HostName 192.168.1.100 […]
Linux系统安全和多用户架构的一个关键基础是其文件权限模型。与Windows不同,Linux严格执行系统中每个文件和目录的所有权和访问控制。掌握文件权限不仅关乎安全——它对于管理服务器、部署软件、运行脚本和自动化任务至关重要。 Linux文件权限模型 Linux中的每个文件和目录都有三种类型的访问权限,分配给三种类型的用户: 用户类别 描述 所有者 拥有文件的用户 组 文件组中的用户 其他 系统中的所有其他用户 每个类别可以被赋予三种类型的权限: 权限 符号 含义 读取 r 查看文件内容 / 列出目录 写入 w 修改文件或目录 执行 x 运行文件或访问目录 使用ls -l查看权限 使用ls -l命令显示文件权限: ls -l myscript.sh 输出: -rwxr-xr– 1 alice devs 2048 Jan 25 10:00 myscript.sh 细分: – → 常规文件 rwx → 所有者(读取/写入/执行) r-x → 组(读取/执行) r– […]
重命名文件是任何操作系统中最常见的任务之一——在 Linux 中,通过终端进行重命名时尤其强大。从简单的名称更改到使用模式的复杂批处理操作,重命名是一个必不可少的工具,用于: 按日期、类型或项目 组织文件 自动清理 日志、备份或临时数据 标准化文件名 用于脚本、部署或 APIs 在开发、研究或数据科学环境中 预处理数据 集成到 CI/CD、图像处理或版本控制的管道中 无论您是重命名数千个图像文件的开发人员,清理旋转日志的系统管理员,还是为部署准备工件的 DevOps 工程师——了解如何在终端中高效重命名文件将节省时间,减少错误,并在规模上解锁自动化。 使用 mv 进行基本文件重命名 mv(移动)命令是重命名文件的标准方法: mv old_filename.txt new_filename.txt 这适用于: 重命名文件 将文件移动到新目录 同时进行这两项操作 示例: mv file.txt ../archive/renamed_file.txt 重命名多个文件 — 高级技术 1. 🔁 使用 rename(基于 Perl) 最强大和灵活的方法。 安装(如果缺失): sudo apt install rename # Debian/Ubuntu sudo dnf install prename # RHEL/Fedora 基本用法: […]
在Linux中,“更改用户”这个短语可以描述几种不同的操作——有些是临时和基于会话的,有些是永久和系统范围的。由于Linux是一个多用户操作系统,它提供了多种切换身份和权限的方法,具体取决于您想要实现的目标:管理服务器、以有限权限运行应用程序、修复文件访问问题或重组用户帐户。 在Linux中更改“用户”根据上下文可能意味着几种不同的事情: 在shell中切换到另一个帐户(例如,从john切换到root) 当您需要以另一个用户的身份进行交互式终端会话时使用——通常用于系统管理或测试某些内容在不同帐户环境下的行为。 以另一个用户身份运行单个命令 当您只需要提升权限或不同身份来执行一项任务(如重新启动服务或运行数据库命令)而不完全切换会话时,这是理想的选择。 更改服务/进程的默认登录用户 服务(Web服务器、数据库、应用程序)通常应在专用的非root用户下运行以确保安全。更改服务用户会影响进程的运行方式及其可以访问的内容。 更改文件和目录的所有者 文件所有权控制访问。如果权限错误——在迁移、恢复或部署后很常见——您可以通过重新分配所有权来“更改用户”,以便正确的帐户可以读取/写入文件。 更改用户身份属性(用户名、UID、组) 这属于帐户管理:重命名用户、更改其UID或调整组成员资格(如授予sudo访问权限)。这些更改可能会影响登录、权限和服务访问。 本指南涵盖所有这些场景,展示何时使用每种方法,如何安全地执行,以及应避免哪些错误——以便您可以自信地更改用户,而不会破坏权限、服务或访问。 切换到另一个用户(交互式shell) su(切换用户) su – username -(或-l)加载目标用户的完整登录环境:主目录、PATH、shell配置文件。 不带-,您将保留当前环境的大部分(可能会令人困惑)。 切换到root: su – 安全提示:在许多发行版中,su需要目标用户的密码(例如,root密码),这通常是禁用的。 sudo -i(适用于root/admin shell) sudo -i 为您提供一个root登录shell(类似于su -),使用您的sudo权限而不是root密码。 使用登录shell切换到另一个用户: sudo -iu username 以另一个用户身份运行单个命令(非交互式) sudo -u sudo -u username whoami sudo -u postgres psql 以干净的登录类环境运行: sudo -iu username 以root身份运行命令 sudo systemctl restart nginx […]
在现代Linux 系统中,网络配置是通过一组命令行工具来管理的,这些工具允许您检查、故障排除和修改 IP 设置,而无需依赖图形界面。这些命令对于管理员和高级用户至关重要,因为它们提供了快速、精确的控制,无论您是在服务器上分配静态 IP、检查服务不可达的原因、验证默认网关,还是在重启后启动接口。 在实际场景中,您使用这些命令来: 显示分配给网络接口的当前 IP 地址(IPv4/IPv6) 检查链路状态(UP/DOWN)、MTU 和接口详细信息 查看路由规则和活动的默认网关 临时更改 IP 配置以进行测试或紧急恢复 诊断连接问题(错误的子网、缺失的路由、接口关闭等) 确认系统使用哪个接口和路由到达目标 因为 Linux 无处不在——从云服务器和 VPS 节点到路由器和嵌入式设备——能够通过 CLI 配置网络是一个核心技能。在现代 Linux 中,显示和更改 IP 配置的主要命令是:ip(来自 iproute2 套件)。它取代了大多数旧的工具,在各个发行版中工作一致,并且是今天生产环境中使用的标准工具集。 ip(来自 iproute2) 它取代了大多数日常使用的旧的 ifconfig/route 工具,并在各个发行版中一致工作。 显示 IP 配置(只读) 显示所有接口 + IP 地址 ip addr show # shorter: ip a 显示特定接口 ip addr show dev […]
