当前位置:   article > 正文

解决turmex安装kali报错问题_proot error: '/usr/bin/env' not found (root = /dat

proot error: '/usr/bin/env' not found (root = /data/data/com.termux/file

在手机上安装好turmex后,都喜欢安装一个Linux系统,我当时安装的时kali,但是安装过程中,报错不断。

2019.8.24更新

1,出现问题首先看下载kali源文件是否完整

安装步骤中,会显示[解压中.....]  ,可以看到解压的大小。

如图所示,完整源文件不小于81M。

如果源文件过小,则说明下载错误,而且在remove kali 这个命令下,是不会删除源文件的,下一次安装只会检测一次

然后如果有这个名字,就跳过下载了,要手动删除这个文件。

在根目录下 cd  .atilo  可以看到有tmp 文件夹,里面就是已经下载的不一定完整的源文件,可以手动删除,也可以手动修改脚本

里面是一个if……else……判断, 屏蔽掉if  直接执行else的函数体就行了。

2,安装完毕后,进入kali系统的要执行如下两条指令:

proot  --link2symlink             获取proot权限

startkali                                进入系统

 

分割线


下面记录一个最常见的错误:

Upgrading ... ] proot warning: can't sanitize binding "/sdcard": No such file or directory

proot warning: can't chdir("/root/.") in the guest rootfs: No such file or directory

proot info: default working directory is now "/"

proot error: '/usr/bin/env' not found (root = /home/.atilo/kali, cwd = /, $PATH=(null)) fatal error: see `proot --help`.

proot error: trying to remove a directory outside of '/data/data/com.ter

 

看问题,出现的是proot警告,总之就是没有root权限。

然后我们来分析一下atilo_cn的脚本(中文的就是用CN文件夹下的该文件安装)

在152行的  select_linux()函数的作用就是选择根据第二个参数选择对应的系统,同时标明源的网址。

主要是为upgrade变量进行赋值。

  1. function select_linux()
  2. {
  3. case "$1" in
  4. fedora)
  5. aarch64=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/30/Container/aarch64/images/Fedora-Container-Base-30-1.2.aarch64.tar.xz
  6. arm=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/27/Docker/armhfp/images/Fedora-Docker-Base-27-1.6.armhfp.tar.xz
  7. amd64=https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/30/Container/x86_64/images/Fedora-Container-Base-30-1.2.x86_64.tar.xz
  8. if [[ ${time_arch} = "i386" ]]; then
  9. error "Fedora 不支持x86架构"
  10. fi
  11. upgrade="dnf makecache"
  12. ;;
  13. debian)
  14. curl "https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/debian/buster/${time_arch}/default/" -o tmp.html
  15. ttime=`sed -n '7p' tmp.html | cut -d'>' -f2 | cut -d'<' -f1`
  16. rm tmp.html
  17. aarch64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/debian/buster/arm64/default/${ttime}rootfs.tar.xz
  18. arm=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/debian/buster/armhf/default/${ttime}rootfs.tar.xz
  19. amd64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/debian/buster/amd64/default/${ttime}rootfs.tar.xz
  20. i386=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/debian/buster/i386/default/${ttime}rootfs.tar.xz
  21. zip=pJx
  22. mirrors="deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main\ndeb http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main"
  23. mirrorspath="etc/apt/sources.list"
  24. upgrade="apt update && apt upgrade"
  25. ;;
  26. alpine)
  27. aarch64=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/releases/aarch64/alpine-minirootfs-3.10.0-aarch64.tar.gz
  28. arm=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/releases/armhf/alpine-minirootfs-3.10.0-armhf.tar.gz
  29. amd64=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/releases/x86_64/alpine-minirootfs-3.10.0-x86_64.tar.gz
  30. i386=https://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/releases/x86/alpine-minirootfs-3.10.0-x86.tar.gz
  31. zip=pzx
  32. sh=ash
  33. mirrors="http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/main\nhttp://mirrors.tuna.tsinghua.edu.cn/alpine/v3.10/community"
  34. mirrorspath="etc/apk/repositories"
  35. upgrade="apk update && apk upgrade"
  36. ;;
  37. arch)
  38. aarch64=https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-aarch64-latest.tar.gz
  39. arm=https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-armv7-latest.tar.gz
  40. if [[ ${time_arch} = "i386" || ${time_arch} = "amd64" ]];then
  41. error "Arch 不支持 x86 及 amd64 架构"
  42. fi
  43. zip=pzx
  44. mirrors="Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/\$arch/\$repo"
  45. mirrorspath="etc/pacman.d/mirrorlist"
  46. upgrade="pacman-key --init && pacman-key --populate archlinuxarm "
  47. ;;
  48. ubuntults)
  49. curl "https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/bionic/${time_arch}/default/" -o tmp.html >/dev/null 2>&1
  50. ttime=`sed -n '7p' tmp.html | cut -d'>' -f2 | cut -d'<' -f1`
  51. rm tmp.html
  52. aarch64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/bionic/arm64/default/${ttime}rootfs.tar.xz
  53. arm=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/bionic/armhf/default/${ttime}rootfs.tar.xz
  54. amd64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/bionic/amd64/default/${ttime}rootfs.tar.xz
  55. i386=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/bionic/i386/default/${ttime}rootfs.tar.xz
  56. zip=pJx
  57. mirrors="deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports bionic main restricted universe multiverse\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports bionic-updates main restricted universe multiverse"
  58. mirrorspath="etc/apt/sources.list"
  59. upgrade="apt update "
  60. ;;
  61. ubuntu)
  62. curl "https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/disco/${time_arch}/default/" -o tmp.html >/dev/null 2>&1
  63. ttime=`sed -n '7p' tmp.html | cut -d'>' -f2 | cut -d'<' -f1`
  64. rm tmp.html
  65. aarch64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/disco/arm64/default/${ttime}rootfs.tar.xz
  66. arm=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/disco/armhf/default/${ttime}rootfs.tar.xz
  67. i386=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/disco/i386/default/${ttime}rootfs.tar.xz
  68. amd64=https://mirrors.tuna.tsinghua.edu.cn/lxc-images/images/ubuntu/disco/amd64/default/${ttime}rootfs.tar.xz
  69. zip=pJx
  70. mirrors="deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports disco main restricted universe multiverse\ndeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports disco-updates main restricted universe multiverse"
  71. mirrorspath="etc/apt/sources.list"
  72. upgrade="apt update "
  73. ;;
  74. kali)
  75. select_linux "debian"
  76. upgrade='apt update &&apt install gnupg gnupg1 gnupg2 -y && echo -e "deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib\ndeb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib" > /etc/apt/sources.list && apt-key adv --recv ED444FF07D8D0BF6 && apt update && apt upgrade'
  77. ;;
  78. *)
  79. error "[ 不支持的发行版 $1 ]"
  80. ;;
  81. esac
  82. }

