Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Классика карточных игр! Яркий геймплей, простые правила. Развивайте стратегию, бросайте вызов соперникам и станьте королем карт! Играйте прямо сейчас!

Дурак подкидной и переводной

Карточные, Настольные, Логическая

Играть

Топ прошлой недели

  • AlexKud AlexKud 35 постов
  • Animalrescueed Animalrescueed 52 поста
  • Webstrannik1 Webstrannik1 50 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
1
James.Marshal
James.Marshal
9 дней назад

3x-ui, подписка⁠⁠

здравтвуйте. подскажите, для чего нужна подписка в панели 3xui? имею vps сервер с 3xui (только для родственников и друзей. никаких телеграмм каналов у меня нет. чтоб тапками не кидались). вот есть там в инбаунде клиент. и там же есть 2 qr кода. один из них "подписка". что она дает и зачем нужна? подскажите знающие.

VPN VPS Сервер Linux Debian Цензура Без рейтинга Ключи IT Интернет Текст
3
40
Sheridan.ru
Sheridan.ru
22 дня назад
Лига Сисадминов

А я тут live дистрибутив собираю, CephOS⁠⁠

Приветствую! :)

Зовут меня Sheridan и я алкоголик гентушник. 0x14 лет уже в emerge медитирую. А кнопки нажимаю и того больше.

Захотелось мне домой NAS. Хорошая штука, удобная. Да только вот ничего меня из того, что есть, не устраивало. А потом я узнал про распределённые ФС. А потом узнал про ceph (кстати, советую почитать это - неплохо для понимания что такое ceph). И захотел себе этот самый ceph домой. Не спрашивайте - зачем. Потому что могу :)

Долго ли коротко я эту хотелку в себе носил, да только вот недавно обломились мне несколько корпусов серверных. И железо дома накопилось разное. Решил, что пора действовать. Ну, железо в кучу собрать да от пыли почистить недолго, а вот ceph развернуть там-же - жалко диски то. Это ж целых как минимум два диска надо в btrfs raid положить, чтобы / там себя чувствовало нормально и у меня голова не болела на тему "А что если диск всё? Переустанавливать?".

И вспомнил я тут про SmartOS. А что, удобно! Грузимся с флешки а все диски гипервизору отдаём и радуемся. Поискал такое про ceph и не нашёл. Штош, думаю, зря я с железа компрессором пыль сдувал? Надо писать.

Ну, и, собственно, вот: CephOS. Уже 0.0.6beta, почти релиз. Обкатываю как раз на железе, ищу слабые стороны.

Без ai тут не обошлось, да. Чукча не художник, чукча девопс :)

Без ai тут не обошлось, да. Чукча не художник, чукча девопс :)

Идея такая:

  • Загружаем с флешек несколько хостов

  • Выполняем на каждом несколько команд

  • ...

  • PROFIT!

Взял я в руки дебьяновый live-build и полез в него встраивать ceph. И скриптами обмазывать. И метриками обкладывать. Куда-ж без метрик то?

И вот что в итоге получилось:

  • Live дистрибутив, предназначенный для поднятия кластера ceph

  • Дистрибутив умеет в persistence (настройки/изменения в / будут храниться на другом разделе/устройстве)

  • Про ceph можно ничего не знать

  • Можно просто выключить ноду и хранилище не пострадает

  • Можно добавить дисков, хостов и хранилище просто увеличится.

  • Можно удалять из хранилища диски и хосты

  • Метрики, метрики, мои любимые метрики :) От node_exporter до smatrctl_exporter. К тому же есть специальный helper-генератор конфига для prometheus, чтобы не приходилось врукопашную все эти хосты подключать.

  • Для более лёгкого подключения есть специальный скрипт, который складывает всё нужное в архив. Этот архив потом нужно забрать на хост клиента, разложить оттуда всё по местам, выбрать и установить нужный вариант монтирования. Ну, в смысле можно руками, можно в fstab, а можно и systemd юнитами монтировать.

  • Можно управлять сжатием CephFS

  • Ну и никто не отнимает стандартный ceph cli, ежели надо чтото сделать, что скриптами ещё не обмазано. Или написать ишью в github проекта - вполне возможно, что обмажу :)

  • Debian bookworm, Ceph squid

Да, флешки менее надёжны, чем hdd. Но флешки категорически дешевле. Да, флешки медленнее hdd. Но это не сильно то и надо в контексте CephOS. Вдобавок live-build поддерживает persistent разделы - то есть можно условный /var/lib/ceph положить на отдельный ssd и оно ещё до загрузки основной системы примонтируется куда надо. Флешка ушла к тёмным магистрам? Ну и дырку на ней в небе, мы с другой загрузимся и заново подключим ноду к хранилищу. Удобно!

Ориентирован CephOS на soho сегмент, где особо не нужны высокие скорости и сверхвысокая надёжность. То есть можно поднять вообще на хламе. То есть не надо это сравнивать с промышленными Ceph кластерами на десятки хостов (хотя ничего не мешает и на CephOS это поднять). А для дома, я считаю, самое то, если завалялось штуки три комплекта старого железа :)

Как? Скачиваем cephos_installer_0.0.6beta.run, записываем несколько флешек, втыкаем флешки в хосты, выполняем на хостах несколько команд, генерируем и забираем архив со всем необходимым для монтирования, монтируем, пользуемся. Всё :)

А ежели поподробнее интересно, то вот тут моя шпаргалка по подъёмы CephOS в виртуалках и на железном полигоне

И мне нужна ваша помощь.

Если у кого есть возможность - протестируйте пожалуйста. Баги/вопросы/пожелания/проклятия в ишью забрасывайте. А если вы с ceph работаете, то я бы очень хотел от вас советов полезных. Мои то два глаза ещё зоркие вроде, но это глаза автора. А нужны глаза пользователей :)

Спасибо, что прочитали эту простыню :)

Показать полностью 1
[моё] Linux IT Файловое хранилище DevOps Системное администрирование Debian Длиннопост
36
13
DmitriitheFals
1 месяц назад
Лига Сисадминов
Серия Кудахтеры: Ansible

Ansible для детского сада в скольки то частях. Часть 1.Про все сразу⁠⁠

Для лиги лени: какое-то пособие для совсем отсталых
Ansible для детского сада в скольки то частях. Часть 1.Про все сразу.
Ansible для детского сада в скольки то частях. Часть 2. Костылируем жалкое подобие WSUS
Ansible для детского сада в скольки то частях. Часть 3 Безопасность

Для кого этот текст, и про что тут. Избыточно длинное введение

Ситуация «Я и Ansible» кому-то может показаться странной, кому-то обычной. Я его использую, много кто использует, и много кто использует гораздо лучше меня. И, при этом, много кто не использует, или не использует для каких-то очевидных для меня задач. Какие-то базовые вопросы ставят меня в тупик.
По абсолютно не понятным для меня причинам, Ansible, Terraform, прочие инструменты, время от времени записывают в «инструменты девопс». Это странно, потому что Ansible самый обычный инструмент, применяйте куда хотите. Хотя в русскоязычном сообществе почему то сменилась терминология, devops +-= linux system administrator, даже если у вас нет ни CI, ни CD, ни SDLC и тем более SSDLC, хотя бы на базовом уровне Microsoft SDL.
Поэтому я подумал, подумал, и решил написать одну, может две, статьи по теме, заодно в своей голове уложу какие-то вещи.

