LINUX.ORG.RU

Сообщения Shushundr

 

Межмолекулярные связи: ковалентные, ионные, металлические, водородные

Можно сделать язык для описания химических связей, аналогичный VHDL? Если уже сделали, то как он называется?

 ,

Shushundr
()

Существует ли какой-нибудь «язык описания проводов»?

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

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

Просто какого-нибудь ASN.1 не хватит, так как он (я так предполагаю) не позволяет описывать преобразования битовых полей или битовых значений (не умеет «вычислять»). С другой точки зрения, вычисления в стиле арифметики (сложение/вычитание) не требуются. Основные операции - это перестановки, склеивания и разрезания.

 , , ,

Shushundr
()

какой размер у firmware современных материнских плат?

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

Вот у Tianocore EDK II какой размер бинарника?

А у SeaBIOS?

 

Shushundr
()

Предложите пример несложной несуществующей консольной программы

Которой ещё нет, но которая могла бы быть полезна.

Несложной, это значит без TUI.

 

Shushundr
()

app-misc/liquidctl - как пользоваться?

Перегревается комп.

# sensors
corsairpsu-hid-3-3
Adapter: HID adapter
v_in:        230.00 V  
v_out +12v:   11.97 V  (crit min =  +8.41 V, crit max = +15.59 V)
v_out +5v:     5.03 V  (crit min =  +3.50 V, crit max =  +6.50 V)
v_out +3.3v:   3.28 V  (crit min =  +2.31 V, crit max =  +4.30 V)
psu fan:        0 RPM
vrm temp:     +48.0°C  (crit = +70.0°C)
case temp:    +40.2°C  (crit = +70.0°C)
power total: 102.00 W  
power +12v:   70.00 W  
power +5v:    29.50 W  
power +3.3v:   3.00 W  
curr +12v:     6.00 A  (crit max = +85.00 A)
curr +5v:      5.88 A  (crit max = +40.00 A)
curr +3.3v:  937.00 mA (crit max = +40.00 A)

