在iphone上安装linux的一种方法(无需越狱)
在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的一种方法(无需越狱)相关推荐
- linux终端下载notepad,在Linux系统上安装NotePad++的三种方法介绍
本文介绍在Linux操作系统上安装NotePad++的三种方法,使用Snap.Wine和NotePadQQ.这里要说的是:由于像Wine和Snap软件包这样的工具,在Linux上运行的Notepad+ ...
- linux系统安装teamview,在Ubuntu 18.04系统上安装TeamViewer的两种方法
本文介绍在Ubuntu 18.04 LTS Bionic Beaver系统上安装TeamViewer的两种方法,第一种方法使用图形用户界面安装,第二种使用终端命令行安装,同时可以先参考在Ubuntu ...
- 在 Linux 上安装软件的 3 种方法
在 Linux 上安装软件的 3 种方法 转载自DLonng的Blog https://dlonng.com/posts/linux-install-soft 前言 学习 Linux 必须要学会如何安 ...
- 平板 刷 linux系统,在Linux系统上安装NotePad++的三种方法介绍
本文介绍在Linux操作系统上安装NotePad++的三种方法,使用Snap.Wine和NotePadQQ.这里要说的是:由于像Wine和Snap软件包这样的工具,在Linux上运行的Notepad+ ...
- debian vbox设置_在Debian 9 Stretch系统上安装VirtualBox的两种方法
本文向你介在Debian 9 Stretch系统上安装VirtualBox的两种方法:采用Oracle Repository或strectch-backports存储库来安装VirtualBox.本文 ...
- 小技巧:安装Linux的五种方法和心得(转)
小技巧:安装Linux的五种方法和心得(转) 一.硬盘安装分两种情况: A. 是从Win系统上安装 B.是从别的Linux启动安装 这里介绍大多数人使用的Windows系统安装,第二种方法我还没有调过 ...
- linux安装教程心得,安装Linux的五种方法和心得
这几天没有调别的东西,想起自己还不太会在没有安装光盘的时候 安装Linux,于是试了一下Linux的五种安装方法,下面是我的一些过程和心得,请高手指点一下. 安装Linux共有五种方法 1. 光盘 2 ...
- 在CentOS上安装Python3的三种方法
Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装. 注:本文示例安装版本为Python3.5, 一.Python源代码编译安装 安 ...
- 平板安装python_在CentOS上安装Python3的三种方法
Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装. 注:本文示例安装版本为Python3.5, 一.Python源代码编译安装 安 ...
最新文章
- 基于USEARCH或QIIME绘制Alpha多样性稀释曲线(rarefraction curve)
- OPPO A59s手机系统时间停止运行
- 里氏替换原则→类型转换
- Intel Realsense D435使用生成器初始化多个摄像头(c语言vector)
- Lua 调试(Debug)
- java flv转mp3_【转载】音频视频转化工具JAVE(ffmpeg的Java封装)
- 基于 .Net5.0 的快速开发框架,YuebonCore1.0.3 版已发布
- 外联样式表添加到html中,CSS联样式表之内联式、外联式和嵌入式
- 五、bootstrap-fileinput
- 带你全面了解Http和Https(开发人员必备)
- 拉格朗日插值多项式及其余项
- oracle客户端登录失败,Win7系统配置Oracle客户端连接失败的解决方法
- Electron 屏幕锁定 快捷键锁定 屏蔽快捷键
- EXCEL,如何根据数据选择合适的图表?
- 怎么提供电子邮件副本_停止提供您的电话号码和电子邮件
- CV之ModelScope:基于ModelScope框架的人脸人像数据集利用DCT-Net算法实现人像卡通化图文教程之详细攻略
- 平面设计教程:PS新手如何制作好透视立体字海报
- 线性代数 矩阵相似对角化的理解
- 【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问
- [Java]Error:No enclosing instance of type E is accessible. Must qualify the allocation with an enclo
热门文章
- 接口pending状态问题排查
- CSS选择器,盒子模型及浮动
- 扇形面积公式如何推导?
- 如何让程序在后台保持挂起状态
- 本地主机有网络虚拟机没有网络怎么办图文详解
- 2020腾讯Android岗初级到高级面试真题收录解析,七年老Android掏心分享
- Egret教程(一、入门)
- ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动构造特征/特征衍生)
- android bundle 机制,【Android开发】Bundle机制详解
- 高并发策略之限流:计数器、漏桶、令牌桶 三大算法的原理与实战(史上最全)