手机端(安卓)安装 Kali Linux 系统详细教程


前言

以前写有文章介绍过关于 Kali Linux 系统安装的详细教程,不过是在电脑端真机或虚拟机中的安装步骤,那么做为平时使用最多而且能方便携带的智能手机端,是否有方法或技术来实现安装呢?还确实有,这也是该文章的主旨。咱们都知道安卓系统自己就是 Linux 系统的一个发行版本,因此在技术理论上是有可行性的,而且目前还确实有人实现了,至于苹果手机(iOS系统)端,笔者没作研究,就不作阐述了,有兴趣能够自行了解。那么如今就来介绍一下如何在手机端(安卓系统)进行 Linux 系统(包括但不限于 Kali)的安装。linux

原理概述

其实实现该技术的原理并不复杂,因为安卓是 Linux 系统的一个分支,因此和其余主流 Linux 操做系统之间有着很大的共同性,好比不少 shell 指令代码都能使用。另外,Linux 命令中有一个叫 chroot 的,大概的做用就是在指定的根目录下运行命令,通俗讲,相似于 Windows 系统中的安全沙箱的概念,即一个安全的隔离环境,这也是该命令的目的所在。所以,既然能在该指定目录下运行一些命令,那么要是把整个操做系统的命令、目录以及文件都装进去,那它不就成了一个嵌入的系统了吗,这里又有些相似虚拟机的概念。web

固然,要在手机中执行这些命令就免不了要手机得到 root 权限,即对手机进行 ROOT;不用担忧,这只是其中一个办法,本文也会介绍另外一种不须要 ROOT 手机的方法。总结一下两者的原理:ROOT 操做至关于直接在手机安卓系统中挂载一个 Linux 系统(例如 Kali),而非 ROOT 方法就有些绕,相似于在安卓系统中经过软件挂载一个能执行一些命令的环境(固然这样会有不少权限限制,毕竟没有 ROOT),而后在这个环境中就能够再挂载想要的 Linux 操做系统了,因为这个系统在一个虚拟的环境中,因此就不存在权限的问题了(得不到真实的权限,给与虚拟的权限仍是作获得的→_→,哈哈哈)。通俗讲就是,ROOT 使用的是真机中的虚拟机,而非 ROOT 使用的是真机中的虚拟机中的虚拟机(感受绕能够再读几遍)。shell

下面是安装系统的两种方法:安全

ROOT 环境

主要软件

Linux Deploy

有 root 权限的话,安装就比较简单,而且安装的系统使用也比较流畅,毕竟是直接与真机硬件交互的,而后就先介绍一下该方法的主角:Linux Deploy,它是一个安卓软件,图标是一个小企鹅,在各大应用市场应该都能搜获得,找不到的话能够在这里下载:服务器

  
    
  
  
   
   
            
   
   
  1. 微信

  2. 架构

连接: https://pan.baidu.com/s/16OKQc2ru5E7yOTliDzNuUw提取码: vi7w

VNC Viewer

另外须要一款远程链接软件(这里使用 VNC Viewer)来显示系统界面,由于系统安装到手机中后,通常不会直接把桌面和窗口输出到手机的主屏幕,因此须要远程桌面软件链接到该系统来进行显示,否者就是使用终端链接(如 SSH)的纯命令行操做,VNC Viewer 软件也能在各大市场搜到,或者从下面的连接下载:ssh

  
    
  
  
   
   
            
   
   
  1. 性能

  2. 测试

连接:https://pan.baidu.com/s/1cjBii8MWSAqsM-9urW658Q提取码:h7si

Terminal

一款安卓的终端软件(非必需),能够在手机上执行一些 Linux 命令,也可使用它提供的 SSH 链接到以后安装的系统,依然,市场搜不到能够在下面的连接下载:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/1ZOUjbmW0MLjbMunAGecGfA提取码: 5jhj

下面是 Deploy 软件主界面的截图:

配置

