• Как настроить debian с нуля под веб сайты?

    kotomyava
    @kotomyava
    Системный администратор
    Вам точно не нужны там ни vagrant, ни virtual box.
    Если хотите поднять на сервере виртуальные машины, есть KVM например.

    Вариантов инструментов для развёртывания однотипных окружений масса. От того же баш скрипта, до систем управления конфигурацией, или даже развёртывания какjго-нибудь kubernetes.

    По меньшей мере, надо например: nginx, php-fpm, mysql/mariadb. Возможно, что-то для отправки почты. Крайне желательно что-то для мониторинга. А вообще, надо и многое другое, чтобы всё хорошо работало и удобно обслуживалось. И настройкой однократной дело совсем не ограничивается - дальше надо за всем этим хорошенько приглядывать.

    На самом деле, при таком уровне знакомства с этим всем, особенно, если это всё для подакшена настраивается, а не на поиграться, точно лучше будет найти кого-то кто это сделает - вам явно ещё рано.
    Ответ написан
    7 комментариев
  • Как зациклить sed?

    @rPman
    в регулярном выражении в конец добавь модификатор g например так:
    sed 's/HDCLUB//g'

    p.s. вместо последовательного запуска sed для кадого выражения, объедини их в одно либо несколькими ключами -e:
    sed -e 's/xxx/ccc/g' -e 's/123/234/g'
    либо через ';' в одном:
    sed 's/asd/qwe/g;s/123/234/g'
    Ответ написан
    7 комментариев
  • Как задать паузу перед стартом контейнера docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Паузу не надо, надо ждать события монтирования.
    Docker container wait for drive mount?
    Ответ написан
    Комментировать
  • Самостоятельное согласование ядра и дистрибутива Linux?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Если нельзя обновить ядро средствами бубунты - то как обычно - скачать исходники, собрать и поставить. Манов по самостоятельной сборке и установке ядра - хоть #опой жуй.
    Ответ написан
    Комментировать
  • Можно создать такого Телеграм-бота?

    Zoominger
    @Zoominger Куратор тега Python
    System Integrator
    Да, можно.
    Ответ написан
    Комментировать
  • Можно ли сделать sysprep на Windows server 2016?

    Делаете бекап.
    Проверяете, что он действительно сделался и с него сможете восстановиться.
    На железном сервере ставите серверную винду (можно при желании даже версию винды повысить), делаете её дополнительным контроллером домена в существующем домене.
    Поднимаете на железном сервере те же службы что и на виртуальном (dhcp, dns и т.п. при необходимости перенастраиваете днс сервера у клиентских машин) и понижаете виртуальный сервер до обычного члена домена. Выключаете виртуальный сервер (можно даже после отключения перезагрузить физический) и проверяете, чтобы всё работало.
    Ответ написан
    3 комментария
  • Как починить Ubuntu?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Первая ошибка - поставить окошки. Всё остальное как ком развилось из этого. Ставьте голую убунту, апачи-фигачи, что там вам надо - но не насилуйте сервер плясками с оконными менеджерами, рдп, внц и прочими совершенно лишними для него вещами.
    Ответ написан
    1 комментарий
  • Как достовлять проджект на тест, на прод и к чертовой матушке?

    BorLaze
    @BorLaze
    Java developer
    три ветки в гите - дев, тест и мастер
    CI/CD

    вся локальная разработка базируется на ветке дев

    как только фича закончена, мержим ее в тест
    CI/CD настроен так, что по новому пушу в тест он выкладывает новую ветку на сервер
    тестируем ее на тест-сервере

    когда фича протестирована, мержим ее в мастер
    CI/CD настроен так, что по новому пушу в мастер код выкладывается на прод

    начинаем цикл по-новой
    Ответ написан
    Комментировать
  • Реально ли работать в одном IT-проекте (продуктовом) больше 5-ти лет и не деградировать профессионально?

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


    В целом - скорее реально, чем нет, если есть хоть какое-то желание это делать.
    Конкретных аргументов тут никаких дать невозможно, потому что проекты все разные, люди все разные. Но это не помешает сейчас тут пяти-десяти людям написать абсолютно противоположные по смыслу ответы, которые будут сводиться к тому, что я написал выше.
    Ответ написан
    2 комментария
  • Как сделать readinessProbe по тексту файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    вам не нужен cat и ненужный pipe - просто
    grep -q "app start" /app/log

    Но вы уверены, что это нормально - просматриивать целый лог файл каждую итерацию рединесс пробы?
    Может быть все-таки лучше в программу добавить дополнительный ендпоинт и проверять ее через http пробу?
    Ответ написан
    2 комментария
  • Как в ubuntu автоматически скидывать большую папку в OneDrive?

    @rPman
    У них есть официальный api
    https://docs.microsoft.com/ru-ru/onedrive/develope...

    в командной строке есть rclone
    https://rclone.org/onedrive/

    или попробуй это не официальное приложение
    https://github.com/jstaf/onedriver
    Ответ написан
    Комментировать
  • Работать в выходные или нет?

    @levsha9413
    Необходимо обязательно отдыхать в выходные, иначе выгорание неизбежно.
    Рабочие задачи - это непрерывный поток, неважно, черпаете вы из него пять дней в неделю или все семь, этот поток не закончится.
    А вы - да.
    Ответ написан
    Комментировать
  • Не могу подключить gRPC к ElasticSearch через docker-compose?

    @winshiftq
    При первичном запуске docker-compose up создает сеть по умолчанию. После чего создаются контейнеры и линкуются в эту сеть под именами grpc и elasticsearch. Внутри каждого контейнера можно найти имя хоста grpc или elasticsearch и получить обратно соответствующий IP-адрес контейнера.

    Следовательно в переменной ELK_ADDR нужно указать значение http://elasticsearch:9200
    Ответ написан
    3 комментария
  • Поставил ubuntu рядом с Windows. Как записывать файлы с Ubuntu на Диск D?

    SagePtr
    @SagePtr
    Еда - это святое
    P. S. S. загрузился с винды. Потом загрузился снова с убунты и все заработало. Хз как это работает
    Очень просто, ntfs-3g (или какой там в убунту используется драйвер для доступа к NTFS) не монтирует том NTFS на запись, если он помечен как "грязный". Это сделано во избежание возможного повреждения данных на томе, т.к. файловая система NTFS проприетарна и не документирована официально. А "грязным" том помечается в том случае, если завершение работы системы было неожиданным. Потому загрузка в Windows (и, возможно, последующее выполнение chkdsk, если система этого требует при запуске) решает эту проблему.
    Ответ написан
    Комментировать
  • Ansible - как проверить перед установкой, установлено ли ПО?

    karabanov
    @karabanov
    Системный администратор
    Не надо проверять. Ansible идемпотентен и приводит конфигурацию сервера к описанной в плейбуке.
    Если в плейбуке описана установка ПО, а оно уже есть на сервере, то Ansible ничего не будет делать, в лог будет выведено зелёное сообщение о том, что изменений нет.

    Manage packages on OpenBSD

    PS
    Главное latest не использовать, так как будет выплнено обновление до актуальной версии, что, в общем-то, не противоречит вышесказанному.
    Ответ написан
    Комментировать
  • Как с помощью SED вставить слово в кавычках?

    @xibir
    echo 'CONFIG="USER OUTPUT"' | sed -r 's/(CONFIG="USER OUTPUT)"/\1 CONSOLE"/'
    Ответ написан
    1 комментарий
  • Какой есть хороший способ подключаться по rdp с мака на винду в локальной сети?

    @BHop
    Дилетант широкого профиля
    Ответ написан
    Комментировать
  • Правильно ли так организовывать docker?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    И второй попутный вопрос: правильно ли что dev и prod работают на одном и том же контейнере?

    Вы имеете ввиду из того же докер образа? Так и надо делать. Чтобы тестировать и запускать в продакшене одно и тоже.
    Енвайрнмент-зависимые вещи настраиваются извне и прокидываются (сертификаты, креденшелы для баз данных, и т.п.)

    А так - если вас решение устраивает, если вам оно понятно и в случае чего вы его можете легко модифицировать как вам нужно - да, вполне нормально.
    Ответ написан
    1 комментарий
  • Как научиться делать сайты под ключ?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Очевидно необходимы навыки дизайнера, верстальщика, фронтендера, бэкендера, знание SQL, умение администрировать СУБД, http-сервер и операционную систему, под которой они работают, а также в целом глубокое понимание принципов функционирования Web.
    Ответ написан
    2 комментария
  • Как защитить контент от парсинга с помощью Nginx?

    @rPman
    Основная защита от парсинга - только при доступе к данным по авторизации и установка лимитов на данные (объем, доступный пользователю либо за какой то период времени, например сутки/месяц).

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

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

    Можно поставить 'палки в колеса', сделав этот процесс сложнее (и дороже), в основном это запутывание/шифрование данных, доступных напрямую (по api) с бакэнда и обфускация кода, его преобразования в видимый пользователю контент, чтобы классические (дешевые) инструменты не работали. Как всегда стоимость защиты (затрат на разработку) должна быть сравнима затрат граберов на получение данных (обычно им проще).
    К сожалению вместе с контент-грабером, в заблуждение будут введены роботы поисковых систем, ведь их основная работа - грабить контент.
    spoiler
    * api не должен быть простым и интуитивно понятным, идентификаторы могут вообще не быть постоянными (их можно преобразовывать на бакэнде на основе данных в сессии)
    * код javascipt, например получения ссылки на объект должен быть нетривиальным, т.е. чтобы получить следующую ссылку на требуемый граберу объект, потребовалось бы использовать сам браузер (а не простенький скрипт парсер html)
    * верстка может быть непостоянной, изменяющиеся, простые гуляющие наименования классов и идентификаторов уже могут создать кучу проблем (я такое встречал), а уж постоянное изменение структуры должно совсем запудрить голову даже опытным граберам (не встречал)
    * шрифт может не являться правильным (видимые символы могут не соответствовать их кодам), при этом генерируемый каждый раз новый под конкретную сессию пользователя. Простая подстановка, сильно усложнит (но не сделает невозможной) получение данных через буфер или document.innerText в консоли браузера, оставив граберу только вариант распознавание экрана скринридером (а не тривиальная верстка потребует от пользователя сложную настройку и автоматизацию и эти инструменты)
    * типовые javascript методы браузера должны быть замещены на 'неправильно работающие', чтобы граберу пришлось использовать внешние скрипты а не простой инжект javascript (обычно это сильно упрощает).
    Ответ написан
    3 комментария