LINUX.ORG.RU

Форум

Активные теги:

 , , , , , , , , , , , , , ,

Некорректный IP-адрес в строке Last login при подключении по SSH к LXC-контейнеру.

Форум — Admin

Здравствуйте, господа! Всех с наступившим, новым, 2026 годом!

Решил, вот, на праздниках, немного побаловаться с виртуализацией: на железку поставил ALT Virtualization PVE (Proxmox), создал контейнер с ALT Linux, настроил к нему доступ по SSH. Так-то всё работает, всё прекрасно подключается - как извне, так и из локалки, но мозолит глаза при каждом подключении строчка:

Last login: Fri Jan  2 22:10:13 2026 from 192.168.0.1

, в которой адрес 192.168.0.1 никогда не меняется - откуда бы я не подключался. Хотя нет, вру, если в PuTTY вместо example.com указать 192.168.0.136, то адрес последнего входящего меняется на локальный адрес устройства, с которого шло подключение. Вот как бы сделать, чтобы и по example.com адрес менялся?

Внешний IP железки с Proxmox - 12.34.56.78 (привязан к example.com)
Внутренний IP железки с Proxmox - 192.168.0.1
Внутренний IP контейнера - 192.168.0.136

Проброс 22-го порта для SSH делал так:

iptables -A PREROUTING -t nat -p tcp -i vmbr0 --dport 22 -j DNAT --to-destination 192.168.0.136

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

Подскажите, пожалуйста, в чём неправ? Без пол литры не разберусь...

 , , , ,

Sferg
()

Трэш-язык программирования «перфолента-нет»

Форум — Talks

https://aftershock.news/?q=node/1574423

Перфолента.NET — это на удивление профессионально выглядящий язык программирования (компилятор) на платформе .NET, который поддерживает объектно-ориентированное и функциональное программирование, и на котором написан даже написан другой язык, функциональный язык программирования — Перфо.NET (интерпретатор).


Гусары, молчать. Щас пойдёт тугая струя юмора


Преимущества изучения программирования с помощью Перфоленты.NET

Изучение основ программирования с помощью языка Перфолента.NET даёт ряд важных преимуществ:

Оптимальная нагрузка при обучении. Для качественного усвоения материала 80% изучаемого должно опираться на уже имеющиеся знания, а 20% — быть новым. Это позволяет естественно связывать новую информацию с уже известной. Русский язык ключевых слов. Нет необходимости учить английский: можно сосредоточиться на основных понятиях и концепциях. Совместимость с синтаксисом 1С. Это упрощает переход для тех, кто уже знаком с 1С. Простая и легковесная среда разработки (IDE). Установка и старт занимают минимум времени: поставил, открыл пример, скомпилировал. Это обеспечивает быстрый старт в изучении программирования. Доступность для большинства пользователей. Язык изначально разработан для Windows 7/10/11, что делает его доступным для 99% пользователей. Качество реализации языка Перфолента.NET

Язык профессионально реализован на платформе .NET. Он позволяет изучить ООП/Функциональное программирование, в том числе: параллельное программирование, лямбда-функции, замыкание, каррирование и т.п. Развивается уже 12 лет: имеет устоявшийся синтаксис, полноценную документацию, официальный сайт и активное профессиональное сообщество. Существует интерпретатор Перфо (2000 строк на Перфолента.NET) — лёгкая реализация языка Scheme/Lisp, предназначенная для изучения функционального программирования. Отработана технология написания консольных приложений, пригодных для использования в бизнесе. Имеется более сотни примеров проектов: заготовка «Тотал Командер» для консольного режима; игры (Тетрис, Змейка); простые веб-серверы; примеры для блокчейна и др.

 , ,

ckotctvo
()

Виртуализация в другую сторону

Форум — General

Всем привет.

Подскажите кто знает. Если виртуализация/контейнеризация позволяет разделять ресурсы одного хоста и запускать несколько ВМ на одной машине. То существуют ли проекты, которые позволяют запускать одну ОС на нескольких хостах? Т.е. такая своеобразная виртуализация в другую сторону.

 

torm7
()

ffmpeg съезжает звук относительно видео

Форум — Multimedia

Доброго времени суток!

Монтирую видеоряд, состоящий из нарезки моментов длительностью от пол минуты до нескольких минут. Практически все кусочки были получены с помощью ffmpeg без параметров перекодирования, нарезка нужных моментов из больших файлов. При этом он совершил конвертацию из из mpeg4 (оригиналы были в нём) в h264.

Склеиваю через ffmpeg -f concat без пересжатия (-c copy)

Если использовать только файлы, описанные выше - проблем нет.

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

Вот пример информации о трех файлах:

ffmpeg -i file1.mp4
  Duration: 00:00:07.07, start: 0.000000, bitrate: 250 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], 112 kb/s, 14.01 fps, 14.01 tbr, 10k tbn (default)
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 132 kb/s (default)

ffmpeg -i file2.mp4
  Duration: 00:00:17.33, start: 0.000000, bitrate: 1486 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], 1349 kb/s, 14.25 fps, 15 tbr, 15360 tbn (default)
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 131 kb/s (default)

ffmpeg -i file3.mp4
  Duration: 00:00:17.02, start: 0.000000, bitrate: 842 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], 706 kb/s, 14 fps, 14 tbr, 14336 tbn (default)
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo,fltp, 131 kb/s (default)

Второй создан ffmpeg, первый и третий - другой программой. По окончании первого файла звук из второго начинается раньше видео, где-то на секунду. При некоторых параметрах сжатия и видеодорожка как будто замедляется. Независимо от того, что я задаю: -c copy либо -r 14 -c:v libx264 -c:a aac -ar 44100 -ac 2 -b:a 128k. Кажется, проблема не с кодеком: если клеить (concat, copy) файлы с разными кодеками - видео с кодеком первого файла отображается нормально, остальные поврежденные (стоп кадр или мигания - это закономерно. Если бы незначительное отличие частоты кадров влияло - оно бы ликвидировалось второй командой (пересжатие с -r 14)

Как побороть?

 

Dima_228
()

Помощь по настройке IPv6 с помощью openvpn и 6to4

Форум — Admin

Приветствую вас снова!😎

Подскажите как настроить на удалённой VPS с Ubuntu 20 (ipv6 и ipv4) туннель 6to4. Я начал настройку туннеля по мануалу https://habr.com/ru/articles/199040

ip tunnel add tun6to4 mode sit remote any local 109.248.59.79 ttl 64
Поднимаем интерфейс:
ip link set dev tun6to4 up
Задаем интерфейсу IPv6 адрес, который придумали раньше:
ip -6 addr add 2002:6df8:3b4f::8/128 dev tun6to4
Задаем маршрут по умолчанию:
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
После этого наш сервер должен получить возможность работать по IPv6.
Проверяем: ping6 2001:ad0::1

Собственно не пингуется! Что не так?

PS. Возможно туннели 6to4 PPTP или L2TP было бы гораздо проще настроить, но внятных мануалов не нашёл.

 , , , ,

Kisliy
()

Библиотека для работы с j2534 устройствами

Форум — Linux-hardware

Всем привет,

есть шнурок openport 2.0, который умеет j2534. Есть либа https://github.com/NikolaKozina/j2534, она собрана и прекрасно грузится софтом, например SavvyCAN или пример из Qt6, или даже без Qt пример тоже вроде как запускается, подключается к устройству, а вот данные не принимает почему-то. При этом если например подключиться к каншине SavvyCAN через другое устройство, я вижу пакеты, которые отправлены через OpenPort, но при этом он не принимает никаких данных.

У кого-нибудь получилось заставить работать j2534 устройства под линуксом? Какие магические па нужно сделать?

 canbus, j2534

Gin
()

Жучки-паучки мэйд бай си-ай-эй

Форум — Science & Engineering

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

https://teletype.in/@badradio/rapid - он там разобрал ошибки и даже багфиксинги привел.

Еще интереснее, что он вывел на сайт музея юсовских жучков https://www.cryptomuseum.com/covert/bugs/index.htm - там во многих случаях можно даже увидеть не только фотографии, но и их принципиальные схемы и детали конструкций.

разбор конструкций: https://teletype.in/@badradio/cia

Но это еще не самое интересное. Меня поразило, что жучки даже 1967-го года обладают такими свойствами, что работают без батареек на наведенном излучении (!!!) и канал передачи маскируется такими способами модуляции, что вполне СОВРЕМЕННЫМИ радиосканерами, всякими там AOR и Icom не засекаются!!! Внешнее наведенное излучение может быть обнаружено индикаторами поля, но далеко не все тоже справляются даже с этим!

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

А вот жучок образца 1973-го года еще и настолько хорошо экранирован, что не обнаруживается даже нелинейным локатором. (Он не радиоизлучение ищет, а наличие полупроводниковых переходов).

И вот офигеть - это же техника более, чем 50-летней давности! Которая рассекречена и даже в музеи уже попала. Что же сейчас-то выдумали.

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

 , ,

praseodim
()

Как заставить firefox работать системными настройками сети, а не через свои прокладки

Форум — Desktop

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

Ну или как заставить хром сохратять http пароли как в firefox

 

Regacar
()

Логи Openwrt в Grafana

Форум — Admin

Привет!

Хочу собирать логи со всего домашнего хозяйства в одно место. Решил использовать Grafana + Loki + Alloy (если есть другие варианты - пишите).

Добился того что локи собирает логи из докер контейнеров с помощью плагина для doker.

Теперь пытаюсь отправить логи с openwrt с помощью syslog-ng и ничего не получается.

Всё что прилетает видно в логах контейнера alloy через loki.echo.default.receiver, а вот через Loki ничего на сервере не видно. Ничего вообще не понимаю, не могу понять какие логи смотреть и не понимаю почему это нельзя сделать проще.

Вот конфиг syslog-ng:

ng-open-source-edition

@version: current
@include "scl.conf"

options {
        chain_hostnames(no); # Enable or disable the chained hostname format.
        create_dirs(yes);
        keep_hostname(yes); # Enable or disable hostname rewriting.
        log_fifo_size(256); # The number of messages that the output queue can store.
        log_msg_size(1024); # Maximum length of a message in bytes.
        stats(freq(0)); # The period between two STATS messages (sent by syslog-ng, containing statistics about dropped logs) in seconds.
        flush_lines(0); # How many lines are flushed to a destination at a time.
        use_fqdn(no); # Add Fully Qualified Domain Name instead of short hostname.
};

# syslog-ng gets messages from syslog-ng (internal) and from /dev/log

source src {
        internal();
        unix-dgram("/dev/log");
};

source net {
        network_localhost();
};

source kernel {
        file("/proc/kmsg" program_override("kernel"));
};

destination messages {
        file("/var/log/messages");
};

destination d_loki {
        network(
                "server"
                port(3102)
        );
};

log {
        source(src);
        source(net);
        source(kernel);
        destination(messages);
        destination(d_loki);
        # uncomment this line to open port 514 to receive messages
        #source(s_network);
};

@include "/etc/syslog-ng.d/" 

Конфиг alloy:

logging {
  level  = "info"
  format = "logfmt"
}

otelcol.receiver.syslog "default" {
    protocol = "rfc3164"
    tcp {
        listen_address = "0.0.0.0:3102"
    }
    output {
        logs = [otelcol.exporter.syslog.default.input]
    }
}

otelcol.exporter.syslog "default" {
    endpoint = "localhost"
    network = "tcp"
    port = 3103
    protocol = "rfc5424"
    enable_octet_counting = false
    tls {
        insecure = true
    }
}

loki.source.syslog "default" {
  listener {
    address = "localhost:3103"
    protocol = "tcp"
    syslog_format = "rfc5424"
    label_structured_data = true
    use_rfc5424_message = true
  }
  forward_to = [loki.write.local.receiver,
                loki.echo.default.receiver]
}

loki.write "local" {
  endpoint {
    url = "http://loki:3100/loki/api/v1/push"
  }
}

loki.echo "default" {}

Конфиг Loki

auth_enabled: false

server:
  http_listen_port: 3100

common:
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory
  replication_factor: 1
  path_prefix: /var/loki

schema_config:
  configs:
  - from: 2020-05-15
    store: tsdb
    object_store: filesystem
    schema: v13
    index:
      prefix: index_
      period: 24h

storage_config:
  filesystem:
    directory: /var/loki/chunks

analytics:
  reporting_enabled: false

limits_config:
  retention_period: 30d

compactor:
  working_directory: /tmp/loki/retention
  delete_request_store: filesystem
  retention_enabled: true
  retention_delete_delay: 2h

 ,

vitruss
()

реклама на моем лоре? нет пути!

Форум — Linux-org-ru

http://pony.org.ru/forum/talks/18184205
"Интересные товары на Wildberries"

как минимум, не одному мне кажется, что от этой темы спамом за версту несет. ТСу там об этом уже сказали, но в ответ он начал шланговать - мол, ссылок не давал, картинки на другом домене и вообще, ничего такого не имел в виду. а что заголовок - прямо-таки отборный экземпляр спама из Палаты мер и весов, так это ничего, да?
лично я не против данной темы как таковой. нашел чувак интересную по его мнению хрень, притащил обсудить. картинки - окей, кому интересно, посмотрят. да, действительно на левом домене - какой-то wbasket, тут вопросов нет. в самом тексте тоже все корректно. но заголовок - прямо с порога в щячло! это уже ни в какие ворота! вот что мешало назвать тему, например, "зацените, какую штуку нашел: светильник из нерабочей видеокарты"? и все, никаких вопросов!
этот Валбериз поганый - контора уродских спамеров. и так уже их реклама из каждого утюга, но улице на каждом углу, со всех сторон мозги нам засирают! можно хотя бы на лоре не видеть их рекламу? спасибо-пожалуйста.

PerdunJamesBond
()

Приравнять непроверенные скрипты к зловредному коду

Форум — Linux-org-ru

из оффтопик-листа. В частности советы выполнить команды вида

curl https://otkuda.hz/hzchto.sh | sudo bash

 

macrohard
()

Не удается вывести звук через pipewire

Форум — Desktop

Добрый день!

Добавил я наконец в свою систему на Debian 12 видеокарту Nvidia и подключил к ней домашний ТВ. Пришлось поплясать с установкой блоба версии 580 напрямую от производителя GPU тк в репах debian такой версии не найти. И если изображение удалось получить почти сразу то со звуком по HDMI сложнее…

Приложения на ТВ звук не выводят, в gnome-control-center вообще нет возможности выбрать устройство вывода. При том что aplay звук таки выводит и я подозреваю проблему в pipewire.

При переходе в раздел настроек звука в gnome-control-center получаю в терминале ошибку вида (gnome-control-center:22941): Gvc-WARNING **: 15:08:38.939: Failed to connect context: Connection refused, но сервисы pipewire запущены и вроде бы каких-то критичных ошибок в их логах нет

$ systemctl --user status pipewire wireplumber
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-01-02 14:56:50 +07; 13min ago
TriggeredBy: ● pipewire.socket
   Main PID: 20192 (pipewire)
      Tasks: 2 (limit: 38376)
     Memory: 3.8M
        CPU: 89ms
     CGroup: /user.slice/user-1002.slice/user@1002.service/session.slice/pipewire.service
             └─20192 /usr/bin/pipewire

Jan 02 14:56:50 homesrv systemd[20176]: Started pipewire.service - PipeWire Multimedia Service.
Jan 02 14:56:50 homesrv pipewire[20192]: mod.rt: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Jan 02 14:56:50 homesrv pipewire[20192]: mod.rt: found session bus but no portal

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-01-02 14:56:50 +07; 13min ago
   Main PID: 20194 (wireplumber)
      Tasks: 4 (limit: 38376)
     Memory: 7.6M
        CPU: 189ms
     CGroup: /user.slice/user-1002.slice/user@1002.service/session.slice/wireplumber.service
             └─20194 /usr/bin/wireplumber

Jan 02 14:56:50 homesrv systemd[20176]: Started wireplumber.service - Multimedia Service Session Manager.
Jan 02 14:56:50 homesrv wireplumber[20194]: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Jan 02 14:56:50 homesrv wireplumber[20194]: found session bus but no portal
Jan 02 14:56:50 homesrv wireplumber[20194]: Failed to set scheduler settings: Operation not permitted
Jan 02 14,:56:50 homesrv wireplumber[20194]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Jan 02 14:56:50 homesrv wireplumber[20194]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
Jan 02 14:56:50 homesrv wireplumber[20194]: Trying to use legacy bluez5 API for LE Audio - only A2DP will be supported. Please upgrade bluez5.
Jan 02 14:56:50 homesrv wireplumber[20194]: <WpSiAudioAdapter:0x55bd0b42b070> Object activation aborted: proxy destroyed
Jan 02 14:56:50 homesrv wireplumber[20194]: <WpSiAudioAdapter:0x55bd0b42b070> failed to activate item: Object activation aborted: proxy destroyed

Есть идеи, чего может не хватать для успешного подключения к сервису pipewire?

 , ,

shooter93
()

Fheroes2 установить карты?

Форум — Mobile

А как?

Никто кроме Files не имеет доступа к android/data/org.fheroes2, а files не копирует туда

 ,

alt-tab-let
()

NixOS 25.05 (Warbler) на Raspberry Pi 5

Форум — Talks

Если внезапно кто-то захочет пройти этим путём… В общем держу в курсе.

OS и софт:

NixOS with Flakes, Disko, impermanence rootless (aka Erase your darlings), home-manager а главное Nix flake for a fully declarative NixOS on Raspberry Pi

Ванильное ядро Linux не увидит PCIe а соотвественно и nvme/ssd диски. В то же время nvmd/nixos-raspberrypi сделал нам хорошо опакетив форк ядра и загрузчик от малины.

Использованное железо:

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#enable-pcie

В configtxt.nix

  pciex1 = {
    enable = true;
    value = "on";
  };

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#pcie-gen-3-0

В configtxt.nix

  pciex1_gen = {
    enable = true;
    value = "3";
  };

https://www.raspberrypi.com/documentation/computers/configuration.html usb_max_current_enable

Zero if the USB port current limiter was set to the low-limit during boot; or non-zero if the high limit was enabled. The high level is automatically enabled if the power supply claims 5A max-current OR usb_max_current_enable=1 is forced in config.txt

В configtxt.nix

  usb_max_current_enable = {
    enable = lib.mkDefault true;
    value = lib.mkDefault true;
  };

Загрузочная sd карточка:

Cклонировали репу, внимательно прочитали README.md, Да modules/configtxt.nix добавили ssh ключи и нужный софт. Собственно сборка nix build .#installerImages.rpi5

Результат:

> du -h result/sd-image/nixos-installer-rpi5-kernel.img.zst
1,5G    result/sd-image/nixos-installer-rpi5-kernel.img.zst

Дальше банально:

> unxz result/sd-image/nixos-installer-rpi5-kernel.img.zst
> dd if=result/sd-image/nixos-installer-rpi5-kernel.img | pv | dd of=/dev/СМОТРИ_НЕ_ПЕРЕПУТАЙ_КУДА

В установленной системе:

Абстрактный однако, при этом, рабочий пример Disko.nix для двух дисковой установки (ssd поменьше под ОС, ssd побольше под данные) с корнем в ram.

{
  disko.devices = {
    nodev."/" = {
      fsType = "tmpfs";
      mountOptions = [
        "defaults"
        "size=2G"
        "mode=755"
      ];
    };

    disk = {
      main = {
        type = "disk";
        device = "/dev/nvme0n1";
        content = {
          type = "gpt";
          partitions = {

            ESP = {
              priority = 1;
              name = "ESP";
              label = "ESP";
              start = "1M";
              end = "2048M";
              type = "EF00";
              content = {
                type = "filesystem";
                format = "vfat";
                mountOptions = [
                  "noatime"
                  "nodiratime"
                  "umask=077"
                ];
                mountpoint = "/boot";
              };
            };

            nyx = {
              size = "100%";
              name = "MY_NAME";
              label = "MY_NAME";
              content = {
                type = "btrfs";
                extraArgs = [
                  "--label MY_NAME"
                  "-f"
                  "--csum xxhash64"
                  "--features"
                  "block-group-tree"
                ];
                subvolumes = {
                  "home" = {
                    mountpoint = "/home";
                    mountOptions = [
                      "subvol=home"
                      "compress=zstd"
                      "noatime"
                      "ssd"
                      "discard=async"
                      "space_cache=v2"
                    ];
                  };
                  "nix" = {
                    mountpoint = "/nix";
                    mountOptions = [
                      "subvol=nix"
                      "compress=zstd"
                      "noatime"
                      "ssd"
                      "discard=async"
                      "space_cache=v2"
                      "nodev"
                      "nosuid"
                    ];
                  };
                  "log" = {
                    mountpoint = "/var/log";
                    mountOptions = [
                      "subvol=log"
                      "compress=zstd"
                      "noatime"
                      "ssd"
                      "space_cache=v2"
                    ];
                  };
                  tmp = {
                    mountpoint = "/tmp";
                    mountOptions = [ "noatime" ];
                  };

                };
              };
            };

          };
        };
      };
    };

    disk = {
      media = {
        type = "disk";
        device = "/dev/nvme1n1";
        content = {
          type = "gpt";
          partitions = {

            media = {
              size = "100%";
              name = "media";
              label = "media";
              content = {
                type = "btrfs";
                extraArgs = [
                  "--label media"
                  "-f"
                  "--csum xxhash64"
                  "--features"
                  "block-group-tree"
                ];
                subvolumes = {
                  "media" = {
                    mountpoint = "/NAS";
                    mountOptions = [
                      "subvol=media"
                      "compress=zstd"
                      "noatime"
                      "ssd"
                      "discard=async"
                      "space_cache=v2"
                    ];
                  };

                };
              };
            };

          };
        };
      };
    };


  };

  fileSystems = {
    "/var/log".neededForBoot = true;
  };
}

Уничтожение (!!!) всех данных и создание всех разделов на всех дисках:

nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount Disko.nix

Монтирование всех разделов на всех дисках из live sdcart

nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode mount Disko.nix

Из остального, что является существенным, я поправил:

  boot.tmp.useTmpfs = true;
  boot.loader.raspberryPi.bootloader = "kernel";
  boot.loader.raspberryPi.firmwarePath = "/boot"; # /boot/firmware
  boot.kernelParams = [ "console=serial0,115200n8" "console=tty1" "cfg80211.ieee80211_regdom=RU" ];

Выводы

Всё прочее банально, зависит от привычек и вкуса и не требует пояснений. Пациент с описанным сетапом жив. Однако да решение требует пердолинга, свободного времени и желания. За полумесячный период эксплуатации замечены два полных внезапных вайпа системы после обновлений nixos-rebuild switch --flake .#${HOSTNAME} -L и последующей перезагрузки. Причины не выяснены. Мой прогноз - пока что аппстрим NixOS это не примет. Возможно примет позже когда 5ю малину будет поддерживать uboot и ванильное ядро. Всем чмоки в этам чатики. Поздравляю всех выживших с наступившим.

 , ,

init_6
()

Не видит файлы внешнего ж/д NTFS через SATA USB в LINUX (maibenden)

Форум — Admin

Впервые в жизни стал обладателем компа с LINUX. Чувствую что не знаю тут ни черта в этой Консоли. Пока туда не влазал - подключил диск, он был обнаружен, но только в режиме чтения, пытался через свойства в разделе «Права» выставить на «Чтение и изменение», ставил галочку и применял. Может быть я неправильно смонтировал диск? Уже что только не пробовал. Теперь не видит файлы вовсе,только папки. Они вроде бы что то весят, но написано «В этой папке нет файлов» , но диск 1 ТБ занят на половину,я буквально день назад с Linux на нём всё просматривал, а теперь и просматривать не могу. Ошибки выдает примерно такие:

Windows is hibernated, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
Could not mount read-write, trying read-only
Using default user mapping  

или

Mounting volume... Windows is hibernated, refused to mount.
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Windows is hibernated, refused to mount.
Remount failed: Operation not permitted

… он всё ссылается на прошлую жизнь на Windows. Хотя теперь это Linux. В общем не шарю нифига, помогите кто понял в чём соль?

Перемещено hobbit из linux-org-ru

 , , , жёсткий диск,

thomas444
()

В гайке появился драйвер для нвидиа

Форум — Linux-hardware

На Форониксе написали, что регистрант @X512 запилил нвидиевый драйвер для гайки. А на ЛОР небось и не знают.

Перемещено hobbit из general

 ,

einhander
()

что-то не то с gcc

Форум — Development

Значит, проблема такова: произошли траблы с библиатеками в gcc и решил докачать то, что не установилось, а не могу, ошибку выдает в терминале. что делать вообще не вкуриваю.

Вот что выдает:dpkg: ошибка при обработке пакета firmware-b43legacy-installer (–configure): подпроцесс из пакета firmware-b43legacy-installer установлен сценарий post-installation возвратил код ошибки 1 При обработке следующих пакетов произошли ошибки: firmware-b43legacy-installer Сижу с мобильного на Antix linux

Перемещено hobbit из general

 , ,

jonlong
()

Настроить маршрутизацию между двумя сетями

Форум — Job

Заплачу до 5 тысяч российских рублей за решение этой задачи.

Есть три подсети в yandex cloud, в них есть виртуалка с wireguard, которая подключеная к mikrotik, что торчит в мою домашнюю есть. Соединение до всех домашних подсетей работает, с этой виртуалки могу постучаться на любой внутренний адрес. Теперь надо настроить маршруты и я не очень понимаю что я делаю не так. Ищу того, кто пояснит и поможет настроить. Определение выполненной задачи: подсети облака и моей квартиры связаны в единую сеть, что позволяет машинам в этих сетях обмениваться трафиком в обе стороны. Для выполнения задачи потребуется аккаунт yandex.

Связываться со мной по почте: 0000 на домене 2853 тчк org

 

Pierre_Dolle
()

ACK номер ожидаемого ОКТЕТА к принятию, а не номер ПАКЕТА! Драма в стихах

Форум — Talks

ACK номер ожидаемого ОКТЕТА к принятию, а не номер ПАКЕТА! Драма в стихах

Дорогой LOR, я сидел ни кого не трогал читал книгу Network Programming with Go от Adam Woodbeck, раздел №2, а именно Socket Level Programming. Потом переводил параграф на русский язык, писал поэму на тему параграфа и отсылал своему другу с прозвищем «Маэстро Алгоритм» - получал в ответ порцию отборных матов и продолжал дальше.

И тут перечивая свою очередную поэму, и сверясь с книгой я обнаружил страшное. Автор гонит. Читаем:

Страинца 48, Acknowleging Receipt Packages by Using Their Sequnce Number.

For example, if a sender transmits
a bunch of packets with sequence numbers up through 100 but then receives
an ACK from the receiver with sequence number 90, the sender knows it
needs to retransmit packets from sequence numbers 91 to 100.
  1. Sequence Number - это номер следующий сущности готовой к принятию, если ACK Sequence Number = 90 - это значит 89 сущностей успешно принято, готовы принимать 90 сущность. ACK Sequence Number = (Success + 1) где Success это номер того, чего успешно приняли. Следовательно если из 100 отправленных, пришел ACK Seq Num = 90 то успешно пришло 89, и надо переотправлять с 90 по 100; - 11 пакетов.

  2. Cущность то не пакет, а БАЙТ. БАЙТ - 8 битов - ОКТЕТ.

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

Теперь ссылки найденные системой Grok.com:

https://datatracker.ietf.org/doc/html/rfc9293#section-3.4-1

 3.4. Sequence Numbers

A fundamental notion in the design is that every octet of data sent over a TCP connection has a sequence number.

Обратите внимание на изящество, байт звется ОКТЕТОМ, так как Байт он быавет разный.

https://datatracker.ietf.org/doc/html/rfc9293?referrer=grok.com#section-3.1-6.8.2

Acknowledgment Number:

    32 bits
If the ACK control bit is set, this field contains the value of the next sequence number the sender of the segment is expecting to receive. Once a connection is established, this is always sent.

Все равно я респектую Adam Woodbeck - книга хорошая. И заставляет задуматься, в принцпе для Go дела нет, все эти механизмы котроля передачи скрыты в реализации. И предоставляется просто интерфейс. Тем не мене ACK - это номер октета, а ни какого не пакета. И вообще TCP это «стриминговая» передча данных, реализуемая в модели не пакетов, а потока сохраняющего последовательнсть окетов.

P.S.

Внимательно вчитываясь в RFC9293, я пришел к выводу, что SNI и ACK похожи на указатели в Си. Или на шаклу линейки: первый сантиметр начинается с 0, а уже с 1 сантиметра начинается 2 сантиметр. Также SNI - указывает ту точку на которой остановились, если 0 - зачит будтем передавать 1 ОКТЕТ. Хотя я оконательно запутался, понятно, что это байты, и понятн что есть два поля в TCP Header которые указывают начиная с какого байта передаем, и какой байт уже приняли. А дальше надо детально разбираться. Сути это не меняет.

У каждго из узлов передачи есть свои числа, и говорить они могут одновремено. Дел полно двигаемся дальше. Adam Woodbeck - правильный пацан, кент в уважухе.

P.P.S.

Стараюсь разбираться: ISN - это то с чего начали (при утановленом SYN флаге, грубо говоря «от балды»). SEQ (Sequence Number) - это поле указывающие какой октет мы сейчас передаем. ACK (Aknowledge Number) - поле которое говорит какой ОКТЕТ мы готовы принять следующим.

  • SYN, ACK - флаги.
  • ISN - первое число, случайное.
  • Sequence Number, Aknowledgment Number - это 32 битные поля в TCP Header в IP пакете.

SEQ_num - Начало какой байт начали передовать. ACK_num - какйо байт ждем, ждем 10 байт (9 приняли), или ждем 20 (19 приняли).

P.P.P.S.

Важно добавить, SEQ_num и ACK_num указывают номера ОКТЕТОВ для TCP сегментов передаваемого и ожидаемого. SEQ_num - указывает байт с которого начинается TCP сегмент, а TCP сегмент икапсулирован в IP пакет.

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

P.P.P.P.S.

Протокол TCP предоставляет услуги поточной передачи данных, через объект Сокет. Последовательность данный при передачи реализована, через механизм сегментов которые содержат порядковые номера ОКТЕТОВ.

Существует два поля при помощи который получатель и отправитель регулируют последовательно отправки и получения сегментов, дублируя - если придется потерянные сегменты данных. Это 32битные поля SEQ_num и ACK_num. SEQ_num это информация от передающей стороны указывающая с какого порядкового номера ОКТЕТА (байта) начинается текущий сегмент. ACK_num это 32 битное поле которое заполняет принимающая сторона указывая какой следующий номер ОКТЕТА она готова принять: Если номер 100, значит 99 уже успешно принято.

Важно что сервер и клиент имеют два независимых друг от друга потока передачи данных и для каждого потока есть свои ACK_num, SEQ_num значения.

В чем я еще путаюсь так это в 0 байте-октете. Но это сути не меняет, а является низкоуровневой реализаций, 0-indexed или 1-indexed - не суть важно так как первое значение SEQ_num заполняется псевдослучайным образом и называется ISN: Initial Sequential Number вестимо.

TCP сегмент данный инкапсулирован в IP пакет и описывается так называемым TCP Header - который содержит флаги и вышеописанные поля SEQ_num и ACK_num - для реализации бесперебойного и последовательного потока данных.

P.P.P.P.P.S.

Дополнение: книга про TCP/IP которую я нашел по поиску картинок в Google. Подозрительно похожа на TCP/IP Illustrated от Kevin R. Fall, W. Richard Stevens - не факт, не проверял.

 , , ,

lbvf50txt
()

Проблема с Linux/Windows

Форум — Linux-install

Здравствуйте все. Короче успешно (с 6 попытки перекачивания и 5 дней мучений) скачал я дебиан + hyprland, все круто, только вот винду я использовать не перестану я между ними переходить буду, есть проблема одна после перехода из Линукс в винду Интернет не может подключиться около 1~2 часов что бы я не делал, хотя если перейти из винды в Линукс то там инет отлично работает. Короче не знаете ли вы как решить это? И слышали ли вы о такой проблеме

+часовой пояс сбивается думаю это связанно

Эксперты молю помогите

 , , , ,

egagugu
()

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