victor_sudakov: (Default)
Parallels Desktop конечно очень хорош, может запускать полноценную VM даже с иксами.

Но если нужно запустить на Маке text mode Linux, я пока не нашёл ничего лучше OrbStack. Это не полноценная VM, как Parallels или VirtualBox c (пара)виртуализацией железа, а нечто ближе к Debootstrap или WSL. Но это настоящая Ubuntu, Centos, Gentoo etc (OrbStack предлагает выбор из 16 дистрибутивов линукса). Файловая система VM при этом доступна с MacOS хоста и наоборот, можно файлы легко копировать в/из VM. Если установить внутри VM сетевое ПО, например NGiNX или Kubernetes с ингрессом, все слушающие порты будут слушать на localhost Мака. Можно выполнять команды Linux из MacOS и наоборот с помощью утилит orb и mac соответственно.

Зачем нужен text mode Linux на Маке, если MacOS это UNIX-подобная ОС и для нее есть Homebrew?

Если вы много занимаетесь администрированием Linux, то отличия CLI Linux и MacOS (которая BSD) будут вам доставлять постоянное неудобство, в том числе при написании скриптов, сравните хотя бы ключи команды date. Конечно, если использовать из MacOS только Терминал для ssh-доступа в облако, то никакой OrbStack не нужен, и даже Homebrew не нужно.

Внутри OrbStack можно запустить настоящий линуксовый docker и Kubernetes, например Kind. Зачем Kind, если для MacOS есть 1) Docker Desktop и 2) Kubernetes встроенный в OrbStack? А затем, что оба они однонодовые, если же нужен multi-node cluster (например потестировать node affinity), надо ставить Kind или K3d.

Виртуальных машин OrbStack можно сделать сколько угодно с разными дистрибутивами Linux, например для любителей пакетного менеджера pacman есть Arch. Файлы с одной VM на другую можно копировать через /mnt/machines.

Из недостатков:

1. Клонировать VM нельзя. Можно автоматизировать настройку новой VM, поддерживается Cloud-init, но мне проще ansible-pull.

2. Иксовые приложения внутри VM просто так не запустишь, но в документации пишут, что можно, если в качестве X-сервера запустить XQuartz на Маке, или Xrdp. Ну или если у вас в сети есть X-terminal, наверное можно $DISPLAY туда отправить, я не пробовал за ненадобностью.

3. USB устройства внутрь VM пока не пробрасываются.
victor_sudakov: (Default)

Иногда надо сравнить два JSON файла, данные в которых отличаются мало, а записи перемешаны как попало. diff в этой ситуации использовать невозможно. Есть онлайн инструменты, например The semantic JSON compare tool, но отправлять туда свои данные как-то не хочется.

Оказывается jq умеет сортировать JSON, поэтому можно использовать его для предварительной сортировки и потом отдавать в diff:

diff -u <(jq -S < file1.json ) <(jq -S < file2.json)

victor_sudakov: (Default)

Соединил два Linux компьютера A и Б по Ethernet, как зайти с А на Б по ssh? IPv4 адресов не назначено, либо адрес Б неизвестен.

Можно воспользоваться IPv6 link local адресами. На компьютере А:

  1. Командой ip a выясняем имя интерфейса, к которому подключен Б. Пусть это окажется например enp2s0
  2. Посылаем ping на мультикастовый адрес ff02::1 (All Nodes) на этом интерфейсе: ping -6 ff02::1%enp2s0 или ping6 -I enp2s0 ff02::1
  3. Компьютер Б ответит со своего link local адреса, например fe80::4bb0:f155:45f5:7ee7
  4. Заходим на него по ssh pupkin@fe80::4bb0:f155:45f5:7ee7%enp2s0 с указанием интерфейса.
victor_sudakov: (Default)
Насколько я понял, существует 3 способа подключить Google Calendar от моей учетной записи Google к календарю Thunderbird.

1. Завести в Thunderbird мою почту Gmail, в этом случае календари и задачи Google подключатся автоматически. Я этот способ не пробовал, так как я не использую Thunderbird для Gmail и не собираюсь. Для полноты информации привожу последовательность действий.

2. Использовать дополнение к Thunderbird "Provider for Google Calendar". К сожалению оно довольно кривое, имеет проблемы с синхронизацией задач и другие проблемы, в частности в подключенный таким образом Google Calendar нельзя добавить приглашение на встречу из E-mail, возникает ошибка "No writable calendars are configured for invitations, please check the calendar properties". Календарь при этом точно не Read Only, потому что обычным способом в него добавить событие можно.

3. Третий способ подсмотрен в https://support.mozilla.org/en-US/questions/1304356#answer-1368791

You can add a Google calendar to TB without add-ons, as a CalDAV calendar, by entering this for the Location:
https://apidata.googleusercontent.com/caldav/v2/myname@gmail.com/events

Enter your email address for the Username, and allow cookies in Options/Privacy & Security, for OAuth2 authentication.

К сожалению, третий способ не позволяет синхронизировать задачи (Google Tasks) с Thunderbird. Может кто знает, как добавить синхронизацию задач к третьему способу?

