LINUX.ORG.RU

Сообщения netvis

 

Как правильно исключить /proc, /dev и /sys из поиска?

Здравствуйте. Решаю простую задачу: мне нужно для каждого скрипта, что хранится в системе, проверить заголовок с копирайтами. file отдает мне 100% скрипт (насколько это можно), так как есть и питоновские, и баш и пр. Эта часть, в общем-то, работает. Но никак не могу заставить find пропускать каталоги, в которых не надо искать (вообще туда не заглядывать): /dev, /sys и главное - /proc. Может еще добавлю своих позже, но сейчас заставить бы хоть на этих работать. Ищу следующим запросом:

find / \( -path '/proc' -o -path '/dev' -o -path '/sys' \) -prune -o -type f -exec bash -c '[[ $(file -b "'{}'") == *"script"* ]] && (check_file_hdr.sh "'{}'")' \; 2>&1

Так вот иногда(!) это работает. А иногда нет. Не могу понять причины. Иногда это зависает и я вижу, что check_file_hdr.sh получил какую-то дичь из /proc. Я привел кусок кода, чтобы не забивать ненужными данными, может пропустил кавычки. Код запускается, но работает нестабильно. В официальной документации приведен подобный пример, вроде взял его, немного доработав. Подскажите, пожалуйста, где я ошибся? Спасибо

 ,

netvis
()

Как установить overlay над всей файловой системой (root/)?

Привет. У меня следующий вопрос: хочу подкинуть свои конфиги на работающую систему, затем их убрать (и записать изменения файловой системы, если будут, в отдельный каталог). Со вторым более-менее понятно, но затык сейчас в процессе установки оверлея над корнем (root/) файловой системы. Следующая команда:

mount -t overlay overlay -o lowerdir=/,upperdir=/tmp/utils,workdir=/tmp/work /

ошибок не выводит, но и файлов нет в дереве. Я не пойму почему. В upperdir лежат мои конфиги утилит (там каталог c подкаталогами /etc, /opt и пр.), и я ожидал их увидеть в корне (+ изменения), а их нет.

Что пробовал: создавать overlay mounts для каждого подкаталога из /tmp/utils, то есть из верхнего слоя - работает, но некоторые я потом не могу отмонтировать, например /usr. lsof при этом ничего не показывает, что держит директории от размонтирования - не пойму. Пробовал разные комбинации монтирования –make-rslave, –rbind и прочее - не помогает. Хотя по документации должно.

Подскажите, пожалуйста, как правильно временно «перекрыть» своими каталогами и файлами root (/) чтобы потом можно было размонтировать? Где я ошиибся?

 ,

netvis
()

Как установить и затем удалить кучу файлов и каталогов из системы?

Здравствуйте. Экспериментирую с различными прошивками и их параметрами на встраиваемой системе, то есть ни пакетного менеджера, ни какой-то виртуалки нет. Посоветуйте, пожалуйста, как можно избежать тут ручной работы: нужно на систему поставить содержимое tar архива, в разные каталоги. Но самое важное: потом нужно это же содержимое за собой прибрать, то есть удалить. Набор файлов каждый раз разный, немного - но меняется. Я думал про симлинки, но в содержимом они тоже есть, что может испортить каталоги. А как-то еще такую задачку можно решить? Закинуть на систему каталоги и файлы и потом их же позже удалить? Без виртуальных помощников и пакетных менеджеров?

Буду признателен за совет.

 ,

netvis
()

Посоветуйте фреймворк для создания инсталлятора собственного дистрибутива Линукс

Здравствуйте. Для удобства сформировал свой дистрибутив Линукса на базе Дебиана для установки на сервера. Там сразу ставятся нужные драйвера НВА, ядро, настройки и пр. Проблема в том, что ставлю я все это с помощью собственного скрипта. Формирую корневую ФС, затем настраиваю загрузчик. Не дико сложно, но скрипт уже оброс кучей доработок, а впереди маячат еще идеи что бы там мне хотелось доделать. Посоветуйте, пожалуйста, фреймворк или, может быть, где-то что-то есть удобное для создания инсталлятора. Что требуется: запуск либо с live-образа либо ручками (эти опции я сам реализую). Дальше нужны модули/функции разметки диска, chroot, работы с файлами на chroot’нутой системе, установка загрузчика, может быть работа с EFI переменными и пр. Хотелось бы что-то высокоуровневое, иначе придется писать с нуля на Питоне. Но может что-то умные люди уже сделали? А, и да: GUI конечно же не нужен, достаточно TUI но хотелось бы красоты, аналогично dialog. Может есть такой фреймворк поддержки создания инсталлеров? Буду признателен за советы. Спасибо.

 , ,

