• Переход офиса на Linux. Запуск .exe приложения. Возможно ли?

    Adamos
    @Adamos
    имеется написанное еще в 2000-х на Delphi приложение

    А исходники этого приложения имеются? Или хотя бы понимание алгоритма работы?
    Явно назрело переписывание этой логики на нормальную клиент-серверную архитектуру с веб-интерфейсом, причем при наличии ТЗ это вполне может обойтись дешевле, чем танцы с Вайном.
    И уж заведомо перспективнее.
    Ответ написан
    2 комментария
  • Устают глаза на Ubuntu, а на Windows нет, в чем проблема?

    шрифты – размер и антиалиасинг (сглаживание)

    расстояние Вне зависимости от ОС — держитесь подальше от монитора, в 60—80 см до глаз, не ближе (линейка не даст обмануть себя). И увеличивайте размер шрифтов для комфортной работы на таком расстоянии.

    яркость Избыточная яркость монитора заметно утомляет глаза. Если в одной из ОС яркость рулится программно, попробуйте её скорректировать. Для оценки, белый лист бумаги на столе (освещённый внешним светом) не должен быть очень уж заметно темнее белого на экране. Иначе яркость монитора стоит понизить.
    Ответ написан
    Комментировать
  • Устают глаза на Ubuntu, а на Windows нет, в чем проблема?

    Sanes
    @Sanes
    Шрифты
    Ответ написан
    Комментировать
  • Как организовать сеть (теория)?

    @Akina
    Сетевой и системный админ, SQL-программист.
    • 0. Всегда (на все три вопроса). 800 устройств в одном домене коллизий, это [censored] и полный ступор.
    • 1. Да. Но нет. Все в одной подсети - бред и никакого смысла.
    • 2. Немаршрутизируемые в Интернет адреса (bogon networks). Я бы делал подсети в 172.16. Но это дело вкуса.
    • 3. Ни разницы, ни усложнения нет и в помине. Стандартности тут тоже никакой.
    • 4. Каждую подсеть в свой VLAN. Ибо нефиг.
    • 5. Серверы в отдельных подсетях. Причём не одной. Что делать серверу видеонаблюдения в подсети бухгалтерии?
    • 6. Стройте схему на основании потоков трафика, а не по некоему мистическому наитию.
    • 7. Не у телефонии, а у некоторых коммутаторов есть специальная работа с VoiceVLAN. да, только экономия портов. Если не работал - то и не связывайся. Потом поэкспериментируешь.
    • 8. По требованиям безопасности сеть видеонаблюдения вообще должна быть по возможности физически отделена от пользовательской. Отдельные коммутаторы и кабельные линии. да и трафика они генерят - могут забивать каналы, оно надо? То же и с линиями охранно-пожарной сигнализации - но тут строго, никаких "по возможности".
    • 9. Сервер печати. И да - он и принтеры в отдельном VLAN.

    Ставим L3 коммутатор, который будет рулить потоком, его же добавляем в качестве шлюза.

    Ставь сразу нормальный маршрутизатор.
    Потому что коммутатор, хоть и L3, тебе ничего не даст во вменяемой форме - ни статистики, ни управления, ни наблюдения.
    Ответ написан
    13 комментариев
  • Можно ли записать в docker контейнер метаданные?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    The LABEL instruction adds metadata to an image.
    Ответ написан
    Комментировать
  • Как узнать по доменному имени или по ip пришел запрос и по какому конкретно?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Запросы всегда приходят на IP-адрес. Разница в заголовке Host, который можно логировать на уровне веб-сервера.
    Ответ написан
    Комментировать
  • Насколько реально нужен консул девопсу?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никто не заставляет использовать docker, systemd, ansible и вообще какие угодно системы оркестрации и оптимизации. Необязательно делать шаблоны конфигов или кластерные конфигурации сервисов, необязательно использовать библиотеки настраиваемого логгирования, возиться с балансерами и реприцируемыми базами. Но люди это делают, значит, смысл всё-таки есть?

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

    Консул - это тоже инструмент. Вряд ли хоть кто-то использует его возможности целиком и полностью, тем более что никто не заставляет. Кому-то достаточно того, что у него все сервисы зарегистрированы в одном месте и из коробки имеют автоматическое DNS-имя вида NAME.service.consul. Кто-то использует kv-хранилище для хранения параметров, а кто-то хранит в нём секреты и целые конфиги, настраивает токены с различными acl и скрещивает всё это с consul-template. Вообще, необязательно использовать именно консул, есть и другие инструменты для подобных задач. Например, zk/etcd.

    Консул чаще используют совсем не с ансиблом, а с инструментами оркестрации, в которых сервисы могут расширяться и сворачиваться, перезагружаться и мигрировать. Скажем, пусть у нас есть условный сервис rabbitmq на три ноды. Тогда у нас может быть три контейнера rabbitm{1..3}, при запуске они регистрируются в консуле скриптом запуска вместе с проверками, а далее consul отдаёт их все три в виде имени rabbitmq.service.consul. Если какой-то из них вдруг упадёт, consul оперативно это обнаружит и исключит из DNS проблемный узел. Если вдруг управляющий всем этим администратор или автоматическая система оркестрации посчитает нужным добавить новые узлы или перенести их куда-то ещё в кластере, то consul также отразит все нужные изменения. При этом использующее rabbitmq приложение должно будет знать только адрес rabbitmq.

    Конечно, любую задачу можно обвесить скриптами, костылями и даже самописными плейбуками без использования готовых инструментов, а потом повторно решать десятки задач, которые уже сто раз решены до тебя опытными людьми, но зачем?
    Ответ написан
    1 комментарий
  • Как скачать файл с сайта командой scp и sftp?

    @rPman
    curl это высокоуровневая утилита, поддерживает работу чуть ли не со всеми протоколами
    DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP.

    поэтому твоя задача могла бы решиться только ей просто указывай путь соответствующем формате scp://user:passwd@server... sftp://... и т.п. само собой беспарольная аутентификация по ключу так же работает

    сообщения об ошибках должны подробно описать причину, по которой у тебя что то не получается, а ключ -v добавит подробностей

    Если что указанные ссылки на ftp hp не работают из россии, так что используй например прокси, в curl она включается ключом --proxy socks5://ip:port если используется socks5 версия (локальная socks5 прокси поднимается ssh подключением к удаленному серверу просто подключившись туда с ключом ssh user@server -D1080 где 1080 порт, а socks сервер будет на localhost).

    p.s. scp это штатный механизм работы с файлами через ssh соединение, т.е. он будет работать кажется при любых экзотических условиях (бывает даже специально пользователя заводят только с доступом по scp)
    sftp это подключение по ftp, предварительно подключившись по ssh к серверу

    ну и на засыпку, можно копировать файлы просто утилитой ssh используя перенаправления потоков
    tar -c /source/files | ssh user@server "cd /path/to/;tar -x --"

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

    данный подход простой, не требует ничего настраивать и устанавливать на серверах (будет работать наверное на 20-летних железках) но не обрабатывает как следует ошибки, т.е. если что то пойдет не так все прервется
    Ответ написан
    2 комментария
  • Как в sed сделать несколько последовательных замен?

    erge
    @erge Автор вопроса
    Примус починяю
    в принципе разобрался...

    после команд
    :a;N;$!ba
    весь текст становится одной строкой, поэтому немного по другому надо регулярки, см. ниже:
    sed '/title/d
         :a;N;$!ba
         s/ \{2,\}//g
         s#\s*</td>\s*</tr>\s*<tr>\s*<td>\s*#\n#g
         s#\s*</td>\s*<td>\s*#;#g
         s/<[^>]\+>//g
         s/\n\{2,\}//g' /dev/shm/ex01.html


    UPDATE

    конечный вариант в итоге такой:
    ### Convert HTML to CSV
    sed ':a;N;$!ba
         s/<html.\+<table[^>]\+>//Ig
         s#\s*</td>\s*</tr>\s*<tr>\s*<td>\s*#\n#Ig
         s#\s*</td>\s*<td>\s*#;#Ig
         s/<[^>]\+>//g;s/\s\{2,\}//g' somreport.html


    пример здесь
    Ответ написан
    Комментировать
  • Как сделать скриншот виртуального дисплея в linux?

    @rPman
    vncsnapshot есть в репозитариях

    upd. не подумал, что vnc сервер у тебя может не стоять, сам X-сервер умеет давать скриншоты, утилита
    xwd -root -display :99 | convert - png:- > screenshot.png

    в данном случае xwd (пакет x11-app) делает скриншот, а convert (пакет imagemagic) конвертирует его в png
    Ответ написан
    Комментировать
  • Как вы работаете с WSL 2?

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

    @Samuel_Leonardo
    wsl2 по сути виртуалка,
    из коробки автоматически пробрасываются порты приложений открытых в wsl2 на хост ( но не наружу).

    Eсли вы запускаете приложение в windows которое открывает порты,
    это не значит что они будут проброшенны в эту виртуальную машину,
    для доступа вам понадобится обращаться по ип адресу.

    Вы также можете настроить весь стек внутри wsl2 или к примеру в докере
    Ответ написан
    Комментировать
  • Как завершить установку WSL 2?

    vabka
    @vabka
    Токсичный шарпист
    Докер же как раз поднимает у тебя wsl2 и он просит чтобы ты сам установил ядро, и даже кидает ссылку, как это сделать.

    Если принципиально хочешь обойтись без wsl2 - вырубай его поддержку в docker desktop и используй virtual box или hyper-v - тогда докер развернёт виртуалку с линуксом на них.
    Ответ написан
    2 комментария
  • Как защитить WiFi пароль?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    В организации не нужно использовать пароль, а нужно использовать авторизацию, привязанную к логину и паролю пользователя, например через Radius.
    Ответ написан
    8 комментариев
  • Стоит ли переходить на Raspbian(Debian) 11?

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    Работает не трогай.
    Ответ написан
    2 комментария
  • Как вырасти до системного администратора?

    paran0id
    @paran0id
    Умный, но ленивый
    Смотрите на хедхантере требования на вакансии, ищите вопросы для собеседования сисадминов. Усваиваете, осваиваете, значительную часть начальных сисадминских навыков можно отработать на домашнем стенде. Там примерно три пути есть, Linux, Windows и сети - выбираете, что больше нравится, и делаете на этом акцент.

    Первое время всё равно придётся поработать эникейщиком, главное - не застрять на этом.
    Ответ написан
    Комментировать
  • Как научить терминал zsh понимать звёздочку ( * ) при работе с pip (python менеджер) так же как bash?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В команде
    pip install django==3.*

    Никакой ни bash ни zsh не ищет вам последнюю версию джанго. Это делает сам pip
    Использование wildcard символов, на самом деле может привести к неочевидной ситуации, когда

    $ echo Hello* World
    Hello* World
    $ touch Hello1
    $ echo Hello* World
    Hello1 World


    То есть баш, если находит что-то по маске, подставляет, если не находит - не подставляет и молча отправляет в команду wildcard символы как есть.
    Это приводит к неочевидным ошибкам, про которые как бы нет сообщений об ошибке, а ошибка может случиться.

    В zsh этот момент учли и сделали так, чтобы если по wildcard ничего не найдено, то zsh не молчит, а выдает ошибку. И следовательно в команду не уйдет неэкранированный wildcard.
    Сделано специально, чтобы пользователь не тупил а экранировал wildcard символы, и не стеснялся пользоваться кавычками и бэкслешом.

    Следовательно, если это у тебя не файловые wildcard символы, а аргумент для команды pip - экранируй, бери в кавычки, и переделай свою привычку "мне это неудобно" в "это правильно".

    Простой способ это
    noglob pip install django==3.*
    Или даже
    alias pip="noglob pip"

    P.S. Можно отключить это глобально через "setopt NOMATCH" или вроде "setopt nonomatch"
    P.P.S. да, это элементарные вещи, которым ты просишь не учить, но это именно тот случай, когда ты неправ, потому что путаешь wildcard шелла и опции команды, которая внутри тоже поддерживает символы типа ? и *
    Ответ написан
    2 комментария
  • Как запустить docker с Proxy и сетевыми интерфейсами?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    это внешний интерфейс который объединяется бриджом с основным интерфейсом сервера что смотрит в интернет.

    Она и так доступна с хостовой машины. Можешь в фаирвол натящее правило добавить.

    Ещё можешь через Docker-proxy порты пробросить в хотовую машину (директива ports подробнее)

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

    PS
    Вот так попробуй:
    networks:
      back:
        name: back
        driver: bridge
        ipam:
          driver: default
          config:
          - subnet: 172.16.238.0/24
            gateway: 172.16.238.1
        driver_opts:
          com.docker.network.bridge.name: back
    Ответ написан
    Комментировать
  • Удаление данных с жесткого диска для продажи?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Поставить и удалить, и заново поставить, то будет же уже другая файловая система, и возможности вытащить файлы даже программами (старые, которые были под Windows) не будет?

    Установка любой ОС - это запись новой информации на диск. Физически перезаписанные во время этого процесса файлы восстановить нельзя. Те, которые "не накрыло" - можно. Достаточно будет программы наподобие R.saver.

    методы, кроме молотка, чтобы данные точно стерлись с дисков безвозвратно

    Возьмите R.tester (программа для проверки дисков) и запустите полный тест записи. Он уничтожит всё. Какая-то другая программа, умеющая проверять всю "поляну", тоже подойдёт.

    Заодно получите красивые графики скорости, которые можно сохранить и прикрепить к описанию лота в качестве подтверждения того, что диски в порядке.
    В Р.тестере есть разные скрипты для записи (в т.ч. и с benchmark'ом), также можно выбирать режим, в результате получая красивые графики в виде "птичек":
    https://blog.rlab.ru/wp-content/uploads/2016/09/Hi...

    Либо можете запустить Security Erase, чтобы HDD затёр сам себя. Если винчестер поддерживает эту функцию, это будет видно на главном экране справа, там же будет время, необходимое для полного стирания.

    Из встроенных в Windows вариантов можете запустить полное форматирование (долгое). Виндоус должна быть Vista или новее.

    Если хотите стереть только конкретные файлы и папки, можно использовать Eraser.

    P.S.
    Про остаточную намагниченность и подобное не читайте и не задумывайтесь. У вас на дисках точно не было данных, ради которых имеет смысл пытаться проделать что-то подобное.
    Если бы они там были, то никакой возможности продать диски не возникло бы. Вы бы уничтожали такие HDD только физически и под строгую отчётность.
    Ответ написан
    1 комментарий
  • Гайд по поступлению в Беларуси?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Растолковывать тебе никто не будет. Детский сад закончился, после школы ты никому не нужен. Вообще. В школе из класса в класс тебя тянули за уши. Там даже двоечников на второй год оставляют КРАЙНЕ редко. А за пределами школы - просто отчислят и все, иди ищи работу в макдональдсе или умирай с голоду.

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

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

    Такова взрослая жизнь.

    Поэтому есть родители - поговори с ними, они уже прошли многое, и если не знают профессию, то знают жизнь.
    Можно поговорить вообще о разном, и делая скидки что родители могут быть "старперами", не стоит забывать что родители как-то раздобыли дом, еду, одежду и смогли потратить ОЧЕНЬ много чтобы вырастить тебя. Это очень плохо понимается (количество усилий), потому что ты видишь и помнишь больше сейчас, чем то что было 15 лет назад.

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

    Смотришь что там преподают. Для ИТ хорошо математические, а может есть и айтишной направленности. Не так важно какой факультет. Именно программированию все равно будешь учиться дополнительно и сам. То, что дают в институтах - это в основном академические знания, и хорошая основа там больше математика, которая мало устаревает.
    Ответ написан
    7 комментариев