最下面是kali的选项的变量

upgrade='apt update &&apt install gnupg gnupg1 gnupg2 -y && echo -e "deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib\ndeb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib" > /etc/apt/sources.list && apt-key adv --recv ED444FF07D8D0BF6 && apt update && apt upgrade'。

  

其中&&的意思是第一条执行成功后再执行下一条指令,所以这个变量的主要为了执行后面一连串的指令。

然后继续往下看,在install_linux()函数中有:

  1. cat > ${PREFIX}/bin/start${release_name} <<- EOM
  2. #!/data/data/com.termux/files/usr/bin/bash
  3. cd \$HOME/.atilo/
  4. unset LD_PRELOAD
  5. command="proot"
  6. command+=" --link2symlink"
  7. #command+=" -0"
  8. command+=" -S ${release_name}"
  9. #command+=" -b /system"
  10. command+=" -b /sdcard"
  11. command+=" -b /dev/"
  12. #command+=" -b /sys/"
  13. command+=" -b /proc/"
  14. #uncomment the following line to have access to the home directory of termux
  15. #command+=" -b /data/data/com.termux/files/home"
  16. command+=" -w /root"
  17. command+=" /usr/bin/env -i"
  18. command+=" HOME=/root"
  19. command+=" LANG=C.UTF-8"
  20. command+=" PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
  21. command+=" TERM=xterm-256color"
  22. command+=" /bin/${sh} --login"
  23. export PROOT_NO_SECCOMP=1
  24. com="\$@"
  25. if [ -z "\$1" ];then
  26. exec \$command
  27. else
  28. \$command -c "\$com"
  29. fi
  30. EOM

这又是一串指令,目的就是在proot权限下 创建了一堆目录,并且设置了环境变量。

 

最后是

  1. tips "[ 升级中 ... ]"
  2. start${release_name} ${upgrade}
  3. tips "[ 全部完成 ]"
  4. tips "start${release_name} 以开始"

先startkali ${upgrade}   (注意这个upgrade变量)

再startkali 进入kali系统。

所以我们的问题就是出现在第一个指令的位置,更新错误。

所以我选择分步执行的。

在脚本中修改最后一项为

upgrade = 'apt update && apt install gunpg gunpg1 gunpg2 -y && apt-key adv --recv ED444FF07D8D0BF6

 && apt update && apt upgrade'   (这里事先我已经把清华源添加到了sources.list中了,所以没有挂那些网址)。

 

然后执行

proot --link2symlink -S kali -b /sdcard -b /dev/ -b /proc/ -w /root /usr/bin/env -i  HOME=/root LANG=C.UTF-8 PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:usr/local/sbin TERM=xterm-256color /bin/bash --login -c apt update
 

这样基本就完成了,

最后在startkali命令执行之前,要先执行 proot --link2symlink指令,是获取proot权限的。

后面就可以进入系统。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/317716
推荐阅读
相关标签
  

闽ICP备14008679号