LINUX.ORG.RU

Сообщения Zeta_Gundam

 

Каких еще символов ему не хватает?

Мне досталась некая негодная программа, которая распространяется в бинарном виде и носит с собой все необходимые библиотеки. Соответственно, есть каталог, где все это свалено в одну кучу, и он, конечно, прописан в LD_LIBRARY_PATH:

$ ls -1
libQt5Core.so.5
libQt5DBus.so.5
libQt5Gui.so.5
libQt5Network.so.5
libQt5WebSockets.so.5
libQt5Widgets.so.5
libQt5XcbQpa.so.5
libQt5Xml.so.5
libcrypto.so.1.0.0
libcurl.so.4
libssl.so.1.0.0
libz.so.1
...
executable
plugins

При запуске executable в виртуалке с Ubuntu-22.04 я получаю список ошибок вида:

qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
...
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
...

Все эти функции есть в libcrypto.so.1.0.0 и libssl.so.1.0.0, но сами libcrypto и libssl не фигурируют в выводе ldd ни для executable, ни для прочих бинарников. Более того, я не вижу этих недостающих символов в выводе nm -uD и objdump -T.

Эта же самая программа нормально запускается в контейнере podman с точно такой же убунтой.

Как понять что вообще здесь происходит?

 ,

Zeta_Gundam
()

SquashFS вместо tar.gz для архива

От старых завершенных проектов остаются данные размером порядка пары сотен Гб, которые жалко сразу выбрасывать и приходится лет по 10 хранить просто на всякий случай. Раньше я запаковывал все в один .tgz (один файл легче копировать, нет риска случайно переписать аттрибуты), клал рядом контрольные суммы и убирал на полку.

Сейчас подумалось, что удобнее было бы использовать для этих целей squashfs – как минимум, с FUSE-дравером можно будет просматривать содержимое без полной распаковки. Оверхед и степень сжатия не так важны, возможность быстро и убедительно проверить сохранность всей копии нужна. С другой стороны, я подозреваю что этот формат не настолько окаменел, как TAR + GZIP, и лет через 20 для монтирования образа может потребоваться некоторая некромантия.

Какие еще есть подводные камни? Что мешает использовать SquashFS вообще везде, где раньше был TAR?

 , ,

Zeta_Gundam
()

Borgbackup против клонирования

Читаю вот это: https://borgbackup.readthedocs.io/en/stable/faq.html#can-i-copy-or-synchronize-my-repo-to-another-location и ничего не понимаю. Ок, допустим клонирование не было приоритетом, никто им не занимался. Но речь идет о каких-то принципиальных возражениях:

What you would get with this is:

  • client machine —borg create—> repo
  • repo —copy/sync—> copy-of-repo

But think about whether that is really what you want. If something goes wrong in repo, you will have the same issue in copy-of-repo.

Я бы привел другое рассуждение: если две копии репозитория подгниют в двух разных местах, то по контрольным суммам мы все равно сможем найти в них полный набор нетронутых данных. А если репозитории никак логически между собой не связаны – то нет.

А как добавляет бэкапам избыточности уважаемая публика?

 ,

Zeta_Gundam
()

Есть ли LaTeX-жизнь на CentOS?

Пытаюсь использовать машину с CentOS 8 в качестве десктопа, особых требований к разнообразию и свежести ПО не предъявляется.

Но тут понадобилось собрать заметку на русском, плюс нужен biblatex. В федоре я устанавливаю texlive-babel-russian, texlive-biblatex, что-то еще, и в результате все работает. В CentOS 7 и 8 я не вижу таких пакетов, не помогает установка texlive-babel и не похоже чтобы в принципе кто-то предоставлял, например, biblatex.sty.

Я не замечаю какого-нибудь пакета или спец.репозитория с TeXlive? Стоит ли возлагать какие-то надежды на репозиторий CentOS, или можно сразу обкладываться инсталляторами из интернетов?

 , ,

Zeta_Gundam
()

Linux ate my RAM - 2

Имею такую ситуацию:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:          64290       17887       17917       18909       28485       26785
Swap:         24147       21572        2575

