Заметки

Archives for: 2023

Ловим процессы, которые шарятся по винту (Linux)

Как отследить приложения, которые приводят к внезапному ворчанию винтов по ночам, не дают жёсткому диску уйти в спящий режим или регулярно будят его.

iotop

Если ввод-вывод активный и идёт прямо сейчас, достаточно просто посмотреть на sudo iotop -o
Если ввод-вывод идёт небольшими порциями, то используем: sudo iotop -bktoqqq -d .5
Пояснение: -b - пакетный режим вывода, -k - килобайты, -t - показывать время, -o - показывать только потоки, которые занимаются вводом-выводом, -qqq - отключить заголовки, -d 0.5 - период обновления в секундах.
Поймав, какой процесс занимается работой с диском, можно посмотреть на его открытые файлы: lsof -p $PID (замените $PID на номер интересующего процесса).

fatrace

Это намного более удобный способ для отслеживания редких операций (программа есть в репозитории Убунты). Сразу печатает кто, в какой файл лазит и какой доступ (чтение или запись).
cd /mnt/каталог_куда_смонтирован_винт
sudo fatrace -c -t

P.S. Типичные злодеи - индексаторы файловой системы, их можно выпилить так: sudo apt remove locate mlocate plocate. См. askubuntu. Также постоянным желанием писать на диск страдает Yandex.Disk - демона синхронизации можно гасить, когда он не нужен.

Файлы webp с расширением jpg из ВК (Linux/bash)

ВК перешёл на фотографии в формате webp в мобильном клиенте, но когда вы их сохраняете в галерею он пишет их с разрешением jpg. В результате, некоторые программы работают с этими файлами неправильно. Вот этот небольшой скриптик позволяет рекурсивно пройти каталог с такими неправильно названными файлами и переименовать их правильно:

·· [Read more · Читать дальше] ·· »»»

Перенос корневой файловой системы на новый диск (Linux, Ubuntu)