UPD 4. Есть еще описание на https://support.mozilla.org/ru/kb/sozdanie-novyh-kalendarej#w_v-seti-podkliuchenie-k-onlain-kalendariam , где говорится, как включить доступ к календарю по ссылке и скопировать эту ссылку. К сожалению данный способ тоже не даёт доступа к Задачам.
victor_sudakov: (Default)

Что поставить сразу после установки ubuntu mate:

  • apt install gnome-system-tools mate-themes wireguard lightdm-gtk-greeter-settings traceroute openssh-server exfat-fuse ncdu mc ncal
  • Google Chrome
  • Zoom
  • Anydesk
  • apt install telegram-desktop
victor_sudakov: (Default)

Подробное описание, как заставить Laravel использовать адрес клиента из HTTP заголовка X-Real-IP вместо X-Forwarded-*, на форуме.

victor_sudakov: (Default)

vim syntax highlighting for HashiCorp Configuration Language (HCL) used by Consul, Nomad, Packer, Terraform, and Vault

victor_sudakov: (Default)

Часто нужно, чтобы доменное имя отлаживаемого сайта временно разрешалось в 127.0.0.1, ::1 или приватный адрес в локальной сети. Обычно для этого редактируют /etc/hosts, но если нет возможности или желания это делать (например потому, что изменения в /etc/hosts действуют на все процессы всех пользователей данной машины), некоторые HTTP клиенты позволяют переопределить разрешение имен встроенными средствами.

Предположим, вы отлаживаете сайт https://www.mysite.example/ на сервере 192.168.10.10, тогда:

Для curl можно использовать

curl --resolve '*:443:192.168.10.10' https://www.mysite.example/

Для Google Chrome

google-chrome --host-resolver-rules='MAP www.mysite.example 192.168.10.10

Для FireFox в about:config переопределить переменную network.dns.forceResolve в 192.168.10.10, можно создать отдельный профиль с такой настройкой.

victor_sudakov: (Default)

Оказывается есть pull request для ljdump, который позволяет снова использовать скрипт после отключения challenge auth в Dreamwidth.

victor_sudakov: (Default)
Удобный многоплатформенный графический редактор ksnip для обработки скриншотов. Обрезать, размыть персональные данные, вставить нумерованные стрелочки и маркеры, текстовые комментарии и многое другое. Для Ubuntu есть в стандартном наборе пакетов.

https://github.com/ksnip/ksnip

Excalidraw

Sep. 16th, 2022 10:32 am
victor_sudakov: (Default)
Забавная online рисовалка https://excalidraw.com/

https://www.draw.io/ богаче по возможностям, но сабж проще.
victor_sudakov: (Default)

nmcli connection add type dummy ifname lo1 ipv4.method manual ipv4.addresses 192.168.170.1/32

Will be permanently saved to /etc/NetworkManager/system-connections/dummy-lo1.nmconnection

Странно, что из Network Manager GUI никак не добавить loopback интерфейс, или я не нашёл нужной кнопки.

victor_sudakov: (Default)

У YouTube Music как минимум одно преимущество перед Spotify: можно слушать музыку непосредственно в браузере.

Ну и второе, что работает в России. Или не работает? Заплатить-то за подписку YouTube Premium сейчас из России невозможно.

victor_sudakov: (Default)

Если нужно потестировать двухфакторную аутентификацию и не хочется засорять Google Authenticator тестовыми ключами, можно использовать oathtool (security/oath-toolkit) для генерации OTP:

oathtool --totp -b H5HBQM3VSPSZLDCI

Для настоящих ключей это небезопасно (секретный ключ видно в списке процессов, истории команд shell и т.д.), но для тестов самое то.

victor_sudakov: (Default)

Полезное расширение, если есть несколько учетных записей на Github и т.п.

Firefox Multi-Account Containers

victor_sudakov: (Default)

В режиме для разработчиков в настройках ищем "Вырез на экране" и выбираем "Вырез Punch Hole".

victor_sudakov: (Default)
* ищет в закладках (в том числе в тэгах), ^ ищет в истории просмотра, % ищет в открытых табах.
victor_sudakov: (Default)

Можно сгенерировать QR code своей WiFi сети, например чтобы предлагать гостям, на https://qifi.org/. Якобы всё генерируется локально на JS и SSID/пароль никуда не передается.

Можно конечно сделать echo "WIFI:S:<SSID>;T:<WPA|WEP|>;P:<password>;;" | qrencode -s 10 -o wifi.png если под рукой есть Unix.

victor_sudakov: (Default)
Логи отправки теперь фиг посмотришь старым способом через "export MOZ_LOG=SMTP:5,timestamp". По-новому их полагается смотреть так: https://thunderbirdtweaks.blogspot.com/2021/10/logging-mail-sending-in-thunderbird.html

А blogspot у них теперь вместо документации, что ли. На Wiki еще старый способ.

Логи IMAP смотреть как раньше.

Profile

victor_sudakov: (Default)
Виктор Судаков

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 04:07 pm
Powered by Dreamwidth Studios