在安装系统前,须要进行一些配置,顺便解释一下各个配置选项,先点击软件主页的配置按钮(上图右下角)进入配置页面:

发行版本,点进去选择想要的 Linux 发行版,这里以 Kali 为例:

架构,点进去会出来这么几个选项:

这里简单解释一下选项中的五种架构,前三个 armel, armhf, arm64 都是 ARM 处理器(常见的手机处理器品牌,相似于电脑的 Intel)的几个版本,区别以下:

  • armel:(arm eabi little endian)也即softfp,用fpu计算,可是传参数用普通寄存器传,这样中断的时候,只须要保存普通寄存器,中断负荷小,可是参数须要转换成浮点的再计算;

  • armhf:(arm hard float)也即hard,用fpu计算,传参数用fpu中的浮点寄存器传,省去了转换性能最好,可是中断负荷高;

  • arm64:64位的arm默认就是hard float的,所以不须要hf的后缀;

至于第四个 i386 是 Intel 的 32 位处理器架构,最后一个 amd64 则是 AMD(一家相似 Intel 的处理器公司)的 64 位处理器架构;

那么要如何判断本身的手机是哪一种架构呢?方法不少,可使用上面提到的 Terminal 软件,经过 cat/proc/cpuinfo 命令查看手机的 CPU 架构信息,如图所示:

这一步查询可能会看到诸如 ARMv8, ARMv7, Cortex-A, AArch64, AArch32 等字眼,简单解释一下,ARMv7 和 ARMv8 是两个 ARM 的版本,v7 版本是 32位 的,v8 是 ARM 公司的第一款 64位 处理器架构,而且从 v7 版本后开始变成了 Cortex 架构,包括 Cortex-A、Cortex-R、C ortex-M 系列,其中的 Cortex-A 系列就是常见的只能手机处理器,另外两个多应用于车载系统,嵌入式微控制器等领域;ARMv8-A 有两种执行状态: AArch64 和 AArch32(后者是为了兼容之前的32bit的程序),AArch64执行A64指令,使用 64bit 的通用寄存器;AArch32 执行 A32/T32 指令,使用 32bit 的通用寄存器;

因此能够简单的理解为 ARMv7 是 32位,ARMv8 是 64位的;若是不想用终端和命令查看,也可使用软件直接查看,好比著名的 AIDA64,能够在市场搜索下载,或者使用连接:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/1wvUc0VhWyhb-QGbkd9LylQ提取码: mqby

打开后点击中央处理器模块,内核架构信息里就是要找的架构类型,这里的是 ARMv8 的,以下图:

所以咱们在配置里选择 ARM64

发行版的版本,以前选择 Kali 的话就默认只有一个 kali-rolling 版本,其它系统的话自行决定:

源地址,就是软件从哪里去获取系统镜像等相关文件,这里用默认的就行:

固然官方源的是网站是国外的,速度可能有点慢,能够选择使用国内的源,好比阿里云和中科大等,详细介绍能够参考这篇 文章,好比使用阿里云的就把地址改成如下内容:

  
    
  
  
   
   
            
   
   
http://mirrors.aliyun.com/kali/

安装类型,通常就选择默认的镜像文件类型,方便安全,至于其它类型就是它们字面上的意思,因此可能会和系统出现冲突:

安装路径,就是决定把镜像文件安装到哪,而且以什么名字命名,默认的值使用了环境变量,测试彷佛存在问题,因此改一下,好比咱们安装到内置存储的根目录,以 kali.img 命名,就是 /sdcard/kali.img,注意镜像文件的后缀 .img 是固定不变的:

镜像大小,默认是 0,即自动分配大小,不过经测试,它彷佛没有想象中那么自动 -_-,因此咱们就本身设一个值,注意单位是 MB,而且这个值就是安装的系统能用的总存储空间,所以能够稍微设置大一点,具体值随便填,这里的 8096 就是 8GB 左右(1024MB = 1GB):

