LINUX.ORG.RU

0
Всего сообщений: 57

мое приложение создает сетевой интерфейс - как сохранить конфигурацию?

Приветствую,

OS - RedHat 8.0

Имеется приложение которое создает bridge интерфейс, конфигурирует его и назначает IP адрес – все это через netlink интерфейс. Теперь вопрос - как все это сделать persistent, то есть чтобы после перезагрузки системы конфигурация автоматически поднималась бы?

Как я понимаю, для этого есть NetworkManager который хранит конфигурацию в /etc/sysconfig/network-scripts/ifcfg-* То есть как я понимаю, у меня два варианта:

  1. Научить мое приложение общаться с NetworkManager (dbus?)

  2. Вручную (т.е. в моем приложении) создавать /etc/sysconfig/network-scripts/ifcfg-*

Есть ли какие-то еще варианты? Отказываться от приложения невозможно, оно выполняет еще и др. функционал.

 , ,

cruz7 ()

vim statusline

Хочется сделать статус строку под себя.

В принципе хотелок немного:
мод,
имя файла,
номер файла в буфере,
изменён/нет,
проценты,
номер линии/номер столбца

Набросал начало:

" StatusLine config
let g:currentmode={
                \ 'n'  : 'NORMAL ',
                \ 'v'  : 'VISUAL ',
                \ 'V'  : 'V·Line ',
                \ "\<C-V>" : 'V·Block ',
                \ 'i'  : 'INSERT ',
                \ 'R'  : 'R ',
                \ 'Rv' : 'V·Replace ',
                \ 'c'  : 'Command ',
                \}

set statusline=
set statusline+=\ %{toupper(g:currentmode[mode()])}
set statusline+=\ %F
set statusline+=%m
set statusline+=\ %n
set statusline+=%=
set statusline+=\ %p%%
set statusline+=\ %l:%c

Всё это не работает без laststatus = 2 (всегда показывать)

Как сделать так, чтобы статус строка заменяла встроенную? Я когда меняю MOD, то он показывается и в строке статуса и строкой ниже. https://cloud.githubusercontent.com/assets/5715281/22061422/347e7842-ddb8-11e6-8bdb-7abbd418653c.gif <- Похоже

Или вообще не ставить laststatus=2, а просто добавить на постоянной основе вывод имени файла, как по C-g?

Или мод не нужно тащить в строку состояния? И нужна ли statusline вообще?

 ,

Retsam ()

Connman создает автоматически ненужный маршрут

Добрый день!

Имею плату с двумя ethernet(eth0, eth1) выходами, wifi(wlan0) и lte-модемом(wwan0). lte-модем подключен к процессору через usb, те eth over usb.

root@imx8qmmek:~# ethtool wwan0
Settings for wwan0:
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

Ввиду специфики интерфейса, connman не видит явно как сервис интерфейс wwan0. Почему то еще через коннмановский конфиг не удается получить динамический адрес, приходится делать это через systemctl network. Мне нужно чтоб lte-modem был самым высоким по приоритету для выхода в интернет, но конман постояно добавляет мне маршрут по умолчанию на устройство eth1 или eth0:

root@imx8qmmek:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 eth1
0.0.0.0         192.168.2.16    0.0.0.0         UG    1024   0        0 wwan0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 wwan0
192.168.2.16    0.0.0.0         255.255.255.255 UH    1024   0        0 wwan0
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1

Те пакеты у меня все по умолчанию уходят в eth1.

Мои конфиги connman: /etc/connman/main.conf

[General]
PreferredTechnologies = cellular,wifi,ethernet
TetheringTechnologies = cellular,bluetooth,wifi,ethernet

/var/lib/connman/eth1.config

[service_eth1]
AutoConnect = false
Type = ethernet
IPv4 = 192.168.101.1/255.255.255.0
IPv6 = off
MAC = 2e:56:b6:6d:b1:72
#IPv6.privacy = disabled
#Nameservers=0.0.0.0

