安装 Bash 在 root 安后的 Kindle Fire 上

4次阅读
没有评论

问题描述

刚刚将他们的 Kindle Fire 进行了 root 处理,并安装了一个名为 QuickSSHd 的 SSH 服务。他们通过这个 SSH 服务能以 root 用户身份登录并使用 sh 壳进行操作,但是发现 sh 壳功能较少,无法满足开发和管理需求。因此,用户希望了解一下如何在 Kindle Fire 上运行更具有功能性的 Bash 或其他替代壳。

解决方案

根据提供的信息以及版本差异需留意安装方法可能有所不同。

方案1:通过 CM 文件夹尝试获取 bash

根据 StackExchange 用户的建议(这里),似乎 CM(CyanogenMod) 系统已经集成了 bash,因此您可以通过刷写适当的系统文件来实现这一目标。具体来说可以尝试以下几个步骤:

  1. 获取适合 Kindle Fire 的 CM 版本,并安装在设备上。
  2. 安装完成后,检查 sh 或其他 shell 是否已被替换为 bash。可通过命令 which sh 来确认当前使用的 shell 名称;若结果指向 /system/bin/bash 或类似路径,则说明已成功切换。

方案2:手动安装 Bash 或 mksh

从提供的评论中可以看出,mksh(一种功能更丰富的替代壳)支持直接在基于 Android 的系统上进行安装。您也可以尝试手动安装 Bash。

  1. 检查文件系统的可写权限
    根据评论者所述,/system 分区是否可以被重新挂载为可写的至关重要。您需要确认或尝试以 root 权限重新挂载 /system 分区。

  2. 下载并安装 mksh 或其他 shell

  3. 访问 mksh 官方网站 下载适用于 Android 的 mksh 二进制文件。确保下载的版本与设备兼容。
  4. 利用 SSH 登录 Kindle Fire,将 mksh 二进制文件复制到 /system 目录下:例如,
    bash
    scp path/to/mksh root@kindle_fire_ip_address:/system/xbin/

  5. 设置 mksh 作为默认 shell(可选):
    如果您希望进一步将此 shell 设定为默认 shell,可以更改 /data/local.prop 文件中的属性。不过这需要谨慎操作。

  6. 重新加载 SSH 服务以确保更改生效。

    • 重启 SSHD 服务,命令如下:
      bash
      /system/xbin/service --force-reload sshd


      更直接地登录并手动运行 shell:
      bash
      /system/xbin/mksh

方案3:使用 Termux 等替代方法

若上述方案无法顺利实现,用户还可以考虑通过安装 Termux 这样的应用来获得一个功能丰富的命令行环境。尽管其主要目的是提供一个 Android 操作系统内部的 shell,但它能兼容 Bash 兼容脚本,且可以在非root设备上运行。

  1. 从 Google Play Store或者其他可靠的源下载并安装 Termux 应用。
  2. 开启 app, 测试是否可以用 bash 命令来启动 bash shell。

通过以上方法中的一种或多种尝试解决在 Kindle Fire 上需要使用更强大 Bash 功能的需求。如果遇到具体实现问题,请参考相关论坛中的讨论帖和用户分享的经验。

正文完