<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ubuntu 26.04 on 远思码技术实验室</title>
        <link>https://yuansima.com/tags/ubuntu-26.04/</link>
        <description>Recent content in Ubuntu 26.04 on 远思码技术实验室</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sun, 31 May 2026 19:00:00 +0800</lastBuildDate><atom:link href="https://yuansima.com/tags/ubuntu-26.04/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>在 Ubuntu 26.04 LTS 上编译与部署 llama.cpp (支持 AMD ROCm 7.2 极致显存压榨)</title>
            <link>https://yuansima.com/p/install-llama-cpp-ubuntu-2604-rocm/</link>
            <pubDate>Sun, 31 May 2026 19:00:00 +0800</pubDate>
            <guid>https://yuansima.com/p/install-llama-cpp-ubuntu-2604-rocm/</guid>
            <description>&lt;p&gt;在大模型算力本地化部署的浪潮中，&lt;code&gt;llama.cpp&lt;/code&gt; 凭借其极致的 C/C++ 架构设计、内存流式加载以及广泛的硬件适配，成为了本地设备上高效推理大语言模型（LLM）的绝对核心。&lt;/p&gt;&#xA;&lt;p&gt;本文将完整演练如何在最新的 &lt;strong&gt;Ubuntu 26.04 LTS&lt;/strong&gt; 生产环境下，基于 &lt;strong&gt;AMD ROCm 7.2.3&lt;/strong&gt; 架构底座，全流程从源码编译、优化并全局部署 &lt;code&gt;llama.cpp&lt;/code&gt;。本指南特别针对消费级旗舰 APU 或配备大容量 UMA 共享显存（如 48GB 统一显存）的硬件环境进行深度硬件调度优化，助您在保障数据绝对私密的前提下，无缝打通从底层驱动到百亿参数企业级旗舰模型超长上下文推理的完整闭环。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;1-系统底座配置rocm-723-驱动安装&#34;&gt;1. 系统底座配置：ROCm 7.2.3 驱动安装&#xA;&lt;/h2&gt;&lt;p&gt;首先，我们需要为系统配置标准的 AMD GPU 官方软件源，并锁定版本优先级，以避免系统后续自动更新时产生包冲突。&lt;/p&gt;&#xA;&lt;h3 id=&#34;11-添加官方-gpg-密钥与仓库&#34;&gt;1.1 添加官方 GPG 密钥与仓库&#xA;&lt;/h3&gt;&lt;p&gt;在终端中依次执行以下命令，完成软件源和优先级的配置：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 更新基础系统包&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt upgrade -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install wget curl gnupg2 -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 创建安全密钥目录并拉取 AMD GPG key&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mkdir -p /etc/apt/keyrings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg &amp;gt; /dev/null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 添加 ROCm 7.2.3 官方源（由于 26.04 刚发布，此处前向兼容 noble 分支）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo tee /etc/apt/sources.list.d/rocm.list &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;lt;&amp;lt; EOF&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/7.2.3 noble main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/graphics/7.2.3/ubuntu noble main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;EOF&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置 APT 优先级锁定，确保 ROCm 官方包不被 Ubuntu 默认包覆盖&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo tee /etc/apt/preferences.d/rocm-pin-600 &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;lt;&amp;lt; EOF&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Package: *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Pin: release o=repo.radeon.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Pin-Priority: 600&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;EOF&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;12-安装核心组件与硬件赋权&#34;&gt;1.2 安装核心组件与硬件赋权&#xA;&lt;/h3&gt;&lt;p&gt;刷新软件源索引，并安装核心内核级加速模块（DKMS）与完整 ROCm 工具链。对于 APU/核显架构，必须获取底层的硬件访问权限：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 完整安装全套 ROCm 组件（推荐，内含完备的 SDK 开发包）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install rocm amdgpu-dkms -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 将当前操作用户加入视频与渲染用户组&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo usermod -a -G render,video $USER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;重要提示：&lt;/strong&gt; 用户组权限分配完毕后，请务必&lt;strong&gt;重启系统&lt;/strong&gt;（或完全注销重新登录），使内核对当前用户的硬件调用赋权正式生效。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;2-避坑指北解决-ubuntu-2604-底层动态链接库断层&#34;&gt;2. 避坑指北：解决 Ubuntu 26.04 底层动态链接库断层&#xA;&lt;/h2&gt;&lt;p&gt;由于 Ubuntu 26.04 将大量的底层核心系统库升级到了全新的主版本（例如 &lt;code&gt;libxml2&lt;/code&gt; 迭代至 &lt;code&gt;16&lt;/code&gt;），而许多预编译的深度学习组件或周边依赖在编译链接时仍会固执地寻找旧版的 &lt;code&gt;libxml2.so.2&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;为了规避程序运行时抛出 &lt;code&gt;Shared object file not found&lt;/code&gt; 错误，我们需要在环境搭建之初，建立一个优雅的向后兼容软链接：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 1. 确保系统级 libxml2 开发环境齐备&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install libxml2-16 libxml2-dev -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 2. 创建动态库软链接（解决老版本编译轮子依赖冲突的硬核操作）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.16 /usr/lib/x86_64-linux-gnu/libxml2.so.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;3-环境加速hugging-face-镜像站配置&#34;&gt;3. 环境加速：Hugging Face 镜像站配置&#xA;&lt;/h2&gt;&lt;p&gt;在本地部署大模型时，动辄数十 GB 的 GGUF 权重文件极其考验网络稳定性。配置国内镜像加速是跑满网络带宽、保障大文件下载零中断的标准最佳实践。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 将环境变量写入 bash 配置文件使其永久有效&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;export HF_ENDPOINT=https://hf-mirror.com&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;4-源码编译与全局安装-llamacpp&#34;&gt;4. 源码编译与全局安装 llama.cpp&#xA;&lt;/h2&gt;&lt;p&gt;驱动与基础环境就绪后，我们开始通过 CMake 对 &lt;code&gt;llama.cpp&lt;/code&gt; 进行原生构建，并指定开启针对 AMD 显卡的 &lt;code&gt;HIP&lt;/code&gt; 后端加速。&lt;/p&gt;&#xA;&lt;h3 id=&#34;41-克隆源码&#34;&gt;4.1 克隆源码&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/ggerganov/llama.cpp.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd llama.cpp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;42-针对特定-gpu-架构执行-cmake-构建&#34;&gt;4.2 针对特定 GPU 架构执行 CMake 构建&#xA;&lt;/h3&gt;&lt;p&gt;在此步骤中，请使用 &lt;code&gt;rocminfo&lt;/code&gt; 确认您的具体硬件架构（例如集显 Radeon 890M 对应的架构代号通常为 &lt;code&gt;gfx1150&lt;/code&gt;）。在配置 CMake 时，显式传入对应的 &lt;code&gt;AMDGPU_TARGETS&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir build &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 运行 CMake 配置，开启 HIP 加速，并指定硬件架构（以 gfx1150 和 gfx1200 为例）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cmake .. -DGGML_HIP&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ON -DAMDGPU_TARGETS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;gfx1150,gfx1200 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 利用系统多核算力开始并行编译&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make -j&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;nproc&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;43-全局系统级安装&#34;&gt;4.3 全局系统级安装&#xA;&lt;/h3&gt;&lt;p&gt;编译完成后，为了避免在编写自动化脚本或跨目录调用时使用繁琐的相对路径，建议将其规范化地安装至全局环境变量：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 将编译产物规范化安装至系统路径（如 /usr/local/bin）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo cmake --install .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装成功后，在系统任意路径输入 &lt;code&gt;llama-cli --version&lt;/code&gt; 即可验证环境就绪情况。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;5-拓展配置构建全栈-python-ai-生态&#34;&gt;5. 拓展配置：构建全栈 Python AI 生态&#xA;&lt;/h2&gt;&lt;p&gt;除了基于 C++ 原生运行 &lt;code&gt;llama.cpp&lt;/code&gt;，构建一套完整的本地算力节点还需要 Python 生态支持，这对于后续运行 Hugging Face &lt;code&gt;transformers&lt;/code&gt; 原生推理、执行 GGUF 格式转换（如 &lt;code&gt;convert_hf_to_gguf.py&lt;/code&gt;）至关重要。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 升级基础包管理器&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install --upgrade pip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 从 PyTorch 官方源拉取适配 ROCm 7.2 的最新版深度学习加速库&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;51-显卡识别与大容量显存测试&#34;&gt;5.1 显卡识别与大容量显存测试&#xA;&lt;/h3&gt;&lt;p&gt;配置完毕后，编写简短 Python 脚本验证硬件底座是否被打通：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; torch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;PyTorch 核心版本: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;torch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;__version__&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ROCm 硬件加速是否可用: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;torch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cuda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;is_available()&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; torch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cuda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;is_available():&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;当前调度设备: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;torch&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;cuda&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get_device_name(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# 针对大容量 UMA 共享显存配置，此处将输出系统实际划拨的显存尺寸&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;6-极压榨实战企业级高并发服务部署-llama-server&#34;&gt;6. 极压榨实战：企业级高并发服务部署 (llama-server)&#xA;&lt;/h2&gt;&lt;p&gt;现在，我们将挑战大模型本地化部署的极限：在具备大容量共享显存（48GB UMA）的主机上，运行达到 35B 参数规模的旗舰大模型 &lt;code&gt;Qwen 3.6 35B&lt;/code&gt;，并开启 &lt;strong&gt;128K (131072 Token)&lt;/strong&gt; 的超长上下文窗口。&lt;/p&gt;&#xA;&lt;p&gt;这是一个生产级、具备高安全策略的 &lt;code&gt;llama-server&lt;/code&gt; 启动脚本：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 创建并进入模型目录，使用 huggingface-cli 稳定拉取大模型权重&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ../models &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; cd ../models&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 利用 CLI 客户端和镜像源高速下载特定 Qwen 3.6 35B 强力去无监督量化版本&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;huggingface-cli download   Qwen/Qwen-7B-Chat-GGUF   qwen-7b-chat-q4_k_m.gguf   --local-dir .   --local-dir-use-symlinks False&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 启动高并发、具备极致显存优化的 OpenAI 兼容 API 服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;llama-server   -m ./Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-Q8_K_P.gguf   --mmproj ./mmproj-*.gguf   --jinja   -c &lt;span style=&#34;color:#ae81ff&#34;&gt;131072&lt;/span&gt;   -ngl &lt;span style=&#34;color:#ae81ff&#34;&gt;99&lt;/span&gt;   --temp 0.6 --top-p 0.95 --top-k &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt; --min-p &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; --presence-penalty &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;   --flash-attn   --cache-type-k q8_0 --cache-type-v q8_0   --api-key &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;你的实验室自定义安全密码&amp;#34;&lt;/span&gt;   --host 0.0.0.0 --port &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;61-核心参数解析与显存魔术&#34;&gt;6.1 核心参数解析与“显存魔术”：&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;格式与多模态原生对齐&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;--mmproj&lt;/code&gt;：挂载多模态视觉投影矩阵文件，让 API 接口瞬间拥有解析图表、研报截图的视觉感知能力。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--jinja&lt;/code&gt;：强制启用原生的 Jinja 模板引擎解析 Prompt 结构。这对于 Qwen 3.6 等新一代模型至关重要，能严丝合缝地还原训练阶段的特殊 Token，彻底杜绝多轮对话后角色混乱或逻辑飘移的问题。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;显存极限压榨（在 48GB 内塞下 35B 模型 + 128K 上下文的核心秘诀）&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-ngl 99&lt;/code&gt;：(&lt;code&gt;--n-gpu-layers&lt;/code&gt;) 将模型的所有计算层全量卸载（Offload）到 GPU。由于我们有 48GB 的超大统一显存（UMA），设置 99 可以保证所有核心计算完全在 GPU 算力单元内闭环，杜绝 CPU 内存因频繁交换数据而产生的性能卡顿。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--flash-attn&lt;/code&gt;：强制激活 &lt;strong&gt;Flash Attention（闪电注意力机制）&lt;/strong&gt;。在处理超长文本（如吞入整篇金融长篇大作或历史回测日志）时，它能成倍降低注意力矩阵带来的显存开销，让显存需求曲线由传统的二次方变为线性。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--cache-type-k q8_0 --cache-type-v q8_0&lt;/code&gt;：&lt;strong&gt;KV Cache 8-bit 量化&lt;/strong&gt;。这是关键的显存魔术。在 128K 超长上下文的吞吐下，不加此参数的原始 KV 缓存会吞掉数十 GB 显存；开启 8-bit 量化后，KV 缓存的体积被原地压缩近 50%，配合 Q8 级别高精度模型，完美达成精度与显存空间的极致平衡。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;边界安全与环境鉴权&lt;/strong&gt;：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;--api-key&lt;/code&gt;：由于服务通过 &lt;code&gt;0.0.0.0&lt;/code&gt; 监听局域网甚至公网，通过强制添加鉴权令牌（Bearer Token），为内部量化系统调用或接入前端（如 Open WebUI）提供坚固的安全防线。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;总结&#xA;&lt;/h2&gt;&lt;p&gt;通过在最新的 Ubuntu 26.04 上借助 ROCm 7.2 构建 &lt;code&gt;llama.cpp&lt;/code&gt; 全栈架构，我们成功在本地打通了从硬件驱动、动态库兼容性补丁、深度学习生态到生产级高并发 API 服务的全链条。&lt;/p&gt;&#xA;&lt;p&gt;借助大容量统一显存（UMA）与 KV 缓存压缩、Flash Attention 等极限技术的化学反应，个人与实验室用极低的硬件开销，便能流畅驾驭百亿级、全功能的企业级模型。这不仅为前沿策略的回测、长文本长代码的本地深度离线解析夯实了算力底座，更把数据的“绝对控制权”与隐私壁垒牢牢锁在了本地。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;远思码技术实验室&lt;/strong&gt;&#xA;远思为径，码动价值。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;</description>
        </item><item>
            <title>Ubuntu 26.04 LTS 安装 Miniconda3 及 systemd 守护进程配置指南</title>
            <link>https://yuansima.com/p/ubuntu-2604-miniconda3-systemd/</link>
            <pubDate>Sun, 31 May 2026 16:22:00 +0800</pubDate>
            <guid>https://yuansima.com/p/ubuntu-2604-miniconda3-systemd/</guid>
            <description>&lt;p&gt;&lt;em&gt;远思为径，码动价值。欢迎来到远思码技术实验室的最新技术实践记录。&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;随着 Ubuntu 26.04 LTS 的正式发布，我们在更新主力算力平台后，底层开发环境的重新构建也提上了日程。在利用 Radeon 890M 核心显卡及 48GB UMA 统合内存进行本地量化策略开发与轻量级模型微调时，一个纯净且隔离性良好的 Python 环境至关重要。&lt;/p&gt;&#xA;&lt;p&gt;本文将详细介绍如何在 Ubuntu 26.04 LTS 上从零安装 Miniconda3，并分享如何通过 &lt;code&gt;systemd&lt;/code&gt; 将运行在 Conda 虚拟环境中的 Python 程序（如量化监控、自动化脚本或 Jupyter 服务）配置为系统守护进程。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一-环境准备与依赖更新&#34;&gt;一、 环境准备与依赖更新&#xA;&lt;/h2&gt;&lt;p&gt;在开始安装之前，先同步系统的软件包索引并更新基础工具，确保后续操作顺利进行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt upgrade -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install -y build-essential curl wget git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;二-下载与安装-miniconda3&#34;&gt;二、 下载与安装 Miniconda3&#xA;&lt;/h2&gt;&lt;h3 id=&#34;1-下载最新版安装脚本&#34;&gt;1. 下载最新版安装脚本&#xA;&lt;/h3&gt;&lt;p&gt;推荐直接从 Anaconda 官方源下载适用于 Linux x86_64 架构的 Miniconda3 安装脚本：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/downloads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ~/downloads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-执行安装程序&#34;&gt;2. 执行安装程序&#xA;&lt;/h3&gt;&lt;p&gt;运行下载好的 shell 脚本进行安装。在安装过程中，连续按回车浏览许可协议，并在提示时输入 &lt;code&gt;yes&lt;/code&gt; 同意条款：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bash Miniconda3-latest-Linux-x86_64.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;安装路径提示&lt;/strong&gt;：默认会安装在 &lt;code&gt;~/miniconda3&lt;/code&gt; 下，直接回车确认即可。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;初始化确认&lt;/strong&gt;：当提示是否运行 &lt;code&gt;conda init&lt;/code&gt; 时，建议输入 &lt;code&gt;yes&lt;/code&gt;。这会自动修改你的 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件，方便在打开终端时自动加载 Conda。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-激活与验证&#34;&gt;3. 激活与验证&#xA;&lt;/h3&gt;&lt;p&gt;为了让环境变量立即生效，刷新当前的终端会话：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source ~/.bashrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时终端提示符前通常会出现 &lt;code&gt;(base)&lt;/code&gt; 字样。输入以下命令验证是否安装成功：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果正常输出 Conda 的版本号，则说明核心环境已就绪。为了防止每次开机终端默认直接进入 base 环境，可以运行以下命令关闭自动激活：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda config --set auto_activate_base false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;三-创建与管理虚拟环境&#34;&gt;三、 创建与管理虚拟环境&#xA;&lt;/h2&gt;&lt;p&gt;以构建一个专门用于自动化策略的 Python 3.11 环境为例：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 创建名为 py311 的环境&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda create -n py311 python&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;3.11 -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 激活环境&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda activate py311&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在虚拟环境中，你可以自由地通过 &lt;code&gt;pip&lt;/code&gt; 或 &lt;code&gt;conda&lt;/code&gt; 安装所需的依赖库，而不会对系统自带的 Python 产生任何污染。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;四-使用-systemd-配置虚拟环境服务的守护进程&#34;&gt;四、 使用 systemd 配置虚拟环境服务的守护进程&#xA;&lt;/h2&gt;&lt;p&gt;通常 Miniconda3 本身只是一个 environment 管理器，不需要常驻后台。但如果我们用 Conda 环境编写了一个长周期运行的 Python 自动化脚本、Jupyter Lab 或者后台 API 服务，就需要利用系统的 &lt;code&gt;systemd&lt;/code&gt; 工具进行守护。&lt;/p&gt;&#xA;&lt;p&gt;在配置 &lt;code&gt;systemd&lt;/code&gt; 时，&lt;strong&gt;最关键的一点是必须指定虚拟环境中 Python 解释器的绝对路径&lt;/strong&gt;，而不是全局的系统路径。&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-查找虚拟环境的-python-路径&#34;&gt;1. 查找虚拟环境的 Python 路径&#xA;&lt;/h3&gt;&lt;p&gt;首先激活你的目标环境，然后获取 Python 的绝对路径：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conda activate py311&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;which python&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通常输出格式为：&lt;code&gt;/home/你的用户名/miniconda3/envs/py311/bin/python&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-创建-systemd-服务文件&#34;&gt;2. 创建 systemd 服务文件&#xA;&lt;/h3&gt;&lt;p&gt;使用管理员权限创建全新的服务配置文件：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nano /etc/systemd/system/my_python_service.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-编写-service-配置&#34;&gt;3. 编写 Service 配置&#xA;&lt;/h3&gt;&lt;p&gt;将以下内容写入文件。请务必将 &lt;code&gt;User&lt;/code&gt;、&lt;code&gt;WorkingDirectory&lt;/code&gt; 以及 &lt;code&gt;ExecStart&lt;/code&gt; 的路径替换为你本机的实际信息：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;[Unit]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Description&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Yuansima Lab Python Automation Service&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;After&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;network.target&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;[Service]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;simple&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 替换为运行该服务的 Linux 用户名和组&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;User&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;your_username&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Group&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;your_group&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置程序运行的工作目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;WorkingDirectory&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/home/your_username/projects/my_project&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 关键：使用 Conda 虚拟环境下的 Python 绝对路径来执行脚本&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ExecStart&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/home/your_username/miniconda3/envs/py311/bin/python main.py&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 崩溃后自动重启机制&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Restart&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;on-failure&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;RestartSec&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 日志输出管理&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;StandardOutput&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;journal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;StandardError&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;journal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;[Install]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;WantedBy&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;multi-user.target&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-加载并启动守护进程&#34;&gt;4. 加载并启动守护进程&#xA;&lt;/h3&gt;&lt;p&gt;保存并退出编辑器后，执行以下命令使配置生效并开启自启：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 重载 systemd 配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl daemon-reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 开启开机自启并立即运行服务&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl enable --now my_python_service.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;5-查看运行状态与日志&#34;&gt;5. 查看运行状态与日志&#xA;&lt;/h3&gt;&lt;p&gt;检查服务是否在后台成功拉起：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl status my_python_service.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;若状态显示为绿色的 &lt;code&gt;active (running)&lt;/code&gt;，则表明守护进程已正常运转。如果后续程序出现报错，可以通过以下命令实时追踪 Python 脚本的输出日志：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;journalctl -u my_python_service.service -f -n &lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
        </item></channel>
</rss>