netvis
()

Падение скорости на ext4 при заполнении

Здравствуйте. Подскажите, куда смотреть и можно ли что-то сделать (подтюнить) ext4 или сразу мигрировать на что-то вроде ZFS или xfs. Имеется разветвленная структура файлов и каталогов, всего около 40-50 млн файлов небольшого размера (до 100-200 Кб), в основном бинарные файлы: шрифты, рисунки в векторных форматах (остатки от работы CAD и пр.). Все это нужно держать как есть, сжать не выйдет, так как старый проприентарный софт именно так это и хочет видеть. Можно размазать по 2-3 дискам, но толку мало. В чем проблема: при наличии уже около 20-30 млн мелких файлов файловая система ext4 начинает дико тормозить при записи, скорость обмена падает до 6-7 Мб/с. Чтение тоже замедляется примерно до тех же величин. Диск 100% исправен. inodes занято около 15%, свободного места - и того больше, пара ТБ точно есть. Понятно, что такое обилие файлов вызывает тормоза - поясните, а что именно вызывает? Какой механизм, я хочу понять где узкое место в случае миллионов файлов возникает? И что можно сделать? Понятно, что перенести, но нет денег и не предвидится (пока). Поможет ли XFS/ZFS в таком случае? Всякие там atime/adirtime убраны в fstab в ноль, а что еще можно подтюнить? Спасибо

 , ,

netvis
()

DHCP для Proxmox - что посоветуете?

Подскажите, пожалуйста: кто как реализовал автоматическую выдачу IP4 адресов виртуалкам на Proxmox? Есть желание перетащить сервер с ActiveDirectory на что-то оперсорсное, например Kea, но там много доработок, в частности, много придется дописывать в части выданных IP и их учета/возврата (это у них платная опция). Остальное тоже посмотрел - так понял, что хорошего рабочего сервера нет, везде требуются доработки, если что-то сложнее простой выдачи адресов по диапазону. Может есть что-то бесплатное и функциональное? Буду признателен за идеи.

 , ,

netvis
()

Не выходит записать логи из journald->rsyslog->file

Здравствуйте, Подскажите, пожалуйста, не могу найти ошибку. Хочу самое простое - пересылать логи из сокета systemd-journald на удаленный сервер через rsyslog. Не вышло сходу, поэтому решил, для начала, попробовать записать логи в файл - логов нет, при этом и ошибок нет. Не пойму что не так - вроде все делаю по документации. Debian 11, если что.

  1. Настроил /etc/systemd/journald.conf: ForwardToSyslog=yes Остальные ForwardTo* сделал =no. Пробовал и комментировать их - толку 0.
  2. Файл конфигурации rsyslog.conf:
module(load="imuxsock" SysSock.Use="on" SysSock.Name="/run/systemd/journal/syslog")
module(load="builtin:omfile"                          
        Template="RSYSLOG_TraditionalFileFormat"      
        FileOwner="root"                              
        FileGroup="adm"
        dirOwner="root"
        dirGroup="adm"
        FileCreateMode="0640"
        DirCreateMode="0755")

# ========== Global Settings Section ==========
global(workDirectory="/var/spool/rsyslog" umask="0022" preserveFQDN="on" localHostname="node1")

# ========== Rules Section ==========

#ruleset(name="To_remote") {
#   *.*  action(type="omrelp" target="192.168.10.54" port="10514")
#  action(type="omfile" file="data_remote.log")
#  }

input(type="imuxsock" Socket="/run/systemd/journal/syslog")
action(type="omfile" file="/tmp/data.log")

Пробовал разные варианты, как видите - не работает все равно.

Первое что не пойму: rsyslog заставляет меня еще раз указывать параметр Socket= в блоке input. Зачем, если в подключении модуля я уже указал? И при старте получаем двойное подключение сокета rsyslog:

root@node1:/etc# systemctl status rsyslog
● rsyslog.service - System Logging Service
     Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; preset: enabled)
     Active: active (running) since Wed 2023-12-13 22:49:33 UTC; 7min ago
