Я использую Ubuntu Xenial и настраиваю простой непривилегированный пользовательский контейнер из шаблона (также Xenial).
Когда я присоединяюсь внутри и пытаюсь просто обновить или установить что-нибудь, «apt-get» не работает со следующими сообщениями:
root@c1:/# apt-get update
E: setgroups 65534 failed - setgroups (22: Invalid argument)
E: setegid 65534 failed - setegid (22: Invalid argument)
Reading package lists... Done
E: setgroups 65534 failed - setgroups (22: Invalid argument)
E: setegid 65534 failed - setegid (22: Invalid argument)
E: Method gave invalid 400 URI Failure message: Failed to setgroups - setgroups (22: Invalid argument)
E: Method gave invalid 400 URI Failure message: Failed to setgroups - setgroups (22: Invalid argument)
E: Method http has died unexpectedly!
E: Sub-process http returned an error code (112)
E: Method http has died unexpectedly!
E: Sub-process http returned an error code (112)
Так что вопрос - что здесь происходит?
Пользователем по умолчанию '_apt' имеет uid=65534, но lxc (и хост) настроен для разрешения только 10 000 subuids и подценурозов для пользователя (и поэтому непривилегированные контейнеры).
Одно решение могло бы быть пользователю аппарата '_apt' uid в контейнере ниже 10000.
другой путь к subuids/subgids предел на хост. Используйте команду sudo usermod --add-subuids 260000-325536 --add-subgids 260000-325536 $USER
для пользователя, который владеет контейнером, и удостоверьтесь, что lxc пользовательские контейнеры настроены с:
lxc.id_map = u 0 260000 65536
lxc.id_map = g 0 260000 65536