/var/lib/connman/wwan0.config

[service_wwan0]
Name = wwan0
AutoConnect = true
Type = cellular
IPv4 = dhcp
#IPv6 = off
#IPv6.Privacy = disable
MAC = ee:cd:df:31:60:72
#IPv6.privacy = disabled
Nameservers = 8.8.8.8

/etc/systemd/network/18-wwan0.network

[Match]
Name=wwan0
[Link]
MACAddress=ee:cd:df:31:60:72
[Network]
DHCP=yes
#RouteMetric=0
#DefaultRouteOnDevice=yes
##DNS=8.8.8.8
#[DHCPv4]
#RouteMetric=0
##[Route]
Gateway=192.168.2.16
Metric=0

Нужно ли мне писать свой отдельный плагин для конмана в этом случае?

 , ,

ziegfried ()

qemacs c просмотром файлов

В LiveCD systemrescueCD после запуска можно запустить редкатор qemacs.
Запускается от сразу в режиме с просмотром файлов в левой панели. Если скачать редактор, то он запускается без этой панели.
Как заставить его запускать с панелью, как это сделано в systemrescueCD?
Я примерно догадываюсь, что надо прописать это поведение в конфигурационном файле, но в самом qemacs про это ничего понятного нет.
Как заставить qemacs запускаться с просмотром файлов?

 ,

TomBOY ()

Конфиги NixOS в системе контроля версий.

Переползаю потихоньку на NixOS. Естественно, хочется запихнуть configuration.nix и прочие в гит для удобства.

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

  1. Тупо добавляют /etc/nixos как гит-репозиторий. Нужно настраивать гит для root, что не очень хорошо.

  2. Делают симлинк из рабочей копии c configuration.nix, лежащей где-то в $HOME.

  3. Склонированый репозиторий с configuration.nix лежит где-то в $HOME, пользователь запускает nixos-rebuild с ключом -I, указывая путь к применяемому конфигу.

Я пока склоняюсь к третьему варианту, но может быть кто-то предложит получше? Как местные пользователи NixOS хранят свои конфиги?

 , ,

cocucka ()

Передвинуть декорации окна чуть ниже/совместить панель инструментов и строку заголовка

Приветствую всех на форуме. При конфигурировании Openbox’a, мне приспичило запилить одну фичу, которую я однажды увидел в гугл картинках, и с тех пор ни разу её не встречал (день поиска ничего не дал). На том скриншоте я увидел, что строка заголовка (декорация окна), подвинута чуть ниже, и получается что-то вроде headerbar’a в GNOME. Как можно подобное воплотить? Цель - совместить панель инструментов и кнопки «закрыть», «свернуть» «развернуть».

 , , , ,

D_DStyle ()

Отключения диода на мышке

Есть некий девайс:

Bus 001 Device 002: ID 1038:1814 SteelSeries ApS

У данного девайса есть диод, который я хочу отключить, скорее всего информация о его вкл\выкл лежит в конфиге, не могу понять как по ID девайса получить его конфиг. Пробовал след. образом:

cd /sys/devices
find . -name DEVICE_ID

Но файл по данному ID не находит. Как можно по другому найти конфиг и можно ли вообще таким образом отключить диод? P.S. софта под данную мышь на Linux нет, а через vine не хочу.

 , , ,

harmony ()

Nginx: как добавить переменную в location

Уже сломал мозг, никак не получается добавить переменную в конфиг nginx’а, чтобы перенаправить запрос в подпапку.

Сейчас проект надоходится в корне:

/var/www/public
 ﹂index.php

С таким конфигом:

server {
    listen 80;
    index index.php index.html;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/public;
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
        gzip_static on;
    }
}

Но я хочу перенести проект в подпапку в корне, чтобы не смешивать логику и создать таким образом еще несколько проектов.

/var/www/new-project/public
 ﹂index.php
/var/www/test-project/public
 ﹂index.php
...

В итоге у меня получилось вот это:

server {
    listen 80;
    index index.php index.html;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    # root /var/www/public;
    root /var/www;

    location ~/([a-zA-Z0-9_\/\.]+)\.php$ {
        alias /var/www/$1/public;
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }

    location ~/([a-zA-Z0-9_\/\.]+)$ {
        alias /var/www/$1/public;
        try_files $uri $uri/ /index.php?$query_string;
        gzip_static on;
    }
}

Но не сработало, уже по-разному пытался, никак не выходит.

Как в location прописать переменную, чтобы она правильно подставлялась в алиасе и в fastcgi_split_path_info в зависимости от запроса localhost/new-project и localhost/test-project?

 , , , ,

bugbuster ()

Как вы бы поступили?

Ну вот сколхозили вы себе свой конфигурационный формат. Допустим у вас в конфиге

var = 100500

И в программе

//возврат значения конкретной размерности, без вариантов!
//Никаких big num только нативные типы платформы! 

uint64_t var = config_get_u64(cfg,"var");

Всё ок, но как вы бы обработали вот такое?

var = 10000000000000000000500000000000000000000
  • 1: Выплюнули ошибку и убили программу
  • 2: Обрезали бы число до максимального хранимого типа и вернули 18446744073709551616
  • 3: Дали бы по шапке тому кто такие значения космичесикие вписывает
  • invalid value: 0x"6’33>42
  • 5:Иное

Микро опрос -

Нужны ли «неограниченные» числа в конфигах?

  • да
  • нет

 , , ,

LINUX-ORG-RU ()

не работает клавиаутура в приложениях под wine

сразу если что, то программы xneur gxneur не установлены.

Приложения ставил с помощью playonlinux

OS Astra Linux

 , , , ,

lo-st ()

Для чего нужен ключ/параметр PreferredSource= ?

читаю страницу:
https://www.freedesktop.org/software/systemd/man/systemd.network.html
там написано:

PreferredSource=
    The preferred source address of the route.

Мне непонятно, что это значит. Это то же самое, что «src» в команде
ip route add 10.0.0.0/8 dev wg0 src 10.0.0.2 table wireguard
или нет?

Или мне нужно вот это:

Source=
    The source prefix of the route.
?

 , ,

Einstok_Fair ()

geoip + letsencrypt == pain

Доброго времени суток. Имеется bind, имеется замечательный скрипт отсюда https://geoip.site/, который структурирует информацию о геолокации клиента в виде acl записей, имеется dns-rfc2136 плагин для certbot'а.

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

Failed authorization procedure. domain.here (dns-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: No TXT record found at _acme-challenge.domain.here

Вопрос: можно ли, используя фильтр из view, каким-нибудь образом направить letsencrypt в одну базу? Или использовать geoip с letsencrypt не вариант?

PS: letsencrypt не выдают свои адреса.

PS2: named.conf.local примерно такой

key "keyname." {
        algorithm hmac-sha512;
        secret "secrethere";
};

include "/etc/bind/GeoIP.acl";

view "australia" {
       match-clients { AU; };
       recursion no;
       zone "domain.here" {
               type master;
               file "/var/lib/bind/db.domain.here-australia";

               update-policy {
                       grant keyname. name _acme-domain.here. txt;
               };

               allow-transfer {                                                                                                                       
                       1.2.3.4;                                                           
               };
               notify yes;
       };
};

...

view "other" {
        match-clients { any; };
        recursion no;
        zone "domain.here" {
                type master;
                file "/var/lib/bind/db.domain.here-other";

                update-policy {
                        grant keyname. name _acme-challenge.domain.here. txt;
                };

                allow-transfer {                                                                                                
                        1.2.3.4;                                                                
                };
                notify yes;
        };
};

PS3: из журнала бинда:

client 2.3.4.5#44736/key keyname: view europe: updating zone 'domain.here/IN': adding an RR at '_acme-challenge.bf00-domain.here' 

client 2.3.4.5#44740/key keyname: view europe: updating zone 'domain.here/IN': deleting an RR at _acme-challenge.bf00-domain.here
отсюда видно, куда добавлятся запись

 , , , ,

Rot1 ()

Почему под SSH другие настройки?

Рассмотрим три сценария:

1) Запускаю VirtualBox (просто, из Bash),

2) Захожу на узел из пункта 1 по SSH, затем запускаю VirtualBox (из Bash),

3) Захожу на узел из пункта 1 по SSH, указывая VirtualBox в качестве <command>.

Разумеется, пользователь один и тот же. VirtualBox - для примера.

Получаются разные локали и шрифты. То есть разные настройки.

Каким образом образом такое выходит?

Спасибо!

 , ,

kuraga ()

Проблема с Confluence

Добрый день. Задача посадить confluence на https. Хотел спросить, кто сталкивался с такой задачей? После модификации данных конфигов открывается https://confluence.my.com:8443, но выдаёт пустую страницу и сертификатов не видит. Подскажите пожалуйста.

Настроили конфиг nginx , в файле server.xml раскомментировали следующую часть :

<Connector port="8443" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25"
                   protocol="org.apache.coyote.http11.Http11NioProtocol"
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2" SSLEnabled="true"
                   URIEncoding="UTF-8" keystorePass="********"
                   keystoreFile="/etc/nginx/conf.d/ssl/confl"/>

в файл web.xml добавили :

<security-constraint>
  <web-resource-collection>
    <web-resource-name>Restricted URLs</web-resource-name>
    <url-pattern>/</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>

 , , ,

RaptorsWings ()

Существует ли сайт-конфигуратор для ядра?

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

Т.е. если нужна виртуализация для QEMU на Intel - выстави такие флаги, если нужна поддержка печати - ещё такие и т.д.

 ,

Einstok_Fair ()

Untrusted application launcher при старте ярлыка на рабочем столе

есть папка /etc/skel/Desktop в этой папке лежит ярлык гугл хрома,в параметры запуска которого добавлена кастомная ссылка и пару еще опций, так вот , когда создается юзверь,на его рабочем столе появляется этот ярлык и все хорошо. Но это только на 16.04 убунту, на 18.04 , после двойного клика по ярлыку , мне говорится Untrusted application launcher *** и мне нужно нажать кнопку ~разрешить для того что бы заработало. Но мне это варинат не подходит,нужно как то это сделать автоматически, но спустя несколько часов копания в гугле и в убунте 18, найти решение у меня не удалось. Никто не вкурсе в каких конфигах или файлах хранится инфа о «разрешенных» ярлыках и тд ? (если что , то исполняемый бит на ярлыке стоит,дело явно не в этом...)

 , ,

echo_ ()

Как сделать курсор прозрачным в xfce4-terminal?

Привет! Как сделать курсор прозрачным в xfce4-terminal? В маковских терминалах курсор смотриться очень аккуратно, допустим если слово выделишь слова не инвертируются, а показывают прозрачным как само собой выделенный. А на линуксе фиг получишь такой расклад. Или есть способ этого достичь?

 , ,

Hufoc ()

Nginx вы предпочитаете собирать из исходников или использовать готовые бинарники?

Всем привет! Nginx вы предпочитаете собирать из исходников или использовать готовые бинарники? Насколько производительность упадет, если использовать готовые бинарники? Если, я допустим буду объявлять дополнительные модули в конфиге. Или всё таки не стоит заморачиваться сборки/компиляции? Как вообще люди поступают на производстве? Сами все собирают, или сразу же не заморачиваясь используют готовые откомилированные сборки из офф.сайта?

 , , ,

Hufoc ()

matrix-synapse без «federation»

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

 , ,

Dreyk_Zer0 ()

Куда разместить конфиги?

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

Окружение для работы программы должно поскидывать программе свои конфиги. Вопрос. Где в линуксе-дебиане места, куда правильно складировать конфиги для отдельно взятой несистемной программы?

 

Mirmik ()