В ходе написания статьи выяснилось интересное, про Opensource в целом, как движение и .. образ мысли? Возможно, это абсолютно неправильная точка зрения, но .. GNU/Linux, точнее GNU как движение, точнее The Open Source Initiative / The Open Software Foundation, Inc. (OSF) , The Apache Software Foundation не умирают, но изменяются и трансформируются, и делают это каким-то путем.. Повелителя перемен. Ну хорошо хоть не Слаанеш, хотя местами чемпионы сразу двух.

Ansible для детского сада в скольки то частях. Часть 1.Про все сразу

Изначальное движение «кто-то пишет код, кто-то проверяет код» постепенно закончилось лет 10-15 назад. Критическими точками стали:
18 апреля 2016, с выходом статьи The Linux scheduler: a decade of wasted cores. Полный текст тут
9 декабря 2021, когда в Log4j выявили CVE-2021-44228. Не замеченную ни корпоративным миром, ни Apache Software Foundation с 2013 года. И это еще ничего, сейчас пошла волна вайб кодинга, там просто караул.

Причины "исхода" понятны – повсеместное внедрение тайм трекеров, систем управления, рост сложности кода, etc, не дают возможности массово заниматься «чем-то еще», и вклад в сообщество не монетизируется. Разработчики и команды забрасывают проекты, достаточно вспомнить RatticDB и Ralph, и последние движения везде.
В том числе поэтому страдает не только сам код, но и документация и сценарии к нему. Особенно статьи, написанные исключительно в стиле «как надо» и «как у меня получилось». Сценарии «как у меня не получилось и почему» оседают в глубинах форумов или (запрещенная в РФ социальная сеть) групп. Поэтому, иногда проще сделать самому «как не надо», сломать раз 10, написать «так точно не работает», и написать «как работает у меня и почему».
Мне почему-то проще так, через «сломай сам и напиши что сломал».

Теперь к теме

Важно: Вышло обновление 2.19, и вышло давно! :

Ansible Core 2.19 was officially released on July 21, 2025.

Important: The ansible-core 2.19/Ansible 12 release has made significant templating changes that might require you to update playbooks and roles. The templating changes enable reporting of numerous problematic behaviors that went undetected in previous releases, with wide-ranging positive effects on security, performance, and user experience. You should validate your content to ensure compatibility with these templating changes before upgrading to ansible-core 2.19 or Ansible 12. See the porting guide to understand where you may need to update your playbooks and roles. ROADMAP.

Теоретическая часть

В чем плюс Microsoft Active Directory Domain Services (MS AD DS) ? Он просто работает. Я про это уже писал вот тут (SSSD или приключения Linux в домене Windows (MS AD)) и повторяться не нужно. И он документирован сотнями примеров и миллионами пользователей.

В чем минусы Ansible? Точнее, в чем минусы, если его не настраивать.

Первый минус.
Можно сказать, что очевидный минус в том, что это не pull система.
Хотя в документации и есть раздел Ansible-Pull, цитата:

You can invert the Ansible architecture so that nodes check in to a central location instead of you pushing configuration out to them. Ansible-Pull

То есть, каждый включенный в MS AD сервер «сам» ходит за новыми настройками, и «сам» их обновляет.
Для Ansible можно при первом проходе добавить в CRON
git pull && ansible-playbook
Но это не наш метод. И все равно, нужна система типа Netbox или хотя бы php ipam или хотя бы, если вы совсем немощный, GLPI - Gestionnaire libre de parc informatique.
GLPI, как оказалось, неплохой проект. Для целей именно ИТ в серверному сегменте, и управлению конфигурациями пригоден меньше, чем Netbox, но коллеги из РФ прикручивали к GLPI костыли, и кое как это ездило. Даже какое-то русское сообщество есть. Ralph, говорят, тоже неплох. Был.
Ralph 3 - Asset Management / CMDB
Github allegro /ralph

Цитата

Discontinued

"Effective January 1, 2024, all development and maintenance activities associated with the Ralph project on Allegro's GitHub will be discontinued. This means that no further updates or modifications will be applied to the codebase. However, the current version of the code available in the repository will remain the property of the community, allowing individuals to continue contributing to and developing Ralph as they deem appropriate."

As Allegro, we continue to publish Ralph's source code and will maintain its development under a "Sources only" model, without guarantees. We believe this approach will be beneficial, allowing everyone to use and build upon the software. Our current goal is to modernize the software and ensure its long-term maintainability, and we're investing into it in 2025.

However, we are not operating under a contribution-based model. While we welcome discussions, we do not guarantee responses to issues or support for pull requests. If you require commercial support, please visit http://ralph.discourse.group.

We sincerely appreciate all past contributions that have shaped Ralph into the powerful tool it is today, and encourage the community to continue using it.
README.md


IT Asset Management нужен, но это система управления, а не система настройки. Хотя, может и к ней есть какой-то готовый модуль выгрузок, или его можно написать, именно как модуль.

Вторая минус, с которым я, может быть, попробую разобраться, хотя меня до вчера она не волновала, это AAA, точнее какую учетную запись использует Ansible, и как он это делает. От рута все запускать, конечно, легко. Один рут везде, один пароль. Удобно.

Второй с половиной минус, это ограничения по исполнению для разных типов учетных записей и прочего sudoers .

Вопрос использования Ansible, скорее, относится к координации отделов. Если отдел ИТ един, и при создании очередной виртуальной машины, в облаке или на земле, VM или сервис добавляется в Ansible, или изначально VM и физика добавлены, или есть автоматическое обновление, то проблемы нет.
Но ситуация «забыли добавить» и бесконтрольных Windows машин касается. Если Windows машину в домен не добавить, то волшебным образом она там не появится, и на локальном WSUS отмечаться не будет.

Отсутствие контроля плохо что так, что эдак.

Что дает еще одно направление для инвентаризации, про которое я как-то раньше не думал, но про это напишу статью - Инвентаризация инфраструктуры и сети. Пометки для начинающих. Черновик заведен, дальше как время будет получится.

Развертывание Ansible

Про это я уже писал в статьях:
Переход на Proxmox Часть 3. Ansible и
Переход на Proxmox Часть 6. Возвращаемся к запуску Ansible.

После всех тестов у меня остался:
Кое-как настроенный Ansible
Никак толком не настроенный Linux с SSSD
Git, просто Git. Причем в контейнере

Ansible AWX у меня не заработал. Не очень и хотелось. Можно было поиграть в семафор.

В репозитории  AWX Project написано, цитата:

The last release of this repository was released on Jul 2, 2024. Releases of this project are now paused during a large scale refactoring.

Event-Driven Ansible has been a huge success, but we’ve noticed the same limitations with our existing architecture when trying to combine it with this new system. We need Jobs to be able to report their status in different ways and in different places. We need credentials and projects to be usable in a secure way by this system. Inventory management for Ansible today isn’t just about Servers or Containers, they are about Cloud and Service APIs as well as Embedded and Edge capabilities.
Upcoming Changes to the AWX Project