TriggeredBy: ● syslog.socket
       Docs: man:rsyslogd(8)
             http://www.rsyslog.com/doc/
   Main PID: 1163 (rsyslogd)
      Tasks: 2 (limit: 19199)
     Memory: 1.3M
        CPU: 11ms
     CGroup: /system.slice/rsyslog.service
             └─1163 /usr/sbin/rsyslogd -n -iNONE

дек 13 22:49:33 node1 systemd[1]: Starting System Logging Service...
дек 13 22:49:33 node1 rsyslogd[1163]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.2302.0]
дек 13 22:49:33 node1 systemd[1]: Started System Logging Service.
дек 13 22:49:33 node1 rsyslogd[1163]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.2302.0]
дек 13 22:49:33 node1 rsyslogd[1163]: [origin software="rsyslogd" swVersion="8.2302.0" x-pid="1163" x-info="https:/>

Сокет syslog существует, логов нет. Файл не создается. Куда хоть посмотреть? Ошибок тоже не показывает нигде.

 ,

netvis
()

journal-remote забивает /var/log/remote

Здравствуйте. Настроил сборку логов на один сервер с десятка других серверов на основе journal-remote. Настройки стандартные:

# cat journal-remote.conf

[Remote]
Seal=True
SplitMode=host
ServerKeyFile=/etc/systemd/journal_rem.key
ServerCertificateFile=/etc/systemd/journal_rem.crt
TrustedCertificateFile=/etc/systemd/journal_rem_ca.pem
MaxFiles=200
MaxUse=4G
KeepFree=10G

Но при этом /var/log/remote забит файлами, полученными с других серверов. Там SSD на 1Тб под /var/log - так он весь за месяц ушел. Такое чувство, что параметры игнорируются. Что это может быть, куда смотреть? Версия systemd: 253 Спасибо заранее.

 ,

netvis
()

Как проверить лог на пропущенные записи

Здравствуйте, Вопрос больше в идее, если подскажете - буду очень признателен. Есть лог, пусть journald. В него летят разные сообщения и я хочу понять какой наибольший промежуток был между 2 последовательными сообщениями. Я подозреваю проблемы с сетью или с диском и мне надо понять как долго сообщения не писались. Городить скрипт из Питона, выдирать дату и время и затем что-то анализировать я уже мысленно готов, но может есть что-то готовое?

 ,

netvis
()

Откуда ограничение в 1 ТБ?

Здравствуйте. Подскажите, пожалуйста, куда смотреть. Подключаю старое производственное оборудование к новой полке на TrueNas 13. На последнем сделан датасет с ограничением в 5 Тб. Монтирую его по NFS3 на старую производственную систему на базе rhel, ядро 2.6.9 х64. Все ок, работает, но ‘df -h’ для смонтированной шары показывает только 1 ТБ свободного места. Пробовал залить данными до предела - да, только 1 ТБ квота. Не пойму, откуда может браться ограничение в 1 ТБ? Особо на производстве не до экспериментов, старый дебиан 3 с шарой 3 тб виден весь. Куда хоть смотреть? Подскажите, пожалуйста.

Спасибо

 , ,

netvis
()

Вход по SSH без пароля по ключу на множество хостов

Здравствуйте, Хотел бы с вами посоветоваться. Имеется 20-30 одинаковых учебных ПК, Linux Centos 8. В учебных целях необходимо, чтобы ученики могли логиниться друг к другу под разными пользователями, по ключам и без пароля. То есть нужно обменяться ключами на всех ПК. В принципе задача автоматизируется, я же пошел более простым путем: так как сеть без выхода в Интернет, а строго под одну задачу (тесты и лабы + спецПО), то я сгенерировал криптопару и везде ее и раскидал в каталоги .ssh /home пользователей. Хосты же добавил в authorized_keys и known_hosts. Подскажите, а есть может быть более правильный способ это же сделать? В конечном итоге нужно, чтобы любой пользователь мог зайти на любой хост без пароля по SSH. Сейчас все работает, но может быть я чего-то не учел? Просто пользователи часто уходят и приходят, а каждому нужно закидывать в хомяк открытый и закрытый ключ, чтобы не прерывался доступ. Ну и тут я решил вопрос через подкаталог ./skel, может быть что-то есть попроще?

Спасибо.

 , ,

netvis
()

Таблица ссылок на ресурсы

Здравствуйте, Ребят, подскажите, пожалуйста, может кто видел такой софт. Нужно пользователям собрать массу ссылок на одной-двух веб страницах, снабдить их описанием, скриншотом и пр. Желательно сделать авторизацию, и набор ссылок выдавать в зависимости от идентификатора пользователей. То есть пользователь заходит по http на ресурс и видит галерею ссылок, описаний и картинок, и все. Щелкает, переходит куда надо. Чем-то идея напоминает стартовый экран браузера Опера. Нет ли таких готовых проектов, может кто слышал? Я уже начал писать небольшой проект на PHP, но может быть есть что-то уже.

Спасибо.

 ,

netvis
()

RHEL 7 -> Centos 7

Здравствуйте. От хорошей жизни осталась полка Dell EMC и 2 контроллера на базе 740 серверов с фирменной RHEL7, pcs+corosync+multipath на борту. Настроено хз кем, как и когда. У меня несколько вопросов:

  1. Насколько опасно перевести RHEL на Centos, есть ли риски, что может что-то не взлететь? Я так понимаю, что кодовая база одна, но есть сомнения насчёт фирменных фич, например pcsd, ha-фич и прочего….
  2. Я нашел, что dnf/yum поддерживает транзакции, то есть можно откатиться назад, если вдруг с пакетами беда. Но у меня почему-то это не всегда срабатывает. Думал насчёт снапшотов, но там ни lvm, ни чего то подобного. Как можно сделать снимок состояния софта и затем, после обновления, откатиться назад, если вдруг что-то не взлетит? Есть такое ПО? Только транзакции dnf?
  3. И последний вопрос: подскажите, есть ли возможность узнать, какие настройки были внесены в конфиги установленного софта? Я поясню: есть одно ПО от американской компании, приезжал индус, колдовал, конечно ничего не оставил. Я пару недель провел с strace, вроде все нашел, но все равно один модуль не работает на новой системе. Может есть какие-либо ещё варианты?

Спасибо

 , ,

netvis
()

Групповое управление KVM

Здравствуйте. Подскажите, пожалуйста, у какого софта есть подобный функционал.

Колледжу достались 20 старых серверов, есть желание из них сделать что-то приличное. Так как ресурсов у серверов мало (4 Гб ОЗУ, 80 Гб, Xeon e5 1650), то думаю накатить на них всех KVM и придумать затем студентам задачи по конфигурации и пр. на практику.

Очень хочется централизованное управление всеми виртуалками, и новыми и старыми: создание, удаление, конфигурация, экспорт/импорт и пр. Может быть через агента, может быть через SPICE, но не через Web GUI на каждом сервере. То есть хочется видеть все сервера и созданные виртуалки KVM, параметры и их менять. Быть может подключаться к виртуалкам, то есть, по-сути, некая оркестрация.

Что из открытого ПО можете посоветовать? Или может вообще не KVM? Так-то я раньше Vmware/VSphere использовал, но это не тот случай.

Спасибо.

 , ,

netvis
()

Замена NIS для небольшой группы

Здравствуйте. Подскажите, пожалуйста, на что сейчас имеет смысл мигрировать с устаревшей NIS? ОС - Redhat Linux 7/8, NFS, авторизация прокси и еще по мелочи. Уперлись в почти полную неподдержку NISа разными сервисами, например дисковыми полками. Общее число людей - до 40 человек. Из вариантов: развертывание LDAP, FreeIPA или же что-то еще? Хочется: единую точку управления аккаунтами и шарами, записями hosts, возможно что-то еще.

Спасибо.

 , ,

netvis
()

Проблема с адаптером Realtek 2.5G при нагрузке (Trunk в VmWare Workstation)

Здравствуйте. На рабочей станции установил VmWare Workstation 15, в ней - виртуалка с Arch, хост-система Windows 10 x64. Необходимо подать транк на виртуалку из хост-система, сама она работает как untagged. Для этого на коммутаторе настроил гибридный режим порта.

Адаптер Realtek 2.5G Gaming Ethernet. Их фирменной утилитой создаю виртуальный адаптер для транка, подаю его в виртуалку через мост. Виртуалка его видит, пингует, но как только начинается нагрузка (NFS, SAMBA, SCP копирование и пр) - сразу зависает, ничего не работает. При этом пока нет нагрузки (копирования файлов, к примеру) - все шары видятся, все ок.

Ту же виртуалку переношу на систему с Intel адаптером, той же конфигурацией транка/порта (но интел утилитой) - все работает и под нагрузкой.

То есть виртуальный адаптер Realtek подвисает по непонятным причинам.

Смотрел tracedump, strace - висит на вызове send … Больше ничего не нарыл.

Никто не сталкивался с такой проблемой? Буду признателен за советы… Спасибо.

 , , , ,

netvis
()

NFS подвисает, растет LoadAverage

Здравствуйте. Столкнулся со странным поведением NFSv3 (Centos 6). Папка подключена к клиентской машине, копируем большой блок данных (более 200 Гб). Может копироваться нормально, но может резко возрасти Load Average (раза в 4-5), при этом ЦП ядра не заняты и почти нулевая активность. Тестами удалось понять, что NFS демоны впадают в D-state, вся система подвисает. В логах клиента:

nfs: server 192.168.21.24 not responding, still trying
nfs: server 192.168.21.24 not responding, still trying
nfs: server 192.168.21.24 not responding, still trying

Потом через некоторое время ОК. Очень похоже на то, что было у товарища: Проблема с NFS

В чем может быть дело?

Спасибо

 ,

netvis
()

Книги о внутреннем устройстве Линукс

Здравствуйте. По ряду причин собираюсь на лечение, интернета там не будет. Давно хотел почитать что-то про внутреннее устройство Линукс. Не так давно прочитал Б. Уорда - ни о чем, ничего не нашел интересного для себя, поверхностно все. Так же могу отозваться о кингах Д.Кетова по этой же тематике - вроде интересное есть, но немного и кусками, сложно уследить за смыслом. Хотя все дочитал.

Порекомендуйте, пожалуйста, литературу по внутреннему устройству Линукс, его ядра и подсистем. Хочу купить или успеть скачать. Интересует не сильно глубокое описание частей системы, процесса загрузки, безопасности, взаимодействия с пользователем, программирования и пр., каких-нибудь структур - короче все, что позволит лучше понять как и что происходит в недрах системы. Вот какие книги вам понравились по этой тематике - посоветуйте, пожалуйста, буду признателен. Конечно, хотелось бы «бумажные» книги, но буду рад и электронным.

Спасибо.

 , ,

netvis
()

Виртуалка либо контейнер для большого приложения

Здравствуйте. Я тут все ищу варианты по изоляции большого приложения. Суть: давным-давно купили дорогую импортную графическую программу, всех она устраивала кроме меня как админа - работала с окружением от RHEL5. С трудом удалось найти аналоги для библиотек из Centos 6, но держать такое старье на рабочих станциях неудобно. Софт работает с железом, с GPU, загружает память и сеть. То есть неплохо так отжирает ресурсы (обрабатывает изображения, вычисляет математику, работает в грид-режиме - несколько машин обрабатывают одно изображение и пр.) Сейчас у меня дилемма: как поставить боле-менее современную ОС на новые мощные ПК, при этом не перемешать системные новые библиотеки и старые от программы? Оставив при этом возможность «отжирать» ресурсы в требуемых объемах от хост-системы.

Вижу два пути:

  • виртуальная машина аля VirtualBox. Долгое время старта и накладные расходы, но простота реализации и миграции, при необходимости.
  • контейнеризация podman/docker. Вот вопрос тут: можно ли в контейнер поместить сложный софт, с кучей зависимостей и как это можно сделать? Дело в том, что там нужно установить переменные ядра sysctl, несколько десятков сторонних пакетов, пути NFS и пр. Я такое не находил как вариант использования Docker/podman, но может я что-то не знаю

Может быть что-то еще сможете посоветовать? Спасибо.

 ,

netvis
()

Проверка HDD/SSD перед использованием

Здравствуйте. Поделитесь, пожалуйста, опытом: имеются бывшие в употреблении жесткие диски HDD/SSD, разных производителей и разного возраста. Как наиболее правильно и достоверно можно получить информацию об их состоянии и принять решение о дальнейшем использовании? SMART не всегда достоверно показывает состояние, проверка поверхности тоже. Если стоит задача в дальнейшем их ставить в рабочие станции, то хочется хоть какой-то надежности. Как вы решаете этот вопрос? Спасибо

 , , ,

netvis
()

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