在iphone上安装linux的一种方法—在iOS上安装iSH

1 安装iSH

iSH是一个使用usermode x86模拟器将Linux shell引入IOS设备的工具,基于Alpine Linux,该程序占用空间小,具备一定的安全性且易于上手。不过目前iSH还处于测试阶段,部分功能还不完善。

2020年10月28日:
最新测试,无需下载TestFlight,直接在app store搜索 iSH ,找到iSH shell 这个应用直接下载即可。因为TestFlight无法连接和使用

安装步骤:

(由于之前iSH是beta版,所以想要在IOS设备上安装iSH,首先需要安装APP–TestFlight,现在无需安装TestFlight即可使用iSH,以下两段保留仅作为参考)
(1)在苹果应用市场App Store搜索TestFlight,获取-安装。安装好后打开,如下图所示。

(2)复制链接: https://testflight.apple.com/join/97i7KM8O ,在Safari浏览器打开,浏览器会自动跳转打开TestFlight,在弹出的对话框中点击“开始测试”(Start Testing),如上图所示,就可以收到加入iSH测试版的邀请了。

(3)安装iSH
安装完毕后,出现iSH界面:

Alpine为轻型的Linux发行版,Alpine 的意思是“高山的”,阿尔卑斯山。Alpine Linux网站首页注明“Small!Simple!Secure!Alpine Linux is a security-oriented,lightweight Linux distribution based on musl libc and busybox.”概括了以下特点:
1、小巧:基于Musllibc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;
2、安全:面向安全的轻量发行版;
3、简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。
4、适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。


可以做一些简单的命令测试和练习。

2 iSH基本使用

iSH自带了多功能键盘:
上图中的四个图标分为是:TAB键、Shift键、ESC键以及可以滑动的方向键,结合手机的键盘,基本可以满足shell的一些操作。
常用命令:

apk update                    更新源
apk info                    列出当前已安装的软件包
apk search <query>            搜索可安装包
apk add <package>             安装软件包
apk upgrade                   升级软件包
apk list [--installed]        列出所有的软件包信息
apk del <package>             删除软件包
chmod                         修改文件权限
chown                         修改文件归属
...

3 配置iSH

(1)更新国内源
Alpine的源文件为:/etc/apk/repositories,默认的源地址为:http://dl-cdn.alpinelinux.org/,可以将其更新为国内源。
法一 编辑源文件,输入命令

vi /etc/apk/repositories

采用国内阿里云的源,将其文件内容修改为:

# http://dl-cdn.alpinelinux.org/alpine/v3.11/main/
# http://dl-cdn.alpinelinux.org/alpine/v3.11/community/
https://mirrors.aliyun.com/alpine/v3.11/main/
https://mirrors.aliyun.com/alpine/v3.11/community/

编辑好后按ESC退出,输入:wq保存修改并退出
法二:如果不能熟练使用vi编辑器,可以使用如下命令来修改:

echo "https://mirrors.aliyun.com/alpine/v3.11/main/" > /etc/apk/repositories
echo "https://mirrors.aliyun.com/alpine/v3.11/community/" >> /etc/apk/repositories

(2)更新源:

apk update
apk upgrade

注:最新的ish由于权限问题没有配置apk命令,无法下载和使用,配置方式查看这个文章:
参考网址:ish安装apk
出现知乎网址无法连接的情况的话,可以将apk下载到本地再进行安装。文件传输方式参考本文第四步:4 在iSH和iCloud之间传输文件

wget http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk
tar xf apk-tools-static-2.10.5-r1.apk sbin/apk.static
mv sbin/apk.static /sbin/apk.static
chmod a+x /sbin/apk.static
./sbin/apk.static add apk-tools
su root
apk update

(3)安装gcc
使用如下命令可在Alpine容器中进行gcc的安装

apk add build-base(gcc的一个依赖文件)
apk add gcc

注意:安装过程中屏幕不可以待机,请耐心等待,否则会安装失败

安装成功确认:使用-v可以确认已安装的gcc版本信息

gcc –v

(4)安装gdb

apk add gdb

安装成功确认:使用-v可以确认已安装的gdb版本信息

gdb –v

4 在iSH和iCloud之间传输文件

现在,有了iSH就可以通过IOS设备进行实际的开发以及测试工作了,因此,通过iCloud将文件传输至iSH也是非常容易的。

安装了iSH后,系统的文件管理中会创建一个新的路径,以便用户能够随时访问iSH文件系统,并且能够通过该文件夹将文件发送至其他位置,例如iCloud Drive,手机内存或Dropbox中。
打开 文件 应用app,添加iSH文件系统位置,如下:

如果想要从iSH中传输文件,只需要选择该文件,然后点击“发送”以及“另存为”就可以了。目前这种文件传输还是单向的,iSH还是只出不进的状态(主目录在/root目录下)。不过用户也可以使用wget将文件传输至iSH。

