LINUX.ORG.RU

Избранные сообщения mavak

Четверное нижнее подчеркивание?

Форум — Development

Сегодня мне попался такой массив структур __versions в коде ядра:

static const struct modversion_info ____versions[]
__used __section("__versions") = {
	{ 0x86e941f6, "module_layout" },
	{ 0x3213f038, "mutex_unlock" },
	{ 0xe1537255, "__list_del_entry_valid" },
	{ 0x4dfa8d4b, "mutex_lock" },
	{ 0x68f31cbd, "__list_add_valid" },
	{ 0x800473f, "__cond_resched" },
	{ 0x542be051, "__x86_indirect_alt_jmp_rax" },
	{ 0x687303f7, "module_put" },
	{ 0x2ea2c95c, "__x86_indirect_thunk_rax" },
	{ 0xbdfb6dbb, "__fentry__" },
	{ 0x9a353ae, "__x86_indirect_alt_call_rax" },
	{ 0x64a62cf6, "try_module_get" },
};

По имени ____versions[]… Грепнула, а там есть и пятерное, и девятерное нижнее подчеркивание. Пруф:

include/linux/rcupdate.h:	typeof(*p) *_________p1 = (typeof(*p) *__force)READ_ONCE(p); \

Зачем вообще используют подобную практику? Неудобно же (да, даже в моно-шрифте), я еще понимаю двойное или тройное, но 9х? Разработчики там сидят и считают каждое подчеркивание, как в Лиспе скобочки? Или может у них есть тулзы для подсчета нижних подчеркиваний? Дискасс

 , ,

x86-
()

Чтение с нескольких кассет exabyte

Форум — General

Привет! Понадобилось считать данные с кассет exabyte. Записывал не я. В наличии несколько кассет для одной заархивированной директории. Удалось раскопать инструкцию по чтению от сотрудника, который писал эти кассеты. Выполнял mt setblk 0, а затем tar xvf /dev/nst0. Распаковывается содержимое первой кассеты и получаю сообщение о неожиданном конце файла. Нагуглил multi-volume. Сделал tar xvMf /dev/nst0 после того как распаковывает первую кассету просит вставить 2ю, жму кнопку на магнитофоне, вставляю 2ю жму enter, а в ответ получаю, что на этой кассете нет продолжения файла с предыдущей. Думал может перепутаны, вставлял все другие, но результат тот же. Пробовал читать со 2й ленты, но tar говорит, что это не архив. Пробовал делать dd if=/dev/nst0 of=tape_1,img bs=10240 всё считал успешно, но после попыток чтения или объединения такой же облом в конце первой кассеты. В чём может быть причина?

 ,

andalevor
()

Странное поведение gluster с SSL

Форум — Admin

Всем привет.
Столкнулся со странной проблемой при работе с glusterfs с включенным шифрованием у volume. Ошибки обычно при старте/стопе.
Примеры:
«failed: Pre/Post Validation failed on имя-ноды»
В логах: «0-management: Pre Validation failed on peers» etc...

«Another transaction is in progress. Please try again after some time.»
В логах: «0-management: Locking failed on»

«Commit failed on имя-ноды»

При отключенном шифровании всё работает на ура. На тестовых стендах - тоже. Причём, 2 стенда - такие же сервера, как и те на которых ошибка. Единственная разница - тестовые стоят в нашей серверной а «ошибочные» у хостинг-провайдера(Москва, известный). Серверы в одной стойке, рядом. Проблем с соединением нет.
ОС - Debian 10. Версия gluster - 5.5-3. Везде.

Товарищи, кто сталкивался с подобными ошибками?

 gluster ssl

S_Paul
()

отображение нот при нажатии клавиши на midi клавиатуре

Форум — Multimedia

Добрый день. Подскажите ПО чтобы можно было визуализировать в реальном времени ноту нажатой клавишы на midi клавиатуре, или опцию в каком-то ПО для этого. Нашел http://vmpk.sourceforge.net но оно показывает в буквенном виде с ориентацией на клавиатуре, хочу символьное обозначение ноты на линейке. Кто встречал может?

Спасибо.

 

ddp1
()

SeaBIOS + Full Disk Encryption, возможно?

Форум — Linux-hardware

На Thinkpad x230 прошил свежий Coreboot с SeaBIOS в качестве Payload. Работает без вопросов.

Подскажите пожалуйста, как теперь установить Debian GNU\Linux 10 c Full Disk Encryption на диск?

Заменить SeaBIOS на GRUB2 не подходит вариант (в текущем состоянии компилируется с ошибкой и иногда Windows нужен с другого диска).

 , ,

koteg94
()

Это что, скоро и подсветка тормозить не будет?

Форум — Talks

Для

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

 

pon4ik
()

функциональные с fn, мультимедийные без fn

Форум — Desktop

