上网本 ubuntu debian android,关于Debian:在Android上的chroot ubuntu 16.04上,apt-get更新失败...

我在Android设备上的chroot中(使用armhf架构)安装了xenial(Ubuntu 16.04)。一切正常。所有本地命令以及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- *程序进行suid:sudo chmod u + s / usr / bin / apt- *

删除有关特定apt-get版本的任何问题

我已经通过apt-get自身删除了apt,并通过dpkg成功安装了apt.deb,但是问题仍然存在。

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

有什么建议么?谢谢。

PS:我没有理由声称这是特定于Android系统的,我认为这可能是使用armhf二进制文件chroot的普遍问题。但是我刚刚在安装程序中使用Android(可以测试的唯一手臂设备)对此进行了测试。

可能属于askubuntu.com

根据我的经验,有两个可能的原因可能会导致apt *无法在仿生环境下工作。

1个空DNS。 chroot进入ubuntu后,您必须设置DNS,最简单的方法是'echo'your_number_dns'> /etc/resolv.conf'

2将apt的组更改为3003。vi / etc / passwd将_apt的组从65534更改为3003。结果看起来像是" _apt:x:105:3003 :: /不存在:/ bin / false"。 apt-get将其从当前用户更改为文件passwd中分配的用户。但是在android下,作为inet成员的用户可以正常访问套接字,请参阅'system / core / include / private / android_filesystem_config.h'了解详细信息。因此将apt组更改为inet(此处为3003)可以解决此问题。

如帮助中心所定义,问题不是Stack Overflow的主题。 请不要回答这些问题; 相反,您应该标记它们以引起注意,它们将被关闭或适当迁移。

托比(Toby),您可以指出此处未涉及的内容吗? 这个问题是关于aptitude无法在Android设备上的沙盒环境中运行的Ubuntu上更新的问题。 这个问题有足够的细节可以在给定的设置下重现,而且似乎并不仅限于Ubuntu或Android论坛。 假设您的担心是真实的,那么我想改善问题。 你能指出吗?

换小组工作了!

什么会导致socket()"权限被拒绝"错误?

回声'名称服务器8.8.8.8'> /etc/resolv.conf

为我工作。

基本上,这是一个问题,因为没有将root添加到正确的组中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值