При этом в топе всего штук 50 процессов с потреблением памяти больше 10 Мб, и они вместе съели максимум 5 Гб памяти. Всего процессов штук 500, и не похоже чтобы лишние гигабайты были размазаны по ним тонким слоем. Отдельный вопрос про своп: неужели все это память, выделенная каким-то процессам? Где-то же должно быть написано кто это все сожрал.

Где память?

Fedora 31, kernel-5.8.18, KDE

 , , , ,

Zeta_Gundam
()

Беспроводные мыши с дополнительными кнопками

tl;dr посоветуйте хорошую беспроводную мышь с кнопками вперед-назад, которая не требует для настройки винду.

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

Кроме того, я привык к двум доп.кнопкам на мыши (вперед/назад), не могу без них работать. И вот доп.кнопки бывают настроены самым странным образом – отправка левых символов, вставка URL оф.сайта,… Разумеется, софт от производителя для настройки только под Windows.

Выбор моделей тут намного меньше, чем для проводных мышей. Через мои руки прошли такие:

  • RAPOO 3290p – то ли мне достался удачный экземпляр, то ли модель просто божественна. Две батарейки, хватает больше чем на год. Лет 6 ношу с ноутбуком, никаких неполадок или глюков, удобная. Маловата для десктопа, уже трудно найти в продаже.

  • ASUS WT425 – таких было две штуки, дешевая, удобная, просто работает (пока не сломается). Работает на одной батарейке, часто засыпает, просыпается только после нажатия какой-нибудь кнопки, временами чудит перемещение/прокрутка. Через месяц начинает облезать краска на корпусе. Реально мышь какая-то одноразовая.

  • LOGITECH M560 – норм, но доп.клавиши отправляют левые символы. Перенастроить не смог, нет винды.

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

ЛОР, посоветуй кайфовую мышь.

 

Zeta_Gundam
()

NetworkManager не хочет автоматически включать 4G модем

Я создал в NetworkManager такое подключение:

connection.type:                        gsm
connection.autoconnect:                 yes
connection.autoconnect-priority:        100
connection.autoconnect-retries:         0 (forever)

Если запустить его руками

nmcli c up Megafon\ GPRS
то все работает, доступ в интернет через модем есть. Но подключаться автоматически при старте системы оно не хочет. Ничего не понимаю, почему так происходит?