на ноутбуке клавиши F1-F12 работают только с FN, а без fn там всякие сны, яркости громкости и прочая фигня

можно ли как-то изменить это поведение? debian buster, gnome

 , ,

buratino
()

Аналоги termdebug в neovim

Форум — Development

Есть чё? А то больно уж годную годноту Брэм в коробку положил, мешает теперь спрыгнуть на прогрессивный текстовый редактор.

Чем вообще ща по факту nvim тащит, кроме remote gui?

 ,

pon4ik
()

Ручная криптографическая подпись

Форум — Talks

Задумался о том, что постоянно расписываться одинаковой закорючкой может быть не самым рациональным. Нет ли способа более надёжно защитить свою личную подпись от подделки? Например, включать в неё какой-нибудь код, вычисляемый с помощью текущего времени и даты, назван я документа и т.д.? При этом это должно работать быстро. Что придумало человечество к 2к19 в этом отношении?

 

Pythagoras
()

Видеоплеер с метками времени (тайм-стемпами)

Форум — General

Иногда нужно поставить метку на текущий кадр (с хоткея), что бы потом можно было туда перемотать. Даже если одну метку можно ставить, уже норм, но лучше несколько именованных. Плееров много, кто-нибудь знает где такое есть?

В mpv есть намеки на такое,

       Shift+BACKSPACE
              Undo  the last seek. This works only if the playlist entry was not changed.  Hitting it a second time will go
              back to the original position.  See revert-seek command for details.

       Shift+Ctrl+BACKSPACE
              Mark the current position. This will then be used by Shift+BACKSPACE as revert position (once you seek  back,
              the  marker will be reset). You can use this to seek around in the file and then return to the exact position
              where you left off.

Но тут (1) метки двигаются по мере просмотра видео и (2) они не именованы, а просто в очереди и быстрона одну и ту же переключатся при надобности не получается.

 

BOSS-NIGGER
()

Концепция портативного роутера/модема

Форум — Talks

Многоуважаемый all,

с тех пор как я вкусил все прелести штатовского lte и ещё более ужасного 3G, я стал задумываться о девайсе который умел бы следущее:

- размеры - не более 3.5 HDD с батареей (вынимаемой). Соотвественно бесперебойная работа от батареи при отключении БП.

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

- 1-2 слота под SIM, умение работать как GSM gateway, модем, WIFI hotspot а также repeater.

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

- желательно без Android, либо с возможностью установить туда свободную сборку Android.

- желательно, возможность управлять GSM модулями, желательно cell radio kill switch, но чтобы WIFI продолжал работать.

- Желательно возможность вывести ethernet порты хоть и черз адаптер для организации проводного uplink и организации балансировки между mobile/ethernet ISP

- опционально умение быть power bank'ом для телефона.


Я видел похожие по форм фактору девайсы от Huawei, но там по-моему их проприетарный Android или что-то такое.

В стационарном исполнении я могу собрать такую штуку из отдельных компонентов (raspberry pi, mikrotik, gsm модуль и тд и тп)

Кто-то встречал подобное в мобильном исполнении, чтобы можно было в полдокотнике в машине возить не заботясь о питании особо и если надо запихнуть в задний карман/рюкзак.


Или создавать проект на краудфандиговых сайтах? :)

 , ,

Den0k
()

железячное и orange pi.

Форум — Talks

Запилил тут в рамках одного проекта небольшую плату для загрузки Orange pi One/PC и подобных с SPI флешки.

Основная идея была отказаться от SD карточки в качестве загрузчика и перейти к загрузке uboot с spi и дальнейшей прогрузке по сети.

https://github.com/ktkd/rpi_spi_board

собственно если кому-то нужно в Мск могу отсыпать пару плат :)

ps. может кто-нибудь знает адекватное решение как можно управлять сразу большим количеством serial(ttl) портов? не используя магию с usb хабами и кучей usb2ttl.

 , ,

ktk
()

Что означает !DENY в sudoers?

Форум — General

Привет, в конфиге /etc/sudoers столкнулся с такой записью:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
%devadmins	ALL=(ALL)	ALL, !DENY

Я вхожу в группу devadmins.

Я не могу сделать «sudo su - www-data», но могу, к примеру, сделать «sudo -u www-data -i» или «sudo cat /etc/sudoers». Или вообще отредактировать этот файл: «sudo nano /etc/sudoers».

Что мне запрещено? Не совсем понял смысл второй строки (!DENY)... Или что хотели сделать админы?

 

iljuase
()

Велосипед на Asp.Net Core MVC

Форум — Development

(барабанная дробь)

Теперь у моего велосипеда есть пример встраивания лиспа в пайплайн Asp.Net Core MVC.

В лисповом процессе поднимается Kestrel, поднимается сам фреймворк и его расширения (и скачиваются по ходу дела, если вдруг отсутствуют), и в этот пайплайн вклиниваются коллбеки на лиспе, которыми же мы производим даже всю конфигурацию.