nvme-pci-0200
Adapter: PCI adapter
Composite:    +34.9°C  (low  =  -0.1°C, high = +117.8°C)
                       (crit = +149.8°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +67.0°C  (high = +73.0°C, crit = +83.0°C)
Core 0:        +55.0°C  (high = +73.0°C, crit = +83.0°C)
Core 1:        +54.0°C  (high = +73.0°C, crit = +83.0°C)
...
Core 27:       +55.0°C  (high = +73.0°C, crit = +83.0°C)

corsaircpro-hid-3-2
Adapter: HID adapter
in0:          11.89 V  
in1:           4.98 V  
in2:           3.31 V  
fan1 4pin:   1663 RPM
fan2 4pin:   1696 RPM
fan5 4pin:   1632 RPM
fan6 4pin:   1532 RPM

Вентилятор процессора подключен как corsaircpro-hid-3-2 -> fan1

Какими командами разогнать вентиляторы?

установил app-misc/liquidctl

https://github.com/liquidctl/liquidctl

# liquidctl list
Device #0: Corsair Commander Pro
Device #1: Corsair HX850i
# liquidctl initialize all
WARNING: some attributes cannot be read from corsair-cpro kernel driver
Corsair Commander Pro
├── Temperature probe 1     No  
├── Temperature probe 2     No  
├── Temperature probe 3     No  
├── Temperature probe 4     No  
├── Fan 1 control mode     PWM  
├── Fan 2 control mode     PWM  
├── Fan 3 control mode     N/A  
├── Fan 4 control mode     N/A  
├── Fan 5 control mode     PWM  
└── Fan 6 control mode     PWM  

WARNING: bound to corsair-psu kernel driver, OCP and fan modes not changed
# liquidctl status
Corsair Commander Pro
├── Fan 1 speed     1666  rpm
├── Fan 2 speed     1696  rpm
├── Fan 5 speed     1634  rpm
├── Fan 6 speed     1530  rpm
├── +12V rail      11.89  V
├── +5V rail        4.98  V
└── +3.3V rail      3.31  V

WARNING: some attributes cannot be read from corsair-psu kernel driver
Corsair HX850i
├── VRM temperature            49.0  °C
├── Case temperature           41.0  °C
├── Fan speed                     0  rpm
├── Input voltage            230.00  V
├── +12V output voltage       11.95  V
├── +12V output current       10.75  A
├── +12V output power        128.00  W
├── +5V output voltage         5.03  V
├── +5V output current         6.75  A
├── +5V output power          33.50  W
├── +3.3V output voltage       3.28  V
├── +3.3V output current       0.94  A
├── +3.3V output power         3.00  W
├── Total power output       160.00  W
├── Estimated input power    175.00  W
└── Estimated efficiency         91  %
liquidctl --match "Corsair Commander Pro" set "fan1" speed 100
liquidctl --match "Corsair HX850i" set "fan" speed 100

Пробовал ещё xsensors, но там нет управления (или я не нашел).

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

UPD: Учитывает ли операционная система температуру ядер при распределении нагрузки? Почему этого не заметно на мониторинге температуры (перегреваются конкретные ядра)?

Почему в xsensors нельзя было добавить мониторинг графиков температуры по ядрам? Чтобы было видно, что ядро нагрелось из-за нагрузки перед этим. Можно даже два графика - загрузка и температура.

В mate-control-center температуры вообще не вижу нигде.

 , ,

Shushundr
()

Что такое «смартконтракты»?

«Смарт-контракты (умные контракты) — это компьютерные протоколы, предназначенные для автоматизации исполнения условий и соглашений в рамках децентрализованных систем, таких как блокчейн. Они представляют собой компьютерные программы, которые отслеживают и обеспечивают исполнение обязательств при сделках. Смарт-контракты используют принципы автоматизации, безопасности, надёжности и прозрачности. Они применяются в различных сферах, например, в финансовой области, управлении недвижимостью и логистике.»

Насколько я понимаю:

  1. есть способ организовать вычисления на «распределённом компьютере», где много разных физических компов перепроверяют вычисления и консенсусом выбирается правильный вариант результатов расчётов.
  2. для этого компьютера пишутся алгоритмы распределения прибыли, на основании каких-то условий (как проверяются условия - мне не ясно).
  3. люди полагаются на эти алгоритмы вместо того, чтобы поручать такие дела посреднику.

Например, если есть работодатель и исполнитель, то они могут заключить смартконтракт на разработку софтины. После разработки исполнитель нечто публикует, это нечто как-то проверяется (вот мне непонятно как это сделать без человеческого фактора), и смартконтракт (как алгоритм) выдаёт деньги, которые он изначально залочил на оплату этого проекта.

Если предположить, что смартконтракт разводит функции посредника(арбитра) и оценщика (заплатив за работу второму и автоматизировав работу первого), то что надо изучить, где и что про это читать? Как там считается репутация, как смартконтракт противодействует сговору сторон?

У меня пока впечатление, что услуги мясного арбитра окажутся дешевле, чем время разработчика, которого придётся нанять для составления смартконтракта. А только функции бездумного бюрократа (т.е. человека с небольшой зарплатой) этот смартконтракт и может автоматизировать.

 , ,

Shushundr
()

Как правильно утилизировать батареи ИБП?

«Утилизация батарей из источников бесперебойного питания (ИБП) должна проводиться в соответствии с установленными нормами и правилами. Вот основные этапы утилизации:

Транспортировка аккумулятора к месту конечной утилизации.

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

Расчленение корпуса изделия и пластин свинца.

Измельчение полипропилена со свинцом путём дробления.

Переплавка отходов в печах с устройствами отвода ядовитых испарений.

Электролит должен быть нейтрализован и использован повторно при возможности. Меры безопасности должны соблюдаться, так как батареи ИБП сохраняют напряжение 380 В и заряд на клеммах даже в разряженном состоянии.»

Так какие именно нормы и правила надо читать, куда везти сдавать?

 , ,

Shushundr
()

Как собрать initramfs при помощи sys-kernel/installkernel[dracut,grub] ?

Читал страницу https://wiki.gentoo.org/wiki/Installkernel
не понял, какой командой запустить сборку.

Конфиг по-умолчанию меня устраивает:

# cat /usr/lib/kernel/install.conf

# This file is managed by sys-kernel/installkernel
layout=grub
initrd_generator=dracut
uki_generator=none

USE-флаги нужные я указал:

[ebuild R ] sys-kernel/installkernel-28::gentoo USE="dracut grub systemd -refind -systemd-boot -uki -ukify" 0 KiB

а дальше никак:

# readlink /usr/src/linux
linux-6.6.30-gentoo
# kernel-install add-all
Failed to open /usr/lib/modules/: Operation not permitted
# ls /usr/lib/modules
ls: cannot access '/usr/lib/modules': No such file or directory 
# mkdir /usr/lib/modules
# kernel-install add-all
No kernels to install found. 

 , ,

Shushundr
()

Как в Gentoo скачать готовый initramfs с systemd внутри?

Рассматриваю внимательно страницу
https://www.gentoo.org/downloads/

и не вижу там образов на основе systemd (для x86_64). Два раза есть одинаковая ссылка на LiveGUI, но обе они на Open RC.

А я хочу чтобы был initramfs собранный при помощи dracut, но сам собирать не хочу. Gentoo - бинарный дистрибутив!

 , ,

Shushundr
()

virt-manager, EFI - не инсталлируется grub (2)

Читал вики
https://wiki.gentoo.org/wiki/GRUB
там написано, что есть три варианта установки (UEFI with GPT, BIOS with MBR, BIOS with GPT)
В интерфейсе virt-manager выбрал вариант Firmware: UEFI

Читал
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks#Creating_the_EFI_System_Partition_.28ESP.29

Вот мой диск:

# gdisk /dev/vda
GPT fdisk (gdisk) version 1.0.9

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/vda: 209715200 sectors, 100.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): FAF168F6-2AED-40C2-91A5-D06E0A8F207D
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 209715166
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         8390655   4.0 GiB     EF00  EFI system partition
   2         8390656       209713151   96.0 GiB    8300  Linux filesystem

