Podman v6.0.0 🔥 Горячее 💬 Длинная дискуссия
Podman v6.0.0 выходит с полной переработкой сетевого стека: вместо slirp4netns и iptables используются Netavark, Pasta и nftables, что упрощает поддержку и готовит почву для новых функций. В экспериментальном Pesto‑переадресаровании портов сохраняется исходный IP‑адрес rootless‑контейнеров, а поддержка нескольких провайдеров в podman machine теперь включает команду os update для автоматического обновления виртуальных сред.
Quadlet‑юниты получили REST‑API, более надёжное отслеживание связанных файлов, расширенный набор .volume‑опций и дополнительные пути поиска для удобного распространения. Конфигурационные файлы переработаны, чтобы проще управлять настройками в многопользовательских сценариях, а поддержка Docker‑API усовершенствована, упрощая миграцию. В релизе более 150 исправлений и новых возможностей, что делает управление контейнерами быстрее, безопаснее и удобнее. Команда благодарит всех участников, особенно новых вкладчиков, за их вклад в проект.
Комментарии (257)
- Переход с Docker Desktop на Podman стал простым: достаточно установить и указать на docker‑compose.yml без изменений, при этом избавиться от постоянного демона.
- Podman предлагает rootless‑контейнеры, quadlet‑шаблоны и интеграцию с systemd, что упрощает управление сервисами и мониторинг.
- Существуют несовместимости: некоторые функции Docker‑CLI работают иначе, требуются дополнительные флаги, а также проблемы с сетью и поддержкой разных дистрибутивов.
- Пользователи отмечают улучшения в новых сетевых инструментах Podman и быстрый переход к ним, однако остаются вопросы по документации и миграции сложных compose‑файлов.
The Linux Boot Process: From Power Button to Kernel 🔥 Горячее
Процесс загрузки Linux начинается с нажатия кнопки питания, после чего процессор переходит в реальный режим (real mode) и выполняет инструкцию по адресу сброса 0xFFFFFFF0. Это приводит к запуску микропрограммы на материнской плате (BIOS или UEFI), которая выполняет самотестирование (POST) и ищет загрузочное устройство. При обнаружении загрузочного сектора (маркеры 0x55 и 0xAA), BIOS копирует его в память по адресу 0x7C00, после чего управление передается загрузчику GRUB. GRUB считывает свою конфигурацию, загружает ядро Linux в память и передает управление программе настройки, которая создает предсказуемую рабочую среду: выравнивает сегментные регистры, создает стек, очищает область BSS и запрашивает информацию о доступной памяти у микропрограммы. В конце концов, вызывается первая функция C с именем main, что标志着 переход к следующей фазе загрузки.
Комментарии (82)
- Обсуждение показало, что статья о процессе загрузки Linux охватывает только самые базовые концепции, что вызвало критику за упрощение и упущение важных деталей, таких как взаимодействие с UEFI, инициализация видео и роль загрузчика.
- Участники подчеркнули, что статья не соответствует уровню подготовки аудитории Hacker News, и что она не раскрывает важные темы, такие как влияние UEFI на процесс загрузки.
- Также было отмечено, что статья не затрагивает такие важные темы, как влияние UEFI на процесс загрузки и не упоминает о таких важных компонентах, как initrd и драйверы.
- Некоторые комментаторы выразили сожаление по поводу того, что статья не затрагивает такие темы, как влияние systemd на процесс загрузки и не упоминает о таких важных компонентах, как initrd и драйверы.
- Также было отмечено, что статья не упоминает о таких важных компонентах, как initrd и драйверы, и не раскрывает влияние systemd на процесс загрузки.
Environment variables are a legacy mess: Let's dive deep into them
Переменные окружения — это наследие прошлого: они устроены как плоский глобальный словарь строк без пространств имён или типов, и передаются от родительского процесса к дочернему.
В Linux они передаются через execve как массив строк вида KEY=VALUE. Внутри процесса они хранятся в стеке или куче, а программы используют разные структуры данных для их представления: Bash использует хешмапы, Python — словари, а C — массив environ.
Важно помнить, что изменения в дочернем процессе не влияют на родительский, и не все инструменты наследуют окружение. Например, login задаёт свежее окружение.
Из-за отсутствия пространств имён или типов легко допустить ошибку, например, перезаписать критичную переменную PATH. Хотя они удобны для конфигурации, их следует использовать с осторожностью.
Комментарии (140)
- Обсуждение охватило широкий спектр тем: от безопасности переменных окружения до передачи секретов, влияния на разные системы и стандарты, и даже до влияния на разработку программного обеспечения.
- Участники обсуждали, что переменные окружения небезопасны для передачи секретов, так как любой процесс может прочитать их.
- Были упомянуты альтернативы, такие как systemd-creds, которые могут быть использованы для передачи секретов безопасно.
- Также обсуждались проблемы с конфигурацией и стандартами, такие как использование переменных окружения для конфигурации вместо файлов конфигурации.
- Участники также обсуждали влияние переменных окружения на разработку программного обеспечения, включая влияние на разработку в Windows и Unix системах.
From M1 MacBook to Arch Linux: A month-long experiment that became permanenent 💬 Длинная дискуссия
Переход с macOS на Arch Linux (Omarchy)
После 15 лет на MacBook Pro M1 Max я пересел на недорогой Lenovo ThinkBook 14 G7 с Omarchy — обвязкой над Arch Linux. Первый месяц использования (с перерывами на ремонт) и две полные недели — вот краткий итог.
Подготовка
Перед переходом проверил, что всё критичное доступно:
- Obsidian, fuzzy-файловый поиск, скриншоты, фото-редактор, f.lux, календарь в трее, гибернация.
- Единственное, что не решено — полный бэкап системы (Time Machine пока не нашёл аналога).
Что потерял и что приобрёл
- Скриншоты: Snagit пока не заменил; быстрый OCR и библиотека скринов отсутствуют.
- «Просто работает»: иногда ломаются шорткаты, но это цена свежести Omarchy и моей неопытности.
- Аккумулятор и шум: хуже, чем у M1, но принимаю за свободу настройки.
- Бэкап: пока ручной; после случайного слома
/etc/sudoersпонял, что нужен надёжный механизм. - Синхронизация: Sync.com → Filen.io — безболезненно.
Omarchy
Omarchy — это Arch + готовые дотфайлы, Wayland (Hyprland), пакетный менеджер yay, и куча скриптов. Всё ставится одной командой, затем можно тонко под себя.
Опыт и выводы
- Аппарат: ThinkBook дешевле, но качество корпуса и экрана заметно хуже MacBook.
- Скорость работы: после настройки переключение между проектами стало мгновенным (Hyprland + workspaces).
- Обучение: за месяц освоил pacman, systemd, waybar, rofi, hyprland.conf — получил удовольствие от процесса.
- Следующий шаг: настроить полный образовый бэкап (Btrfs snapshots + rsync), чтобы не бояться экспериментов.
Итог: Linux требует времени, но даёт полный контроль и удовольствие от «собери сам».
Комментарии (361)
- Пользователи хвалят «железо» Apple: трекпад, экраны, батарею, отсутствие шума вентиляторов и долговечность (5-13 лет).
- Многие жалуются на macOS: странная логика, невозможность мгновенного переключения рабочих столов, «мусор» вроде .DS_Store.
- Linux-энтузиасты ищут ноутбуки с ARM, хорошими драйверами, металлическим корпусом и большой батареей, но пока не находят идеального аналога MacBook.
- Omarchy (Arch-дистрибутив) упрощает установку Arch, но вызывает сомнения в долгосрочной поддержке.
- Часть разработчиков использует Mac как «красивый UNIX» и SSH-доступ к мощным Linux-серверам, чтобы совместить плюсы обеих систем.