Запуск руками:

Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.7442] device (ttyUSB0): Activation: starting connection 'Megafon GPRS' (7291b54f-a21a-4cf2-bcc5-b5fc7b5c6206)
Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.7514] audit: op="connection-activate" uuid="7291b54f-a21a-4cf2-bcc5-b5fc7b5c6206" name="Megafon GPRS" pid=1497 uid=1000 result="success"
Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.7538] device (ttyUSB0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect started...
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (4/8): Wait to get fully enabled
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (5/8): Register
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (6/8): Bearer
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (7/8): Connect
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Nov 25 04:58:07 ct-10 ModemManager[868]: <warn>  Couldn't find associated cdc-wdm port for 'net/wwx001e101f0000'
Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.7926] modem["ttyUSB0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> registered)
Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.7958] modem["ttyUSB0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect started...
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (4/8): Wait to get fully enabled
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (5/8): Register
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (6/8): Bearer
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Simple connect state (7/8): Connect
Nov 25 04:58:07 ct-10 ModemManager[868]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Nov 25 04:58:07 ct-10 ModemManager[868]: <warn>  Couldn't find associated cdc-wdm port for 'net/wwx001e101f0000'
Nov 25 04:58:07 ct-10 NetworkManager[887]: <info>  [1574657887.8260] modem["ttyUSB0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Nov 25 04:58:08 ct-10 ModemManager[868]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> connected)
Nov 25 04:58:08 ct-10 ModemManager[868]: <info>  Simple connect state (8/8): All done
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9409] modem["ttyUSB0"]: modem state changed, 'connecting' --> 'connected' (reason: user-requested)
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9616] device (ttyUSB0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9699] device (ttyUSB0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9764] modem["ttyUSB0"]: IPv6 configuration disabled
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9768] modem-broadband[ttyUSB0]: IPv4 static configuration:
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9772] modem-broadband[ttyUSB0]:   address XX.XX.XX.XX/29
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9774] modem-broadband[ttyUSB0]:   gateway XX.XX.XX.XX
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9776] modem-broadband[ttyUSB0]:   DNS XX.XX.XX.XX
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9777] modem-broadband[ttyUSB0]:   DNS XX.XX.XX.XX
Nov 25 04:58:08 ct-10 NetworkManager[887]: <info>  [1574657888.9946] device (ttyUSB0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:09 ct-10 NetworkManager[887]: <info>  [1574657889.0075] device (ttyUSB0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:09 ct-10 NetworkManager[887]: <info>  [1574657889.0133] device (ttyUSB0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Nov 25 04:58:09 ct-10 NetworkManager[887]: <info>  [1574657889.0971] device (ttyUSB0): Activation: successful, device activated.

При старте системы:

Nov 25 04:39:22 ct-10 ModemManager[516]: <info>  Couldn't check support for device '/sys/devices/platform/soc@1c00000/1c12000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1': not supported by any plugin
Nov 25 04:39:22 ct-10 ModemManager[516]: <info>  Couldn't check support for device '/sys/devices/platform/soc@1c00000/1c50000.ethernet': not supported by any plugin
Nov 25 04:39:25 ct-10 NetworkManager[537]: <info>  [1574656765.2144] manager: startup complete
Nov 25 04:39:30 ct-10 ModemManager[516]: <info>  [device /sys/devices/platform/soc@1c00000/1c1c000.usb/usb2/2-1] creating modem with plugin 'Huawei' and '4' ports
Nov 25 04:39:30 ct-10 ModemManager[516]: <warn>  Could not grab port (usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-wdm0', unsupported'
Nov 25 04:39:30 ct-10 ModemManager[516]: <info>  Modem for device '/sys/devices/platform/soc@1c00000/1c1c000.usb/usb2/2-1' successfully created
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Modem: state changed (unknown -> disabled)
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0427] modem["ttyUSB0"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0490] manager: (ttyUSB0): new Broadband device (/org/freedesktop/NetworkManager/Devices/5)
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0548] device (ttyUSB0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0609] device (ttyUSB0): modem state 'enabling'
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0687] device (ttyUSB0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0776] policy: auto-activating connection 'Megafon GPRS' (7291b54f-a21a-4cf2-bcc5-b5fc7b5c6206)
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0910] device (ttyUSB0): Activation: starting connection 'Megafon GPRS' (7291b54f-a21a-4cf2-bcc5-b5fc7b5c6206)
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.0953] device (ttyUSB0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Simple connect started...
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Simple connect state (4/8): Wait to get fully enabled
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> enabled)
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Simple connect state (5/8): Register
Nov 25 04:39:35 ct-10 NetworkManager[537]: <info>  [1574656775.9313] modem["ttyUSB0"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
Nov 25 04:39:35 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (unknown -> registering)
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Simple connect state (6/8): Bearer
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Simple connect state (7/8): Connect
Nov 25 04:39:36 ct-10 NetworkManager[537]: <info>  [1574656776.0204] modem["ttyUSB0"]: modem state changed, 'enabled' --> 'connecting' (reason: user-requested)
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabled -> connecting)
Nov 25 04:39:36 ct-10 NetworkManager[537]: <info>  [1574656776.0232] modem["ttyUSB0"]: modem state changed, 'connecting' --> 'unknown' (reason: user-requested)
Nov 25 04:39:36 ct-10 ModemManager[516]: <warn>  Couldn't find associated cdc-wdm port for 'net/wwx001e101f0000'
Nov 25 04:39:36 ct-10 NetworkManager[537]: <info>  [1574656776.0234] device (ttyUSB0): state change: prepare -> disconnected (reason 'user-requested', sys-iface-state: 'managed')
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> unknown)
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
Nov 25 04:39:36 ct-10 ModemManager[516]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (unknown -> registered)
Nov 25 04:39:36 ct-10 NetworkManager[537]: <info>  [1574656776.0690] modem["ttyUSB0"]: modem state changed, 'unknown' --> 'registered' (reason: unknown)

 ,

Zeta_Gundam
()

Максимум ECC-памяти для X570

Собираю систему на Ryzen 9 3900X, материнская плата (предварительно) ASUS ROG Crosshair VIII Hero.

Формально в материнку можно воткнуть 128 Гб памяти, и есть поддержка Un-buffered ECC. С другой стороны, в продаже можно найти только планки по 16 Гб, типа Crucial CT16G4WFD8266 или Kingston KSM26ED8/16ME, заодно получаем и низкие частоты (2666 МГц), и латентность CL19. Хочется чего-то большего.

Есть ли здесь какие-то опции, которые я упускаю? Насколько успешно разгоняется память с ECC? Бывает ли ECC-память хотя бы на 2933 МГц?

 , ,

Zeta_Gundam
()

Vulture's Eye падает с Segfault-ом

Запускаем Vulture's Eye.

1) Если существует файл ~/.vultures/vultures.conf и во время последнего запуска vultureseye окно было развернуто на весь экран, игра падает с Segfault.

2) vultureseye может упасть просто так, без видимых причин, но чаще в момент кидания кинжала в какого-нибудь редкого монстра. Это может произойти через пару часов игры, сохранение пропадает.

Как с этим быть и как это вообще отлаживать? Как я понимаю, скрипт /usr/bin/vultureseye выполняет что-то вроде

/usr/games/vultureseye/vultureseye "" 4
но если просто запустить это из-под gdb, будет
Cannot lock /var/games/vultureseye/perm for unknown reason (1).

Такими темпами я никогда до 10-го уровня не доберусь.

 , ,

Zeta_Gundam
()

Urwid+asyncio: как правильно завершить работу?

Допустим, есть дочерний процесс, работа с которым контролируется asyncio, и к этому делу я хочу прикрутить TUI из виджетов Urwid. В результате, насколько я понимаю, рабочий цикл asyncio недоволен тем, что для выхода бросается urwid.ExitMainLoop(). Я пытаюсь делать это так:

import asyncio
import urwid
from functools import partial

txt = urwid.Text('...')
fill = urwid.Filler(txt, 'middle')

loop = asyncio.get_event_loop()

msg = ''
class Proto(asyncio.SubprocessProtocol):
    def __init__(self, done_future):
        self.done = done_future

    def connection_made(self, transport):
        self.transport = transport

    def pipe_data_received(self, fd, data):
        global msg
        msg += data.decode()
        txt.set_text(msg)

    def process_exited(self):
        self.done.set_result(self.transport.get_returncode())

async def job():
    done = asyncio.Future(loop=loop)
    transport, protocol = await loop.subprocess_exec(partial(Proto, done), 'echo', 'Hello there!')
    await done
    transport.close()
    await asyncio.sleep(5)
    raise urwid.ExitMainLoop()

loop.create_task(job())
urwid_loop = urwid.MainLoop(fill, event_loop=urwid.AsyncioEventLoop(loop=loop))
urwid_loop.run()

...и на выходе получаю это:

Exception ignored in: <bound method BaseEventLoop.__del__ of <_UnixSelectorEventLoop running=False closed=True debug=False>>
Traceback (most recent call last):
  File "/usr/lib64/python3.5/asyncio/base_events.py", line 511, in __del__
  File "/usr/lib64/python3.5/asyncio/unix_events.py", line 65, in close
  File "/usr/lib64/python3.5/asyncio/unix_events.py", line 146, in remove_signal_handler
  File "/usr/lib64/python3.5/signal.py", line 47, in signal
TypeError: signal handler must be signal.SIG_IGN, signal.SIG_DFL, or a callable object

Как это делается правильно?

 ,

Zeta_Gundam
()

Fedora, видео с sftp шары

tl;dr Как в этой вашей федоре принято просматривать видео-файлы на удаленных машинах?

Имею привычку раскладывать видео по разным компам, а потом ходить между ними по sftp и смотреть. И все было ОК пока я работал из-под Gentoo — здесь ffmpeg можно собрать с поддержкой sftp и проигрывать видео, не скачивая файл целиком.

Но Gentoo стала требовать слишком много моего внимания, пришла пора пересаживаться на Fedora. Тут я обнаруживаю, что ffmpeg из rpmfusion ничего не знает про протокол sftp, а fuse-sshfs тормозит таким жесточайшим образом, что непригодно для использования. Как быть, есть ли решение?

 , ,

Zeta_Gundam
()

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