Command (? for help): i
Partition number (1-2): 1
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI system partition)
Partition unique GUID: DB9AD88C-FD3E-4B61-8B22-CC910DAB5121
First sector: 2048 (at 1024.0 KiB)
Last sector: 8390655 (at 4.0 GiB)
Partition size: 8388608 sectors (4.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'EFI system partition'

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem)
Partition unique GUID: FF6B0957-D60B-46BB-9406-B84AB12544E7
First sector: 8390656 (at 4.0 GiB)
Last sector: 209713151 (at 100.0 GiB)
Partition size: 201322496 sectors (96.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'Linux filesystem'

Command (? for help): q

монтирую его
mount /dev/vda1 /efi

и тут оно мне пишет:

# grub-install --target=x86_64-efi --efi-directory=/efi 
Installing for x86_64-efi platform.
grub-install: error: cannot find a device for /boot/grub (is /dev mounted?).

В chroot я заходил командой arch-chroot /mnt/gentoo с Minimal CD.

Что надо сделать?

UPD:
mount /dev/vda2 /mnt/gentoo/
mount /dev/vda1 /mnt/gentoo/boot/

# time grub-install --efi-directory=/boot
Installing for x86_64-efi platform.
Installation finished. No error reported.

real	0m17,614s
user	0m0,052s
sys	0m0,616s

только сама установка 17.6 секунд. Это тоже долго.

 , ,

Shushundr
()

Как делают интернационализацию в Java?

В книжке написано
resources are assumed to be in
${basedir}/src/main/resources

Только там совсем не сказано, ни как ресурсы туда класть, ни как указывать коды языков, ни как позже использовать эти ресурсы в коде…

«О состоянии интернационализации и локализации на сегодняшний день нужно знать три вещи: всё очень, очень и очень плохо» (q) Интернационализация: как сделать веб доступным для всех

UPD:
) Как соотносятся ресурсы и модули?
Надо ли мне делать по отдельному модулю на каждый язык?
) Как модули опакечивать в portage?
для того, чтобы они появлялись в списке выводимом командой java --list-modules

 ,

Shushundr
()

Архитектура GTK

Читаю web-страницу
https://www.gtk.org/docs/architecture/

и мне непонятно:

  1. Если вся графика делится на растровую и векторную, есть библиотека для работы с png, gif, jpg (GdkPixbuf), то где библиотека для векторной графики и для svg, почему она не в составе Gtk. Переход на векторные ассеты должен быть актуален в связи с большими мониторами и требованиями к масштабируемости интерфейсов (например увеличить всё изображение в окне по Ctrl+‘+’);
  2. если в Gtk 4.2 сделали новую библиотеку NGL для работы с OpenGL, то почему об этом не написано в статье про архитектуру? Как мне загружать 3D-ассеты, в каком-нибудь .dae-формате? Почему для пиксельных это сделано, а для трёхмерных неупомянуто?
  3. а где поддержка печати вообще? Видимо это Cairo, но как оно должно работать с cups? Или как мне изображение загнать в .pdf-файл (без печати в .pdf-файл через пользователя, а сразу из программы)? В какой библиотеке UI-диалоги для предпросмотра печати?
  4. GSK и GDK есть на картинке, но нет в легенде к картинке.
  5. Загадкой является, почему области рисунка-схемы не сделали гиперссылками, могли же, причём несколькими способами.

«Observed a typo or some missing information, edit this page.»
«Read on how to contribute to this website.»

Вы тут все умные, вы и пишите. Я бы написал, если бы меня за каждое слово не ругали и не поправляли.

 

Shushundr
()

Что нужно, чтобы из Kate сохранить в smb-шару?

Я открываю диалог сохранения файла, захожу в Network, выбираю Shared Folders (SMB), оно надолго рисует кружок ожидания и ничего не делает.

У меня есть samba-сервер на gentoo и kate в KDE на Debian.
Что надо настроить, чтобы всё быстро и шустро соединялось (то есть, сразу) без предварительных ручных операций вроде монтирования вручную?


Существует какой-то wsdd (Windows Service Discovery),

https://github.com/christgau/wsdd
is written in Python with good documentation
By default it listens on all non-loopback interfaces,
but you can edit /etc/default/wsdd to restrict where it listens

http://gpo.zugaina.org/net-misc/wsdd

Но нужен он, или не нужен, непонятно.


there is a tool called system-config-samba that you can get from the software manager.

Пакет с таким названием я не нашел в Gentoo.


Вижу книжку
2007, Gerald Carter & Jay Ts & Robert Eckstein, Using Samba: A File and Print Server for Linux, Unix & Mac OS X, 3rd Edition

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


на странице
https://www.samba.org/samba/GUI/
прочитал про программы gnomba, jags и komba2
Как вы догадываетесь, в Gentoo их установить невозможно. Это же логично!

 , , wsdd

Shushundr
()

Как qemu запускают из systemd?

Гуглил на сайте qemu - ничего не нашел.
Гуглил на сайте systemd - ничего не нашел.
Искал в Gentoo Wiki - много треша, плохой поиск, не нашел.
На другие дистрибутивы (Fedora) тем более надежды нет.
Искал на unix.stackexchange - там, может быть, что-то и есть, но там же не будет целенаправленной статьи по вопросу.
Искал на github - ничего не нашел.

  • Конечно, если поковыряться что-нибудь там есть, но нет объяснялок!

Искал на LOR - частные отрывочные вопросы.

Только Arch впереди планеты всей.

Но мне неудобно, я хочу .ebuild с готовыми скриптами:

# equery files qemu | grep service
#

и с пользовательской документацией конкретно для Gentoo - как конфигурировать, примеры, картинки.

UPD: можно предположить, что у всех вирутальных машин разные конфигурации, и прописывать это в сервисы неудобно. Тогда наверное надо искать что-то на основе virsh. Но где искать и как?

 ,

Shushundr
()

LXQt - зачем он?

Мне настоятельно советуют перейти с Mate на LXQt, потому что gtk - зло, mate старьё, а Qt это стильно и высокотехнологично.

Но мне непонятно, зачем менять шило на мыло. Я прочитал статью про LXQt в википедии, и она не затронула никаких струн в моей душе.

В общем, для чего нужно LXQt, для каких пользователей оно? Подойдёт ли она лучше, если я курьер, дворник или работник пункта выдачи сберпочты? Можно ли определить, подойдёт ли оно лучше для крестьян, рабочих или интеллигенции? Или для каких оно людей и почему?

Что есть в LXQt, чего нет в других DE? Работает ли с Wayland? Работает ли с тачскрином? Умеет ли световое перо? А мультитач?

UPD: Конечно есть +1 балл за фактор модности, ведь разработчик какой-то Хуэй из Китая. Но точно ли это хорошо? Неизвестно ведь, какая DE используется в китайских дистрибутивах Linux.

 

Shushundr
()

К чему примонтировываются сетевые шары?

В стандарте FHS есть /media, но там про шары ничего не сказано. В Gentoo - тоже.

Мне настойчиво предлагают установить
net-fs/cifs-utils
net-fs/autofs

Затем отредактировать файл /etc/auto.master

/media/ip.ad.dr.es /etc/auto.samba

Затем создать файл /etc/auto.samba

share -fstype=cifs,rw,username=guest ://ip.ad.dr.es/share

и обращаться к ней как /media/ip.ad.dr.es/share

Как правильно настроить автомонтирование samba-шары?

UPD: прочитал, что можно через systemd, у меня такое есть, тоже хочу узнать, как лучше.

 

Shushundr
()

Гарантированное качество связи между разными операторами

Я как пользователь хочу заказать голосовой канал (на час) из Москвы в Новосибирск. И без всех этих ваших интернетных зажевываний звука. Как это сделать?

Просто позвонить не предлагать, хотелось бы как-то на основе интернета.

«QoS (Quality of Service, «качество обслуживания») — это технология, которая позволяет различным классам трафика иметь разные приоритеты в обслуживании, обеспечивая тем самым необходимый сервис заданному трафику в определенных технологических рамках.»

в мозгах провайдеров гарантированность каналов почему-то неразрывно связана с физикой.

«Каждый из 32 каналов в потоке E1 имеет пропускную способность 64 кбит/с; таким образом, общая пропускная способность E1 — 2048 кбит/с (2048000 бит/c).»

У меня провайдер тоже предоставляет поток прямо в квартиру, гарантированный, по договору.

Но это не мешает потоку теряться где-то между мной и Новосибирском.

Я имею в виду, что мне нужен не E1, а вообще просто 64 кбит/с, но гарантированные. Или можно даже меньше, с учётом кодирования, но всё равно гарантированные. Нету? А виноват я почему-то…

 ,

Shushundr
()

Как прокинуть директорию в Qemu?

Я хочу запустить qemu так, чтобы там стал доступен stage3 без скачивания изнутри из интернета.

Для этого я запускаю машину как-то так:

qemu-system-x86_64 -enable-kvm -smp 10 -m 16G  -display gtk -vga virtio \
    -drive file=./disk.qcow2,if=virtio \
    -fsdev local,id=fsdev0,path=./stage3,security_model=mapped \
    -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=stage3 \
    -netdev bridge,br=bridge0,id=net1 \
    -device virtio-net-pci,netdev=net1 \
    -cdrom admincd-amd64.iso \
    -boot d

# readlink admincd-amd64.iso 
/srv/iso/gentoo/admincd-amd64-20240324T164906Z.iso

Архив stage3 распаковал командой tar xf в директорию ./stage3

Проблема в том, что когда загрузка выполняется, там внутри

zgrep "9P" /proc/config.gz
# CONFIG_NET_9P is not set

В общем, при монтировании командой

mount -t virtiofs stage3 /mnt/stage3

dmesg говорит

virtio-fs: tag <stage3> not found

Правильно ли я понимаю, что дистроделы не учли такой вариант и не собрали как следует ядро, для работы в виртуалках?
Есть ли .iso-файл специально для установки в виртуалки?

 , virtiofs

Shushundr
()

Как скачать плейлист с ютуба в директорию?

Вот этот:
https://www.youtube.com/playlist?list=PLt3fgqeygGTVk5khY228EBHujarUgyLfv

консольной командой или скриптом

https://wiki.gentoo.org/wiki/Yt-dlp

 

Shushundr
()

А точно ли Gentoo это бинарный дистрибутив?

Скачал Gentoo Live DVD (livegui-amd64-20240310T170410Z.iso), загрузился, получился KDE. Там на десктопе лежит одинокая ссылка на «Gentoo Linux Handbook».
Это ни разу не то, что я жду от бинарного дистрибутива. Где Calamares, который надо запустить, чтобы всё установилось само-само?

Даже больше скажу:
Calamares
нифига не стабилизирован. Нельзя просто взять и установить его.

Ранее по теме:
Gentoo становится бинарным

 

Shushundr
()

RSS подписка на новые темы