Размер VM для тестов

Судя по тестовой VM, для связки Nexus + Gitlab + Ansible – 4 Гб на одной VM не достаточно.
30% памяти забирает Java, 20% - Ruby, остальное расходится туда-сюда.
5 Гб минимум для тестов в моей конфигурации. Это не самая большая сложность, когда на нормальном ноутбуке уже 64 Гб памяти (на топовых уже по 96 Гб оперативной памяти).

Проверяем легаси конфиг Ansible
Делаем: ansible --version
Получаем:
ansible --version == ansible [core 2.18.7]; config file = /etc/ansible/ansible.cfg

Делаем: ansible-inventory --list -y
Получаем, цитата:

all:
children:
proxmox:
hosts:
192.168.1111.1111:
ansible_python_interpreter: /usr/bin/python3

servers:
hosts:
server1:
ansible_host: 192.168.1111.2222
ansible_port: 2424
ansible_python_interpreter: /usr/bin/python3

(я в курсе, что IP 192.168.1111.1111 принципиально неправильный, но мне лень как-то иначе переписывать данные реального стенда)

Посмотрим что там:
nano /srv/ansible/hosts.ini
Как оказалось, /srv/ansible/hosts.ini – это какой-то недоделанный файл из какой-то старой инструкции. Не нужен
nano /etc/ansible/hosts

Получаем тот же конфиг, что выше, но в формате конфига:

[servers]
server1 ansible_host=192.168.1111.1111

[servers:vars]
ansible_port=2424

[proxmox]
192.168.1111.2222

[all:vars]
ansible_python_interpreter=/usr/bin/python3

Не знаю, можно ли назвать это вообще конфигом, или минимальным конфигом для работ, но мне хватает. Точно так же, я не уверен, что надо записывать сервера по IP, а не по DNS имени, или не как-то иначе. Точнее, уверен что лучше по имени, но можно и так.

2424 – это у меня SSH переставлен, в /etc/ssh/sshd_config. Потому что на 22 порту этой VM живет gitlab в docker. Можно было наоборот.

В интернетах пишут то, что мне нравится, то есть: используйте FQDN. цитата:

I tend to disregard the commonly accepted best practice of using short names for hosts, and use FQDNs instead. In my opinion, it has many advantages.
It makes it impossible for host names and group names to collide.
Creating an additional variable to carry the host's expected FQDN becomes unnecessary.
It is immediately obvious which (actual) host caused some failure.
Ansible naming conventions

В Ansible docs пишут то же самое: Inventory basics: formats, hosts, and groups

Но можно использовать и алиасы: раздел Inventory aliases в документации.

