Re: непривелигерованный контейнер lxc в бустер

Maxim Nikulin <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Message-ID <[email protected]>
On 14/02/2021 03:08, Maksim Dmitrichenko wrote:
> чт, 11 февр. 2021 г. в 18:51, Maxim Nikulin:
> 
>> Если правильно помню, то не сработает mkdev, такое namespaces не
>> позволяют. Так что готовить образы должен root. Дальше их уже может
>> распаковывать обычный пользователь, поэтому --template
>> download успешно работает.
>      
>> Если создается привилегированный контейнер, то с правами root все будет
>> работать. А fakeroot дает дополнительные накладные расходы - надо
>> сначала создавать дерево файловой системы во временном месте, и уже
>> потом распаковывать его в namespace. В этом смысле готовые образы типа
>> download проще.
> 
> То, что download проще, не обсуждается. Мой комментарий-вопрос относился 
> именно к готовке образа. Ведь вы написали: "готовить образы должен 
> root". Вот я и предположил, что если вы всё-таки дошли до готовки, то 
> нет никакой нужды на самом деле в том, чтобы это был root.

Наверно я просто не достаточно аккуратно выразился. Я назвал образом 
дерево файловой системы, которое будет использоваться внутри контейнера. 
В этом смысле fakeroot к стандартным шаблонам действительно не 
приспособили, от обычного пользователя работает только "download". Я 
пытался сказать, что не стоит ждать, что `-t debian` заработает. Хоть 
это и может показаться странным.

Надеюсь, что без особых сложностей можно написать шаблон, который будет 
запускаться от обычного пользователя и создавать дерево файлов с помощью 
debootstrap. Заодно получится образ, который можно распаковывать, чтобы 
разворачивать такие же контейнеры. Хотя пока сам не попробовал, ручаться 
не могу. Повисший на семафоре fakeroot я видел больше одного раза. С 
другой стороны, проблема была слишком редкой, чтобы серьезно искать причины.

P.S. Я как-то не осознавал важности того, что когда запускаешь 
lxc-контейнеры руками, их надо заворачивать в systemd units. И 
lxc-attach  надо пускать из-под systemd-run. Без Delegate=yes systemd, 
которые живут снаружи и внутри, могут между собой поругаться. И это 
лучше делать не только для чистых cgroup v2, хотя такие нюансы описаны 
именно там
https://wiki.debian.org/LXC/CGroupV2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.