文件系统,如今最新的是 ext4,是 Linux 下经常使用的文件系统,相似于 Windows 里的 NTFS 文件系统,或者 U盘使用的 FAT32 文件系统,因此这里选择默认的就好:

用户名,即登陆系统的帐户名(以 test 为例):

用户密码,上面的帐户对应的密码(也以 test 为例):

特权用户,这里填写超级用户 root

本地化,即系统使用的语言,先使用默认的 C(英语),想要中文能够后期改:

DNS、Network trigger、Power trigger 这三项能够不用管,让它们空着;

初始化,启用选项能够不用勾上;

挂载,即挂载 Android 上的资源,相似于一个文件中转站,设置为手机系统中的一个文件夹,这样这个文件夹中的内容 Linux 系统和手机系统均可以访问,也就实现了互传文件的功能,咱们能够勾上:

点击 挂载点列表 后进去,点右上角的加号,添加一个挂载点;第一行填写你设置为文件中转站的目录(该文件夹本身事先建立好)的绝对路径,好比该文件夹建立在 SD 卡根目录,名为 share,那就写 /sdcard/share

点肯定后完成建立,返回:

SSH,便是否开启 Linux 系统的 ssh 服务,勾上后就能够在手机终端用 ssh 命令链接 Linux 系统,这里咱们勾上,而后下面的 SSH 设置 使用默认的不用改:

声音服务,即 Linux 系统的声音在手机上播放,这里咱们也勾上,设置用默认的不改:

图形界面,这就是一个比较重要的设置了,由于一旦 Linux 系统在手机上安装好后,不安装图形桌面(相似于 Windows 的桌面)的话,就只能经过 ssh 进行命令行操做系统;勾选启用后,点击下面的 图形子系统 选项,会弹出如下选项:

通常选 VNC,另外两个选项后面介绍:

图形界面设置,对应上面的 VNC 结果,通常也是使用默认的不用改,了解选项含义的能够自行修改:

桌面环境,即图形桌面环境的外观,这里咱们选 Xfce: 

下面也贴出几个选项对应的桌面外观截图,以供参考:

Xterm(无图形桌面,只有 shell):

LXDE:

Xfce:

MATE:

配置结束,这里再提一下上面说过的 图形子系统 的另外两个选项,仅供参考;首先是 X11,熟悉 Linux 的应该了解这个选项,物理机(或虚拟机)安装的 Linux 桌面系统通常都是使用的 X11 的图形服务,选上后进入 图形界面设置 后是如下选项:

不了解的能够按上图配置,另外,使用改选项须要安装图中所说的 Xserver XSDL 这个软件,能够去市场下载,或者使用下面的连接:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/1AuC09-HzT9ZWEwBzV7dRxg提取码: swx5

安装好后不用特地打开它,Linux 系统启动时它会被自动打开,运行(需等待一段时间,不要点屏幕)截图以下:

若是 图形子系统 选择 framebuffer 的话,图形界面设置 选项以下:

设置也是默认不变,只不过因为这种图形显示技术比较特殊(古老),笔者尝试并未成功,手机还屡次卡死 -_-,因此保守派就不要轻易尝试了,自担风险;

配置文件

上面进行的配置会被保存到一个配置文件中,点击 Deploy 软件主界面左上角的菜单按钮,选择第一 配置文件 选项便可对配置文件经行修改,这是默认的配置:

右上角的三个按钮分别是新建、重命名、删除,例如对当前配置文件重命名:

或者新建一个:

使用不一样的配置来选择不一样的系统,就能够实现一机安装多 linux 系统(手机存储足够前提下);

安装系统

配置完毕,接下来就是安装系统了;首先回到软件主界面,点击右上角的菜单按钮:

而后点击第一个 安装 按钮,而后弹出窗口中点 OK 肯定:

随后软件就开始 Linux 系统的安装了,主界面会不断输出一些信息:

操做系统较大,下载安装时间较长,通常用时在半小时左右,网速好的话会快一点;当输出信息以下图的最后一行时,则表示安装完成:

