Commit 6e61ea66 authored by Vitaly Lipatov's avatar Vitaly Lipatov

CLAUDE.md: add sysadmin instructions from user config

Add comprehensive system administration instructions: - Debugging principles - Email sending via mail command - Remote access tools (xpra, xfreerdp) - Package management with epm - Service management with serv - VPN servers and access creation - NFS group management with samba-tool - Miscellaneous notes (Saby, gpush, etc)
parent ecaa01f2
......@@ -86,6 +86,20 @@ systemctl restart nfs-mountd nfs-server
Настроено на: spacer
### После изменения групп в AD
После добавления пользователя в группу через samba-tool, NFS-сервер кэширует старое членство. Нужно перезапустить mountd:
```bash
ssh root@spacer "systemctl restart nfs-mountd"
```
### Добавление в группу через samba-tool
Если есть конфликт имён (пользователь и компьютер с одинаковым именем):
```bash
# Ошибка: Found multiple results for "lav"
# Решение — указать тип объекта:
samba-tool group addmembers ГРУППА ПОЛЬЗОВАТЕЛЬ --object-types=user
```
### FS-Cache (локальный кэш NFS)
Ускоряет повторное чтение файлов (до 12x). Настройка на клиенте:
......@@ -342,3 +356,81 @@ ssh ipfs@dhash "ipfs stats bw" # статистика bandwidth
- FD exhaustion: ошибка "unable to fully refresh routing table" — увеличить MaxFileDescriptors
- Настроен ежедневный рестарт в 04:00 (ipfsd-restart.timer)
- Bottleneck в IPFS gateway, не в сети (localhost медленнее remote)
## Отладка
При ошибках и зависаниях:
1. **Ищи первопричину** — не обходи симптомы через kill -9 или повторные запуски
2. **Проверяй логи** — читай что пишут программы в stderr и лог-файлы
3. **Читай код** — пойми почему что-то не работает, потом исправляй
4. **Исправляй источник проблемы** — не тестовый runner и не обёртки
## Отправка писем
- Команда: `mail -s "Тема" -c копия@etersoft.ru адресат@etersoft.ru`
- Домен для сотрудников: @etersoft.ru
- Имя отправителя берётся из `getent passwd $USER | cut -d: -f5`
- В подписи указывать: "Письмо подготовлено с помощью Claude Code (<модель>)"
- Поиск логина сотрудника: `grep -i фамилия /etc/passwd`
## Удалённый доступ к приложениям
### xpra ("screen для X11")
- `xpra start ssh://user@server --start=app` — запустить приложение удалённо
- `xpra attach ssh://user@server/DISPLAY` — подключиться к сессии
- `xpra list` — список сессий
- `xpra detach` — отключиться (сессия продолжит работать)
### xfreerdp (RDP single app)
- `xfreerdp /v:server /u:user /app:"C:\path\to\app.exe"` — запустить одно приложение
## Работа с пакетами (epm)
- `epmqp PATTERN` - поиск установленных пакетов
- `epm ql PACKAGE` - список файлов пакета
- `epm show PACKAGE` - информация о пакете
- `epm search PATTERN` - поиск пакетов в репозитории
- `epm req FILE.rpm` - показать зависимости rpm-файла
- `epm play APPNAME` - установить приложение
- `epmi TASK` - установить все пакеты из задачи girar
- `epm install TASK/PACKAGE` - установить конкретный пакет из задачи girar
- `epm install 'URL/package*.rpm'` - установить по URL (поддерживает wildcard)
- `epm rl` - вывод репозиториев
- `epm search` ищет и по `epm play` тоже
- Обновление epm из Korinf (для p11 и стабильных веток):
```
epm install 'https://updates.etersoft.ru/pub/Korinf/x86_64/ALTLinux/p11/eepm*.rpm'
```
- При проблемах с epm — писать в backlog на исполнителя epm, а не подбирать альтернативы
## Работа с сервисами (serv)
- `serv NAME` - показать статус сервиса
- `serv NAME start|stop|restart` - управление сервисом
- `serv NAME enable|disable` - автозапуск сервиса
- `serv` - список всех сервисов
## VPN
Три VPN-сервера:
- vpn.office — ssh vpn.office
- vpn.eterfund (vpn) — ssh -p 32 vpn.eterfund.ru
- evpn.eterfund (evpn) — ssh evpn.eterfund.ru
Создание доступа:
```bash
cd /root/vpn && ./muvpn.sh --create <e-mail>
```
Снять пароль с CA-ключа (если требуется):
```bash
openssl rsa -in /etc/openvpn/pki/private/ca.key -out /etc/openvpn/pki/private/ca.key
```
## Разное
- Saby — новое название СБИС. Плагин: `epm play sbis-plugin`
- Временный каталог: `~/tmp/claude`
- Для публикации используй `gpush`, а не `git push` - gpush отправляет в репозитории pub.*, а не в origin
- Названия коммитов только на английском
- Всегда оставляй перенос строки в конце файлов
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment