• Как сделать полный бэкап системы (Linux) rsync или tar?

    @voleg4u
    http://www.voleg.info/
    Есть также снапшоты, на урожне QEMU либо libvirt. Почитать можно ЗДЕСЬ
    Ответ написан
    1 комментарий
  • В чем сложность поддержки проектов на Go?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Более четырёх лет пишу на Go, лично для меня поддерживать проекты на других языках сложнее ))
    До Go много лет писал на Perl/PHP/Python/Java/C/Ruby on rails/JavaScript и "крутил" еще не мало чего.
    Сейчас пишу только на Go и Python.

    Основная сложность в Go - это то, что если вы начинаете писать "криво" - то писать так очень трудно :))
    Подход к реализации в Go достаточно непривычный для тех, кто приходит из скриптовых языков.
    Например запрет циклических импортов - это самое первое, что "взрывает" мозг :)
    Нужно время чтобы адаптироваться после скриптовых языков.

    Про обработку ошибок - это да, это, пожалуй, единственное что мне не нравится в Go.
    Для себя я решил эту проблему за 1-2 часа :) и больше меня это не беспокоит.

    По ООП - в Go оно есть, лично мне оно нравится намного больше, чем ООП в других языках ))
    Всё, что реально нужно - всё есть, но при этом ничего лишнего нет.
    Интерфейсы - просто прекрасны :)) Каналы, горутины - это просто "счастье" :))

    А если объективно - то я бы не стал говорить о сложности поддержки проекта применимо к какому то конкретному языку.

    Как правило сложность поддержки возникает там, где нормальная архитектура не заложена в проект.
    Т.е. проект как могла так и писала куча людей плюс, как обычно, сделать нужно было побыстрее )), от этого никто вообще не думал об архитектуре и получилось то, что получилось :))
    Про покрытие тестами и документацию мы вообще не говорим )))

    А когда в таком проекте нужно что-то доработать или исправить ошибку, то почти всегда очень не просто найти то место, где нужно править, и после правок в одном месте, как правило, что-то ломается в другом :)

    Как минимум, нужно соблюдать принципы SOLID, иначе код получается, мягко говоря, не поддерживаемым.
    Но понимание этих принципов так же приходит с опытом, их нельзя научиться соблюдать просто прочитавши книгу или статью. Нужно сделать несколько проектов используя эти принципы, написать криво, понять как было бы правильно, всё переделать и так несколько раз.
    Тогда, со временем, начнёт получаться понятный и легко поддерживаемый код.

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

    Хочется добавить, что как бы не писали про Go, что он простой и т.д. - он явно сложнее Python/PHP и т.д.
    Это еще один повод сказать, что поддерживать код на Go сложно ))

    Также стоит учитывать, что проекты которые пишут на Go зачастую сложнее, чем проекты для которых выберут скриптовый язык. Go выбирают когда планируются большие нагрузки, параллельная обработка чего-либо и т.д., а это, в свою очередь, дополнительно усложняет проект.
    Ответ написан
    7 комментариев
  • Какой дистрибутив линукс хороший в плане безопасности?

    @Zzzz9
    Никакой, план безопасности определяет пользователь.
    Ответ написан
    3 комментария
  • Лучший безопасный почтовый сервер на Linux?

    suffix_ixbt
    @suffix_ixbt
    https://www.babai.ru/
    Выбор только из двух вариантов exim (60+% от всех почтовых серверов в мире), postfix (30+%).
    Уязвимости чаще находят в exim.

    Но Вам уже написали правильно - Вам нужно найти postmaster-a и он уж поставит тот вариант что ему более знаком.

    Самостоятельная настройка почтового сервера (exim/postfix+dovecot+sieve+
    spamassassin+clamav+dkim+
    dmarc+spf+ptr+mx+tls+
    mta-sts+tlsa dane+bimi) приведёт лишь к быстрому попаданию ip во все блеклисты а всех рассылок в спам.
    Ответ написан
    Комментировать
  • Почему не работает Crontab в CentOS 7?

    Лог файл показывает что задача была выполнена но по факту скрипт не запустился


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

    Для уверенности:
    1) В начале скрипта запишите что-то в какой-то файл
    2) В конце скрипта в этот же файл запишите что выполнено
    3) И не пренебрегайте выводом логов при добалении в крон
    /home/admin/Telegram_bot/main.py >> /home/admin/Telegram_bot/main.log 2>&1

    И да, у пайтона есть свой шедуллер - python-crontab

    Частая проблема - Глобальные переменные залогиненых пользователей и пользователя запускаемого по крону могут отличаться (как их наличие так и параметры) - тут нужно смотреть вашу систему.

    Укажите в теме строчку из crontab -e и /etc/crontab - я не могу с этого поста зайти к вам в систему и увдеть, а не опечатались ли вы... По конкретике можно, что-то сказать.
    Ответ написан
    Комментировать
  • Иммеет ли смысл учить vmware для linux-администратора?

    @vitaly_il1
    DevOps Consulting
    Мне кажется, сегодня важнее облака - AWS и т.д.
    Плюс Docker/Kubernetes.
    Ответ написан
    Комментировать
  • AD vs SambaDC vs FreeIPA, что выбрать?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Для чего вам AD, если большая часть машин на линуксе? Централизованное управление учётными записями можно организовать и не покупая лицензии на серверную винду, например.
    Ответ написан
    2 комментария
  • AD vs SambaDC vs FreeIPA, что выбрать?

    @vitaly_il1
    DevOps Consulting
    Если большинство машин на линукс, я бы выбрал FreeIPA.
    Active Directory будет работать с линукс, но если все равно переходите на линукс, то нет смысла ставить Active Directory.
    Ответ написан
    4 комментария
  • Как добавить в автозагрузку zabbix-agentd?

    @Adam_West
    Добавить в автозагрузку
    systemctl enable zabbix-agent

    Тестировать,как по мне,лучше локально
    zabbix_agentd -t agent.version
    , до перезагрузки демона, потом уже с удаленного хоста, добавленного в SourceIP тестируемого агента
    Ответ написан
    Комментировать
  • Что выбрать LVM или mdadm для организации дискового пространства на сервере или все же аппаратный?

    mayton2019
    @mayton2019
    Bigdata Engineer
    LVM это старый боян. Кроме того он достаточно сложный в сопровождении т.к. надо знать и уметь штук 10 утилит типа lvcreate/pcreate/vgcreate e.t.c. и еще и знать и понимать какие ФС поверх него ставятся эффективно (с опцией растягивания или уменьшения размера).

    Посмотри в сторону файловой системы ZFS. Это и LVM+файловая система в одном флаконе. Программные зеркала тоже поддерживаются и много опций восстановления. Утилиту надо знать и уметь только одну. Это - преимущество.
    Ответ написан
    4 комментария
  • Можно ли установить libvirt отдельно?

    Melkij
    @Melkij
    PostgreSQL DBA
    apt-get install --no-install-recommends libvirt-clients python-libvirt


    kvm и qemu в рекомендуемых пакетах упомянуты, установка которых обычно включена
    Ответ написан
    4 комментария
  • Как лучше зашифровать диски с защитой от маски-шоу?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Терморектальный метод вскрывает любые пароли. Эта защита сработает только в случае, если лицо, знающее пароль, немедленно стреляет себе в голову. Во всех прочих случаях - самое уязвимое звено в этой схеме - человек.

    Я уже много раз отвечал на подобный вопрос и всегда проблема одна и та же - строя защиту от "людей в сером", Вы предполагаете, что они будут соблюдать некие правила игры, и строите защиту, пытаясь переиграть их техническими способами. А "люди в сером" мыслят по-другому. "Я десять лет трупы по лесам откапываю и бомжей из подвала достаю - а вы мне тут с доменами..." (С) Некий опер У них стоит задача получить данные. И они ее решают привычными им способами - например, паяльником в #0пе.
    Ответ написан
    4 комментария