而后下一步本应是点击右上角菜单的配置按钮,可是这样会出现像下面这个的 问题

也就是输出一堆 skip,这是由于在没有关闭系统的状况下进行配置,会使得系统不能正常配置,因此须要先点击底部菜单的中止按钮(之后出现 skip 输出数量较多时也这样操做):

而后点击确认,最后输出 <<< stop 则表示中止成功:

这里再点击右上角菜单的配置选项,也须要等待一段时间:

配置结束后,点击启动按钮启动系统:

启动成功,都是 done 则表示正常启动,若 skip 较多则尝试中止后再启动(下图的 /dev/shm skip 能够不用管):

进入系统

Linux 系统启动完毕,接下来就是进入图形桌面环境,固然,因为以前开启了 SSH 服务,因此也可使用以前下载的 Terminal 终端软件进入 shell 环境,这里因为以前选择 VNC 做为图形子系统来配置的,因此这里就用 VNC Viewer 这个软件来进入图形桌面;

打开 VNCViewer 这个软件,进入主界面:

点击右下角的加号添加要链接的对象,这个软件原本是用于链接全部开有 VNC 服务的服务器的,因为咱们把 Linux 系统安装在手机(即本地),因此地址填写本地地址: 127.0.0.1,也能够写 localhost,一个意思,下面一行的名字随便写一个:

而后点击 create 建立链接,进入以下界面:

须要注意的只有 view only 这个不要选上,就是字面意思,只读模式;点击 CONNECT 进行链接,会提示输入密码:

密码就是以前在配置里面设置的用户密码,当时设置的是 test(以后记得本身修改密码),填上去,而后把记住密码勾上,再点击右上角的 CONTINUE

后面出现的安全提示不用管,取消勾选 warn me every time,再点击右上角的 OK 就能够进入系统了:

初次使用软件进入有个教程,跟着作完就好了,忘记了按钮的意思就点右数第二个问号按钮查看就好了,下面再给出几张横屏的特写:

这里再提供一款输入法软件:Hacker's Keyboard,翻译过来是黑客键盘,听着霸气,其实就是增长了计算机键盘中的 Ctrl, Shift, Tab, Alt 等键,由于常见手机输入法中不存在这几个键,在使用 Kali 系统时能够提供一些便利,自行搜索下载或使用如下连接:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/1iPgSBmNYy9xzHfJg2aoaEg提取码: ydah

也附上两张特写:

默认是横屏才出现特殊按键,能够自行在设置中修改:

关闭系统

再也不使用系统后点右上角的叉号断开链接:

回到主界面也会保存系统的快照,下次直接点击就能进去了:

断开链接不表明系统关闭了,还要回到 Deploy 这个软件,点击底部的中止按钮:

以下图,则表示系统成功关闭了:

下次要启动系统,就点击启动按钮,再用 VNC Viewer 链接就好了,切换不一样的 Linux 系统,只须要切换到对应的配置文件就好了,注意 每次切换或修改配置,都须要点击右上角的 配置 按钮进行从新配置,只有在安装新系统时才须要点击 安装 按钮;

至此关于 root 环境下使用 Deploy 安装 Kali 系统的教程就结束了,关于 Deploy 中未提到的其余菜单功能,能够自行探索;

非 ROOT 环境

固然,除去 root 玩家,总会存在那么一些手机厂商,让自家产品百试不得其 ROOT,让技术用户们又爱又恨-_-,因此这里也准备了非 ROOT 环境下的备选方案,固然,比起 ROOT 来讲,确实会阉割部分功能,但主要功能都能用,因此建议能 ROOT 就不要退而求其次;

主要软件

Termux

这是该方法的主角,这个软件相似于在手机中搭建一个 Linux 虚拟机,能够执行一些经常使用的 Linux 命令,与以前说的 Terminal 这个终端软件主要的区别就是该软件能够安装第三方软件包,就是熟悉的 apt 系列命令,很方便,所以功能也较为强大;能够在应用市场搜索下载,或者使用下面的连接:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/1z1blrlhPxUcsbRlmGTkAYw取码: stye

