LINUX.ORG.RU

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

Изменение исходного кода ядра Linux и его перекомпиляция

 , ,

Всем привет. Я заранее извиняюсь если я разместил тему, не в том разделе, но думаю это более подходящий.

Из Китая вместо нормальных процов пришли инженерники, которые сначала не хотели вообще запускаться, но после перепрошивки биоса через программатор, с горем пополам, я их завел. Мать: X12DAi-N6 Процы: Intel Xeon Platinum 8360Y Система: Ubuntu Server 22.04

Как я выяснил, они всегда определяются биосом как «Genuine CPU 0000@»

Все попытки обмануть судьбу и модифицировать через скрипты cat /proc/cpuinfo с подменой генерации файла, у меня провалились.

Единственный вариант который я вижу, это Изменение исходного кода ядра Linux и его перекомпиляция.

Идея такая модифицировать arch/x86/kernel/cpu/common.c

Внутри него изменить функцию show_cpuinfo(), внутри этого файла, чтобы он выглядел следующим образом:

static int show_cpuinfo(struct seq_file *m, void *v) { seq_printf(m, «processor : 0\n»); seq_printf(m, «vendor_id : GenuineIntel\n»); seq_printf(m, «cpu family : 6\n»); seq_printf(m, «model : 85\n»); seq_printf(m, «model name : Intel Xeon Platinum 8360Y\n»); seq_printf(m, «cpu MHz : 3400.000\n»);

} В данный момент у меня 5.15.0-84-generic Самое близкое что нашел тут https://www.kernel.org/ это 5.15.133

А у меня не хватает культуры знания в этом вопросе.

Получится ли скомпилировать и обновить ядро до новой версии и будет ли работать этот кастыль??

Всем кто поможет, огромное спасибо. Также я готов оплатить готовую сборку. С решением моей проблемы.

З.ы. Версию убунту менять нельзя.

Tverskoy_A
()

Переводилка для вашего ПекА

 , , , ,

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

Обновлено.

Зависимости apt install lua xclip xsel xdotool aosd_cat translate-shell

Вопщем таксь.
Порой, нужно не просто выделить текст где угодно и увидеть его по перевод по горячей клавише,
но и получить его перевод в виде текста. К счастью в x11 есть аж три буфера обмена.
Поэтому добавил опцию copy_translated=true/false.

Суть проста:

  • вешаете скрипт, например на F7
  • выделяете произвольный текст без его копирования через контекстное меню(как и было)
  • нажимаете F7 и
  • всплывает текст перевода (как и было)
  • нажимаете среднюю кнопку мышки и в любом поле ввода вставляется оригинальный текст
  • нажимаете правую кнопку мышки и через контекстное меню делаете вставить и вставляется переведённый вариант
  • повторное нажатие F7 ещё раз покажет перевод, без повторного выделения
#! /bin/env lua
local poptrans =
{
    -- select language from lang to lang
    lang_from = "auto", --auto,en,fr,de or other
    lang_to   = "ru",
    -- copy translated text to clipboard
    -- if you select text (no use context menu textcopy)
    --   - middle mouse button paste translated text
    --   - right mouse button context menu paste original text
    --   - script used 2 levels X11 clipboard buffest of 3 levels :)
    copy_translated = true,
    -- how more seconds show you translated text
    show_timer = 3,
    -- popup translated text under mouse position
    follow_mouse = true,
    -- if follow_moise is false, set translated
    -- text position static coords
    popup_pose_x = 0,
    popup_pose_y = 0,
    -- max width message in screen, zero is auto
    popup_width  = 0,
    -- get text from system clipboard
    app_clipboard = "xclip -o 2> /dev/null",
    -- set text to system clipboard
    app_set_clipb = "xsel -b -i ",
    -- get mouse systemd coords
    app_mousepose = "xdotool getmouselocation 2> /dev/null",
    -- show text popup with translated text
    app_popup_msg = "aosd_cat -x %d -y %d -B white -R white -t 0 -p 0 -u %d -w %d"
}