Все на лиспе, и сервер, и модель, и вью, и контроллер, и даже небо и даже Аллах.

https://github.com/Lovesan/bike/blob/master/examples/aspnet-mvc.lisp

Вот конкретно код хендлера:

(defun process-request (request response route-data)
  (declare (type dotnet-object request response route-data)
           (ignore request))
  "Processes a single HTTP request.
 REQUEST parameter represents an instance of HttpRequest.
 RESPONSE parameter is an instance of HttpResponse, which we would modify.
 ROUTE-DATA represent a collection of route data parameters(a RouteData instance)."
  (handler-case
      ;; First, retrieve the 'name' route parameter, which we have configured
      ;;  in our CONFIGURE-ROUTES handler
      ;; In case of it represents a string which equals to 'None',
      ;;  we instead utilize current user name.
      (let* ((route-arg (ref (property route-data 'Values) "name"))
             (who (if (string-equal route-arg "None")
                    (property 'Environment 'UserName)
                    route-arg)))
        ;; Set response content type
        (setf (property response 'ContentType) "text/plain; encoding=utf-8")
        ;; Write a string to response stream. Note that the extension method
        ;;   which we are making use of, returns a Task instance
        (invoke 'HttpResponseWritingExtensions 'WriteAsync response
                (format nil "Hello from AspNet.Mvc, ~a!~%Now is ~a~%"
                        who
                        (invoke (property 'DateTime 'Now) 'ToString))
                (property 'CancellationToken 'None)))
    (error (e)
      ;; Handle error in case of one occurs and return completed task
      (format *error-output* "~a~%" e)
      (property 'Task 'CompletedTask))))

 , , , ,

lovesan
()

Удаланное управление сервером на скриптах

Форум — Admin

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

Концепт:

Программа предназначена для выполнения операций на уделенном сервере. Скриптами для программы являются lua скрипты. Данные скрипты могут взаимодействовать с удаленным сервером в режиме ssh - отправлять команды и обрабатывать их вывод. А так же они могут выполнять другие действия, например передачу файлов на сервер или с него. Особенностью программы является тот факт, что операции являются транзакционными. Т е например есть группа команд, для нее всегда имеется группа команд отката. Если в процессе выполнения скрипта что-то упадет, программа будет иметь транзакционный лог, т е полную последовательность операций отката до первоначального состояния до старта скрипта.

Зачем мне нужна эта программа. У меня есть 0..N dev серверов, которые постоянно приходится реконфигурировать, перезаливать на них сервисы, и делать прочие простые но жутко нудные задачи. Хочется автоматизировать данный процесс и сделать это таким образом, что бы если автоматизация где-то навернется, была возможность такого же автоматического отката до состояния как было до ее запуска.

Кто какие готовые решения знаете подобного рода?

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

 

Serbis
()

Как узнать от чего комп проснулся после pm-suspend?

Форум — General

Непонятно почему стал комп иногда просыпаться, обычно в первые две-три минуты после перевода в спячку. Но если повторно усыпить, обычно уже спит нормально (хотя тоже без гарантии). Читал вывод dmesg, что-то толком не понял. Причем такое поведение проявилось в последние пару недель.

 

praseodim
()

cups classes запретить листинг принтеров группам пользователей

Форум — Admin

Мне нужно ограничить список принтеров по группам. Те юзер в группе group1 должен видеть ограниченное количество принтеров. Важное замечание, меня не особо интересует запрет печати, мне надо чтобы в принт диалоге были только те принтера, которые я ему указал.

Это возможно сделать?

 ,

constin
()

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

Форум — Development

Чтобы подцепить её к бинарнику и чтоб она по ходу выполнения программы печатала каждую вызываемую функцию, значения аргументов и возвращаемый результат. Наподобие того, что выдаёт strace, но не для системных вызовов, а для функций внутри программы. Или может быть gdb умеет такое? Желаемое конечно можно реализовать и вручную, напихав в исходниках printf-ов, но хотелось бы чего-нибудь более автоматизированного. При наличии отладочных символов это технически вполне реализуемо

 , , ,

Harald
()

Вызвать приложение по системному событию

Форум — Development

Как вызвать приложение по системному событию если приложение не активно?

 , , ,

ferz
()

Ноутбук Irbis NB43 и сброс BIOS'а при чёрном экране

Форум — Linux-hardware

Доигрался тут с настройками BIOS'а но ноутбуке и теперь у меня чёрный экран. Изменить настройки на прежние штатно нет возможности, поскольку чёрный экран. Каким образом можно вернуть настройки BIOS'а к заводским? Производители никаких хоткеев (наподобие F10 для EFI загрузки из файла с носителя) для этого не предусматривают? Пока что гуглятся методы только через вскрытие корпуса.

 ,

saahriktu
()