LINUX.ORG.RU

Сообщения LeNiN

 

linuxformat.ru совсем всё

Да, как то так:

Срок регистрации домена linuxformat.ru истек!

А там ещё была wiki.linuxformat.ru с разными статьями, опубликованными под Open Publication License v1.0.

 % whois linuxformat.ru
% By submitting a query to TCI's Whois Service
% you agree to abide by the following terms of use:
% https://www.tcinet.ru/documents/whois.pdf (in Russian)

domain:        LINUXFORMAT.RU
nserver:       exp1.nameself.com.
nserver:       exp2.nameself.com.
state:         REGISTERED, DELEGATED, VERIFIED
org:           Limited Libility Corporation "Linuks Format"
registrar:     REGTIME-RU
admin-contact: https://whois.webnames.ru
created:       2005-04-22T20:00:00Z
paid-till:     2022-04-22T21:00:00Z
free-date:     2022-05-24
source:        TCI

 ,

LeNiN
()

Home ISP connection speed/quality monitoring

Всем привет!

Может кто подскажет готовое решение:

Хочется мониторить домашний канал Интернет:

  1. задержки до 5-10 популярных точек обмена трафиком по всему миру,
  2. скорость загрузки
  3. скорость отдачи
  4. работает ли IPv6
  5. хорошо бы ещё иногда трассировку делать, чтобы знать где именно затормозило
  6. хорошо бы MTU мониторить

По измерению скорости, в идеале оно должно уметь смотреть на трафик внешнего интерфейса роутера, чтобы если параллельно идёт загрузка, то учитывалась суммарная скорость. На роутере OpenWRT, ресурсов полно (Turris Omnia).

Сильно много хочу, да?

На ум приходит только SmokePing, но его же ещё настраивать придётся (может кто поделится готовым конфигом?).

Вот бы что-то лёгкое, красивое и полезное из коробки, как Netdata…

 , , ,

LeNiN
()

vim-syntastic, riscv, gd32v: Please select the target board type used in your application

Провозился в vim-syntastic, assembler and different architectures (riscv64 for example) , в результате теперь подсвечиваются ошибки в коде на ассемблере riscv.

Дошла очередь до кода на C.

Этот код https://github.com/vazhnov/gd32v-lcd компилируется и работает на Sipeed Longan nano.

Добавил в .vimrc:

let g:syntastic_c_include_dirs = [
  \ expand('~/.platformio/packages/framework-gd32vf103-sdk/GD32VF103_standard_peripheral'),
  \ expand('~/.platformio/packages/framework-gd32vf103-sdk/GD32VF103_standard_peripheral/Include'),
  \ expand('~/.platformio/packages/framework-gd32vf103-sdk/RISCV/drivers'),
  \ ]

Теперь получаю такую ошибку при запуске VIM, например, с https://github.com/vazhnov/gd32v-lcd/blob/dev/src/main.c :

.platformio/packages/framework-gd32vf103-sdk/GD32VF103_standard_peripheral/gd32vf103.h|66 col 5 error| #error "Please select the target board type used in your application (in gd32vf10x.h file)" [c/gcc]                                                                                                                                      
/usr/lib/gcc/riscv64-linux-gnu/11/include/stdint.h|9 col 16 error| fatal error: stdint.h: No such file or directory [c/gcc]

Как правильно работать с подобным кодом в VIM?

 , ,

LeNiN
()

Armbian 11, systemd и usb wi-fi адаптер

Всем привет!

У меня есть SBC Olimex Lime2, к которому подключен TP-Link TL-WN725N v1, чтобы можно было «в поле» зайти на свой web-интерфейс и посмотреть нужные параметры (пишу GNSS треки).

В Armbian 10 работал вот такой конфиг:

/etc/systemd/network/wlxc46e1f1ec600.netdev:

[NetDev]
Name=wlxc46e1f1ec600
Kind=wlan

/etc/systemd/network/wlxc46e1f1ec600.network:

[Match]
Name=wlxc46e1f1ec600

[Network]
DHCP=no
Address=192.168.151.254/24
DHCPServer=true
IPMasquerade=false
LinkLocalAddressing=ipv6
IPv6LinkLocalAddressGenerationMode=eui64

[DHCPServer]
PoolOffset=100
PoolSize=50
EmitDNS=yes
DNS=192.168.151.254

+ настроенный /etc/hostapd.conf с interface=wlxc46e1f1ec600.

Помню что тогда намучился, но как-то нашёл этот Kind=wlan и оно работало.

Kind=bridge мне тут вроде как не нужен, т.к. web-сервер сам слушает на всех доступных адресах.

Обновился на Armbian 11, теперь wi-fi адаптер не получает ip-адрес.

В логах такое:

Oct  2 08:06:51 lime2 systemd-networkd[298]: /etc/systemd/network/wlxc46e1f1ec600.netdev:3: Failed to parse netdev kind, ignoring assignment: wlan
Oct  2 08:06:51 lime2 systemd-networkd[298]: NetDev has no Kind= configured in /etc/systemd/network/wlxc46e1f1ec600.netdev. Ignoring
Oct  2 08:06:51 lime2 systemd-networkd[298]: Enumeration completed

И интерфейс в состоянии down:

3: wlxc46e1f1ec600: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether c4:6e:1f:1e:c6:00 brd ff:ff:ff:ff:ff:ff

Я пытался в https://www.freedesktop.org/software/systemd/man/systemd.netdev.html найти нужный мне Kind, но не осилил.

/etc/network/interfaces не работает ещё с Armbian 10.

Подскажите, как мне настроить раздачу wi-fi с SBC в этих новых модных systemd?

 , ,

LeNiN
()

vim-syntastic, assembler and different architectures (riscv64 for example)

Захотел я вернуться к истокам и научиться писать на ассемблере risc-v (больше 20 лет назад знал ассемблер Z80).

Работаю в VIM, использую vim-syntastic для автоматической подсветки ошибок/предупреждений в Python/Shell.

Использую Xubuntu 20.04 amd64, можно и Gentoo если надо посвежее. Установил пакеты gcc-riscv64-unknown-elf binutils-riscv64-unknown-elf

Взял Hello world отсюда: https://git.sr.ht/~matthias_t/hello-riscv/tree/master/item/src/hello.s (вообще из этой статьи, если кому интересно: Hello, RISC-V and QEMU).

Проблема 1: Error: no such instruction … [asm/gcc]

Открываю hello.s в VIM, вижу:

hello.s|4 error| Error: no such instruction: `li s1,0x10000000' [asm/gcc]
hello.s|5 error| Error: no such instruction: `la s2,message' [asm/gcc]
hello.s|6 error| Error: no such instruction: `addi s3,s2,14' [asm/gcc]
hello.s|8 error| Error: no such instruction: `lb s4,0(s2)' [asm/gcc]
hello.s|9 error| Error: no such instruction: `sb s4,0(s1)' [asm/gcc]

Ну понятно, что системные gcc/as не умеют riscv64. Нашёл решение, прописал в ~/.vimrc:

let g:syntastic_asm_compiler = 'riscv64-unknown-elf-gcc'

Больше не ругается.

Проблема 2: vim-syntastic теперь не подсказывает ошибки

По какой-то причине теперь в VIM осталась подсветка синтаксиса, но больше нет ругани на ошибки, даже если я их специально допускаю.

Вывод :SyntasticInfo в обоих случаях (с заданным syntastic_asm_compiler и без него) одинаковый:

Syntastic version: 3.10.0 (Vim 801, Linux)
Info for filetype: asm
Global mode: active
Filetype asm is active
The current file will be checked automatically
Available checker: gcc
Currently enabled checker: gcc

Как бы сделать так, чтобы vim-syntastic подсказывал ошибки и предупреждения для riscv64?

 , , , ,

LeNiN
()

UEFI, Ubuntu. Как добавить Gentoo в загрузку?

Есть ноут, на нём стоит Xubuntu 18.04 amd64. Загрузка с помощью UEFI и Grub2, всё настроено стандартно инсталлятором Xubuntu, там же было включено шифрование диска. Всё это крутится на основном SSD.

Захотелось ещё и Gentoo. На втором диске (не на основном SSD) разметил GPT, сделал отдельный раздел ext4 под корень и fat32 под /boot. Сгенерировал ядро с помощью genkernel all. В документации Gentoo написано про vmlinuz, но он почему-то не создался в /boot/. Прописал /etc/fstab.

Запустил в Ubuntu update-grub2, он увидел Gentoo, добавил строчку в Grub.

Gentoo по этой строчке не загружается, выдаёт

error: no such device: 6913-D1E4.
error: disk `hd0,gpt6' not found.
error: you need to load the kernel first.

Вопрос: как сделать так, чтобы я мог загрузить Gentoo? Желательно, чтобы не сломалась загрузка существующей Ubuntu, т.к. постоянно нужна в работе.

P.S.: т.к. в Ubuntu установлен VirtualBox, то ещё есть свой ключ, прописанный в UEFI, сгенерированный стандартным update-secureboot-policy --enroll-key. Может понадобится.

 , ,

LeNiN
()

Выбор провайдера с IPv6 в Санкт-Петербурге

( читать дальше... )

Техзадание:

  • наличие IPv6, как минимум /64, можно динамический
  • наличие «белого» IPv4, можно динамический
  • нечастые проблемы

Хотелки:

  • возможность при подписании договора отказаться от звонков/смс с любыми предложениями провайдера
  • возможность получить более одного логина
  • исходящая скорость не ниже входящей
  • недорого

Подскажите, кого из провайдеров порекомендуете или, наоборот, не порекомендуете.

P.S.: тут https://version6.ru/isp уже смотрел, интересны отзывы технарей-линуксоидов :)

Ответ:

Похоже, что выберу skynet, если он будет в том доме, где найдём квартиру.

Skynet не было, выбрал AirNet, но обещанного IPv6 жду уже полтора года, всё кормят завтраками.

 , ,

LeNiN
()

Общая папка на несколько пользователей, NFS, all_squash, anonuid/anongid и firejail/chroot

Несколько лет используюсь в домашней сети NFS для раздачи общей сетевой папки с файлохранилища на два десктопа.

На каждом десктопе есть один пользователь-владелец: один комп мой, другой — жены. Соответственно, логины разные, но UID/GID можно сделать один, если сильно будет нужно.

/etc/exports на сервере примерно такой:

/share/common		192.168.155.0/24(rw,async,all_squash,anonuid=115,anongid=119,no_subtree_check)

На десктопах в /etc/fstab примерно такой:

192.168.155.1:/share/common	/home/username/BIG-common	nfs	defaults,nolock	0	0

Вывод команды mount:

192.168.155.1:/share/common on /home/username/BIG-common type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.155.1,mountvers=3,mountport=32767,mountproto=udp,local_lock=all,addr=192.168.155.1)

Работает это неплохо, только смущало что на десктопах если смотреть владельца файлов, вылезают системные учётки (сейчас это speech-dispatcher с UID=115 и ssh с GID=119).

Недавно решил поэкспериментировать с firejail (это такой sandbox, чтобы например браузер не смог выкачать всё что угодно из моей домашней папки) и разместить профиль в этой самой общей папке, подключенной по NFS. А он мне выдаёт ошибку:

Error: --private directory should be owned by the current user

В общем, надо уже разобраться с этой проблемой с UID/GID файлов сетевой папки на десктопах, чтобы они совпадали с учёткой пользователя, использующего компьютер. Самый простой вариант — сделать всё на smb/cifs, но как-то некошерно. Дома только линуксы, Samba вроде бы и не нужна.

Если я правильно понял, для NFSv3 будет достаточно сделать у обоих пользователей десктопа одинаковые UID и GID, а логины можно оставить разными. Если же переходить на NFSv4, то там вроде бы синхронизация идёт именно по логину.

Что посоветуете? Как добиться чтобы каждый пользователь видел в общей сетевой папке владельцами файлов самого себя?

 ,

LeNiN
()

SPICE на «железе»

Решил попробовать новый для меня протокол SPICE, просто вместо VNC. Использую Xubuntu 16.04 amd64 на обоих компьютерах (локальный и удалённый).

На удалённом компьютере установил пакет xserver-xspice v0.1.4, переместил дефолтный /etc/X11/spiceqxl.xorg.conf в /usr/share/X11/xorg.conf.d/, установил SpicePassword и SpiceAgentMouse=True.

Подключился (туннелем через SSH), получил немало артефактов, пользоваться почти невозможно: часть букв пропадает, курсор мыши видно только в LightDM, после логина в систему его уже нет.

Установил пакет spice-vdagent v0.15.0. Служба spice-vdagent запускается почему-то только вручную, хотя я делал ей systemctl enable. А вот spice-vdagent вообще сразу же вылетает, strace показал, что после обращения к виртуальному com-порту /dev/virtio-ports/com.redhat.spice.0, которого на железе нет.

Я правильно понимаю, что SPICE заточен для виртуальных машин, и на железе его нормально использовать не получится? Или, может, кто поделится рецептом…

 

LeNiN
()

Ansible: обновить данные динамической инвентаризации после создания инстансов

Ansible версии 1.9.2, запускаю на Ubuntu 14.04.

Созданы роли, которые настраивают уже созданные инстансы Amazon EC2, используя, в том числе, тэги амазона с помощью contrib/inventory/ec2.py.

После создания новых инстансов, хочется в том же плейбуке начать применять к ним готовые роли, но переменных, собранных динамической инвентаризацией ec2.py (например, ec2_tag_*, ec2_key_name) для свежесозданных инстансов ещё нет, а тех, что собирает модуль ec2_facts (переменные ansible_ec2_*), недостаточно.

Попробовал сделать так:

- hosts: localhost
  connection: local
  gather_facts: False
  tasks:
    - ec2:
      …
      register: ec2

    - name: Add new instance to host group
      add_host: hostname={{ item.public_ip }} groupname=launched
      with_items: ec2.instances

- hosts: launched
  sudo: yes
  remote_user: ubuntu
  gather_facts: True
  tasks:
    - ec2_facts:

    - name: Try to run Dynamic inventory
      sudo: false
      delegate_to: 127.0.0.1
      shell:  /etc/ansible/hosts/ec2.py --refresh-cache --host {{ ansible_ec2_public_ipv4 }}
      register: ec2_new

    - set_fact:
        _meta.hostvars.[{{ ansible_ec2_public_ipv4 }}]: "{{ ec2_new.stdout | from_json }}"
Но, к примеру, в {{ ec2_key_name }} ничего нет, проблема в последнем set_fact (или во всей этой задумке).

Хочется, чтобы одни и те же роли подходили как для уже созданных инстансов, так и для создаваемых. Есть какие нибудь мысли, или придётся через shell запускать друг за другом два разных плейбука?

 , ,

LeNiN
()

Посоветуйте кошерный usb Wi-Fi адаптер

Интересует наличие свободных дров и прошивки. Хотел Asus USB-N10, но у него лицензия на firmware (rtl8192sfw.bin) не указана.

LeNiN
()

Миграция профиля из Firefox 4 rc в Firefox 4 stable

Был установлен Firefox 4 из ppa:ubuntu-mozilla-daily/ppa, который когда-то видимо скопировал профиль, и в ~/.mozilla стало две папки с профилями браузера: firefox и firefox-4.0. После этого я пользовался разрабатываемыми версиями Firefox 4. Сегодня отключил ubuntu-mozilla-daily, подключил ppa:mozillateam/firefox-stable, обновился. При первом запуске, Firefox 4 stable спросил меня, не хочу ли я перенести профиль («Would you like to import your settings from firefox 4.0?»), но я ступил, и выбрал что-то типа «спросить позже». Он запустился со старого профиля Firefox 3.6 (этот профиль для меня не актуален), и теперь я не могу воспользоваться актуальным профилем, т.к. если я переименовываю папку firefox-4.0 в firefox, то при запуске получаю:

Ошибка синтаксического анализа XML: неопределённая сущность
Адрес: chrome://browser/content/browser.xul
Строка 229, символ 5:    <key id="key_openAddons" key="&addons.commandkey;" command="Tools:Addons" modifiers="accel,shift"/>
----^
Браузер теперь могу запустить со свежим профилем только в безопасном режиме (firefox -safe-mode). Я так понимаю, что мне нужно запустить миграцию, которую предложил Firefox 4 stable при первом запуске, но не знаю как это сделать. Повторил действия в виртуалке, обнаружил что когда выскакивает окно с вопросом, то в памяти висит два процесса:
/bin/sh /usr/bin/firefox
/usr/bin/python /usr/lib/firefox-4.0/xulapp-profilemigrator -s 4.0 -p /home/ubuntu/.mozilla/firefox -d Firefox -a firefox

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

Подскажите, как запустить ту миграцию, или что поправить в профиле, чтобы Firefox 4 stable заработал с профилем от Firefox 4 rc.

LeNiN
()

libvirt и два одинаковых устройства

Есть сервер Debian testing, на нём установлены kvm и libvirt. Есть два ключа hasp:

Bus 002 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 001 Device 005: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Как с помощью libvirt пробросить оба ключа в виртуальную машину? Если указывать Vendor ID, то пробрасывается только одно usb-устройство.

LeNiN
()

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