• Что делать ошибка Virtual Box?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Глаза протереть.

    Английским по белому написано - невозможно создать сайл образа диска, потому что прав на папку нет.
    Ответ написан
    Комментировать
  • Как обновить сертификаты Lets Encrypt?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Ответы на вопросы можно найти в официальной документации https://letsencrypt.org/ru/docs/
    Ответ написан
    Комментировать
  • Как обновить сертификаты Lets Encrypt?

    certbot renewна том сервере где у тебя стоит цертбот
    если тебе нужно толко протестирвать и не выпускать сами сертификаты *( количество попыток 5 в день)
    certbot renew --dry-run все тоже-самое но сами сертификаты не выпустятся и можно тестьить хоть весь день
    Как првоеряется сертификат
    он создет ппку ложен в него файлик и првоерет появился ли он на сайте
    ААА - записи нет в ДНС
    5 попыток не пройдено сегодня.
    www домен не имеет ААА записей
    www домен создан и ведет на этот же сервер ( при услвие что в проверке он учавствует)

    Если это условие удовлетворяет то его больше не парит.
    Это естественно можно сделать и на сервере nginx не отдавая это сомнительное деймтвие на бэк

    # letsencrypt
             location /.well-known/acme-challenge/ {
                    alias /usr/local/ispconfig/interface/acme/;
                    default_type text/plain;
    
             }


    /usr/local/ispconfig/interface/acme/; - место где будут лежать сертификаты (посмотри в конфиге certobt ).
    Так же нужно убедиться что certbot хватает прав на эту папку для записи и она создана естественно.
    Ответ написан
    Комментировать
  • Как обновить сертификаты Lets Encrypt?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    подскажите какие 100% требования есть в обновлении сертификата?

    Мочь подтвердить владение доменом с помощью размещения файла в каталог .well-known или добавлением DNS-записи в соответствующую зону. В первом случае нужен настроенный веб-сервер, во втором - настроенное подключение к API DNS-провайдера.
    Ответ написан
    Комментировать
  • Как обновить сертификаты Lets Encrypt?

    @Drno
    80 порт надо letcencrypt
    Ответ написан
    Комментировать
  • Возможно ли копировать полностью всю ОС Ubuntu через ssh?

    @rPman
    файлы заблокированные на чтение в linux есть точно так же как и в других системах, исторически любое резервное копирование предлагается (в любой ос) делать через создание снапшота (в linux это средствами lvm если он используется или при использовани cow файловых систем таких как btrfs/zfs/... прямо их средствами), снапшот является замороженным мгновенным снимком файловой системы, без ограничений по чтению.

    совершенно нормально, используя root копировать с помощью обычного cp (scp если по ssh) или rsync или к примеру tar -c . | ssh user@server tar -x скопирует все удаленно, завернув сначала в tar а на удаленной машине распаковав (с помощью ключей tar можно контролировать например файловую систему --one-file-system или передачу hardlink и symlink, например --dereference и --hard-dereference добавят в архив сам файл а не линк на него...)

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

    p.s. если же все же хочется скопировать систему как есть, а снапшоты недоступны, то лучше перевести диск в режим ro: mount -r remount,ro /dev/sd... и так с каждым разделом, на котором размещена система (тогда начнут отваливаться программы, пытающиеся делать запись) и уже получившиеся данные копировать
    в этом случае можно использовать partclone, умеет копировать раздел как dd но не передавая сектора, помеченные как свободные, что заметно быстрее (собственно это самый быстрый способ скопировать раздел)
    Ответ написан
    Комментировать
  • Как сделать такую "сеточку" для букв?

    DarkWood
    @DarkWood
    Один из вариантов.

    Для начала создаете файл размером 4x4 пикселя. Любым удобным образом рисуете два черных квадрата. Создаете из этого изображения паттерн (Edit> Define Pattern).

    619d17f96edfd086055951.png

    Скрываете тут имеющиеся слои и добавляете новый с заливкой новым паттерном. Это нужно для более удобного последующего его редактирования.

    619d180e84871121703276.png

    Далее возможны варианты. Если хотите, то можете увеличить размер холста до того, который будет у изображения с надписью. А можете только под процентное увеличение паттерна. Увеличить же его надо обязательно. Тогда границы получатся менее четкими. Для моего примера хорошим стал масштаб 150%. Соответственно размер холста нужно увеличить на 50%, то есть до 6x6 пикселей, чтобы получился повторяющийся рисунок.

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

    619d18a96273f101884782.png

    Сохраняете файл в формате PSD. Закрывать его не надо, чтобы пока что осталась оперативная возможность отредактировать.

    Создаете основной файл с надписью. Наносите ее выбранным шрифтом, кеглем и цветом. Делаете этот слой смарт-объектом.

    Применяете к нему фильтр Filter> Distort> Displace. Смещение подбирается эмпирически. Заранее точные значения для вашей надписи я сказать не могу. Меня устроили значения 3 и 1. В любом случае смещение по горизонтали должно быть больше, чем по вертикали. Хотя никто не запрещает вам создать свой эффект. Я же равняюсь на пример.

    Если вы заливали паттерном холст под размер этого изображения, то выбирайте пункт Stretch to Fit. Если последовали по второму варианту - Tile.

    619d18c2ed062107082490.png

    В качестве карты смещения указываете сохраненный ранее файл с паттерном.

    Готово:

    619d18ecaab4c167158028.png

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

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

    619d18fb47667576178638.png

    619d1907632ba045780746.png

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

    619d1a84a834c579182876.png
    Ответ написан
    1 комментарий
  • Какой тип диска выбрать в proxmox при создании виртуальной машины и почему?

    meDveD_spb
    @meDveD_spb
    Все ответы выше не верные.

    Ставить надо рекомендованый SCSI
    (A SCSI controller of type VirtIO SCSI is the recommended setting if you aim for performance )
    Нужна будет исошка виртио
    https://fedorapeople.org/groups/virt/virtio-win/di...
    что да как, здесь расписано
    https://serveradmin.ru/rekomendaczii-best-practice...

    И вообще лучше почитать, что к чему, и что значат разные пунктики при создании машины, их не так и много.
    https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
    Ответ написан
    Комментировать
  • Как использовать встроенный текстовый редактор linux и редактировать в нем файлы по ssh?

    Zoominger
    @Zoominger
    System Integrator
    хочу использовать нормальный GUI редактор, а не nano или vim

    Рановато вам в Linux.

    Но если уж очень хочется, то гуглите по X11 SSH Forwarding, тонкостей там много, в одном ответе не описать:
    https://unix.stackexchange.com/questions/12755/how...
    Ответ написан
    2 комментария
  • Как использовать RDP по одному адресу и в локалке и по интернету?

    @res2001
    Developer, ex-admin
    Настройте разные DNSы для внутренних пользователей и для внешних. И используйте имена для подключений.
    Ответ написан
    Комментировать
  • При $(document).click(selector) как не обрабатывать вложенные элементы в jQuery?

    0xD34F
    @0xD34F Куратор тега JavaScript
    $(document).click('.e-1', function(event) {
    console.log(event.target)
    });

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

    Устанавливаем делегированный обработчик правильно, смотрим у объекта события свойство currentTarget:

    $(document).on('click', '.e-1', function(e) {
      console.log(e.currentTarget);
    });
    Ответ написан
    2 комментария
  • Хочу в геймдев?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    1. Сложен. Нужно много знаний помимо программирования
    2. Очень-очень-очень вряд ли. Особенно если нет опыта.
    3. Стоит, конечно, почему нет.

    Совет - учите сишарп и идите трейни в студию. Дадут больше структурированной информации и опыта.
    Ответ написан
    Комментировать
  • Как учить ларавел 8 по старым урокам?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Использовать отличную от урока версию фреймворка - это странно.

    есть решение по другому написать код
    Есть решение загуглить и по первой же ссылке увидеть и объяснение и решение, которое требует только понимания основ PHP.

    IDE helper для phpstorm работает как оказалось только с 8+ версией
    Предыдущие версии пакета прекрасно работают с предыдущими версиями фреймворка, их никто не сжигал.

    И это при том что я взял готовый архив из урока автора с композер и pacage json файлами
    Уроки не отменяют необходимости думать и разбираться самостоятельно.

    что посоветуете
    если долго мучится - что нибудь получится
    Ответ написан
    3 комментария
  • Есть ли хороший задачник по программированию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если хочешь быть программистом, то надо программировать, а не задачки решать.
    Ответ написан
  • Как на linux (ubuntu server) сделать типа рейда в одну папку?

    @rPman
    при создании btrfs просто указываешь списком все твои разделы и сказв чтоь тебе нужно linear распределение
    mkfs.btrfs -d single /dev/sdb /dev/sdc /dev/sdd /dev/sde


    это даже не raid так как данные не размазываются по дискам а просто последовательно заполняют пространство (правда так как btrfs это cow файловая система, каждая следующая запись идет в новое место, так что постоянная запись на диск будет периодически кочевать между дисками, а значит при чтении разных файлов будет размазывать нагрузку

    И да, смерть одного диска скорее всего создаст кашу пропавших из файлов

    https://btrfs.wiki.kernel.org/index.php/Using_Btrf...
    Ответ написан
    2 комментария
  • Как получить элементы одного массива, отсутствующие в другом?

    0xD34F
    @0xD34F
    $ids = array_unique(array_column($arr, 'user_id'));
    $result = array_filter($arr2, fn($n) => !in_array($n['users_id'], $ids));
    Ответ написан
    8 комментариев
  • Как быть если сочитание клавиш не перекрываются в linux?

    @santiaga1
    Мне помог вот такой вариант:

    sudo add-apt-repository ppa:nrbrtx/xorg-hotkeys
    sudo apt-get update
    sudo apt-get upgrade
    sudo reboot

    После этого шорткаты работают правильно.
    Ответ написан
    2 комментария
  • Примерно в одно и тоже время пропадает частично интернет?

    @alfill
    Роутеры не перезагружаются раз в сутки (иначе у них флеш-память сдохнет) - у них есть время аренды ip клиентов в настройках DHCP-сервера, обычно небольшое, но желательно увеличить на неделю или больше чтобы часто не перестраивать маршруты.

    Видимо, комп не может обновить маршруты с роутера, может в сетевой отключен Link Layer Topology Discovery (lltd) протокол (в Wi-Fi учтены разрывы, оповещения ч/з Beacon Interval, поэтому такого нет), если сброс DNS ipconfig /flushdns или netsh winsock reset не помогает, то

    По кабелю лучше указать статичный ip: в DHCP-настройках роутера для каждой сетевой указать постоянный внутренний IP (чтобы Lan не пропадал), в настройках компа - соответственно указанный IP/маску/шлюз роутера.

    Примерно похожее происходит: интернет замирает на 2~5мин пару раз в день на получение внешнего IP потому что автоконфигурация по DHCP у [конкретно моего] провайдера обновляется ч/з 12ч (43200сек - lease time), т.к. его доступная подсеть имеет всего ~7тыс. IPv4 адресов, вот он проксирует и объединяет как может. Раньше сеть раз в 2-3..6 мес наглухо пропадает от 2ч до полдня, пока маршруты не настроятся и сам не разобрался.
    например по логам видно:
    Apr  7 05:50:22 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 11:50:22 udhcpc[1184]: Sending renew...
    Apr  7 11:50:24 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 13:59:07 udhcpd[1066]: Found static lease: 2301a8c0
    Apr  7 13:59:07 udhcpd[1066]: Sending ACK to 192.168.1.35
    Apr  7 17:50:24 udhcpc[1184]: Sending renew...
    Apr  7 17:50:26 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  7 17:51:37 pppd[4433]: LCP terminated by peer
    Apr  7 17:51:37 pppd[4433]: Connect time 1440.0 minutes.
    Apr  7 17:51:37 pppd[4433]: Sent 37511333 bytes, received 75485940 bytes.
    Apr  7 17:51:37 pppd: Disable forwarding for ppp0 interface
    Apr  7 17:51:37 pppd: Restore netfilter rules from pppd
    Apr  7 17:51:38 resolv: Generate resolv DNS1: 45.90.28.213 DNS2: 45.90.30.213
    Apr  7 17:51:38 pppd: Restore default gateway
    Apr  7 17:51:39 pppd: Flush route cache
    Apr  7 17:51:39 pppd: Restart need service and rebuild shaper and iptables rules
    Apr  7 17:51:39 services: Restart needed services and scripts. Mode pppd
    Apr  7 17:51:40 pppd[4433]: Connection terminated.
    Apr  7 17:51:40 pppd[4433]: Sent PADT
    Apr  7 17:51:40 pppd[4433]: Modem hangup
    Apr  7 17:51:41 iptables: Clear iptables rules fo ipv6 and set default actions.
    Apr  7 17:51:41 iptables: Starting IPTABLES
    Apr  7 17:51:42 iptables: Set default filters
    Apr  7 17:51:42 iptables: Service limit set
    Apr  7 17:51:42 iptables: Dnsproxy allow to connect
    Apr  7 17:51:42 iptables: Remote managment web limit
    Apr  7 17:51:42 iptables: icmp drop ping from wan eth2.2
    Apr  7 17:51:42 iptables: Set forward rules
    Apr  7 17:51:42 iptables: Add rules for web content filters
    Apr  7 17:51:43 iptables: Add QoS rules
    Apr  7 17:51:43 QoS: TOS add simple_qos netfilter rules
    Apr  7 17:51:44 iptables: Add NAT rules
    Apr  7 17:51:44 iptables: Call to add VPN netfilter rules.
    Apr  7 17:51:44 dnsserver: Generate /etc/hosts file.
    Apr  7 17:51:44 dnsserver: Send HUP to dnsmasq.
    Apr  7 17:51:44 dnsmasq[587]: read /etc/hosts - 6 addresses
    Apr  7 17:51:44 dnsmasq[587]: using nameserver 45.90.28.213#53
    Apr  7 17:51:44 dnsmasq[587]: using nameserver 45.90.30.213#53
    Apr  7 17:51:45 pppd[4433]: PPP session is 38429
    Apr  7 17:51:45 pppd[4433]: Connected to a4:6c:2a:a5:d8:10 via interface eth2.2
    Apr  7 17:51:45 pppd[4433]: Using interface ppp0
    Apr  7 17:51:45 pppd[4433]: Connect: ppp0 <--> eth2.2
    Apr  7 17:51:45 pppd[4433]: CHAP authentication succeeded
    Apr  7 17:51:45 pppd[4433]: CHAP authentication succeeded
    Apr  7 17:51:45 pppd[4433]: peer from calling number A4:6C:2A:A5:D8:10 authorized
    Apr  7 17:51:45 pppd[4433]: local  IP address 176.118.*.*
    Apr  7 17:51:45 pppd[4433]: remote IP address 172.30.*.*
    Apr  7 17:51:45 dyndns: Stopping DynDns
    Apr  7 17:51:45 dyndns: Starting DynDNS
    Apr  7 17:51:46 ntp: Stopping NTPD
    Apr  7 17:51:46 ntp: Starting NTPD
    Apr  7 17:51:47 vpn-server: Stop l2tp vpn server
    Apr  7 17:51:48 pppd: Down is OK
    Apr  7 17:51:48 pppd: No dgw stored.
    Apr  7 17:51:48 pppd: Replace default route to ppp0
    Apr  7 17:51:48 resolv: Generate resolv DNS1: 45.90.28.213 DNS2: 45.90.30.213
    Apr  7 17:51:48 pppd: Flush route cache
    Apr  7 17:51:48 pppd: Restart dns server, dyndns, ntp sync and rebuild shaper and iptables rules
    Apr  7 17:51:49 services: Restart needed services and scripts. Mode pppd
    Apr  7 17:51:49 QoS: Stopping SHAPER
    Apr  7 17:51:50 QoS: Set default rules.
    Apr  7 17:51:50 QoS: TOS Load module.
    Apr  7 17:51:50 QoS: TOS Generate /etc/qos_firewall
    Apr  7 17:51:51 Prio: port based QoS Load netsched  modules.
    Apr  7 17:51:54 iptables: Clear iptables rules fo ipv6 and set default actions.
    Apr  7 17:51:54 iptables: Starting IPTABLES
    Apr  7 17:51:54 iptables: Set default filters
    Apr  7 17:51:55 iptables: Service limit set
    Apr  7 17:51:55 iptables: Dnsproxy allow to connect
    Apr  7 17:51:55 iptables: Remote managment web limit
    Apr  7 17:51:55 iptables: icmp drop ping from wan eth2.2
    Apr  7 17:51:55 iptables: Set forward rules
    Apr  7 17:51:55 iptables: Add rules for web content filters
    Apr  7 17:51:55 iptables: Add QoS rules
    Apr  7 17:51:55 QoS: TOS add simple_qos netfilter rules
    Apr  7 17:51:56 iptables: Add NAT rules
    Apr  7 17:51:56 iptables: Call to add VPN netfilter rules.
    Apr  7 17:51:57 dnsserver: Generate /etc/hosts file.
    Apr  7 17:51:57 dnsserver: Send HUP to dnsmasq.
    Apr  7 17:51:57 dnsmasq[587]: read /etc/hosts - 6 addresses
    Apr  7 17:51:57 dnsmasq[587]: using nameserver 45.90.28.213#53
    Apr  7 17:51:57 dnsmasq[587]: using nameserver 45.90.30.213#53
    Apr  7 17:51:58 dyndns: Stopping DynDns
    Apr  7 17:51:58 dyndns: Starting DynDNS
    Apr  7 17:51:58 ntp: Starting NTPD
    Apr  7 17:52:00 vpn-server: Stop l2tp vpn server
    Apr  7 17:52:00 pppd: Enable forwarding for ppp0 interface
    Apr  7 17:52:00 pppd: All is start OK
    Apr  7 17:52:00 pppd: All is start OK
    Apr  7 20:23:04 udhcpd[1066]: Found static lease: 1c01a8c0
    Apr  7 20:23:04 udhcpd[1066]: Sending ACK to 192.168.1.28
    Apr  7 23:50:26 udhcpc[1184]: Sending renew...
    Apr  7 23:50:28 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 05:50:29 udhcpc[1184]: Sending renew...
    Apr  8 05:50:31 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 11:50:32 udhcpc[1184]: Sending renew...
    Apr  8 11:50:34 udhcpc[1184]: Lease of 10.240.*.* obtained, lease time 43200
    Apr  8 14:13:41 udhcpd[1066]: Found static lease: 2301a8c0
    Apr  8 14:13:41 udhcpd[1066]: Sending ACK to 192.168.1.35

    Еще вариант, если соединение позволяет - прописать на роутере определение DNS-имен не у провайдера, т.к. иногда глючит, а через него напрямую к NextDNS, AdguardDNS или яндекса 77.88.8.7 (немного увеличит время +50ms резолвинга и сделает недоступные внутренние подсети, если были, но зато вырежет рекламу).
    // Совсем способ - если модель роутера поддерживается и памяти хватит, то обновить прошивку на что-ниб более продвинутое типа Wive-RTNL или OpenWRT, DDwrt если старая прошивка глючит (мой роутер взламывали по сети, пока он был D-Link); настроить Encrypted DNS over-HTTPS/TLS/Quic DNSSEC для приватности, накатить пакетов Transmission BT, и ни разрывы, цензура, реклама не помеха.
    Ответ написан
    Комментировать
  • Как в VBA excel получить ФИО из полного текста?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    С помощью регулярок (надо подключить библиотеку к проекту, чтобы работало):
    Tools – References…
    ☑ Microsoft VBScript Regular Expression
    Код:
    Public Function getShortName(strText As Variant) As String
        Dim myRegExp As New RegExp
        Dim matches As MatchCollection
    
        myRegExp.Global = True
        myRegExp.IgnoreCase = True
        myRegExp.Pattern = "(\S+)\s+(\S)\S*\s+(\S)\S*"
        Set matches = myRegExp.Execute(strText)
        
        getShortName = matches(0).SubMatches(0) & " " & matches(0).SubMatches(1) & "." & matches(0).SubMatches(2) & "."
    End Function

    Можно через Split(), даже покороче получится код, хотя на двойных пробелах споткнётся.
    Function getShortName(strText As String) As String
        Dim a
        a = Split(strText, " ")    
        getShortName = a(0) & " " & Left(a(1), 1) & "." & Left(a(2), 1) & "."
    End Function

    А можно вообще формулой сделать - отталкивайтесь от поиска текста(пробелов)
    Ответ написан
    Комментировать
  • Как такое сверстать?

    RAX7
    @RAX7
    Держи, немного поправил один из своих старых набросков.

    Принцип работы примерно, как описал Максим Морев в своем ответе.
    Ответ написан
    2 комментария