• Re: =?UTF-8?B?0J3QtSDQt9Cw0L/Rg9GB0LrQsNC10YLRgdGP?= sshd =?UTF-8?B?0LI

    From Victor Wagner@21:1/5 to All on Wed Feb 14 21:50:01 2024
    В Wed, 14 Feb 2024 20:12:04 +0000
    Misha Ramendik <mr@ramendik.eu> пишет:

    Это удалось победить. Нагуглилось сделать /usr/bin/ssh-keygen -A и
    сервис взлетел.

    Но не пускает. Permission denied (publickey).

    Поскольку оно английским по бэкграунду пишет, что запрещен доступ по
    публичному ключу и пароль даже не спрашивает, похоже что в
    /etc/ssh/sshd_config запрещена PasswordAuthentication или вообще или
    для рута.

    На первом попавшемся контейнере с bullseye там имеется
    закомментировананя строчка

    #PermitRootLogin prohibit-password

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

    Варианта три:
    1. Раскоментарить эту строчку и поменять prohibit-password на yes
    2. Завести нормального юзера с правом на sudo и забыть про то что можно
    ходить рутом.
    3. Как-то притащить на виртуальную машину authorized_keys и ходить по
    ключу.

    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Thu Feb 15 19:20:02 2024
    В Thu, 15 Feb 2024 13:47:48 +0300
    Dmitrii Kashin <freehck@gmail.com> пишет:

    On 14 Feb 2024, at 22:33, Misha Ramendik <mr@ramendik.eu> wrote:

    Всем привет!
    Мне нужно собрать пакет для bullseye. У меня Федора.
    Ну, поднял VM <...> Хочу поднять sshd и работать с VM по ssh.

    Действительно ли Вы этого хотите?
    Если стоит задача собрать пакет, так просто возьмите контейнер с
    bullseye. Уж какой-нибудь docker, полагаю, на федоре найдётся.


    А протестирвать? Мы, например, на архитектуре x86_64 тестируем постгрес
    исключительно в виртуалках. Потому как сетевой сервис, взаимодействует
    с инитом и все такое. Тестировать лучше в системе имеющей полноценный
    init/systemd и отдельный от хоста сетевой стек. Хотя собирать и правда
    в schroot удобнее.

    И еще кто сказал что архитектура процессора на хосте и в виртуалке
    совпадает?

    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Thu Feb 15 21:00:01 2024
    В Thu, 15 Feb 2024 21:39:42 +0300
    Eugene Berdnikov <bd4@protva.ru> пишет:



    В контейнерах есть и свой init/systemd, и отдельный namespace для
    сети, позволяющий тестировать сетевые приложения. В этом смысле что
    docker, что lxc -- пригодные для этого среды, а постгресс в плане
    сети и инита ничего странного требовать не должен.

    В свое время пришллось очень сильно потрахаться в ситуациях когда на
    хосте и в контейнере существенно разные версии systemd (или с одной
    стороны systemd а с другой sysv init).

    Вот как-то я рассказывал-рассказывал людям про то как под ОС МЦСТ
    запустить в контейнере относительно свежий альтлинукс, они
    послушали-послушали и сказали "нафиг эту МЦСТ, поставим альт на хост"

    При том что там и тогда выхода не было. На "Эльбрусах" аппаратная
    виртуализация начиная с Эльбрус 12. А то было 8С или 8СВ.
    Поэтому только lxc.

    Ситуации, в которых контейнер не даёт делать полноценное
    тестирование, встречаются нечасто. Например, с lvm в контейнере есть
    проблемы.

    НУ у нас например есть тесты требующе монтирования специальной тестовой
    файловой системы через FUSE. Да. в конце концов удалоьс LXC запинать
    чтобы он это делал.

    А если у тебя GUI и нужно тестировать с X Window, Wayland и что там еще
    нынче бывает?


    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Fri Feb 16 06:40:01 2024
    В Thu, 15 Feb 2024 23:33:31 +0300
    Eugene Berdnikov <bd4@protva.ru> пишет:

    On Thu, Feb 15, 2024 at 10:50:22PM +0300, Victor Wagner wrote:
    В Thu, 15 Feb 2024 21:39:42 +0300
    Eugene Berdnikov <bd4@protva.ru> пишет:

    В контейнерах есть и свой init/systemd, и отдельный namespace для
    сети, позволяющий тестировать сетевые приложения. В этом смысле
    что docker, что lxc -- пригодные для этого среды, а постгресс в
    плане сети и инита ничего странного требовать не должен.

    В свое время пришллось очень сильно потрахаться в ситуациях когда на
    хосте и в контейнере существенно разные версии systemd (или с одной
    стороны systemd а с другой sysv init).

    Это другой вопрос. Речь шла о том, что для тестирования PG в плане
    запуска и работы с сетью нет причин требовать полной виртуализации.


    Есть причины. Как только речь заходит о системах мандатного доступа,
    нужна поддержка на уровне ядра.

    А эти системы бывают разные. Ну вот откуда в дебиановском ядре
    поддержка астровского parsec.

    Ну и про тесты использущие специфическую FUSE-файловую систему я уже
    упоминал. Это тоже связано с защитой данных - мы так проверяем что
    удаленные данные действительно исчезли с диска.
    (а уж как тестируется зачистка удаленных данных из RAM, это вообще
    песня)


    А если у тебя GUI и нужно тестировать с X Window, Wayland и что там
    еще нынче бывает?

    Теоретически X Window, Wayland & Ко должны уметь работать по tcp и
    проксироваться через unix-сокеты, например, через ssh. Практически же
    я неоднократно наблюдал с этим проблемы у Firefox и Libreoffice.
    Но я думаю, что там что-то ломали в либах... Времени и желания

    Вот вот. В теории нет различий между теорией и практикой. а на практике
    ого-го какие различия.


    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Fri Feb 16 14:50:01 2024
    В Fri, 16 Feb 2024 16:17:18 +0300
    Dmitrii Kashin <freehck@gmail.com> пишет:


    А по существу, что ни выбери -- всё равно надо либо делать базовый
    образ с builddeps, либо каждый раз ждать, пока всё поставится. Докер
    ли, виртуалка ли... Pbuilder даже, и тот имеет архив с базовым
    имиджем. И он тоже потратит время, чтобы туда зависимости доставить.
    Без этого никуда.

    И это хорошо и правильно, это гарантирует что все зависимости правильно
    прописаны в debian/control. А если собирать пакет в рабочей системе, то
    можешь запросто налететь на то, что-то забыл прописать, а пакет молча
    собрался потому что у тебя-то — разработчика оно и так стоит.

    А потом кто-то пересобрать попробует и у него не соберется.

    Вот например такой пример. Собирал я сегодня допустим postgis для
    bookworm. Это такая добрая штука, у него каких только зависимостей нет

    apt говорит

    4 upgraded, 415 newly installed, 0 to remove and 9 not upgraded.
    Need to get 657 MB of archives.

    (это базовый образ отрефрешить надо там 4 пакета обновились).

    Все задание полностью, включая сборку и публикацию заняло 7 минут 24
    секунды.
    У почти любого другого пакета количество зависимостей будет сильно
    меньше. Стоит ли ради этих единиц минут что-то экономить?

    Ну конечно у меня оно эти 657Мб качало с локального миррора в той же
    стойке.




    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Fri Feb 16 16:10:01 2024
    В Fri, 16 Feb 2024 17:07:11 +0300
    Dmitrii Kashin <freehck@gmail.com> пишет:


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

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

    А если у тебя тесты не занимают в 10-100 раз больше времени, чем
    сборка, значит хреново твой пакет тестами покрыт.


    Это кстати тоже в пункт о "положении билд-серверов в сети". Где-то
    есть локальный миррор, где-то нет его.

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

    А то никогда не знаешь, где найдешь где потеряешь. То ли зарубежный
    сайт перестанет пускать с российских IP, то ли роскомнадзор xml.org
    заблокирует.

    Обычная DevOps-практика, в общем, заключается в том, что мы либо

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

    А к идее девопса (собаки оборотня меняющей пол вместе с ипостасью) я
    испытваю глубокое отвращение.

    Либо ты (программирующий) пользователь и не зарекайся на большее, либо
    таки научись быть нормальным разработчиком и дистрибьютором.















    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Sat Feb 17 09:10:01 2024
    В Fri, 16 Feb 2024 10:59:25 +0300
    Eugene Berdnikov <bd4@protva.ru> пишет:


    И с обменом файлами между контейнером и хостом (собранное
    желательно куда-то деть).

    Для меня это было одной из главных причин, по которым docker пошёл
    на. С lxc всё намного проще и удобней, файлы доступны напрямую в

    Докер - слишком overengineered. Ну собственно как и любое решение
    набравшее популярность в массах. Меня например в нем больше всего
    раздражает его желание по умолчанию использовать гугловские DNS а не
    хостовые (откуда гугль знает про миррор в коапроативной сети. куда
    контейнеру надо за пакетами ходить) и попытка править хостовый файрволл,
    которая приводит к неработоспосбности на той же машине других систем
    контейнеризации.

    отдельном каталоге. Правда, с lxc тоже нужно разбираться, хотя бы с
    созданием исходного образа, в то время как операции с VM в полностью

    По-моему начиная с 4-й версии в lxc появился темплейт oci, который
    позволяет паразитировать на докерном коммьюнити и качать образы для
    контейнеров с докерхаба.

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

    Мы иногда так делаем - ставим виртуалку, потом через qemu-nbd
    копируем ее файловую систему и делаем lxc-контейнеры. Хотя они тогда
    огромные получаются - с GUI и все такое. Если типичный размер
    контейнера созданного debootstrap, dnf или аналогами - полгига, то
    типичный контейнер созданный путем копирования виртуалки - полтора-два.





    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Victor Wagner@21:1/5 to All on Sat Feb 17 09:20:01 2024
    В Fri, 16 Feb 2024 19:59:17 +0300
    Dmitrii Kashin <freehck@gmail.com> пишет:


    Что бы сказал Фредерик Брукс на такое расточительство? =)

    Фредерик Брукс нам еще ответит за украденный 32-бит из архитектуры s390;-)
    (почему-то и спарк и power и arm 32-битные, а IBM-овские мейнфреймы -
    31 битные)


    А если серьёзно, Вы почему-то делаете предположение, что у нас нет
    нормальных тест-сьютов. Но это ошибочно. Если мы будем полный
    тест-сьют на каждую сборку запускать, то вы же, разработчики, первые
    прибежите с претензиями "а что так долго сборку ждать, я никак таску
    не могу закрыть, а с меня уже требуют". В общем, обычно в фичбранче
    прогоняются только юнит-тесты, а полный тест-сьют запускает уже QA
    перед мерджем.

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

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

    Как сказал Эрик Раймонд, "Given enough eyeballs all bugs are shallow".
    Вот одна пара - это точно не enough. Поэтому вторая пара глаз -
    мейнтейнера, который смотрит на код с другой точки зрения, чем
    разработчик, необходима.

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

    А вот на этапе пакетирования, где контролируется правильность написания
    spec или debian/control - там нужны воспроизводимые билды в
    воспроизводимой среде.

    И тестовые среды тоже должны быть воспроизводимыми. Раскатываться из
    архива образов перед каждым запуском.

    И здесь уже будет 30 дистрибутивов для 5 аппаратных архитектур.

    Впрочем у нас еще есть между этими двумя стадиями промежуточная, где
    максимальная широта охвата, то есть тестируются даже системы которые мы
    не поддерживаем и поддерживать не собираемся. Просто потому что баги
    которые вылезут на Solaris/Sparc сразу на x86_64 могут не замечаться
    годами а просто сажать производительность.


    И работает, кстати, я подтверждаю. Но со стороны эксплуатации к
    Вашему, Виктор, продукту -- на самом деле есть вопросы.

    Например, почему нет официального решения для построения HA-кластера?
    Или почему есть официальная тулза для promote, а для demote -- нету?

    В нашем продукте - PostgresPro Enterprise и то, и другое уже есть.

    https://postgrespro.ru/docs/enterprise/16/biha


    А в апстримовском опенсурсном постгресе есть только то, с
    необходимость чего согласны все разработчики участвующие в сообществе.

    А тут у нас, EnterpriseDB и 2nd Quadrant есть разные мнения. И
    проталкивание какой-нибудь разработанной нами фичи иногда занимает годы.
    Так было например с covering indexes, которые у нас были еще в 9.5, а в
    апстрим были вмержены по-моему в 10. И не потому что мы их зажимали -
    на коммитфесте они висели.

    В конкретном случае HA-кластера у разных пользователей очень разные
    требования и одним "официальным" решением всех не удовлетворишь.
    Поэтому и расцветают все цветы.






    --
    Victor Wagner <vitus@wagner.pp.ru>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)