Что имеем перед началом движения:
не обновленный Ansible с простейшей конфигурацией.
Еще раз напоминаю, что в 2.19 (у меня ansible [core 2.18.7] поведение поменялось.

Обновиться в лабе просто так можно, но нельзя, через:
pip install --upgrade ansible-core
Можно выстрелить себе в ногу, потому что:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

ansible 11.8.0 requires ansible-core~=2.18.7, but you have ansible-core 2.19.2 which is incompatible.
Successfully installed ansible-core-2.19.2


Придется обновлять целиком:
python3 -m pip install --upgrade --user ansible

Found existing installation: ansible 11.8.0 ; Successfully installed ansible-12.0.0

Такое, конечно, только в лабе и можно делать, без бекапа, без плана отката, вообще без ничего.

Переходим к фактам, просто потому что они мне были нужны
Самая простая команда для сбора фактов -
ansible all -m setup
Читается просто.
Ansible – понятно.
All – группа по умолчанию

Дальше интересно, потому что «-m» описан в Ansible ad hoc commands, как
$ ansible [pattern] -m [module] -a "[module options]"

Там же описана параллельное исполнение команд, цитата:

By default, Ansible uses only five simultaneous processes. If you have more hosts than the value set for the fork count, it can increase the time it takes for Ansible to communicate with the hosts. To reboot the [atlanta] servers with 10 parallel forks

Кто подскажет, почему я тупой, и нашел перечень в выводе man ansible
и не нашел какой-то подробной статьи в интернетах?

-m == module; в том числе -m ansible.builtin.setup , что равно -m setup
-a == command
-u username == user
--ask-become-pass ; -K; --ask-pass – запрос пароля;
--check == Running playbooks in check mode
-i; --inventory == файл с перечнем хостов
-e; ‐‐extra-vars
-l; ‐‐limit


man ansible

usage: ansible [-h] [--version] [-v] [-b] [--become-method BECOME_METHOD] [--become-user BECOME_USER] [-K | --become-password-file BECOME_PASSWORD_FILE]
[-i INVENTORY] [--list-hosts] [-l SUBSET] [--flush-cache] [-P POLL_INTERVAL] [-B SECONDS] [-o] [-t TREE] [--private-key PRIVATE_KEY_FILE]
[-u REMOTE_USER] [-c CONNECTION] [-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS] [--sftp-extra-args SFTP_EXTRA_ARGS]
[--scp-extra-args SCP_EXTRA_ARGS] [--ssh-extra-args SSH_EXTRA_ARGS] [-k | --connection-password-file CONNECTION_PASSWORD_FILE] [-C] [-D]
[-e EXTRA_VARS] [--vault-id VAULT_IDS] [-J | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS] [-M MODULE_PATH]
[--playbook-dir BASEDIR] [--task-timeout TASK_TIMEOUT] [-a MODULE_ARGS] [-m MODULE_NAME]

Проблема такого опроса лишь в том, что это состояние «на сейчас, для всех». Поэтому, если у вас удаленный сервер выключен, или не настроен, или что-то еще, то вы получите, цитата

server1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh

И еще, для моего сценария «ничего не настроено», нужно делать не
ansible all -m setup
а
ansible all -m setup --ask-pass

Или индивидуально для группы серверов:
ansible proxmox -m setup --ask-pass
не говоря про остальное написанное в прошлых текстах:
ansible proxmox -m command -a "uptime" --ask-pass
ansible proxmox -m command -a "pveversion" --ask-pass
ansible proxmox -m command -a "echo ' Hello World '" --ask-pass

И тогда, в ответ на
ansible all -m setup --ask-pass
вы получите не только
(IP) | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [

Но и огромную xml выгрузку по массе параметров.

Дальше нужно переходить к использованию фильтров
вместо ansible all -m setup --ask-pass
запросить ansible all -m setup -a "filter=ansible_cmdline" --ask-pass

и, кроме использования фильтров, переходить на использование групп, где proxmox – это группа, описанная в /etc/ansible/hosts, и строка будет выглядеть как:

ansible proxmox -m setup --ask-pass -a "filter=ansible_cmdline" --ask-pass

Или придется вспоминать базовейший баш, и выгрузить все полученное в файл,
ansible proxmox -m setup --ask-pass > ansible_out_01.txt

Внутри выгруженного файла посмотреть список того, что можно получать в фильтрах, например:
ansible_all_ipv4_addresses
ansible_default_ipv4
ansible_uptime_seconds
ansible_kernel

И получать именно их:
ansible proxmox -m setup -a "filter=ansible_uptime_seconds" --ask-pass

С выводом:
"ansible_facts": {
"ansible_uptime_seconds": 3416

Переходим к первому плейбуку
nano /home/user/uptime_report.yml

Плейбук целиком утащен из интернета или даже написан AI: цитата:

---

- name: Get and display system uptimes
hosts: all
gather_facts: true # Ensure facts are gathered to get ansible_uptime_seconds
tasks:
- name: Display uptime for each host
ansible.builtin.debug:
msg:
Hostname: {{ inventory_hostname }}
Uptime: {{ (ansible_uptime_seconds / 86400) | int }} days,
{{ ((ansible_uptime_seconds % 86400) / 3600) | int }} hours,
{{ (((ansible_uptime_seconds % 86400) % 3600) / 60) | int }} minutes,
{{ (((ansible_uptime_seconds % 86400) % 3600) % 60) | int }} seconds
when: ansible_uptime_seconds is defined

Выполним что получилось. Без всякой фильтрации хостов и без ничего.

ansible-playbook uptime_report.yml --ask-pass --user root

Получим 1 [ERROR]: Task failed: Failed to connect to the host via ssh:, и  получим 1 ОК.

Ansible playbook для первой группы хостов
На следующем этапе первым делом надо разобраться вот с чем.
Команда:
ansible-playbook -i /path/to/your/hosts_file.ini your_playbook.yml
позволяет работать со списком хостов и групп хостов в hosts_file.ini
по умолчанию это /etc/ansible/hosts

Очень хочется сделать по образцу:
Вместо: ansible proxmox -m setup -a "filter=ansible_uptime_seconds" --ask-pass
сделать:
ansible-playbook proxmox uptime_report.yml --ask-pass --user root

Так работать не будет!

man ansible-playbook

NAME
ansible-playbook - Runs Ansible playbooks, executing the defined tasks on the targeted hosts.
SYNOPSIS
usage: ansible-playbook [-h] [--version] [-v] [--private-key PRIVATE_KEY_FILE]
[-u  REMOTE_USER]  [-c  CONNECTION]  [-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS] [--sftp-extra-args SFTP_EXTRA_ARGS] [--scp-extra-args
SCP_EXTRA_ARGS]  [--ssh-extra-args  SSH_EXTRA_ARGS]  [-k  |  --connection-password-file  CONNECTION_PASSWORD_FILE]  [--force-handlers]
[--flush-cache]  [-b]  [--become-method  BECOME_METHOD]  [--become-user BECOME_USER] [-K | --become-password-file BECOME_PASSWORD_FILE] [-t TAGS] [--skip-tags SKIP_TAGS] [-C] [-D] [-i INVENTORY] [--list-hosts] [-l SUBSET] [-e EXTRA_VARS] [--vault-id VAULT_IDS] [--ask-vault-pass‐

word  |  --vault-password-file  VAULT_PASSWORD_FILES]  [-f  FORKS]  [-M MODULE_PATH] [--syntax-check] [--list-tasks] [--list-tags] [--step]

[--start-at-task START_AT_TASK] playbook [playbook ...]

Значит, что остаётся делать?
Остается читать: Ioannis Moustakis Ansible Inventory (есть русский перевод от slurm: Изучаем Ansible Inventory: основы и примеры использования)

Делаем: ansible-playbook uptime_report.yml --ask-pass --user root --inventory proxmox
И ничего подобного, ТАК НЕ РАБОТАЕТ

казалось бы, очевидный лично для меня вариант, когда команда исполняется для какой-то выборки из группы хостов в файле «по умолчанию».
Ничего подобного. Будьте добры делать, как положено:
ansible-playbook uptime_report.yml --ask-pass --user root --inventory  /etc/ansible/hosts  --limit “proxmox”

То есть, конечно, можно и покороче:
ansible-playbook uptime_report.yml --ask-pass --user root --limit “proxmox”


но через limit, если вы хотите «чтобы бралось по умолчанию, но не все».
Лично мне вот это было совершенно не очевидным моментом, что это делается именно так.
Проблема роста – когда ты имеешь развитую инфраструктуру, где все это давно используется, и закопано в наслоениях легаси, можно сделать по образцу и, скорее всего, будет работать. Когда ты пытаешься разобраться, как и почему сделано вот так, это уже совсем другое.

Ну да ладно.
Скопирую конфиг себе и буду пробовать
cp /etc/ansible/hosts /home/user/1st_hosts.ini

Удалю лишнее, оставлю только

[proxmox]
192.168.1111.2222

[all:vars]
ansible_python_interpreter=/usr/bin/python3

И сделаю
ansible-playbook uptime_report.yml --ask-pass --user root --inventory  /home/user/1st_hosts.ini

И все отлично, и все работает.

Заключение.

Система как система, ничем не хуже другой. Первый час сложно, ничего не понятно. Потом попроще.

Литература
Переход от SDLC к SSDLC
GLPi
Ansible AWX
Upcoming Changes to the AWX Project
Classic SysAdmin: Configuring the Linux Sudoers File

Ansible docs Discovering variables: facts and magic variables
Ansible docs Run Your First Command and Playbook
Redhat An introduction to Ansible facts
Specify hosts in ansible-playbook command line
stackoverflow  How to list all currently targeted hosts in an Ansible play

Ioannis Moustakis Ansible Inventory (есть русский перевод от slurm: Изучаем Ansible Inventory: основы и примеры использования)

@editors, мне бы теги Ansible и CMDB, пожалуйста! Не работает их добавление у меня, ничего не могу с этим сделать!

Показать полностью 1
[моё] Windows IT Linux Microsoft Debian Длиннопост Ansible
8
Dr.DV
2 месяца назад
Лига Сисадминов

Нужна помощь с OpenMediaVault⁠⁠

Приветствую, друзья!
Обращаюсь к сообществу за советом и помощью в настройке OpenMediaVault.
Суть такова: есть домашняя файлопомойка на которой крутиться OMV 7. При ее постройке была задача собрать минисервер из старых комплектух (на данный момент это FX8350 + 8Гб DDR3 + россыпь из пары SSD по 120 Гб и пары HDD на 250 Гб и 1 Тб) и поднять NAS, который может подключаться к WI-FI из коробки. Это важно, т.к. розетки ethernet в комнате нет, как и кабель притащить в неё нет возможности.
Так вот NAS на OMV 7 работает, но хочется большего. Чего, спросите вы? Конечно же miniDLNA и облачного доступа к папкам с фото для неноглядной супруги. miniDLNA работает без проблем - все телевизоры дома его видят, фильмы/сериалы смотрятся без проблем.
И тут начинаются трудности конкретно у меня. А именно настройка Docker. После установки Compose при попытке задать настройки папок в Docker система выдаёт вот такую ошибку:

500 - internal server error
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LC_ALL=C.UTF-8; export LANGUAGE=; omv-salt deploy run --no-color compose 2>&1' with exit code '1': debian:
----------
ID: configure_compose_global_env_file
Function: file.managed
Name: /srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/compose/global.env
Result: True
Comment: File /srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/compose/global.env is in the correct state
Started: 19:35:42.484912
Duration: 142.62 ms
Changes:
----------
ID: configure_etc_docker_dir
Function: file.directory
Name: /etc/docker
Result: True
Comment: The directory /etc/docker is in the correct state
Started: 19:35:42.627644
Duration: 0.894 ms
Changes:
----------
ID: /etc/docker/daemon.json
Function: file.serialize
Result: True
Comment: File /etc/docker/daemon.json updated
Started: 19:35:42.628628
Duration: 52.602 ms
Changes:
----------
diff:
---
+++
@@ -1,3 +1,3 @@
{
- "data-root": "/srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/docker"
+ "data-root": "/var/lib/docker"
}
----------
ID: docker_install_packages
Function: pkg.installed
Result: False
Comment: An error was encountered while installing package(s): E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
Started: 19:35:43.508231
Duration: 21668.952 ms
Changes:
----------
ID: docker_compose_install_packages
Function: pkg.installed
Result: True
Comment: All specified packages are already installed and are at the desired version
Started: 19:36:05.177328
Duration: 172.653 ms
Changes:
----------
ID: docker_purged_packages
Function: pkg.purged
Result: True
Comment: None of the targeted packages are installed or partially installed
Started: 19:36:05.350077
Duration: 0.749 ms
Changes:
----------
ID: docker
Function: service.running
Result: False
Comment: Failed to start docker.service: Unit docker.service not found.
Started: 19:36:05.373095
Duration: 148.741 ms
Changes:
----------
ID: /etc/systemd/system/docker.service.d/waitAllMounts.conf
Function: file.managed
Result: True
Comment: File /etc/systemd/system/docker.service.d/waitAllMounts.conf is in the correct state
Started: 19:36:05.522219
Duration: 94.262 ms
Changes:
----------
ID: systemd_daemon_reload_docker
Function: cmd.run
Name: systemctl daemon-reload
Result: True
Comment: State was not run because none of the onchanges reqs changed
Started: 19:36:05.617431
Duration: 0.005 ms
Changes:
----------
ID: create_usr_local_bin_dir
Function: file.directory
Name: /usr/local/bin
Result: True
Comment: The directory /usr/local/bin is in the correct state
Started: 19:36:05.617491
Duration: 0.926 ms
Changes:
----------
ID: configure_compose_scheduled_backup
Function: file.managed
Name: /etc/cron.d/omv-compose-backup
Result: True
Comment: File /etc/cron.d/omv-compose-backup is in the correct state
Started: 19:36:05.618500
Duration: 188.316 ms
Changes:
----------
ID: configure_compose_scheduled_update
Function: file.managed
Name: /etc/cron.d/omv-compose-update
Result: True
Comment: File /etc/cron.d/omv-compose-update is in the correct state
Started: 19:36:05.806966
Duration: 141.555 ms
Changes:
----------
ID: configure_compose_scheduled_prune
Function: file.managed
Name: /etc/cron.d/omv-compose-prune
Result: True
Comment: File /etc/cron.d/omv-compose-prune is in the correct state
Started: 19:36:05.948628
Duration: 138.424 ms
Changes:
----------
ID: configure_compose_scheduled_start
Function: file.managed
Name: /etc/cron.d/omv-compose-start
Result: True
Comment: File /etc/cron.d/omv-compose-start is in the correct state
Started: 19:36:06.087150
Duration: 150.164 ms
Changes:
----------
ID: configure_compose_scheduled_stop
Function: file.managed
Name: /etc/cron.d/omv-compose-stop
Result: True
Comment: File /etc/cron.d/omv-compose-stop is in the correct state
Started: 19:36:06.237415
Duration: 138.497 ms
Changes:

Summary for debian
-------------
Succeeded: 13 (changed=1)
Failed: 2
-------------
Total states run: 15
Total run time: 23.039 s
[ERROR ] Command 'apt-get' failed with return code: 100
[ERROR ] stdout: Get:1 file:/var/cache/openmediavault/archives InRelease
Ign:1 file:/var/cache/openmediavault/archives InRelease
Get:2 file:/var/cache/openmediavault/archives Release
Ign:2 file:/var/cache/openmediavault/archives Release
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:6 http://security.debian.org/debian rep InRelease
Hit:7 http://security.debian.org/debian-security bookworm-security InRelease
Get:8 https://openmediavault-plugin-developers.github.io/packages/... sandworm InRelease [3945 B]
Err:9 http://security.debian.org/debian rep Release
404 Not Found [IP: 146.75.118.132 80]
Get:10 https://deb.debian.org/debian stable-backports InRelease [53.7 kB]
Err:10 https://deb.debian.org/debian stable-backports InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
Hit:11 https://openmediavault.github.io/packages sandworm InRelease
Hit:12 https://download.docker.com/linux/debian bookworm InRelease
Hit:13 http://packages.openmediavault.org/public sandworm InRelease
Hit:14 http://deb.debian.org/debian bookworm InRelease
Hit:15 http://deb.debian.org/debian bookworm-updates InRelease
Ign:16 http://deb.debian.org/debian-security security InRelease
Err:17 http://deb.debian.org/debian-security security Release
404 Not Found [IP: 146.75.118.132 80]
Ign:18 https://github.com/OpenMediaVault-Plugin-Developers/packages... deb InRelease
Ign:19 http://mirror.yandex.ru/debian deb InRelease
Err:20 http://mirror.yandex.ru/debian deb Release
404 Not Found [IP: 213.180.204.183 80]
Err:21 https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release
404 Not Found [IP: 140.82.121.3 443]
Reading package lists...
[ERROR ] stderr: E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
[ERROR ] retcode: 100
[ERROR ] An error was encountered while installing package(s): E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
[ERROR ] The named service docker is not available
[ERROR ] Command '/bin/systemd-run' failed with return code: 5
[ERROR ] stderr: Running scope as unit: run-rfbb4a7942d6b4404acea4defd80bf95f.scope
Failed to stop docker.service: Unit docker.service not loaded.
[ERROR ] retcode: 5
[ERROR ] Command '/bin/systemd-run' failed with return code: 5
[ERROR ] stderr: Running scope as unit: run-r29ebbf139bb9468e865b6b20d0ecbb37.scope
Failed to start docker.service: Unit docker.service not found.
[ERROR ] retcode: 5
[ERROR ] Failed to start docker.service: Unit docker.service not found.

OMV\ExecException: Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LC_ALL=C.UTF-8; export LANGUAGE=; omv-salt deploy run --no-color compose 2>&1' with exit code '1': debian:
----------
ID: configure_compose_global_env_file
Function: file.managed
Name: /srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/compose/global.env
Result: True
Comment: File /srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/compose/global.env is in the correct state
Started: 19:35:42.484912
Duration: 142.62 ms
Changes:
----------
ID: configure_etc_docker_dir
Function: file.directory
Name: /etc/docker
Result: True
Comment: The directory /etc/docker is in the correct state
Started: 19:35:42.627644
Duration: 0.894 ms
Changes:
----------
ID: /etc/docker/daemon.json
Function: file.serialize
Result: True
Comment: File /etc/docker/daemon.json updated
Started: 19:35:42.628628
Duration: 52.602 ms
Changes:
----------
diff:
---
+++
@@ -1,3 +1,3 @@
{
- "data-root": "/srv/dev-disk-by-uuid-d7ccf09a-0b64-4d3d-8e21-54b10bdd45d1/docker"
+ "data-root": "/var/lib/docker"
}
----------
ID: docker_install_packages
Function: pkg.installed
Result: False
Comment: An error was encountered while installing package(s): E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
Started: 19:35:43.508231
Duration: 21668.952 ms
Changes:
----------
ID: docker_compose_install_packages
Function: pkg.installed
Result: True
Comment: All specified packages are already installed and are at the desired version
Started: 19:36:05.177328
Duration: 172.653 ms
Changes:
----------
ID: docker_purged_packages
Function: pkg.purged
Result: True
Comment: None of the targeted packages are installed or partially installed
Started: 19:36:05.350077
Duration: 0.749 ms
Changes:
----------
ID: docker
Function: service.running
Result: False
Comment: Failed to start docker.service: Unit docker.service not found.
Started: 19:36:05.373095
Duration: 148.741 ms
Changes:
----------
ID: /etc/systemd/system/docker.service.d/waitAllMounts.conf
Function: file.managed
Result: True
Comment: File /etc/systemd/system/docker.service.d/waitAllMounts.conf is in the correct state
Started: 19:36:05.522219
Duration: 94.262 ms
Changes:
----------
ID: systemd_daemon_reload_docker
Function: cmd.run
Name: systemctl daemon-reload
Result: True
Comment: State was not run because none of the onchanges reqs changed
Started: 19:36:05.617431
Duration: 0.005 ms
Changes:
----------
ID: create_usr_local_bin_dir
Function: file.directory
Name: /usr/local/bin
Result: True
Comment: The directory /usr/local/bin is in the correct state
Started: 19:36:05.617491
Duration: 0.926 ms
Changes:
----------
ID: configure_compose_scheduled_backup
Function: file.managed
Name: /etc/cron.d/omv-compose-backup
Result: True
Comment: File /etc/cron.d/omv-compose-backup is in the correct state
Started: 19:36:05.618500
Duration: 188.316 ms
Changes:
----------
ID: configure_compose_scheduled_update
Function: file.managed
Name: /etc/cron.d/omv-compose-update
Result: True
Comment: File /etc/cron.d/omv-compose-update is in the correct state
Started: 19:36:05.806966
Duration: 141.555 ms
Changes:
----------
ID: configure_compose_scheduled_prune
Function: file.managed
Name: /etc/cron.d/omv-compose-prune
Result: True
Comment: File /etc/cron.d/omv-compose-prune is in the correct state
Started: 19:36:05.948628
Duration: 138.424 ms
Changes:
----------
ID: configure_compose_scheduled_start
Function: file.managed
Name: /etc/cron.d/omv-compose-start
Result: True
Comment: File /etc/cron.d/omv-compose-start is in the correct state
Started: 19:36:06.087150
Duration: 150.164 ms
Changes:
----------
ID: configure_compose_scheduled_stop
Function: file.managed
Name: /etc/cron.d/omv-compose-stop
Result: True
Comment: File /etc/cron.d/omv-compose-stop is in the correct state
Started: 19:36:06.237415
Duration: 138.497 ms
Changes:

Summary for debian
-------------
Succeeded: 13 (changed=1)
Failed: 2
-------------
Total states run: 15
Total run time: 23.039 s
[ERROR ] Command 'apt-get' failed with return code: 100
[ERROR ] stdout: Get:1 file:/var/cache/openmediavault/archives InRelease
Ign:1 file:/var/cache/openmediavault/archives InRelease
Get:2 file:/var/cache/openmediavault/archives Release
Ign:2 file:/var/cache/openmediavault/archives Release
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Ign:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Get:3 file:/var/cache/openmediavault/archives Packages
Get:4 file:/var/cache/openmediavault/archives Translation-en
Ign:4 file:/var/cache/openmediavault/archives Translation-en
Get:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:5 file:/var/cache/openmediavault/archives Translation-ru
Ign:6 http://security.debian.org/debian rep InRelease
Hit:7 http://security.debian.org/debian-security bookworm-security InRelease
Get:8 https://openmediavault-plugin-developers.github.io/packages/... sandworm InRelease [3945 B]
Err:9 http://security.debian.org/debian rep Release
404 Not Found [IP: 146.75.118.132 80]
Get:10 https://deb.debian.org/debian stable-backports InRelease [53.7 kB]
Err:10 https://deb.debian.org/debian stable-backports InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
Hit:11 https://openmediavault.github.io/packages sandworm InRelease
Hit:12 https://download.docker.com/linux/debian bookworm InRelease
Hit:13 http://packages.openmediavault.org/public sandworm InRelease
Hit:14 http://deb.debian.org/debian bookworm InRelease
Hit:15 http://deb.debian.org/debian bookworm-updates InRelease
Ign:16 http://deb.debian.org/debian-security security InRelease
Err:17 http://deb.debian.org/debian-security security Release
404 Not Found [IP: 146.75.118.132 80]
Ign:18 https://github.com/OpenMediaVault-Plugin-Developers/packages... deb InRelease
Ign:19 http://mirror.yandex.ru/debian deb InRelease
Err:20 http://mirror.yandex.ru/debian deb Release
404 Not Found [IP: 213.180.204.183 80]
Err:21 https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release
404 Not Found [IP: 140.82.121.3 443]
Reading package lists...
[ERROR ] stderr: E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
[ERROR ] retcode: 100
[ERROR ] An error was encountered while installing package(s): E: The repository 'http://security.debian.org/debian rep Release' does not have a Release file.
W: GPG error: https://deb.debian.org/debian stable-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265
E: The repository 'https://deb.debian.org/debian stable-backports InRelease' is not signed.
E: The repository 'http://deb.debian.org/debian-security security Release' does not have a Release file.
E: The repository 'http://mirror.yandex.ru/debian deb Release' does not have a Release file.
E: The repository 'https://github.com/OpenMediaVault-Plugin-Developers/packages... deb Release' does not have a Release file.
[ERROR ] The named service docker is not available
[ERROR ] Command '/bin/systemd-run' failed with return code: 5
[ERROR ] stderr: Running scope as unit: run-rfbb4a7942d6b4404acea4defd80bf95f.scope
Failed to stop docker.service: Unit docker.service not loaded.
[ERROR ] retcode: 5
[ERROR ] Command '/bin/systemd-run' failed with return code: 5
[ERROR ] stderr: Running scope as unit: run-r29ebbf139bb9468e865b6b20d0ecbb37.scope
Failed to start docker.service: Unit docker.service not found.
[ERROR ] retcode: 5
[ERROR ] Failed to start docker.service: Unit docker.service not found. in /usr/share/php/openmediavault/system/process.inc:247
Stack trace:
#0 /usr/share/php/openmediavault/engine/module/serviceabstract.inc(62): OMV\System\Process->execute()
#1 /usr/share/openmediavault/engined/rpc/config.inc(187): OMV\Engine\Module\ServiceAbstract->deploy()
#2 [internal function]: Engined\Rpc\Config->applyChanges()
#3 /usr/share/php/openmediavault/rpc/serviceabstract.inc(124): call_user_func_array()
#4 /usr/share/php/openmediavault/rpc/serviceabstract.inc(155): OMV\Rpc\ServiceAbstract->callMethod()
#5 /usr/share/php/openmediavault/rpc/serviceabstract.inc(628): OMV\Rpc\ServiceAbstract->OMV\Rpc\{closure}()
#6 /usr/share/php/openmediavault/rpc/serviceabstract.inc(152): OMV\Rpc\ServiceAbstract->execBgProc()
#7 /usr/share/openmediavault/engined/rpc/config.inc(208): OMV\Rpc\ServiceAbstract->callMethodBg()
#8 [internal function]: Engined\Rpc\Config->applyChangesBg()
#9 /usr/share/php/openmediavault/rpc/serviceabstract.inc(124): call_user_func_array()
#10 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod()
#11 /usr/sbin/omv-engined(546): OMV\Rpc\Rpc::call()
#12 {main}

Пр этом, конечно же сам Docker не установлен и не запущен. При попытке его перезапуска система выдаёт ошибку с указанием того, что Docker не установлен.
Попытка его переустановки заканчивается неудачей с ошибкой о потере соединения. Подобные сообщения в разных РУ-форумах или англоязычных пестрят сообщениями о том, что нужно все делать по инструкции с omv-extrass или дают ssl команды, которые в моем случае её помогают - принудительное переустановка либо заканчивается неудачей, либо реакция системы остаётся неизменной.

Все установки я делал как было указано на страничках соответствующих пакетов, в т.ч. omv-extras касательно последовательности установки Compose и настройки Docker.

Ребята, куда смотреть? Чего ему не хватает и откуда это взять?

PS. Я не программист и не сисадмин. Я простой инженер машиностроитель. Поэтому заранее прошу давать ответы и советы на обывательском языке


Показать полностью
[моё] Debian Openmediavault Компьютерная помощь Длиннопост
13
9
itstorytelling
itstorytelling
2 месяца назад
Информатика • Алексей Гладков

16.08.1993 — Проект Debian [вехи_истории]⁠⁠

🗓 16.08.1993 — Проект Debian [вехи_истории]

🗓 16.08.1993 — Проект Debian [вехи_истории]

👨‍🦰 Более 30 лет назад Иан Мёрдок основал проект Debian — сообщество, которое занимается созданием и поддержкой свободного дистрибутива Debian GNU/Linux.

Иан Мёрдок

Иан Мёрдок

💡 Интересные факты:

- Название Debian — это комбинация имени девушки Иана (Debra) и его собственного имени (Ian).

- Первое объявление о проекте было опубликовано в списке рассылки comp.os.linux.development — в эпоху, когда интернетом пользовались в основном через модемы и терминалы.

- Debian стал одним из первых дистрибутивов, управляемых полностью сообществом, без центральной корпорации.

- Основой философии Debian являлись "Социальный контракт" и Руководство по свободному ПО Debian, которые определяют, что всё в системе должно быть свободным и открытым.

- Система известна своей строгостью к качеству — каждая стабильная версия проходит многоступенчатое тестирование, иногда на это уходит несколько лет.

- Именно Debian ввёл один из самых известных форматов пакетов — .deb и менеджер пакетов APT, которые стали эталоном удобства для Linux.

- Более 300 дистрибутивов, включая Ubuntu, Linux Mint, Raspbian, построены на базе Debian.

- Символом проекта является закрученная спираль, которая отражает идею свободы и эволюции.

Логотип Debian

Логотип Debian

🔧 Технологическое наследие

Debian оказал огромное влияние на развитие Linux и свободного ПО, став фундаментом для серверов, облачных систем, встраиваемых решений и даже компьютерных кластеров для научных исследований.

Вариант UI Debian

Вариант UI Debian

❓ Хотите выпуск про историю Debian?

=====================================
👇👇Наш канал на других площадках👇👇
YouTube | VkVideo | Telegram | Pikabu
=====================================

Показать полностью 4
[моё] Технологии Инженер История IT Информатика Информатика Алексей Гладков Вехи истории Debian Linux Программа Операционная система Открытое общество IT Длиннопост
0
19
DmitriitheFals
2 месяца назад
Лига Сисадминов
Серия Кудахтеры: Proxmox GmbH

Переход на Proxmox (Proxmox GmbH, Vienna, Austria) с Hyper-V by Microsoft и VMware by Broadcom. Часть пятая из многих⁠⁠

Для лиги лени: общеизвестное, душное, НЕ ПРОКАТИЛО.

Часть 1. Общая
Часть 2. Gitlab и Nexus
Часть 3. Ansible и Ansible AWS
Часть 4. Наконец переходим к Proxmox
Часть 5, не запланированная. Обновляем Proxmox с 8.4 до 9.0. Неудачно.

Еще раз поздравляю всех с выходом Proxmox 9.0. Даже статья вышла – ждите сервис пака Upgrade from 8 to 9, читайте Known Issues & Breaking Changes и Known Upgrade Issues.

Скажу сразу.
Я доигрался, пришлось переставлять систему.
5.2 Гб до неправильного обновления и всяких непотребных игр превратились в 8.1 Гб.
Дельта обновления еще 5.3 Гб.
На выходе:
pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)

Что в наличии?

Было: pveversion: pve-manager/8.4.0/ec58e45e1bcdf2ac (running kernel: 6.8.12-9-pve)
стало: pve-manager/8.4.9/649acf70aab54798 (running kernel: 6.8.12-9-pve)
и, после удачного обновления, pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)

Он сказал поехали (и запил водой)
Выполняем по инструкции: pve8to9. Кстати, в pve-manager/8.4.0/ этого скрипта не было.
Получаем:
= SUMMARY =
TOTAL:  42
PASSED:  33
SKIPPED:  6
WARNINGS: 3
FAILURES: 0

Что там?
WARN: updates for the following packages are available: pve-cluster

Что я могу сказать, кроме того что удивительное рядом?
apt update
apt list --upgradable –a
pve-cluster/stable 8.1.2 amd64 [upgradable from: 8.1.0]
pve-cluster/stable,now 8.1.0 amd64 [installed,upgradable to: 8.1.2]

Что происходит, и почему вчера не обновился pve cluster, при отсутствии кластера?

Примечание. После того, как я уронил систему, переставил с ноля, и обновился еще раз, проблема ушла, обновился и стал предлагать обновиться:
pve-cluster/stable 9.0.6 amd64 [upgradable from: 8.1.2]

Следующее предупреждение: WARN: systemd-boot meta-package installed but the system does not seem to use it for booting. This can cause problems on upgrades of other boot-related packages . Consider removing 'systemd-boot'
Сомнительно, но окей.

Третье предупреждение: WARN: The matching CPU microcode package 'amd64-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU.

и не предупреждение, а напоминание:
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed  without '-- full' parameter

А ?? Почему свежий инсталлятор PVE сам не поставил amd64-microcode, если считает их необходимым?

Понятно, что статья:
New AMD Zen 6 Linux Patches Posted - Confirming Up To 16 Memory Channels со ссылкой на вчерашний патч вышла не просто так, но все же.
Примечание. Это не связанные вещи. Обновление вышло для ядра для 2.5 новых фич.

Что там дальше по инструкции?
меняем репозитории  локально
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
и, поскольку у меня сделан Nexus для проксирования репозиториев, не забываем добавить там новые данные
В инструкции, конечно, про это ни слова.

Дальше все по инструкции - apt update, получаем (со второй попытки) 581 packages can be upgraded.
apt list --upgradable | grep 8.4
получаем (со второй попытки(
proxmox-ve/stable 9.0.0 all [upgradable from: 8.4.0]
pve-manager/stable 9.0.3 all [upgradable from: 8.4.9]
qemu-server/stable 9.0.16 amd64 [upgradable from: 8.4.1]

Вот что странно. Я Ceph не использую, не люблю, и репозиторий с ним отключил.
но не тут то было – и в инструкции написано, что
Note: At this point a hyper-converged Ceph cluster installed directly in Proxmox VE must run Ceph 19.2 Squid, otherwise you need to upgrade Ceph first before upgrading to Proxmox VE 9 on Debian 13 Trixie!

Но в выборке apt list --upgradable | grep ceph есть
ceph-common/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2]
ceph-fuse/stable 19.2.3-pve1 amd64 [upgradable from: 17.2.8-pve2]
Пропустим и идем дальше:
apt dist-upgrade
The following NEW packages will be installed:
proxmox-kernel-6.14
proxmox-kernel-6.14.8-2-pve-signed
After this operation, 637 MB of additional disk space will be used.

За пять минут первая попытка обновления свалилось в ошибки:
Job for pvedaemon.service failed.
See "systemctl status pvedaemon.service" and "journalctl -xeu pvedaemon.service" for details.

Job for pvestatd.service failed.
See "systemctl status pvestatd.service" and "journalctl -xeu pvestatd.service" for details.

Job for pveproxy.service failed.
See "systemctl status pveproxy.service" and "journalctl -xeu pveproxy.service" for details.

Job for pvescheduler.service failed.
See "systemctl status pvescheduler.service" and "journalctl -xeu pvescheduler.service" for details.

Пустая, неделю назад установленная, ничем не нагруженная нода не может обновиться на ровном месте.
НУ ОТЛИЧНО.
В журналах:
proxmox pvedaemon[]: Compilation failed in require at /usr/share/perl5/PVE/API2/Cluster.pm line 14.

Сказать, что я ничего не понял в первые пару минут, это ничего не сказать.

Ребутнулся, и удивился еще больше.
Было pve-manager/8.4.9/() (running kernel: 6.8.12-9-pve)
Стало pve-manager/8.4.9/() (running kernel: 6.14.8-2-pve)

Ядро обновилось. PVE нет.
pve8to9 выдало ошибки:
Attempt to reload PVE/HA/Config.pm aborted.
Compilation failed in require at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/HA/Env/PVE2.pm line 20.
Compilation failed in require at /usr/share/perl5/PVE/API2/LXC/Status.pm line 24.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC/Status.pm line 29.
Compilation failed in require at /usr/share/perl5/PVE/API2/LXC.pm line 28.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/API2/LXC.pm line 28.
Compilation failed in require at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10.
BEGIN failed--compilation aborted at /usr/share/perl5/PVE/CLI/pve8to9.pm line 10.
Compilation failed in require at /usr/bin/pve8to9 line 6.
BEGIN failed--compilation aborted at /usr/bin/pve8to9 line 6.

В моем случае проще все переставить и повторить процедуру, чем разбираться, что пошло не так.

Почему так?

Может потому, что я прописал только:
deb http://my.local.proxy:8081/repository/Debian3/ trixie pve-no-subscription

Но не прописал Nexus прокси для:
trixie main contrib
trixie-updates main contrib
trixie-security main contrib

Следите за тем, что у вас в проксях и в /etc/apt/sources.list
Вопрос «зачем так сделано» остается открыт. Странный подход, что обновления не идут из одного источника, и есть риск получить проблем с зависимостями, когда Debian обновится, а Proxmox еще нет.

Итого

Доигрался я на скрипке. Необходимо переставить 8.4 еще раз, проверить настройки в /etc/apt/sources.list , перепроверить Nexus, и сделать обновление еще раз.

Потому что по умолчанию в /etc/apt/sources.list стоит то, что выбрано при установке. Я выбрал US – получил
deb http://ftp.us.debian.org/debian bookworm main contrib
deb http://ftp.us.debian.org/debian bookworm-updates main contrib
# security updates
deb http://security.debian.org bookworm-security main contrib

Вторая попытка обновления прошла удачно.
Очень неприятно то, что в процедуре обновления есть несколько пунктов для выполнения вручную.
Это чтение какой-то длинной страницы, выбор языка два раза, и напоследок вопросы «мы тут сервисы обновляем, вам их сразу перезагрузить или не сразу».

Само обновление после этих вопросов занимает где-то полчаса, и в середине процесса, где то на 98%, спрашивает еще пару вопросов про настройки, новые вы хотите или старые.

Что дальше писать, я еще не решил.
Или про Proxmox VE API , или воспользоваться полезным советом из комментариев и обновить Ansible нормально.

@editors, как сюда тег Proxmox добавить? не идет у меня этот каменный цветок.

Показать полностью
[моё] IT Опыт Linux Debian Текст Длиннопост Proxmox
26
0
dvytvs
dvytvs
4 месяца назад
GNU/Linux

Проблема с FragPunk на линукс⁠⁠

Всех приветствую! У меня стоит AnduinOS (основана на Debian). Скачал себе FragPunk, но в некоторых моментах появляется вот это вот на весь экран. Что делать? Если что в стиме использую Proton 9.0-4.

Проблема с FragPunk на линукс
Показать полностью 1
Linux Debian
21
6
itstorytelling
itstorytelling
6 месяцев назад

28.04.1973 - День рождения Иана Мёрдока [вехи_истории]⁠⁠

🗓 28.04.1973 - День рождения Иана Мёрдока [вехи_истории]

🗓 28.04.1973 - День рождения Иана Мёрдока [вехи_истории]

🧔 Иан Мёрдок — американский программист, один из лиц движения свободного и открытого программного обеспечения .

💻 Мёрдок запустил Debian GNU/Linux в августе 1993 года и написал «Манифест Debian» (январь 1994) – документ, описывающий идею открытой разработки и поддержки сообществом. Позднее Мёрдок также возглавил коммерческую компанию Progeny Linux Systems, которая выпустила дистрибутив Progeny Debian.

👀 Факты о Debian:

👉 Debian изначально задумывался как полностью свободная система: всё её ПО распространяется под свободными лицензиями (предоставляется «100% free»), что гарантирует прозрачность и право любого пользователя изменять систему.

👉 Проект изначально делал упор на стабильность и безопасность: после выпуска пакеты получают регулярные обновления и исправления, а стабильные релизы Debian широко используются в серверах и критически важных приложениях .

👉 Debian стал базой для многих других дистрибутивов: например, Ubuntu, Knoppix, PureOS и Tails строятся на его пакетной базе . Это свидетельствует о масштабном влиянии идей Мёрдока на экосистему Linux.

💚 Свободное ПО и история Debian - это темы для отдельных роликов. Поэтому реакции и комментарии покажут, что это интересные направления)

YouTube | RuTube | Telegram | Pikabu

Показать полностью
[моё] Стартап Технологии IT Debian Операционная система Linux Ubuntu Разработчики
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии