LINUX.ORG.RU

Сообщения Jefail

 

Локальный Web Server и cgit в мир, вопросы безопасности.

Привет, ЛОР. У меня сейчас есть личные сервисы развернутые локально (NAS, Git-Server, CalDAV), для доступа к ним за пределами локальной сети используется WireGuard (сервером выступает роутер Keenetic). Однако, возникла потребность вывесить наружу сервисы, которые должны быть доступны всем (Простой Web Server с одностраничным сайтом, cgit с репозиториями). У меня в принципе жуткое непринятие стандартных решений и вся моя инфраструктура self-hosted, насколько возможно. В роли сервера будет выступать мини-пк, который работает 24/7 с Ubuntu Server на борту, доменное имя есть, статический IP тоже, вопрос в следующем: Насколько безопасно торчать всему этому в мир и какие правила безопасности обязательно стоит соблюсти?

 , , ,

Jefail
()

Проксирование Cisco AnyConnect с macOS через WireGuard.

Привет, ЛОР.

Да, немного оффтоп, но хочется прям максимально странного.

Дано: Рабочая машина в виде MacBook Pro, на которой стоит Cisco AnyConnect, хочется иметь возможность прокидывать его через WireGuard, чтобы цепляться с Linux за этот туннель и иметь доступ к ресурсам, которые этим самым Cisco закрыты. Ставить это проприетарное ненужно на свою систему нет никакого желания, попробовал сделать в лоб, поднял на macOS WireGuard сервер, зацепился за него, пинговаться пингуется, но все то что закрыто Cisco через такой туннель недоступно.

Собственно, вопросы:

  1. Возможно ли такое сделать в принципе?
  2. В какую сторону примерно копать?

 , , , ,

Jefail
()

Rust. Overflow checks на этапе компиляции.

Привет, ЛОР. Начал изучать Rust, за плечами 10 лет разработки на Java/Kotlin, так что в теме не зеленый, но вопрос возник очень примитивный.

Смотрим книгу по типам данных, там написано следующее.

Let’s say you have a variable of type u8 that can hold values between 0 and 255. If you try to change the variable to a value outside that range, such as 256, integer overflow will occur, which can result in one of two behaviors. When you’re compiling in debug mode, Rust includes checks for integer overflow that cause your program to panic at runtime if this behavior occurs. Rust uses the term panicking when a program exits with an error; we’ll discuss panics in more depth in the “Unrecoverable Errors with panic!” section in Chapter 9.

When you’re compiling in release mode with the --release flag, Rust does not include checks for integer overflow that cause panics. Instead, if overflow occurs, Rust performs two’s complement wrapping. In short, values greater than the maximum value the type can hold “wrap around” to the minimum of the values the type can hold. In the case of a u8, the value 256 becomes 0, the value 257 becomes 1, and so on. The program won’t panic, but the variable will have a value that probably isn’t what you were expecting it to have. Relying on integer overflow’s wrapping behavior is considered an error.

Читая прямо и в лоб, если собираем в debug - упадем в panic, если в релизе - получим 0/1/2, в зависимости от того, насколько вышли за границы u8.

А теперь практика.

fn main() {
    let mut number: u8 = 255;
    number += 1;
}

Вот этот код не собирается, ни в debug, ни в release, ошибка компилятора следующая

error: this arithmetic operation will overflow
 --> src/main.rs:3:5
  |
3 |     number += 1;
  |     ^^^^^^^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
  |
  = note: `#[deny(arithmetic_overflow)]` on by default

Однако, стоить добавить всего одну строчку к этому коду

fn main() {
    let mut number: u8 = 255;
    number += 1;
    println!("The number is: {number}");
}

И поведение программы соответствует описанному в книге, собственно, вопрос: Почему вызов println! так влияет на это? В первом случае оно даже не собирается и overflow ловится на этапе компиляции, но стоит добавить println! и все начинает работать совсем иначе.

 ,

Jefail
()

NAS, лучший способ увеличить Failure Tollerance

Привет, ЛОР.

Дошли у меня руки наконец-то организовать себе NAS и уйти от облачных решений.

Основная проблема была в том, что у меня в ходу все 3 ОС и нет адекватного универсального решения + фотографии с телефона/фотоаппарата/плюшки в виде возможности смотреть видео с любого устройства в локальной сети и т.д.

Взял Synology DS223j и HDD на 4ТБ enterprise уровня (SEAGATE Exos 7E10).

Настроил, все прекрасно, летает-работает-монтируется по nfs через fstab, но, в текущей конфигурации это решение абсолютно не отказоустойчивое, а это для меня критически важный показатель, поскольку там лежат все данные, от оцифровок кассет 1996 года до сегодняшних дней.

Соб-но, полез гуглить и понял, что RAID сам по себе не является заменой бэкапов (если докинуть один диск и начать его зеркалить).

Потому у меня вопрос: Как лучше поступить в данной ситуации, чтобы получить максимально отказоустойчивую систему на случай непредвиденных ситуаций?

У меня в голове 2 варианта:

  1. Все таки RAID (взять еще один идентичный диск и слепить их в зеркало)
  2. Взять внешний HDD на 4 ТБ и бекапиться средствами Synology раз в n дней.

По второму крайне смущает отсутствие у внешних накопителей S.M.A.R.T., нет возможности узнать о неисправностях диска, если таковые будут, первое, почему-то, в интернете тоже особо надежным не считают, в общем, дискасс.

 , , ,

Jefail
()

Перевозка компьютера с водяной системой охлаждения зимой.

Привет, ЛОР.
У меня максимально необычный вопрос, но нагуглить толком ничего не получилось.
Дано: Рабочая станция с водяной системой охлаждения (ASUS ROG Strix LC 360).
И необходимость перевезти это из Уфы в Москву, глобальный переезд, потому планируется заказ грузовой газели, где со всем прочим поедет и системник.
Но, только сейчас я понял, что ехать оно будет двое суток, а за бортом разброс температур от -20 до -5. В грузовом отсеке автомобиля, скорее всего, будет едва ли теплее.
Соб-но, вопрос, а как системы водяного охлаждения относятся к такому?
Забегая вперед: Система неразборная, вариант слить жидкость не вариант. Либо везти, либо не везти.

 , , ,

Jefail
()

ext4magic и попытка восстановить удаленный shelve.

Соб-но, сабж, вопрос, наверное, паранойи ради. По глупости своей вместо git stash использовал костыль от JetBrains под названием Shelve Changes, который складывал патч изменений в директорию .idea внутри проекта, которую с радостью вынес вызов git clean -fdx.

Попытался восстановить данные с помощью дампа журнала ФС через debugfs и ext4magic, результата не имело, но вопрос теперь в другом: Я правильно понимаю, что ext4magic сам по себе данные на диск не пишет и играясь с ним я точно не мог ничего повредить на диске, над которым он работал?

 , , ,

Jefail
()

Dual Boot, сохранение состояния системы при переходе в другую ОС.

Привет, ЛОР.

Странная, наверное, задача, но пишу как есть.

Дано: Рабочая станция с физическим dual boot. 2 отдельных одинаковых SSD, на одном стоит Pop_OS, на втором Windows 11, Secure Boot выключен. 90% времени работаю в Linux, но, время от времени нужно грузиться в Windows для работы в специфичном софте. Я лентяй и любитель больших аптаймов, развертывание рабочего окружения после холодной загрузки может занимать до 30 минут времени, потому, собственно, и возник вопрос: А есть ли возможность перезагружаться в другую ОС, сохраняя при этом состояние Linux? Теоретически, мне нужен hibernate на стероидах, но практически чего-то дельного в интернете не нашел. Подскажите, пожалуйста, возможно ли это в принципе и, если да, в какую сторону копать?

 , , ,

Jefail
()

Помогите понять суть MCE: [Hardware Error].

Привет, ЛОР. Имею следующий конфиг по железу:

Motherboard: ASUS ROG Strix X570-E Gaming
CPU: AMD Ryzen 9 5950x 

Системе третий год, дистрибутив Pop_OS, настройки BIOS дефолт + включено PBO.

Сегодня заметил в логе dmesg вот такие сообщения.

[13046.777610] mce: [Hardware Error]: Machine check events logged
[13046.777613] [Hardware Error]: Deferred error, no action required.
[13046.777617] [Hardware Error]: CPU:1 (19:21:0) MC19_STATUS[-|-|-|-|-|-|Deferred|Poison|-]: 0x90001eb761e88ceb
[13046.777622] [Hardware Error]: IPID: 0x0000000000000000
[13046.777624] [Hardware Error]: Bank 19 is reserved.
[13046.777625] [Hardware Error]: cache level: L3/GEN, tx: GEN

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

Заранее спасибо за ответы.

 , , ,

Jefail
()

Чем записывать / проигрывать звук с MIDI?

Привет, ЛОР. Абсолютный нуб в теме, надеюсь на вашу помощь. Исторически сложилось, что умею в игру на фортепиано, недавно приобрел цифровое (Yamaha NP-12) и в довесок к нему USB B провод, в общем, максимально простая задача: Фортепиано выступает в роли MIDI клавиатуры, а на десктопе надо просто делать запись и проигрывать то, что нажимается. Что можете посоветовать из софта для этого? Тысяча фичей мне нужна, ничего больше записи вручную сыгранной классики не требуется. Заранее спасибо за ответы.

 , , ,

Jefail
()

Как выпилить mainline ядро и вернуться на сток от дистрибутива?

Привет, ЛОР. Ссоре за возможно глупый вопрос, но в этой области я экспертизой не обладаю. Предыстория: Стоит Pop_OS 20.04 на системе с Zen3, поскольку в стоке к дистру шло староватое ядро (5.8) я ставил 5.11 из mainline по этому гайду https://ubuntuhandbook.org/index.php/2021/02/linux-kernel-5-11released-install-ubuntu-linux-mint/

Но сейчас создатели Pop_OS написали, что сами выкатили 5.11 для 20.04 и я хотел бы удалить mainline ядро и вернуться на сток, вопрос только в том: Как это корректно сделать? Заранее всем спасибо за ответы и помощь.

 , , ,

Jefail
()

3 и 4 пиновые коннекторы вентиляторов.

Привет, ЛОР. Продолжается рубрика глупых вопросов, но всё же, может кто сможет подсказать. В корпусе были 3 вертушки на фронтальной панели. Подключалось это так: БП -> Мулекс на 3 х 3 pin и туда всё это втыкалось. Вертушки в комплекте с корпусом оказались тем ещё дерьмом и начали дребежать уже на третий день, не проблема, заменил на 3 нормальные от Be quiet, но вот проблема, у них питание было 4х пиновое и пришлось растыкивать их по всем дыркам на материнской плате. В ход пошли и M.2 Fan и CPU Fan и CHA FAN. Насколько я понимаю, 4х пиновые контролируют обороты через PWM, но вот вопрос, система ведь будет ориентироваться на температуру CPU и M2, когда будет слать PWM сигналы для этих коннекторов? А мне надо чтоб оно всегда вращалось на статических оборотах, как это было на старых вертушках. Что лучше сделать в таком случае? Забить или попытаться найти переходник Мулекс -> 3 x 4 pin? Последний, кстати, я практически нигде не могу найти и не уверен, существуют ли такие вообще.

 , , ,

Jefail
()

Много мусора в логах ядра от amdgpu

Ночи доброй, ЛОР. Продолжение саги о линуксе на AMD и мусоре в логах. Дано: Pop_OS 20.04 + ядро 5.10 взятое с Ubuntu mainline, GPU Asus Radeon 5500 XT Dual 8GB, подключены 2 монитора по DisplayPort. Соб-но, в чем вопрос: Система работает стабильно, к этому нет претензий, но в dmesg огромное количество подобных записей. Подскажите пожалуйста, есть о чём переживать / что-то костылить или это просто Warning’и на которые можно забить?

...
[ 3800.311476] amdgpu 0000:0c:00.0: amdgpu: RAS: optional ras ta ucode is not available
[ 3800.335498] amdgpu 0000:0c:00.0: amdgpu: RAP: optional rap ta ucode is not available
[ 3800.335502] amdgpu 0000:0c:00.0: amdgpu: SMU is resuming...
[ 3800.335509] amdgpu 0000:0c:00.0: amdgpu: smu driver if version = 0x00000036, smu fw if version = 0x00000037, smu fw version = 0x00351d00 (53.29.0)
[ 3800.335510] amdgpu 0000:0c:00.0: amdgpu: SMU driver if version not matched
[ 3800.337957] amdgpu 0000:0c:00.0: amdgpu: SMU is resumed successfully!
[ 3800.623541] [drm] kiq ring mec 2 pipe 1 q 0
[ 3800.635787] [drm] VCN decode and encode initialized successfully(under DPG Mode).
[ 3800.635920] [drm] JPEG decode initialized successfully.
[ 3800.635939] amdgpu 0000:0c:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 3800.635940] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[ 3800.635941] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[ 3800.635942] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[ 3800.635943] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[ 3800.635944] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[ 3800.635945] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[ 3800.635945] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[ 3800.635946] amdgpu 0000:0c:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[ 3800.635947] amdgpu 0000:0c:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
[ 3800.635948] amdgpu 0000:0c:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[ 3800.635949] amdgpu 0000:0c:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
[ 3800.635950] amdgpu 0000:0c:00.0: amdgpu: ring vcn_dec uses VM inv eng 0 on hub 1
[ 3800.635950] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 1 on hub 1
[ 3800.635951] amdgpu 0000:0c:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 4 on hub 1
[ 3800.635952] amdgpu 0000:0c:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 1
[ 3806.611200] [drm] free PSP TMR buffer
[ 3809.264438] [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
[ 3809.264453] [drm] PSP is resuming...
[ 3809.439225] [drm] reserve 0x900000 from 0x800f400000 for PSP TMR
[ 3809.631453] amdgpu 0000:0c:00.0: amdgpu: RAS: optional ras ta ucode is not available
[ 3809.655228] amdgpu 0000:0c:00.0: amdgpu: RAP: optional rap ta ucode is not available
[ 3809.655232] amdgpu 0000:0c:00.0: amdgpu: SMU is resuming...
[ 3809.655238] amdgpu 0000:0c:00.0: amdgpu: smu driver if version = 0x00000036, smu fw if version = 0x00000037, smu fw version = 0x00351d00 (53.29.0)
[ 3809.655240] amdgpu 0000:0c:00.0: amdgpu: SMU driver if version not matched
[ 3809.657379] amdgpu 0000:0c:00.0: amdgpu: SMU is resumed successfully!
...

 , , , ,

Jefail
()

Видна не вся ОЗУ и странные ошибки в логах ядра.

Доброй ночи, ЛОР. Собрал систему на Ryzen 9 5950x. Материнская плата - Asus X570-E Gaming, стоит 64 гб ОЗУ, в EFI видно всё. Накатил Pop_OS 20.04 и вот тут возникла проблема.

  1. ОС видит не всю ОЗУ. About в настройках рапортует об 62.8 GiB. Вывод free -m
vsulimov@workstation:~$  free -m
              total        used        free      shared  buff/cache   available
Mem:          64293        2298       43912          20       18082       61265
Swap:             0           0           0

  1. В логах много ошибок вида
...
[    6.749607] EDAC amd64: F19h detected (node 0).
[    6.749613] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    6.818043] EDAC amd64: F19h detected (node 0).
[    6.818052] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    6.881856] EDAC amd64: F19h detected (node 0).
[    6.881865] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    6.950136] EDAC amd64: F19h detected (node 0).
[    6.950145] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    7.006040] EDAC amd64: F19h detected (node 0).
[    7.006049] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    7.074286] EDAC amd64: F19h detected (node 0).
[    7.074292] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
[    7.162086] EDAC amd64: F19h detected (node 0).
[    7.162095] EDAC amd64: Error: F0 not found, device 0x1650 (broken BIOS?)
...

Соб-но, вопросы:

  1. Что на самом деле означают эти ошибки и какой у них уровень важности, могу ли я на них забить?
  2. Могут ли эти ошибки быть связаны с неполным определением ОЗУ системой.
  3. Другие причины, почему ОЗУ видна не вся? Не пинайте сильно, пожалуйста, последние 5 лет сидел исключительно на ноутбуках и может быть тут всё не баг, а фича, и я просто чего-то не знаю.

 , , , ,

Jefail
()

Посоветуйте, пожалуйста, видеокарту.

