当前位置: 首页 > news >正文

termux sv-enable sshd 报错分析分析

termux 最近出了一个自动启动系统服务的工具 termux-services,可以用来自动启动 sshd 等服务

termux-services 介绍

termux-services 是一个开源项目,旨在为 Termux 用户提供一个方便的服务管理解决方案。该项目主要使用 Shell 脚本和 Makefile 编程语言,通过 runit 程序来管理服务。

核心功能

  • 服务管理:用户可以通过简单的命令来启动、停止、启用或禁用服务
  • 日志查看:用户可以检查服务的日志文件,便于调试和问题解决
  • 服务状态检查:用户可以查看服务当前的状态,确保服务的正常运行

安装步骤

  1. 使用 Termux 的包管理器 pkg 安装 termux-services:
    pkg install termux-services
    
  2. 重启 Termux shell,确保服务守护进程(service-daemon)启动:
    • 可以重启 Termux 应用或者关闭并重新打开 Termux 窗口

常用命令

  • sv-enable <服务名称>:启用服务并设置为自启动
  • sv-disable <服务名称>:禁用服务
  • sv up <服务名称>:启动服务(仅本次会话)
  • sv down <服务名称>:停止服务
  • sv status <服务名称>:查看服务状态

sshd 服务启用问题分析与解决

问题描述

使用 sv-enable sshd 启用 sshd 服务时出现以下错误:

$ sv-enable sshd
fail: sshd: unable to change to service directory: file does not exist

问题原因分析

根据 GitHub issue #24492 的讨论,这个问题的根本原因是:

  1. termux-services 服务守护进程未启动:安装 termux-services 后,需要启动服务守护进程才能正常管理服务
  2. 环境变量未正确设置:服务管理命令需要特定的环境变量和路径设置
  3. 服务目录结构未初始化:需要初始化服务目录结构才能创建和管理服务

解决办法

  1. 运行服务初始化脚本

    # 确保 openssh 和 termux-services 已安装
    pkg install openssh termux-services
    source "${TERMUX__PREFIX:-"${PREFIX}"}"/etc/profile.d/start-services.sh
    

    这个脚本的作用是启动 termux-services 守护进程,初始化服务目录结构,并设置必要的环境变量。

  2. 启用 sshd 服务

    sv-enable sshd
    
  3. 启动 sshd 服务

    sv up sshd
    
  4. 检查服务状态

    sv status sshd
    

详细说明

start-services.sh 脚本是 termux-services 包的核心组件之一,它负责:

  • 启动服务守护进程(service-daemon)
  • 初始化 /data/data/com.termux/files/usr/var/service/ 目录结构
  • 设置服务管理所需的环境变量
  • 确保服务管理命令(如 sv 系列命令)能够正常工作

当你安装 termux-services 后,这个脚本会在每次启动 Termux 会话时自动执行。但在某些情况下,特别是刚安装完包后,可能需要手动执行一次以确保服务守护进程正确启动。

注意事项

  • 执行 start-services.sh 脚本是解决此问题的关键步骤
  • 如果问题仍然存在,可以尝试重启 Termux 应用
  • 确保 Termux 拥有正确的存储权限,可以通过 termux-setup-storage 命令获取
  • 检查日志文件以获取更详细的错误信息:cat $PREFIX/var/log/sv/sshd/current
http://www.jsqmd.com/news/415582/

相关文章:

  • P3374 【模板】树状数组 1
  • 万方AIGC检测如何降AI率?3款工具实测数据对比【2026亲测】 - 我要发一区
  • 【大数据毕设全套源码+文档】基于springboot+小程序+大数据的个性化外卖点餐推荐APP的设计与实现(丰富项目+远程调试+讲解+定制)
  • 研究生论文降AI率经验分享:从被退回到顺利通过的全过程 - 我要发一区
  • 【大数据毕设全套源码+文档】springboot基于BS的中小企业商品进销存管理系统(丰富项目+远程调试+讲解+定制)
  • 2026年最值得推荐的降AI率工具清单:新手小白也能轻松上手
  • 2026降AI率软件排行榜TOP6:哪款降AIGC工具最值得用? - 我要发一区
  • 去AIGC降AI工具全面测评:效果、价格、速度一次看清 - 我要发一区
  • 大型钢结构雨棚哪家好?2026年评测来揭秘,雨棚/钢结构彩钢板安装/上海钢结构厂房 /彩钢板档板,雨棚厂家哪家好 - 品牌推荐师
  • 哪家DeepSeek推广做的好?2026年三家GEO服务商服务模式对比 - 品牌2025
  • 基于Springboot在线考试管理系统【附源码+文档】
  • 嘎嘎降AI深度测评:用了3个月后的真实体验,效果到底怎么样? - 我要发一区
  • 2-26午夜盘思
  • C++中的Modules 之三
  • AIGC检测超标紧急处理方案:2小时内搞定论文AI率问题 - 我要发一区
  • 知网AIGC检测怎么降?2026最新降AI率攻略与工具实测 - 我要发一区
  • C++中的Modules 之一
  • 2026年 DeepSeek 推广服务商盘点:AI时代B2B获客新路径解析 - 品牌2025
  • 用ChatGPT写论文后如何降AI率?从写作到通过检测的完整流程 - 我要发一区
  • 降AI率工具哪个好?嘎嘎降vs比话vs去AIGC横向测评【2026最新】 - 我要发一区
  • C++中的Modules 之二
  • 毕业论文AIGC检测一次性通过指南:3款工具+4个技巧【2026实用版】 - 我要发一区
  • 2026年2月食品冷库安装厂家,卫生级标准专业制造企业推荐 - 品牌鉴赏师
  • 2026维普降AI率工具推荐TOP5:实测通过率最高的AIGC降重方案 - 我要发一区
  • 豆包没有广告入口?企业如何通过内容策略实现品牌曝光 - 品牌2025
  • 论文AI率太高怎么办?5个亲测有效的解决方案,最快10分钟搞定 - 我要发一区
  • C++中的ADL 之十二
  • 盘点2026年8款免费降AI率工具合集:亲测有效的降AIGC神器推荐【建议收藏】 - 我要发一区
  • 如何在豆包中实现品牌曝光?GEO内容优化实操指南 - 品牌2025
  • 26.2.13