Podman 6.1: переименование томов, перезапуск виртуальных машин и улучшения Quadlet
Выпущен Podman 6.1 - очередное функциональное обновление популярной платформы для управления контейнерами без постоянно работающего фонового демона. Новая версия получила несколько практичных команд, расширенные возможности Quadlet, доработки сетевого стека, улучшенную интеграцию с Kubernetes и Docker API, а также внушительный набор исправлений.
Пользователи, которые планируют Podman 6.1 скачать, могут получить пакет из репозиториев своего дистрибутива либо воспользоваться официальными каналами проекта. Перед обновлением стоит свериться с [документацией Podman 6.1](https://linuxiac.com/podman-6-1-adds-volume-renaming-machine-restart/), особенно если Podman используется в автоматизированных средах, CI/CD или на нескольких операционных системах.
Переименование томов без пересоздания
Одним из главных нововведений стал механизм Podman 6.1 volume rename. Новая команда `podman volume rename` позволяет изменить имя уже существующего тома, не создавая его заново и не перенося вручную данные. Это особенно удобно при реорганизации проектов, переходе на более понятную схему именования или обслуживании compose-конфигураций.
При этом функция имеет несколько ограничений. Переименовать том, созданный с использованием volume-драйвера, нельзя. Кроме того, операция недоступна для тома, который в данный момент подключён к работающему контейнеру. Перед выполнением команды необходимо остановить зависимые контейнеры и убедиться, что том не используется.
Быстрый перезапуск Podman Machine
Для пользователей Podman Machine появилась отдельная команда `podman machine restart`. Она позволяет перезапустить виртуальную машину Podman одной операцией, без последовательного выполнения `stop` и `start`. Это упрощает обслуживание рабочих окружений на Windows и macOS, где контейнеры запускаются внутри виртуализированной Linux-среды.
Таким образом, запрос Podman 6.1 machine restart связан не только с новым синтаксисом, но и с более удобным управлением виртуальными машинами в сценариях разработки. Команда может пригодиться после изменения сетевых параметров, обновления компонентов или при восстановлении окружения после временного сбоя.
Изменения в сетевых функциях и публикации образов
Команда `podman network rm` теперь поддерживает параметр `--ignore`. С его помощью удаление несуществующей сети не приводит к ошибке, что особенно полезно в скриптах очистки и повторяемых сценариях автоматизации.
В `podman manifest push` добавлены параметры `--retry` и `--retry-delay`. Они позволяют автоматически повторять отправку манифеста при временных проблемах с реестром или сетью. Благодаря этому публикация многоплатформенных образов становится устойчивее, а в CI-процессах снижается количество ложных сбоев.
Rootless-инструмент Pesto получил поддержку перенаправления IPv6 с сохранением исходного IP-адреса. Кроме того, в `containers.conf` появился параметр `force_port_listen`, предназначенный для публикации портов с хоста Windows при работе Podman внутри WSL.
Quadlet и Kubernetes
В Quadlet для юнитов `.container` добавлен ключ `ImageVolume=`. Он позволяет задавать правила обработки томов, определённых непосредственно образом. Это расширяет возможности декларативного описания контейнеров через systemd и делает конфигурации более гибкими.
Разработчики также устранили ряд проблем Quadlet, включая ошибки в шаблонных юнитах, особенности установки и состояние гонки, способное привести к повреждению systemd-юнитов. Генератор теперь отправляет сообщения об ошибках в стандартный поток ошибок, а не только в буфер сообщений ядра, поэтому диагностика стала заметно прозрачнее.
Команда `podman generate kube` научилась преобразовывать healthcheck контейнера в Kubernetes-описание `livenessProbe`. Это упрощает перенос приложений между Podman и Kubernetes и сокращает объём ручной доработки YAML-файлов.
Исправления и обновление компонентов
Команда `podman info` теперь показывает не только общий и занятый объём памяти хоста, но и количество свободной памяти. Новая информация может оказаться полезной при диагностике нехватки ресурсов и анализе поведения контейнеров под нагрузкой.
В Podman 6.1 исправлена проблема, из-за которой удалённый клиент мог зависать при некоторых операциях через SSH. Также устранена ошибка в `podman volume prune --all --filter`: ранее фильтр по меткам мог игнорироваться, что приводило к удалению всех подходящих томов вместо объектов с указанной меткой.
Другие исправления затрагивают повреждённые журналы healthcheck, обработку дублирующихся `hostPort` при использовании `podman kube play`, неполную очистку контейнера после неудачного запуска и работу `podman image scp`, если имя пользователя содержит символ `@`. Отдельные проблемы были устранены в Podman Machine на Windows и macOS.
В состав выпуска вошли обновлённые базовые компоненты: Buildah 1.45, containers/image 5.41.1, containers/storage 1.64 и containers/common 0.69.1. Тем, кто планирует Podman 6.1 установка, рекомендуется предварительно проверить совместимость автоматизированных сценариев, конфигураций Quadlet и используемых плагинов.
Обновление особенно интересно администраторам и разработчикам, которым нужны более удобные операции с томами, предсказуемое управление виртуальными машинами и улучшенная интеграция с системными сервисами. При переходе с предыдущей версии желательно протестировать команды очистки, публикации образов и сетевые настройки в отдельном окружении, поскольку именно эти области получили наиболее заметные изменения.


