在ubuntu touch中使用apt-get的后果

我刚刚收到了我的BQ Aquaris E4.5 Ubuntu版本。 我一直在玩它,发现它正是我所期待的。

关于它的一个好处是完整的ubuntu堆栈,包括包管理。 我想开始使用apt-get来安装诸如htop,python2,openvpn等内容。

但是,我已经达到apt-get Unable to write to /var/cache/apt The Package lists or status file could not be parsed or opened错误。 我理解( Ubuntu Touch使用apt-get )这是因为“/”分区被安装为ro ,而apt-get需要它才能工作。

这里( 使用sudo app-get install安装不起作用,“不使用锁定只读文件/ var / lib / dpkg / lock” )是如何解决这个问题的方法,使用以下命令sudo mount -o remount,rw / 。 <—可能是个坏主意。 请参阅常青树的答案,以获得更完整,更安全的启用rw模式的方法。

我想知道的是将“/”作为rw加载的后果是什么。 我已经读过它会让初学者停止OTA更新,只要我能使用apt-get保持我的系统最新,我就完全可以了。 但是,我也读过( https://askubuntu.com/a/583439/264601 )其他类型的恐怖故事。

所以我的两个问题是:

  1. 我是否可以使用apt-get使我的系统保持最新状态?
  2. 除了禁用OTA更新之外,我还有什么其他后果?

非常感谢您的回答!

  1. 不(但一段时间会觉得肯定)

如果启用rw on /并开始修改它,则不会禁用OTA更新的传递。 因此,当他们到达时,他们将像以前一样提供给您安装。

但是,OTA过程对文件系统来说非常简单。 它只是在您拥有的文件系统之上解压缩大量文件。 因为它知道(因为它应该是ro)以前的文件系统,所以这只是一组已经改变的文件。

所以你在赌博。 发生这种变化会导致副作用吗? 一般来说,是的。 通常,您将修改/ filesystem中的某个文件,并添加依赖于该更改的软件。 安装OTA后,将删除该更改,并可能替换为冲突的更改。 在这一点上,接下来发生的事情是不可知的,当然未经测试。

因此,在实践中,一些apt-get安装将在很大程度上将软件与现有文件并行添加,因此不会受到OTA的太大影响。 但是,一个文件集肯定会受到影响 – apt自己的记录保存(OTA提供构建ro文件系统时使用的记录)。 因此,您的系统将失去对存在的内容以及不存在的内容的了解。

这是apt-get升级的核心危险。 它将始终使用不正确的数据库来执行设备上的内容,因此无法保证成功。 随着您的添加变得更加复杂,并且随着底层系统进行重大转换(例如当手机从Utopic移动到Vivid时),手动运行apt-get将会做错事。

然后每个OTA都会成为赌博,直到您执行擦除并重新安装。

  1. 您的系统将慢慢崩溃 – 见上文。

为了能够在ubuntu-touch中使用“apt-get”,为了安全起见,我建议您使用“启用/禁用读写模式”function。

一旦启用“读写模式”,这将禁用Ubuntu系统升级。

您可以通过禁用“读写模式”来恢复自动无线更新。

“默认情况下,系统是只读的。您可以切换到读写模式,虽然这会禁用Ubuntu系统升级。主要目的是直接开发Ubuntu系统。这不是开发应用程序或正常使用系统所必需的可以从读写模式恢复,但需要从头开始重新安装系统。警告:将设备切换到读写模式(和/或从中恢复)是一项高级function,可能会导致数据完全丢失。警告:切换设备读写模式禁用自动无线增量更新。在设备可写后接受完整的无线更新可能会撤消您所做的更改。“

首先,在Ubuntu设备上启用开发人员模式。 要执行此操作,请转至设置→关于此设备→开发人员模式 。 (您必须通过替代方法应用“锁定安全性”:“ 4位密码 ”或“ 密码短语 ”。否则,使用“ 滑动 ”function,您无法启用“开发者模式”)

将您的设备连接到PC(假设这是一个Ubuntu平台环境)。

要validation连接,请使用adb显示当前连接的设备:

$ adb devices

附加设备列表

025d138e2f521413设备

  1. 安装phablet-tools包

确保已启用Universe归档 ,然后:

$ sudo apt-get install phablet-tools

  1. 启用读写模式:

$ phablet-config writable-image

系统以读写模式重新启动。

  1. 禁用读写模式:您可以禁用读写并恢复自动无线更新:

$ adb shell rm /userdata/.writable_image

要将通常读写保护的系统区域恢复到原始状态,该状态不包括您在读写模式下通过安装Ubuntu系统所做的任何更改:

$ ubuntu-device-flash touch –channel = CHANNEL

来源: https : //developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/#install-options

建议:到目前为止,使用“apt-get”并不是一个好主意,因为他们(Mr.Popey)说:

“我们不测试手机上的apt-get安装方案,如果你使用apt-get升级,你可以安装尚未经过全面测试的软件包作为基于图像的更新的一部分”

来源: 如何在Ubuntu-Touch中安装.deb文件?