Привет, ЛОР. В продолжение недавней темы. Собираю систему на рязани, там нет видео встроенного в процессор, потому нужна ваша помощь. Последние 5 лет сижу на ноутбуках и вообще не слежу за видеокартами, соб-но, вопрос: Что стоит купить чтобы с наименьшим гемором работало в линуксе? Условие всего одно - нормально тянуть 2 монитора с разрешениями 2560. Соответственно, наличие 2х HDMI / DisplayPort, в принципе, всё.

 , , ,

Jefail
()

AMD Ryzen 9 5950x и минимальная версия ядра.

Привет, ЛОР. Планирую собрать себе десктоп с сабжем (если влияет, в качестве материнской платы скорее всего будет ASUS ROG CROSSHAIR VIII).

Так вот, соб-но вопрос. Где можно точно найти информацию, какое ядро минимально поддерживает данную связку? Я (не точно), находил информацию, что поддержка есть с ядер 5.10+ и отсюда вытекает второй вопрос: Я пользуюсь Pop_OS, в котором по умолчанию стоит это:

Linux matebook-x-pro 5.8.0-7630-generic #32~1609193707~20.04~781bb80-Ubuntu SMP Tue Jan 5 21:23:50 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Можно ли будет каким-то способом собрать своё ведро с дефолтным конфигом, но более свежей версии и если да, как это можно будет сделать? Заранее спасибо всем за ответы, в Linux мире не нуб, но подобное предстоит провернуть впервые.

 , , , ,

Jefail
()

UI / UX Дизайнер мобильного приложения с погодой (Android)

Привет, ЛОР. Есть такое дело, в свободное от основной работы время я пилю погодное приложение для сервиса OpenWeatherMap. Опен сорс, бесплатно, без рекламы и всегда таким будет. Но есть проблема: Я умею в код, но не умею в дизайн, потому ищу UI/UX, который сможет нарисовать красивые макеты, которые потом воплатятся в реальное приложение.

ТЗ по сути это:

  1. Текущая погода
  2. Почасовой прогноз
  3. Дневной прогноз
  4. Экран настроек

Вознаграждение обсуждается.

Вот как это выглядит сейчас. https://ibb.co/yQXK8KZ https://ibb.co/MphrJR4 https://ibb.co/R2479Wn

 , , ,

Jefail
()

Изопропиловый спирт для протирки техники

Привет, ЛОР.

Возможно тупой вопрос, но в химии я не силён, а огрести не хочется.

Обычно я использую спец. средства для протирки техники и периферии, но тут недавно появилась такая штука (https://www.wildberries.ru/catalog/15146870/detail.aspx?targetUrl=XS)

Соб-но вопрос, можно ли этим + дистиллированной водой (70 на 30) обрабатывать обычную технику / пластик. Не является ли сабж растворителем и не попортит ли он его?

 ,

Jefail
()

Запретить Android Emulator'у трогать настройки звука

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

Проблема: При запуске Android Emulator’a (который штатный от студии) громкость микрофона в системе выкручивается на максимум. Меня в принципе смущает, что эмулятор начинает его слушать, а он бонусом еще и громкость его трогает. В гуях ничего толком не нашел, потому вопрос: Как ему можно запретить менять эту настройку(в идеале вообще отрезать доступ к микрофону в любом виде)?

 , ,

Jefail
()

Кто-нибудь встречал библиотеку для работы с .kdbx на Java?

Сабж. KeePass2Android хорош, но ужасно тормознутый, сейчас есть время / возможность запилить опенсорсный аналог, но, я могу сказать, что я силен в Android разработке, но не могу сказать тоже самое про работу с шифрованными базами данных. Если кто знает - ткните носом пожалуйста.

 , ,

Jefail
()

Средство от комаров, пластик и объектив

Привет, ЛОР. Приключилась у меня тупая история. Спрашиваю здесь, потому что тут хотя бы люди умные. Так вот, выбирался сегодня на природу, использовал для защиты от комаров крем и какой-то спрей (сабжей не осталось, но я так понял они все из одного сделаны), так вот, немного того и другого попало на корпус объектива и камеры. Придя домой с удивлением (охереванием) обнаружил, что это вещество стёрло надписи с корпуса объектива, они все поплыли. Визуально больше повреждений (вроде нет), но паранойя и вопросы мучают: Подскажите, ЛОРовцы, есть чего бояться или больше оно технику не попортит?

 , , ,

Jefail
()

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