AndroNix

这个软件用于提供常见 Linux 发行版本系统的下载,其实用事后发现就是提供系统的下载连接,而后跳转到 Termux 进行下载和安装,搜索下载或使用连接:

  
    
  
  
   
   
            
   
   
连接: https://pan.baidu.com/s/177VOddzfaCXVoHb_duK5bA提取码: 7k65

安装系统

首先安装 Termux 软件而后打开,会进入如下界面:

它是一个简单的 shell,能够运行一些经常使用命令,自行探究;

而后安装并打开 AndroNix 软件,主界面以下:

这里仍是以安装 Kali 系统为例,那么咱们点击右上那个熟悉的 Kali 系统图标,进入如下界面,点击安装按钮:

按照指示的步骤进行,先点击复制,命令会被复制到系统粘贴板:

而后咱们切换到 Termux 这个软件,长按粘贴刚才复制的代码,内容以下:

而后按下回车后进行系统的下载和安装,一样须要一段时间;完成后,会在当前目录下生成几个新文件,以下图:

目录下的 start-kali.sh 文件就是咱们安装的 Kali 系统的启动文件,因此咱们输入命令 ./start-kali.sh 启动系统:

到这里咱们的系统算是安装成功了;

安装图形桌面

目前安装的 Kali 系统只能 shell 进行访问,接下来安装咱们熟悉的图形桌面环境,因此咱们手机切换回 AndroNix 这个软件,执行第二步,即择桌面系统,和以前同样,咱们点击 XFCE

这里一样是把代码复制到了系统粘贴板,须要切换到 Termux 并粘贴代码;须要 注意 的是,官方文件彷佛没有描述清楚,这里是要再启动后的 Kali 系统环境下粘贴代码以安装图形桌面,也就是运行 ./start-kali.sh 后再粘贴运行代码,而不是在 Termux 的默认环境下粘贴运行,以下图:

安装完后会提示设置链接密码,为了以后使用 VNC Viewer 进行链接:

再次输入以肯定:

而后会提示是否设置一个 view-only(只读模式)密码,这里咱们不设置,输入 n

而后就配置完成,要访问 Kali 图形桌面就须要先启动 VNC 服务,启动服务的命令为 vncserver-start,中止的命令为 vncserver-stop,以下图;

会发现这两个命令相似 Deploy 中的启动和中止按钮,只不过它是同时启动系统和 vnc 服务罢了;接下来就输入命令启动 Kali 系统的 VNC 服务,会输出如下信息:

到这里服务就启动成功了,接下来就是和以前同样,使用 VNC Viewer 这个软件来链接图形桌面环境,新建一个链接:

这里也是和以前惟一 不一样 之处,即 Deploy 默认开启的 vnc 服务端口是 5900,同时 VNC Viewer 的默认端口也是 5900,因此以前只须要输入 127.0.0.1 就好了,可是 vncserver-start 开启服务的端口是 5901 起步,随开启数量而递增,因此在配置地址时须要指定端口,即地址设为: 127.0.0.1:5901

后面的步骤就和以前大体相同了:

链接密码就是以前设置的密码:

来几张特写:

 

关闭系统

中止使用系统后,先断开链接:

而后回到 Termux 软件,输入 vncserver-stop 命令中止 vnc 服务,输入 exit 注销登陆 Kali系统,再按 CTRL + z 返回 Termux 环境(CTRL 在软件底部菜单栏):

到这里非 ROOT 条件下的 Kali 系统安装教程也结束了,想要安装其它发行版本的 linux 系统能够用相似的方法自行摸索,不作赘述;另外,从上面安装 Kali 系统的命令中也能发现,系统镜像并非官方源,而是为了适应在非 ROOT 手机中运行的“定制版本”,固然经常使用功能健在,只是某些部分有所限制,能够以后自行体会;




本文分享自微信公众号 - 程序骑士(program-knight)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索