Это не универсальная инструкция, просто шпаргалка для себя. Мог что-то упустить :)

  1. Форматируем новый винт. Записываем (копируем в текстовый редактор и т.п.) UUID будущего корневого раздела. Делаем этот раздел загрузочным (активным) (включаем флаг "boot").
  2. Монтируем его, например, в /mnt/tmp.
  3. Копируем файлы: cd /mnt/tmp && sudo cp -apxuR /* .
    Можно добавить -v для печати имён файлов в процессе работы, но это сильно замедляет копирование.
  4. Правим /mnt/tmp/fstab (заменяем UUID для "/" на новый).
  5. Правим /mnt/tmp/boot/grub/grub.cfg (заменяем UUID корневого диска на новый).
  6. Проецируем системные каталоги в /mnt/tmp, чтобы сделать chroot:
    sudo mount -o bind /dev/ /mnt/tmp/dev
    sudo mount -t proc none /mnt/tmp/proc
    sudo mount -t sysfs none /mnt/tmp/sys
  7. sudo chroot /mnt/tmp
  8. sudo grub-install /dev/sdXXXX (Имя устройства, а не раздела!) Примечание: на некоторых машинах grub-install может занять несколько минут, а то и полчаса. Прерывать его не нужно, дайте доработать.

После этого, перезагружаемся, выбирая новый диск в качестве стартового. Если всё ОК, отключаем старый диск.

Снова про Компас 3D...

С Компасом выяснилась такая проблема: менеджер лицензий (hasplm) привязывает все ключи к конфигурации железа, в том числе к ID и параметрам корневого диска и /var (возможно и других постоянно подключенных дисков), при апгрейде железа активация слетает к чёрту и нужно через техподдержку её восстанавливать. Собственно, я даже не апгрейдил, а просто передвинул /var с винта на SSD, который уже был в системе. Ключ слетает, если изменилось хоть что-то, а то что всё остальное железо и система в целом неизменны его не волнует. Казалось бы, мог бы сориентироваться и понять, что комп тот же самый, но нет. Это очень неприятная новость. Не люблю за такое платный софт :(

Про зеркалки vs. беззеркалки

Не понимаю эту тему "нафиг зеркалки, пришла эра беззеркалок". На БЗК на солнечном свету - очень больно всё, а ручной фокус вообще ни по экранчику, ни по EVF практически невозможен, очень плохо всё видно, всё время надо приближать и отдалять, по сравнению с зеркалкой полный мазохизм. Чем ярче вокруг тем в зеркалке лучше видно и легче ручной фокус, а с БЗК всё наоборот. БЗК за 15+ лет эволюции не решили эту проблему полностью и избавляться от оптических видоискателей преждевременно. Но насколько я понял и Canon, и Nikon, и Sony, и другие уже всё, свернули разработку зеркалок. Надеюсь, лет за десять, пока последнее поколение зеркалок будет устаревать, придумают что-то реально удобное.

Установил KOMPAS 3D LT V12 под Linux, но...

Компас 3D LT это бесплатная и максимально облегчённая (и очень старая) версия приложения для учеников образовательных учреждений. Возникла идея поставить её сыну для школьного проекта, так как Tinkercad не имеет некоторых нужных возможностей (фигуры вращения и выдавливания по произвольным эскизам, скругления).
Качаем дистрибутив с официального сайта.
Всё ставится примерно как и в инструкции для Home-версии, за исключением того, что нужны другие компоненты Винды и нет защиты от копирования и сервера ключей HASP. Также, скорее всего, нет необходимости обновлять Wine не из дистрибутива. В итоге установка заметно быстрее и проще. Вот официальная страница FAQ по Компасу LT под Wine.
0) Установите / обновите Wine.
1) Создаём инстанс Wine:

WINEPREFIX=~/.wine-kompas3dlt winecfg

Выбираем режим Windows XP, задаём разрешение экрана, добавляем диски (если надо), выходим.
2) Устанавливаем компоненты:

WINEPREFIX=~/.wine-kompas3dlt winetricks -f -q corefonts mfc40 mfc42 vcrun2003 vcrun2010 gecko vcrun6 vcrun6sp6

3) Распаковываем дистрибутив в ~/.wine-kompas3dlt/drive_c/Distrib, переходим в каталог с файлами, запускаем:

WINEPREFIX=~/.wine-kompas3dlt wine msiexec /i KOMPAS-3D_LT_V12.msi

Почему-то, в отличие от Home-версии, не создался ярлык на рабочем столе, но это легко исправить, создав на столе скрипт или ярлык с примерно такой командой:

WINEPREFIX=$HOME/.wine-kompas3dlt wine "$HOME/.wine-kompas3dlt/drive_c/Program Files (x86)/ASCON/KOMPAS-3D LT V12/Bin/KOMPASLT.Exe"

И вроде всё запускается и работает очень шустро и не падает.
А теперь, вёдра дёгтя в ложку мёда:

  • На одном компьютере при редактировании эскиза глючит отрисовка - фон становится чёрным и рисуются фантомные линии (геометрии, которые были в эскизе раньше).
  • На другом компьютере при редактировании возле курсора болтаются всякие артефакты.
  • На дисплее 4K работать невозможно, т.к. кнопки в тулбаре итак крошечные, а при увеличении DPI не увеличиваются, в результате их без экранной лупы не видно.

По первым двум проблемам, в интернетах есть информация, что старый Компас под Wine не всегда дружит в фирменными драйверами nVidia и лучше работает с nouveau, но это решение неприемлемо, т.к. с nouveau много что другое плохо работает. Итого, пока что затея с Компас LT проваливается. Вам может повезти и всё будет работать нормально, нам не повезло.
Проблемы могут быть исправлены в WINE @ Etersoft, но это не точно - нужно пробовать, а для этого надо пожертвовать временем и установленным, налаженным стоковым Wine на каком-то компьютере (параллельно их просто так поставить нельзя), либо поднимать виртуалку, что лишает 90% смысла использования Wine (так можно сразу виртуалку с XP или 7 делать).

Про доступность "продвинутой" цифровой фотографии

В 2005 году я купил свой первый цифровик (б.у. Canon 300D) за сумму, которая примерно равнялась моему месячному доходу (порядка 3 медианных зарплат в России том же году). Сейчас можно найти намного лучшие камеры, например, Canon 450D, 40D, Olympus E-PL3/PL5 в хорошем рабочем состоянии за 3-5 тысяч, то есть сумму хорошей затарки продуктами в супермаркете, одну десятую от медианной российской зарплаты или четверть цены средненького смартфона. Единственными ограничителями возможности делать снимки профессионального качества стали желание и способности.

Как в КОМПАС 3D (v21) сделать трёхмерный объект (эксиз) из SVG

Задача произошла из того, что понадобилось нарисованный (срисованный со сканированнного изображения) когда-то давно в Inkscape и сохранённый в SVG контур детали превратить в 3D-модель (выдавить и добавить фаски). Раньше я уже делал это в FreeCAD-е, но с ним были проблемы, например, даже на таких элементарных моделях он на ровном месте падал или отказывался снимать фаску без видимых на то причин. В будущем я, конечно, буду обводить сканы непосредственно в Компасе, чтобы избежать промежуточных телодвижений. Но в целом Inkscape проще CAD-ов в плане редактирования, например, каких-то художественных контуров, а также он хорошо работает на любых компьютерах и не требует покупки лицензии, поэтому опция полезная и для других целей. Компас сам по себе почему-то не импортирует SVG. Зато он импортирует DXF. Самый простой вариант преобразования это использовать всё тот же FreeCAD:

  • Запускаем FreeCAD, открываем SVG.
  • Выбираем контур.
  • Жмём "Экспортировать" и выбираем "Autodesk DXF 2D".
  • Сохраняем, выходим.

Далее в Компасе:

  • Открываем DXF-файл. Запускается конвертер, который преобразует его в фрагмент уже в формате Компаса - FRW. После преобразования FRW сразу откроется на своей вкладке.
  • Выделяем контур, щёлкаем на нём правой кнопкой и изменяем стиль линий на "Основной". Сохраняем такой исправленный FRW на всякий случай.
  • Копируем контур из FRW в буфер обмена.
  • В проекте детали создаём эскиз и вставляем из буфера.

Готово, у нас есть нужная фигура в эскизе и мы можем её подредактировать, выдавить в 3D и так далее.
Всё просто, когда знаешь, но на поиск всего пути ушло часа три :)

Цитата из детской книжки на сегодня

– Скажи, а нельзя ли вообще обойтись без драки? Мирно можно договориться о чём угодно. Знаешь, Малыш, ведь, собственно говоря, на свете нет такой вещи, о которой нельзя было бы договориться, если всё как следует обсудить.
– Нет, мама, такие вещи есть. Вот, например, вчера я как раз тоже дрался с Кристером…
– И совершенно напрасно, – сказала мама. – Вы прекрасно могли бы разрешить ваш спор словами, а не кулаками.
Малыш присел к кухонному столу и обхватил руками свою разбитую голову.
– Да? Ты так думаешь? – спросил он и неодобрительно взглянул на маму. – Кристер мне сказал: "Я могу тебя отлупить". Так он и сказал. А я ему ответил: "Нет, не можешь". Ну скажи, могли ли мы разрешить наш спор, как ты говоришь, словами?

(С) Астрид Линдгрен, Малыш и Карлсон

Установка KOMPAS 3D под Ubuntu (20.04, v21, 64bit), 2023.02

1) Устанавливаем wine и winetricks. Желательно установить супер-новый Wine (без этого может работать, может не работать). Ниже команды для Ubuntu. Замените focal на кодовое имя вашего дистрибутива, при необходимости его можно уточнить командой lsb_release -a:

sudo add-apt-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ focal main'
sudo apt install --install-recommends winehq-devel

Примечание - на самом деле, в этой инструкции для Ubuntu специфичен только этот способ установки свежего Wine, всё остальное одинаковое для всех дистрибутивов Linux.
UPD: Лучше используйте инструкцию для этого шага отсюда (страница для Ubuntu).

2) Нужно создать отдельный чистый инстанс Wine для Компаса. Да, это расход дискового пространства (сам Компас у меня занял 5,5 ГБ, а его индивидуальная "винда" ещё 3 ГБ), но так намного удобнее и надёжнее. Всегда можно снести "винду" (весь каталог Wine) и начать с чистого листа и не восстанавливать кучу пропавших виндовых програм. Или забэкапить или перенести каталог с отдельным приложением. Заодно можно индивидуально настроить видимость линуксовой файловой системы, режимы совместимости с Windows. Ну и самое главное - активация Компаса привязана к конфигурации железа, на котором он работает, и при изменении конфигурации Wine активация может накрыться медным тазом. (Если это произойдёт, то остаётся только связываться с технической поддержкой Компаса, они помогут восстановить ключ.)
Допустим, выберем для установки Компаса каталог ~/.wine-kompas. Создадим инстанс "винды":

WINEPREFIX=~/.wine-kompas winecfg

Когда winecfg создаст каталоги "Windows" и запустится, смотрим настройки, например, можно настроить разрешение экрана и какие каталоги из системы будут видны виндовым программам и на каких буквах дисков. Потом выходим из него.
Современная версия Wine по дефолту создаёт винду а ля Windows 10 64-bit, что нам и нужно.

3) Следуя официальной инструкции, установим нужные компоненты винды:

WINEPREFIX=~/.wine-kompas winetricks -f -q corefonts d3dcompiler_47 vcrun2015 dotnet48

Примечание: это может работать адски долго, но дайте ему закончить.
Перейдём в каталог ~/.wine-kompas/drive_c, создадим там подкаталог, например, Distr и распакуем туда архив с Компасом, например, KOMPAS-3D_v21_Home_x64_1174.zip. Найдём где лежит файл MSI, например, KOMPAS-3D_v21_Home_x64.msi и перейдём туда. Выполняем команду:

WINEPREFIX=~/.wine-kompas wine msiexec /i KOMPAS-3D_v21_Home_x64.msi

Выбираем выборочную установку и отключаем установку HASP (она называется как-то по другому в списке, типа менеджера ключей или что-то в этом роде). (Виндовый сервер HASP на Wine не работает, но есть линуксовая реализация, о ней ниже.)
Компас устанавливается, на рабочем столе создаётся ярлык, которым можно запустить приложение. Wine автоматически прописывает в ярлыке правильный WINEPREFIX. Но если возникнет необходимость сделать свой скрипт для запуска то не забудьте в нём про этот префикс.

Активацию делаем просто по официальному мануалу, никаких граблей в процессе не обнаружено: раз, два. Для домашней версии нужно будет:
1) Установить сервер активации из архива aksusbd_vlib46707.tar (он линуксовый, распаковываем, выполняем sudo ./dinst). Кстати, у сервера есть веб панелька, которая доступна после его установки по адресу: http://localhost:1947/
2) Распаковать kActivation_cli.tar, сделать:

sudo cp libhasp_linux_x86_64_46707.so /lib
./kActivation_cli -a <ключ> <емайл>

Запускаем Компас, проверяем что всё ОК, делаем бэкап с ~/.wine-kompas ;)

P.S. Приложение работает под Wine в целом нормально и стабильно, хотя где-то неидеален вид UI. Также, иногда перестают нажиматься кнопки и вводиться текст в диалогах (свойства объектов, например), это лечится нажатием Alt+Tab.

P.P.S. Ждём официальный порт на Linux, альфу обещали уже 2023 году...

Красивое из 2005-2008 года: Canon 300D и Alcatel OT715

Нашёл старую картинку. Мой первый сотовый телефон и мой первый цифровой фотоаппарат (на самом деле, эта тушка 300D у меня вторая - прикупил, когда у первой покоцался сенсор).

Cameraphone

Интернет - золотая рыбка

Много лет назад я понял, что на свои блоги нельзя вставлять картинки по ссылке с других сайтов и массово избавился от таких привязок. Осмотр старых постов сегодня показал, что не стоит использовать и embed-ы с видео. Почти все они со временем сломались. То что было вставлено через Flash Player - сдохло вместе с плеером. Всё что было вставлено и удалено катком цензуры на YouTube - сдохло. Вставленное видео из нельзяграма - сдохло. Да что там говорить, большая часть даже просто ссылок на сайты спустя 10 лет уже не работает.

Спустя лет 15 восстановил утраченные фотографии с Моргофорума, те, которые смог идентифицировать. В некоторых постах не было понятно, что за фотографии были, такие посты стёр. Уничтожил все embed-ы видео, заменил их на ссылки, где исходник уже удалён - удалил посты. Несколько часов возни. В ссылкоблоге стёр больше трети постов, ставших неактуальными.

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

Самая актуальная цитата про политику на все времена

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

В.И.Ленин

О профессиональном сленге

Терминология электриков:
Автомат - автоматическое устройство защитного отключения с защитой по максимальному току.
Устройство Защитного Отключения - автоматическое устройство защитного отключения с дифференциальной защитой по разнице тока между фазой и нулём.
Дифференциальный автомат - автоматическое устройство защитного отключения и с дифференциальной защитой и по максимальному току.
Все три прибора являются автоматами и устройствами защитного отключения. УЗО и диффавтомат - оба дифференциальные. Но не перепутайте....

Или вот из автомобильного: антифриз и незамерзайка - вроде бы, совершенно одно и то же слово (на английском и на русском), но антифриз в двигателе (радиаторе, печке), а незамерзайка в стеклоомывателе. Если вы достаточно знаете английский, думаю, вам тоже это слегка взрывает мозг.

MVP-фотоаппараты б/у 2023.1

Высматривал самые "дёшевые-сердитые" и легко доступные системные камеры на текущий момент до 10000 рублей (б/у в хорошем рабочем состоянии), которые ещё вполне адекватно снимают, возможно кому-то будет интересен мой топ. Никон, Сони, Пентакс не рассматриваю - в моём личном зоопарке таких нет :)

Canon EF (полный кадр)
До 10 тыс. ничего хорошего, только ушатанный 5D или очень старый 1D, а такое покупать можно только чётко осознавая, что делаешь. Если поднимать ставки, то лучше сразу дотянуть до 6D, это в районе 35 тысяч рублей, но камера лучше более старых 5D "марков" почти по всем параметрам и можно найти неубитый вариант с разумным пробегом (скажем, до 50 тысяч кадров).

Canon EF-S (кроп)
Огромный выбор камер, но до 10К очень интересен миниатюрный Canon 100D (8-10 тысяч за тушку). Если чуть поднимать, то на той же 18 МП матрице, но в профессиональном исполнении интересен 7D (15-20 тысяч) с пробегом не более 30-40 тысяч кадров.

Canon EOS M
Canon M10 - 9000-10000 за кит (тушкой редко продаётся, т.к. в продаже всегда шёл китом). (Та же 18 МП матрица, что и у 100D и 7D.)

Micro 4/3
Olympus E-PL5 - 5000-6000 рублей за тушку (PL6, PL7 также можно встретить до 10К).
Olympus OM-D E-M10 - 10000 за тушку.
С китовым объективом примерно +2000р, либо за 4000-5000 можно взять Panasonic GF3-GF5 с китом, и ещё и будет лишняя тушка (хотя и с намного более кислой матрицей) в нагрузку. Кит отдельно стоит примерно как Panasonic GF3-GF5 с китом.

P.S. По оптике для Canon, пальма первенства за дёшево-сердито принадлежит Yonguno 35/2 и 50/1.8 (для EOS M нужен переходник) - видео и спортивную съёмку они не тянут, но хорошее качество картинки и рисунок почти задаром.

Зеркалки Canon являются лучшими из перечисленных вариантов для видео, т.к. поддерживается внешний микрофон.

Archives

                                                                                                                                                                                                                                                                   


© Sergey A. Galin, 1998-2021 sageshome.net/blog/