apt get update在android上的chroot ubuntu 16.04上失败

apt get update在android上的chroot ubuntu 16.04上失败,ubuntu,debian,apt-get,apt,Ubuntu,Debian,Apt Get,Apt,我在Android设备上的chroot中安装了xenial(Ubuntu 16.04)(使用armhf架构)。一切正常。所有本地命令以及wget和curl都可以正常工作。然而,apt-get失败了。问题是: 1) “sudo apt get update”给了我一个错误:解析“ports.ubuntu.com”时出现临时故障(其他程序如wget和curl可以成功访问dns名称) 我ping了服务器并获得了IP,因此我编辑了/etc/apt/sources.list以反映这一点 2) “sudo

我在Android设备上的chroot中安装了xenial(Ubuntu 16.04)(使用armhf架构)。一切正常。所有本地命令以及wget和curl都可以正常工作。然而,apt-get失败了。问题是:

1) “sudo apt get update”给了我一个错误:解析“ports.ubuntu.com”时出现临时故障(其他程序如wget和curl可以成功访问dns名称)

我ping了服务器并获得了IP,因此我编辑了/etc/apt/sources.list以反映这一点

2) “sudo apt get update”给了我另一个错误:无法为91.189.88.150(f=2 t=1 p=6)创建套接字(13:权限被拒绝)

3) 好的,那么我起诉了所有的apt-*程序:sudo chmod u+s/usr/bin/apt-*

删除有关特定apt get版本的任何问题 我已经通过apt get自身移除了apt,并通过dpkg成功安装了apt.deb,但问题依然存在

非常令人惊讶的是,Ubuntu上的这个基本功能似乎被破坏了,它可能是特定于armhf软件包的。我似乎找不到同样的问题报告如此。然而,我确实发现另一个用户在reddit的/r/debian上报告了类似的情况,但没有得出结论

有什么建议吗?谢谢

PS:我没有理由说这是Android系统特有的,我认为这可能是使用armhf二进制文件进行chroot的一个普遍问题。但我刚刚用Android(我唯一可以测试的arm设备)在我的设置上测试了这个功能。

echo'nameserver8.8.8.8'>/etc/resolv.conf

为我工作。
基本上,这是根没有添加到正确的组中的问题。

根据我的经验,有两个可能的原因可能导致apt*无法在andoid环境下工作。 1空DNS。一旦你进入ubuntu,你必须设置DNS,最简单的方法是“echo”你的\u number\u DNS'>/etc/resolv.conf'
2将apt组更改为3003。vi/etc/passwd将apt组从65534更改为3003。结果看起来像“\u apt:x:105:3003::/noexistent:/bin/false”。apt get将从当前用户更改为文件passwd中指定的用户。但在android下,inet成员用户可以正常访问socket,详细信息请参考'system/core/include/private/android\u filesystem\u config.h'。因此,将apt组更改为inet(此处为3003)可以解决此问题

可能属于中定义的堆栈溢出主题中没有的问题。请不要回答这样的问题;相反,你应该标记它们以引起注意,它们将被适当地关闭或迁移。托比,你能帮我指出这里没有提到的内容吗?问题非常具体,关于aptitude无法在Android设备的沙盒环境中运行的Ubuntu上进行更新。这个问题有足够的细节可以在给定的设置中重现,而且似乎并不局限于Ubuntu或Android论坛。假设你的担心是真的,我想改进这些问题。你能指出吗?改变团队很有效!