在Android手机上安装kali Linux 的 Q&A
目录
安装脚本
curl -O --url https://res.hestudio.net/kali_for_android/install.sh && chmod +x install.sh && ./install.sh
感谢 @随风飘扬 对 Android14 版本优化的贡献!
教程
Q&A
一些命令
这里只说明我的教程涉及到的命令,查看其他博主教程的命令请转到对应博主的文档里查看,查看系统命令用法请访问 https://www.kali.org/tools/
开启命令
每次进入 Termux 可以通过 startkali
进入 kali Linux 终端。
当然,你也可以使用 startkali -r
直接以root
身份进入。
VNCServer 命令
本系统包预装TigerVNCServer,如果使用不习惯请自行更换。如果你向我咨询该问题,我们默认你使用TigerVNCServer
。
它的常用命令如下:
修改密码
vncpasswd
运行 vncserver
vncserver
杀死 vncserver
vncserver -kill
其他命令
VNCServer 教程
开启 vnc
初始化 vncserver
本脚本内置 vncserver 服务,但是还是需要自己稍微设置一下。
注意
相关信息
查看更多 vncserver 操作,请到https://tigervnc.org/
本脚本内置TigerVNC
先修改 vnc 密码,不然连不上!
vncpasswd
运行 vncserver
vncserver
杀死 vncserver
vncserver -kill
链接到 vnc 热门
- 打开 VNC Viewer
- 一路
Next
- 点击+号
- 设置链接地址
port 后面的 4 位数字为端口号,像这样
localhost:5901
- 最后保存即可
vnc 怎么更换端口
我开启了 vncserver 但在 VNC Viewer 页面无法进入。 热门
由于 vncserver 和桌面环境对设备配置要求较高,所以部分设备会杀掉后台进程,有的经过手动设置实现墓碑机制的设备也无法使用,因为后台被冻结了(可以使用白名单保证 termux 不被冻结)。这个问题无法根治,部分支持软件悬浮窗的手机可以尝试使用悬浮窗使 Termux 前台运行。
如果你的设备性能较低,那无论怎么设置也解决不了这个问题,请更换设备或者尝试使用官方的 App(需要 Root 或者刷机)
部分配置比较高的手机因为它的系统版本往往是最高的,而 Termux 并未对其进行适配,所以会导致 Termux 突然崩溃。
兼容性问题
有关 Termux 的兼容性问题请浏览
由于 Termux 未适配 Harmony OS,所以使用搭载有 Harmony OS 的华为或荣耀用户可能无法使用。在实际测试和用户反馈中,Harmony OS 2.0 机型(测试设备为荣耀 9x)可以使用除 vnc 之外的功能,Harmony OS 3.0 机型(测试设备为华为 MatePad Pro)由于安装脚本无法识别导致无法安装。请 Harmony OS 3.0 及以上版本的用户不要咨询该问题
如果你使用 Android 12 或以上 Android 版本,并出现[Process completed (signal 9) - press Enter]
,请浏览解决安卓 12 限制 32 个线程
不显示网卡信息,怎么联网等
由于手机设备等问题,导致 Termux 无法获取你的网卡信息,也无法使用一些基于硬件的功能。
自带的 Firefox 不能用
这个属于官方的 bug,之前没有这个问题,属于 kali 官方管辖的范围,与我无关。
这个到底怎么玩?
它支持什么功能
安装时显示文件损坏
安装时请不要锁屏或切换后台!如因为以上操作导致安装失败,请自行清理数据再次安装
Termux 提示Failed to fetch
示例
当出现此提示的时候,请输入
termux-change-repo
然后参照下一条操作。
Termux 选择源的时候怎么选 热门
如果出现这个页面,建议在中国大陆的用户使用清华源(倒数第四个)或者北京外国语大学源(倒数第三个)。且最好使用触摸选择(不是底下的软键盘),点击对应的文字。
如果你使用的是自己配置的源,可以点击 Cancel 关闭这个窗口
如何寻找 Termux 的源
这个是 Termux 官方提供的文档:
报错[Process completed (signal 9) - press Enter]
热门
报错 Errors were encountered while processing: /var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb
热门
如果在执行sudo apt upgrade
出现类似以下报错:
Preparing to unpack …/postgresql-15_15.3-0+deb12u1_arm64.deb …
invoke-rc.d: could not determine current runlevel
Stopping PostgreSQL 15 database server: mainError: Data directory /var/lib/postgresql/15/main must not be owned by root … failed!
failed!
invoke-rc.d: initscript postgresql, action “stop” failed.
dpkg: warning: old postgresql-15 package pre-removal script subprocess returned error exit status 1
dpkg: trying script from the new package instead …
invoke-rc.d: could not determine current runlevel
Stopping PostgreSQL 15 database server: mainError: Data directory /var/lib/postgresql/15/main must not be owned by root … failed!
failed!
invoke-rc.d: initscript postgresql, action “stop” failed.
dpkg: error processing archive /var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb (–unpack):
new postgresql-15 package pre-removal script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方案参考
以下命令依次执行:
rm -rf /var/lib/dpkg/info/postgresql* && dpkg --configure -a
sudo apt update && sudo apt full-upgrade -y
报错 failed to execute child process 'dbus-launch'
热门
高级用法
Linux 小白慎入
当你阅读本部分内容时,我们将认为你对 Linux 基础知识有一定了解。如果你是一位 Linux 小白,你应当阅读上面的内容。如果你误执行其中的命令导致你的设备无法正常使用,我们不承担任何责任。我们不希望你针对此部分内容的 Linux 基础知识向我们提问。
修改 kali 容器的启动命令
修改启动名称
在默认情况下,我们使用startkali
启动 kali 容器。你可以通过修改${PREFIX}/bin/startkali
的文件名称使得启动名称发生改变。
在文档的其他部分,我们将认为你仍然使用默认启动名称
如,原来的修改名称是startkali
,需要将其修改为kalistart
,可以使用以下命令:
mv ${PREFIX}/bin/startkali ${PREFIX}/bin/kalistart
修改启动配置
你可以通过修改${PREFIX}/bin/startkali
的内容使得配置文件发生改变。
如果你使用 vim,则应当使用以下命令编辑:
vim ${PREFIX}/bin/startkali
如果你误修改配置文件导致容器无法启动,请通过安装KA_INSTALL_PATCH_230608覆盖掉修改的配置文件。
更换默认语言 2.0
我们通过读取LANG
环境变量值判断你的默认语言。在 Kali Linux 启动前,修改该变量可以修改你的 Kali Linux 语言。
# 中文(简体)
export LANG=zh_CN.UTF-8
如果需要修改成其他语言,请自行查阅资料。
也可以实现自动添加并启动,详见上文。
备份与恢复
备份
你可以通过打包~/kali-arm*
文件夹以备份已经安装好的容器系统源文件。
恢复
注意
应当保持备份和恢复的是同一设备,否则可能会出现兼容性问题。
请按照以下步骤恢复:
- 重新运行安装脚本
- 将你备份的
kali-arm*
恢复到用户目录~/
删除
运行以下命令以删除该容器
rm -rf ~/ka_install ~/kali-arm* ${PREFIX}/bin/startkali