参考资料:
你可曾想过在iOS上跑Linux?
iSH官网
iSH github

在iphone上安装linux的一种方法(无需越狱)相关推荐

  1. linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍

    本文介绍在Linux操作系统上安装NotePad++的三种方法,使用Snap.Wine和NotePadQQ.这里要说的是:由于像Wine和Snap软件包这样的工具,在Linux上运行的Notepad+ ...

  2. linux系统安装teamview,在Ubuntu 18.04系统上安装TeamViewer的两种方法

    本文介绍在Ubuntu 18.04 LTS Bionic Beaver系统上安装TeamViewer的两种方法,第一种方法使用图形用户界面安装,第二种使用终端命令行安装,同时可以先参考在Ubuntu ...

  3. 在 Linux 上安装软件的 3 种方法

    在 Linux 上安装软件的 3 种方法 转载自DLonng的Blog https://dlonng.com/posts/linux-install-soft 前言 学习 Linux 必须要学会如何安 ...

  4. 平板 刷 linux系统,在Linux系统上安装NotePad++的三种方法介绍

    本文介绍在Linux操作系统上安装NotePad++的三种方法,使用Snap.Wine和NotePadQQ.这里要说的是:由于像Wine和Snap软件包这样的工具,在Linux上运行的Notepad+ ...

  5. debian vbox设置_在Debian 9 Stretch系统上安装VirtualBox的两种方法

    本文向你介在Debian 9 Stretch系统上安装VirtualBox的两种方法:采用Oracle Repository或strectch-backports存储库来安装VirtualBox.本文 ...

  6. 小技巧:安装Linux的五种方法和心得(转)

    小技巧:安装Linux的五种方法和心得(转) 一.硬盘安装分两种情况: A. 是从Win系统上安装 B.是从别的Linux启动安装 这里介绍大多数人使用的Windows系统安装,第二种方法我还没有调过 ...

  7. linux安装教程心得,安装Linux的五种方法和心得

    这几天没有调别的东西,想起自己还不太会在没有安装光盘的时候 安装Linux,于是试了一下Linux的五种安装方法,下面是我的一些过程和心得,请高手指点一下. 安装Linux共有五种方法 1. 光盘 2 ...

  8. 在CentOS上安装Python3的三种方法

    Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装. 注:本文示例安装版本为Python3.5, 一.Python源代码编译安装 安 ...

  9. 平板安装python_在CentOS上安装Python3的三种方法

    Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装. 注:本文示例安装版本为Python3.5, 一.Python源代码编译安装 安 ...

最新文章

  1. 基于USEARCH或QIIME绘制Alpha多样性稀释曲线(rarefraction curve)
  2. OPPO A59s手机系统时间停止运行
  3. 里氏替换原则→类型转换
  4. Intel Realsense D435使用生成器初始化多个摄像头(c语言vector)
  5. Lua 调试(Debug)
  6. java flv转mp3_【转载】音频视频转化工具JAVE(ffmpeg的Java封装)
  7. 基于 .Net5.0 的快速开发框架,YuebonCore1.0.3 版已发布
  8. 外联样式表添加到html中,CSS联样式表之内联式、外联式和嵌入式
  9. 五、bootstrap-fileinput
  10. 带你全面了解Http和Https(开发人员必备)
  11. 拉格朗日插值多项式及其余项
  12. oracle客户端登录失败,Win7系统配置Oracle客户端连接失败的解决方法
  13. Electron 屏幕锁定 快捷键锁定 屏蔽快捷键
  14. EXCEL,如何根据数据选择合适的图表?
  15. 怎么提供电子邮件副本_停止提供您的电话号码和电子邮件
  16. CV之ModelScope:基于ModelScope框架的人脸人像数据集利用DCT-Net算法实现人像卡通化图文教程之详细攻略
  17. 平面设计教程:PS新手如何制作好透视立体字海报
  18. 线性代数 矩阵相似对角化的理解
  19. 【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问
  20. [Java]Error:No enclosing instance of type E is accessible. Must qualify the allocation with an enclo

热门文章

  1. 接口pending状态问题排查
  2. CSS选择器,盒子模型及浮动
  3. 扇形面积公式如何推导?
  4. 如何让程序在后台保持挂起状态
  5. 本地主机有网络虚拟机没有网络怎么办图文详解
  6. 2020腾讯Android岗初级到高级面试真题收录解析,七年老Android掏心分享
  7. Egret教程(一、入门)
  8. ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动构造特征/特征衍生)
  9. android bundle 机制,【Android开发】Bundle机制详解
  10. 高并发策略之限流:计数器、漏桶、令牌桶 三大算法的原理与实战(史上最全)