{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "M9K blog: заметки с тегом podman",
    "_rss_description": "Заметки обо всём: devops, lifestyle, культура.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/blog.m9k.space\/tags\/podman\/",
    "feed_url": "https:\/\/blog.m9k.space\/tags\/podman\/json\/",
    "icon": "https:\/\/blog.m9k.space\/user\/userpic@2x.jpg?1769095194",
    "author": {
        "name": "M",
        "url": "https:\/\/blog.m9k.space\/",
        "avatar": "https:\/\/blog.m9k.space\/user\/userpic@2x.jpg?1769095194"
    },
    "items": [
        {
            "id": "240",
            "url": "https:\/\/blog.m9k.space\/all\/rootless-podman-vnutri-proxmox-lxc-problema-uid-gid-mapping\/",
            "title": "Rootless Podman внутри Proxmox LXC: проблема UID\/GID mapping",
            "content_html": "<p>При запуске File Browser через rootless Podman образ скачивался, но распаковка завершалась ошибкой:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">potentially insufficient UIDs or GIDs available in user namespace (requested 65534:65534)<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">lchown \/home: invalid argument<\/code><\/pre><p>Причина: пользователю podman выделено только 50 000 subordinate UID\/GID. Образ содержит файлы с UID\/GID 65534, которые не помещаются в доступный диапазон.<\/p>\n<p>Механизм<\/p>\n<p>Используются два уровня отображения идентификаторов:<br \/>\nPodman: UID\/GID образа → UID\/GID внутри Debian LXC.<br \/>\nLXC: UID\/GID Debian → UID\/GID хоста Proxmox.<\/p>\n<p>Настройки Podman определяются файлами \/etc\/subuid и \/etc\/subgid. Внешний mapping LXC задаётся через lxc.idmap.<\/p>\n<p>Исходная конфигурация Proxmox:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">root:100000:65536<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">deploy:165536:65536<\/code><\/pre><p>Непривилегированному LXC доступны 65 536 идентификаторов. Расширить диапазон непрерывно нельзя: следующие идентификаторы уже выделены пользователю deploy.<\/p>\n<p>Решение:<\/p>\n<p>Выделить свободный диапазон на Proxmox и добавить его в \/etc\/subuid и \/etc\/subgid хоста:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">root:231072:15536<\/code><\/pre><p>В конфигурации LXC сохранить исходное отображение и добавить новое:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">lxc.idmap: u 0 100000 65536<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">lxc.idmap: g 0 100000 65536<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">lxc.idmap: u 65536 231072 15536<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">lxc.idmap: g 65536 231072 15536<\/code><\/pre><p>Внутри LXC контейнера дополнить существующий диапазон пользователя podman:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">podman:10000:50000<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">podman:65536:15536<\/code><\/pre><p>Настроить аналогично UID и GID, предварительно проверив отсутствие пересечений с другими диапазонами. После остановки приложений перезапустить LXC и выполнить:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">podman system migrate<\/code><\/pre><p>Изменение mapping не переносит владельцев существующих файлов автоматически.<\/p>\n",
            "date_published": "2026-09-19T07:29:49+00:00",
            "date_modified": "2026-09-19T07:29:39+00:00",
            "_date_published_rfc2822": "Sat, 19 Sep 2026 07:29:49 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "240",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "239",
            "url": "https:\/\/blog.m9k.space\/all\/proxmox-7-vklyuchenie-docker-i-podman-v-lxc\/",
            "title": "Proxmox 7: включение Docker и Podman в LXC",
            "content_html": "<p>Для запуска Docker или Podman внутри LXC-контейнера необходимо активировать дополнительные возможности: nesting, keyctl и fuse.<\/p>\n<p>Скрипт запрашивает ID контейнера, проверяет наличие конфигурации, создаёт резервную копию с меткой времени и включает необходимые параметры. Остальные настройки features сохраняются.<\/p>\n<p>Запускать от root на хосте Proxmox.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/bash\r\n\r\nread -rp &quot;Введите ID контейнера (CTID): &quot; CTID\r\n\r\nif [[ ! &quot;$CTID&quot; =~ ^[0-9]+$ || ! -f &quot;\/etc\/pve\/lxc\/${CTID}.conf&quot; ]]; then\r\n    echo &quot;Ошибка: некорректный CTID или конфигурация не найдена&quot;\r\n    exit 1\r\nfi\r\n\r\nCONF=&quot;\/etc\/pve\/lxc\/${CTID}.conf&quot;\r\nBACKUP_DIR=&quot;\/root\/lxc-config-backups&quot;\r\n\r\nmkdir -p &quot;$BACKUP_DIR&quot; &amp;&amp;\r\ncp &quot;$CONF&quot; &quot;$BACKUP_DIR\/${CTID}.conf.$(date +%Y%m%d_%H%M%S).bak&quot; &amp;&amp;\r\npct set &quot;$CTID&quot; --features &quot;$(awk -F, '\/^features:\/{sub(\/^features:[[:space:]]*\/, &quot;&quot;); for(i=1;i&lt;=NF;i++) if($i !~ \/^(nesting|keyctl|fuse)=\/) printf &quot;%s,&quot;, $i} END{print &quot;nesting=1,keyctl=1,fuse=1&quot;}' &quot;$CONF&quot;)&quot; &amp;&amp;\r\npct config &quot;$CTID&quot; | grep '^features:'<\/code><\/pre><p>Пример выполнения:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Введите ID контейнера (CTID): 177\r\nfeatures: fuse=1,keyctl=1,nesting=1<\/code><\/pre><p>Резервная копия конфигурации сохраняется в \/root\/lxc-config-backups\/.<\/p>\n<p>После изменения параметров необходимо полностью остановить и запустить контейнер:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pct stop 177 &amp;&amp; pct start 177<\/code><\/pre>",
            "date_published": "2026-09-19T03:20:57+00:00",
            "date_modified": "2026-09-19T03:20:54+00:00",
            "_date_published_rfc2822": "Sat, 19 Sep 2026 03:20:57 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "239",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3877,
    "_e2_ua_string": "E2 (v3877; Aegea)"
}