XR699ew, нет. единственное назначение - чтобы не происходил резолв IP в DNS-имя.
мне может быть всё-равно, будет результат в "буквенном формате" или нет, но не устраивать то, что будет происходить попытка преобразования из IP в "буквенный формат".
Jeffwingchun, сокет в каталоге /home/myuser/myproject/ недоступен пользователю nginx. выберите в качестве каталога для сокета общедоступный каталог, такой как /run или /var/run.
DEUSSS, создать пользователя командой CREATE USER с паролем (https://www.postgresql.org/docs/14/sql-createuser.html); заменить host all all адрес-компьютера-друга/32 trust на host all all all md5; подключиться к БД командой psql -U имя_пользователя -h localhost.
в первой строке вашего скрипта указано, что это шелл-скрипт, но в вопросе вы называете его баш-скриптом. поправьте для начала либо вопрос, либо первую строку.
bengur2, вы поняли правильно, но это пока только половина ответа.
Public IP сервера назначен сетевому адаптеру в виртуальной машине? Посмотрите список сетевых адаптеров в виртуальной машине, набрав в терминале виртуальной машины команду ip -4 a.
Там будет один адаптер обратной петли с именем lo и IP-адресом 127.0.0.1, а так же должны быть другие адаптеры, скорее всего один или два. Если ни у одного из них IP-адрес не равен тому, что в A-записи, то причина недоступности в этом.
Если IP у виртуалки при этом публичный - пробуйте указать в A-записи его.
Если нет - нужно или обеспечить виртуалку публичным IP-адресом, или включить на сервере, на котором виртуалка, трансляцию публичного адреса сервера в приватный адрес виртуалки (DNAT). Другими словами, нужно разбираться с тем, какой IP-адрес на сервере, на которой данная виртуальная машина, если это ваш сервер, или разбираться с владельцем сервера, если ваша только виртаулка, а сервер у хостера/провайдера/подрядчика.
Вы достаточно подробно рассказали о том, что проделали, для того чтобы в глаза бросился следующий момент: IP-адрес на виртуальной машине с контейнером такой же, как и в A-записях на сервере имён (видимо у регистратора домена)? Это не единственная возможная причина проблемы, но самая вероятная, тем более с учётом того, что вы об этом умудрились не упомянуть, рассказав практически всё что нужно относительно всего остального.
Владислав, да, похоже на правду. это отключит запрос пароля при вызове команды chown пользователем username через sudo.
либо %sudo ALL=(ALL) NOPASSWD: /bin/chown
раз уж вы упомянули, что добавили пользователя в группу sudo.
за доступность файла отвечают не только права на файл, но и права на все каталоги, в которых файл лежит. неплохо бы эти права тоже выложить сюда.
также не помешает содержимое systemd-сервиса, который отвечает за запуск msmtp.
Stepan1998, совершенно верно, ведь вы читаете описание про максимальное разрешение, а оно возможно только при минимальной частоте. ищите описание максимальной частоты.
illusoryworld, судя по скриншоту, вы почему-то проигнорировали последний абзац из моего ответа, в котором после захвата имени вложения происходил его возврат обратно. попробуйте всё же добавить текст в поле "Заменить на".
Axretit, последняя операция даёт результат в вещественном формате, но значение результата целочисленное, поскольку все операнды, участвовавшие в вычислении результата, были целочисленные.
все операции, предшествовавшие последней операции (записи результата в переменную вещественного типа), выполнялись над целочисленными операндами, т. е. по правилам целочисленных операций.
как уже было выше сказано, если вам нужны вещественные операции - вам нужно использовать вещественные операнды (переменные или литералы) в тех операциях, в которых вы хотите получать вещественный результат, т. е. с самого начала, в операнде того оператора, который выполнится первым с учётом разбора выражение справа налево и с учётом расстановки скобок. или как минимум с того операнда того оператора, результат которого при целочисленной и при вещественной операции будет отличаться. поставив же единственную переменную вещественного типа в самом конце выражения (т. е. слева), вы позволяете всем операциям выражения исчисляться целочисленным образом (поскольку во всём выражении фигурируют только операции над целочисленными операциями), и только в самой последней операции получившееся целочисленное значение преобразуется в вещественное при присваивании переменной x.
в C/C++ магии нет, разбор выражения идёт справа налево с учётом скобок и приоритета операторов, и вещественные операнды следует начинать использовать в выражениях там, где выполняются соответствующие операции, которые вы хотите иметь выполненными как вещественные. засунуть в самом конце выражения присваивание результата вещественной переменной - это слишком поздно.