function poptrans:run()
    local translated = '';
    self.previos_text = '';
    -- read clipboard
    local exec = io.popen(self.app_clipboard);
    local text = exec:read('*all');exec:close();
    -- get cursor position
    exec = io.popen(self.app_mousepose);
    if self.follow_mouse then
        self.popup_pose_x,self.popup_pose_y = exec:read("*all"):match("x:(%d+) y:(%d+)");
        self.popup_pose_x = self.popup_pose_x+3; exec:close();
    end
    -- do not translate previos text or empty or translated text
    if text ~= previos_text and text ~= '' and text ~= translated then
      local from = ''
      if self.lang_from ~= "auto" then
        from = self.lang_from;
      end
      exec = io.popen('trans   '..from..':'..self.lang_to.." -b '"..text.."'");
      translated = exec:read("*all"); exec:close();
      if self.copy_translated then
         exec = io.popen(self.app_set_clipb,'w')
         exec:write(translated:sub(1,#translated-1));
         exec:flush();
         exec:close();
      end
      previos_text = text;
      exec = io.popen(
      self.app_popup_msg:format(
      self.popup_pose_x,self.popup_pose_y,self.show_timer*1000,self.popup_width),"w");
      exec:write(translated);exec:close();
    end
end

poptrans:run()

Не используйте версию из истории правок!. Там опасный баг с кавычками, (спасибо @maxcom исправить дал)
Единственное что там полезно это пример как делать перевод через гугл API по токену.
Но раз появилась возможность правки то ::)

- ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК, Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ
- ВСЁ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ, ЛЮБЫЕ СОМНЕНИЯ ДОЛЖНЫ ВЕСТИ
- К ОТКАЗУ ОТ ИСПОЛЬЗОВАНИЯ
LINUX-ORG-RU
()

Peertube и необходимые для него ресурсы

 activitypab, , , ,

Здравствуй, LOR. Хочу я тут поднять свой инстанс свободного видео-хостинга PeerTube, но я не могу определиться с тем, насколько мощный нужен сервер. Так вот: сколько ресурсов потребляет Peertube? А то мне надо знать, подойдет ли мой старый ПК под это дело.

И насколько пойдет схема, когда сервер развернут на ПК, но IP скрывается через VPN на удаленной VPS, откуда Peertube и попадает в Интернет?

thary
()

Openvpn или Wireguard?

 

Всем привет! Подскажите пожалуйста, какой vpn лучше использовать для одного клиента? Чтобы получить максимальную скорость и стабильность. Сервер арендован в США, задача подключить к нему одного клиента. Будет лучше Wireguard или OpenVpn или что то другое? Спасибо за помощь.

jaglug
()

Ищу сoфт рaзмытия лиц нa видеo

 ,

Мoжет есть кaкoй-тo сoфт кoтoрoму пoдaешь нa вхoде видеo, oн нa выхoде фoрмирует тoт же видеo фaйл нo уже с рaзмытыми лицaми? рaзмыть все лицa кoтoрые будут встречены нa видеo. oс lin\win. или мoжет есть нейрoнки упaкoвaнные в пoдoбнoгo рoдa кoнечный прoгрaмму\прoдукт? или мoжет быть инструкции пoшaгoвые пo нейрoнкaм кaк чтo где нaстрoить чтoбы реaлизoвaть зaдaчу?

зaрaнее спaсибo.

VoDD87
()

Gismeteo испортили сайт

 

Gismeteo испортили сайт, окончательно отключив старую версию, оставив только убогий планшетный интерфейс.

Может кто подскажет обход или альтернативу? Кто что использует для прогноза погоды?

damix9
()

curl перестал работать с google mail. Как восстановить работу?

 ,

Привет! Для проверки почты использовал консольную утилиту curl. Для получения количества писем bash файл:

echo
curl -u $username:$password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | wc -l
До конца мая все работало прекрасно. Теперь внезапно выдает всегда 0 писем. Я помню были грозные письма от гугль, что с начала июня что-то они там перекроют в целях безопасности. Я не обращал внимания. Видимо причина в этом. Пытался найти решение в настройка аккаунт гугль, бесполезно. Функция - разрешить приложению работать с посторонними программами отключена. Как победить эту ситуацию?

rustamych
()

Ноутбук, s2idle и батарейка

 , ,

Привет, ЛОР!

Как ты наверное знаешь, на новых ноутбуках с Intel часто (всегда?) отсутствует привычный s2ram. Вместо этого, система переводится в состояние s2idle, при котором процессор работает в режиме сниженного энергопотребления. При этом везде пишут, что вроде как расход аккумулятора должен быть на минимуме.

В моём случае, за 8 часов в таком режиме в среднем сжирается ~30% заряда, что естественно вообще не круто. Старый ноутбук мог в s2ram спокойно несколько дней пролежать.

Скажи, что с этим можно сделать? Быстрое гугление ничего интересного не дало, но может я куда-то не туда смотрел?

Железо: Dell XPS 15 2021, Core i7 11800H + nvidia 3050Ti

Софт: NixOS, Linux 5.16 и так далее.

P.S. Deep sleep точно нет. Я проверял. В биосе всё включено. Биос последний.

cat /sys/power/mem_sleep 
[s2idle]

Решение: у меня решилось после смены режима работы диска в UEFI с RAID на AHCI/NVMe. Без этого диск не выключается и, как следствие, процессор тоже.

Плюс, обновление прошивки через fwupdmgr update не помешало.

hateyoufeel
()

FB2 читалка для Emacs

 , ,

Если вдруг кто то страдал без возможности читать FB2 в Emacs, то у меня хорошая новость - теперь и для этого тоже есть плагин. Дописал до состояния «можно пользоваться», решил похвастаться. Поддерживает ссылки, картинки, навигацию по разделам (imenu, отдельный буфер с содержанием), показ инофрмации о книге. Скриншоты и чуть подробнее - https://github.com/jumper047/fb2-reader. Пакет есть на MELPA, можно установить из менеджера пакетов: M-x package-install fb2-reader и добавить в конфиг

(add-to-list 'auto-mode-alist '("\\.fb2\\(.zip\\|\\)$" . fb2-reader-mode))
Это мой первый большой плагин, если вдруг кто нибудь кто нибудь посмотрит внутрь и скажет где я накосячил будет круто.

psh
()

Выбор 3д принтера

 , ,

Настало время обзавестить 3д принтером и печатать всякую хрень. Как показало непродолжительное гугление, на рынке сейчас два типа принтеров для домашнего использования: экструзионные (FDM) и фотополимерные (стереолитография SLA, DLP и подобные). Первые простые и уже давно на рынке, но качество и точность хромает. Вторые же, относительно недавно стали доступны, но зато могут печатать с высокой детализацией.

Есть на ЛОРе владельцы таких SLA-принтеров? Какие ваши впечатления? Много возни с фотополимерами? Нужна ли отмывочная станция?

Перемещено xaizek из talks

cocucka
()

Сделал публичный порт-форвардер через SSH, оцените

 , ,

ssh ssh-j.com

Сервис для проброса SSH-подключения из-за NAT. Никаких доп. программ ни на сервере, ни на клиенте. Никаких регистраций и временных доменов/портов. Одна команда для проброса SSH, одна для подключения.

Хоть ssh-j и позволяет пробрасывать любые сервисы, предлагается публиковать только порты SSH, чтобы не нарушался принцип end-to-end шифрования.

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

Буду рад услышать отзывы.

ValdikSS
()

Проверка есть ли шифровние в голосовом чате Conversations

 , ,

Есть программа Conversations https://github.com/iNPUTmice/Conversations для текстового и голосового общения между собой. В описании сказано что есть шифрование голоса через DTLS-SRTP. Я настроила у себя на сервере prosody и turnserver. Голосом можно поговорить, все нормально.

Подкючение происходит на порт 12345, он вроде как TLS но он также может принимать и не шифрованные данные сюдя по описанию. Измение строки cipher-list вообще ни на что не влияет, даже если туда белеберду подставить, поэтому и возникло подозрение что алгоритмы шифрования толком не работают.

Вопрос: - как проверить что голосовые сообщения от меня до сервера действительно зашифрованы?

Conversations стоит на телефоне с Android 9. А сервер на Ubuntu 20.04.1 LTS.

turnserver конфиг:

use-auth-secret
static-auth-secret=pasSworD
fingerprint
realm=1.2.3.4
tls-listening-port=12345
cert=/var/lib/turn/turnserver.crt
pkey=/var/lib/turn/turnserver.key
cipher-list="TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:!aNULL:!eNULL:!MD5:!DSS"
dh-file=/var/lib/turn/dh-2066.pem
external-ip=1.2.3.4
no-tcp-relay
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
allowed-peer-ip=10.0.0.1
no-loopback-peers
no-multicast-peers
no-cli
user-quota=8
total-quota=48
log-file=/var/tmp/turn.log
simple-log
no-tlsv1
no-tlsv1_1
AnastasiaM
()

Pi-KVM - проект открытого IP-KVM на Raspberry Pi

 , , , ,

Pi-KVM - проект открытого IP-KVM на Raspberry Pi
Группа Hardware and Drivers

Состоялся первый публичный релиз проекта Pi-KVM: набора софта и инструкций, которые позволяют превратить Raspberry Pi в полностью функциональный IP-KVM. Это устройство подключается к HDMI/VGA и USB-порту сервера, чтобы управлять им удаленно, независимо от операционной системы. Можно включить, выключить или перезагрузить сервер, настроить BIOS и даже полностью переустановить ОС с загруженного образа: Pi-KVM умеет эмулировать виртуальный CD-ROM и флеш-накопитель.

Количество необходимых деталей, помимо самого Raspberry Pi, минимально, что позволяет собрать его буквально за полчаса, а общая стоимость окажется в районе $100 даже в самой дорогой конфигурации (в то время как многие проприетарные IP-KVM при меньшей функциональности будут стоить от $500 и выше).

Основные возможности:

  • Доступ к серверу через веб-интерфейс обычного браузера или VNC-клиент (никаких Java-апплетов или флеш-плагинов);
  • Низкая задержка видео (порядке 100 миллисекунд) и высокий FPS;
  • Полная эмуляция клавиатуры и мыши (включая светодиоды и прокрутку колесиком/тачпадом);
  • Эмуляция CD-ROM и флешки (можно загрузить несколько образов и подключать их по мере необходимости);
  • Управление питанием сервера с помощью ATX-пинов на материнской плате или через Wake-on-LAN; поддерживается IPMI BMC для интеграции в существующую сетевую инфраструктуру;
  • Расширяемые механизмы авторизации: начиная от обычной по паролю и заканчивая возможностью использования единого сервера авторизации и PAM.
  • Широкая поддержка железа: Raspberry Pi 2, 3, 4 или ZeroW; различные устройства видеозахвата;
  • Простой и дружественный тулчейн, который позволяет собрать и установить ОС на карту памяти Raspbery Pi всего парой команд.
  • И многое другое.

Также готовится к релизу специальная плата расширения для Raspberry Pi 4, которая реализует все описанные функции, плюс множество других возможностей (подробности на GitHub). Открытие предзаказов ожидается в четвертом квартале 2020 года. Стоимость ожидается в районе $100 или меньше. Подписаться на новость о предзаказе можно тут (google.com).

>>> Подробности на GitHub (github.com)

liksys
()

Ненавязчивое изучение английского языка

 

Решил подтянуть английский. Для этого готов выделять 30 минут каждый день. Подскажите может есть какие-то методики/курсы/приложения/etc подходящие под такой темп изучения, желательно бесплатные.

CryNet
()

Потестите хостинг картинок

 кому не лень,

Народ, затестисте загрузку тут - http://pic4a.ru/

Особенно в винде и экзотических браузерах (я тестил только в FF и хроме новых).

p.s. Любые предложения/замечания - приветствуются.

pi11
()

Поменять сгоревший порт WAN на целый LAN через прошивку Open Wrt (роутер Xiaomi WiFi 3G)

 , ,

Из-за выгоревшего порта WAN в роутере Xiaomi WiFi 3G пришлось прошить Open Wrt, с целью замены WAN на целый LAN порт. Никак не могу настроить правильно, в сети есть инструкции но как не пробовал не выходит это сделать, роутер не корректно работает.

Скрины стоковых настроек:

[img=http://i6.pixs.ru/storage/8/0/4/1linuxJPG_2987093_30506804.jpg]

[img=http://i6.pixs.ru/storage/8/1/0/2linuxJPG_5478560_30506810.jpg]

Буду очень благодарен за помощь, желательно «на пальцах»).

gjurza82
()

Фантастика

 

Навеяно современным сиквелом «Бегущий по лезвию», а также оригиналом, который пришлость пересмотреть. Очень напомнило роман одного из фантастов моего детства (Роберт Хайнлайн?), но не могу вспомнить ни название, ни автора.

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

Dendy
()

Виртуальный монитор заглушка

 

Доброго дня. И так. Есть задача гнать видеокарты через SSH.
Сейчас делаю это таким образом:

DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 /usr/bin/nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 -a [gpu:0]/GPUMemoryTransferRateOffset[3]=900 -a [gpu:0]/GPUGraphicsClockOffset[3]=20

В таком виде всё прекрасно работает. Гонится на всех видеокартах, при корректно настроенном xorg.conf c указанием coolbits.

Всё бы было прекрасно если бы не одно но: ОБЯЗАТЕЛЬНО в 0вой GPU должен быть воткнут монитор. Если монитора нет - nvidia-settings говорит

WARNING **: Could not open X display
ну и так далее, понятно по тексту.

Но нет монитора - X дисплея нет. Нет разгона.

Господа, очень НЕ хочется городить костыль в виде аппаратного переходника HDMI->VGA который является эмулятором монитора по совместительству.

Может что-то не то ищу? Как бы программную затычку ему в конфиг сунуть....

gich
()

Защита от случайного выдёргивания запущенной с флешки системы

 devmapper, ,

Привет всем, кто запускает Linux с флешки!

Вы наверняка попадали в ситуации, когда кто-то задевал флешку, с которой работает система, или подключал рядом с USB-жёстким диском требовательный к питанию смартфон, в результате чего устройство на долю секунды теряло питание, сбрасывалось и переподключалось. Система оказывалась в дико неприятном состоянии, в котором вот оно, корневое устройство, но ни одна команда, кроме тех, которые ещё лежат в кэше, не работает, и даже Alt+SysRq+S,U не поможет предотвратить потерю данных: устройство, на которое можно было бы сбросить кэш, уже отключено, и убедить ядро обратиться к другому невозможно. Фрустрации добавляло ещё и то, что Windows To Go с этим прекрасно справляется, зависая, пока флешку не вставят обратно (с выключением по минутному таймауту).

Оказывается, в Linux это тоже просто обойти. Достаточно создать при помощи dmsetup логический диск в режиме linear и при помощи правил udev делать ему suspend, если устройство было удалено, и создавать ему новую таблицу и делать resume, когда устройство с тем же UUID вставят обратно. На всякий случай, memlockd позволяет удержать в кэше бинарники udev, dmsetup, busybox и blockdev, на которых всё работает. Готовые скрипты (в расчёте на initramfs-tools) лежат на https://github.com/aitap/switchblock/. Адаптировать на другие initramfs должно быть несложно, потому что это всего лишь правило udev + вызываемые из него файлы.

Если кому-то будет интересно, готов принять pull request'ы со скриптами сбора пакетов.

AITap
()

Помогите с заглушкой для apache

 ,

Когда приходят на nginx/apache по левому доменному имени, то открывается первый включенный сайт из списка. Для nginx заглушка выглядит следующим образом:

server {
     listen 80 default_server;
     server_name _;
     return 404;
}
Как делается такая же заглушка для apache? Или хотя бы ключевые слова подскажите, по которым искать. Не могу вспомнить.

targitaj
()