Часть 2. GitOps для /etc: отслеживаем конфигурации через etckeeper и pre-commit хуки
Чтобы избежать потери конфигов даже при сбое системы — добавим резервное копирование git-репозитория /etc в безопасное место.
1️⃣ Настроим удалённый репозиторий
Создаём bare-репозиторий на другом сервере или в GitLab/Gitea:
На основном сервере:
2️⃣ Добавим автоматический push после каждого commit
Можно прописать post-commit хук:
Теперь каждый раз, когда etckeeper фиксирует изменения, копия будет уходить на внешний сервер.
Проверка целостности и откат
Если кто-то случайно удалит или испортит конфиг — откат делается одной командой:
Также можно использовать:
Чтобы избежать потери конфигов даже при сбое системы — добавим резервное копирование git-репозитория /etc в безопасное место.
Создаём bare-репозиторий на другом сервере или в GitLab/Gitea:
git init --bare /srv/backup/etc.git
На основном сервере:
cd /etc
git remote add backup ssh://user@backup-host/srv/backup/etc.git
git push backup master
Можно прописать post-commit хук:
echo 'git push backup master' > /etc/.git/hooks/post-commit
chmod +x /etc/.git/hooks/post-commit
Теперь каждый раз, когда etckeeper фиксирует изменения, копия будет уходить на внешний сервер.
Проверка целостности и откат
Если кто-то случайно удалит или испортит конфиг — откат делается одной командой:
cd /etc
git checkout HEAD^ -- ssh/sshd_config
Также можно использовать:
git status # покажет, что поменялось
git log -p FILE # покажет кто и когда правил конкретный файл
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5
Собственный mirror репозиториев APT или YUM в локальной сети
В изолированных средах, где серверы не имеют прямого выхода в интернет, или при массовом развёртывании машин, выгодно держать локальное зеркало репозиториев.
Это позволяет:
• ускорить установку пакетов и обновлений,
• исключить зависимость от внешних зеркал,
• обеспечить стабильность (все пакеты одной версии),
• работать в полностью оффлайн-среде.
Пример APT-репозитория (Ubuntu)
1️⃣ Установим apt-mirror:
2️⃣ Настроим зеркалирование:
Пример:
3️⃣ Синхронизируем:
4️⃣ Настроим доступ через apache2:
В изолированных средах, где серверы не имеют прямого выхода в интернет, или при массовом развёртывании машин, выгодно держать локальное зеркало репозиториев.
Это позволяет:
• ускорить установку пакетов и обновлений,
• исключить зависимость от внешних зеркал,
• обеспечить стабильность (все пакеты одной версии),
• работать в полностью оффлайн-среде.
Пример APT-репозитория (Ubuntu)
sudo apt install apt-mirror apache2
sudo nano /etc/apt/mirror.list
Пример:
set base_path /var/spool/apt-mirror
deb https://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
clean
sudo apt-mirror
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍6👎1
Что такое CNI в Kubernetes?
Anonymous Quiz
83%
Контейнерный сетевой интерфейс — плагин для организации сети внутри кластера
4%
Команда для обновления кластера
5%
Система хранения данных
8%
Тип контейнерного образа
🤣10❤1👍1
Собственный time-сервер (NTP) с хардварной синхронизацией
Когда в сети критично точное время (финансовые транзакции, логирование событий, биллинг, Kerberos) — не стоит полагаться только на внешние NTP-сервера.
Лучше настроить локальный time-сервер с аппаратным источником времени.
Как это сделать?
1️⃣ Аппаратный источник
• GPS-приёмник с поддержкой PPS (например, u-blox NEO, Garmin GPS 18x LVC)
• Или дешевле — USB RTC-модули с хардварными часами (DS3231 и аналоги)
2️⃣ Система: Linux + chronyd или ntpd
Chrony проще и точнее работает с нестабильными источниками (вроде GPS):
3️⃣ Пример конфигурации chrony.conf:
• SHM — данные от gpsd
• PPS — сигнал точной секунды
• local stratum — объявляем себя сервером
4️⃣ Проверка:
Должно появиться что-то вроде:
Когда в сети критично точное время (финансовые транзакции, логирование событий, биллинг, Kerberos) — не стоит полагаться только на внешние NTP-сервера.
Лучше настроить локальный time-сервер с аппаратным источником времени.
Как это сделать?
• GPS-приёмник с поддержкой PPS (например, u-blox NEO, Garmin GPS 18x LVC)
• Или дешевле — USB RTC-модули с хардварными часами (DS3231 и аналоги)
Chrony проще и точнее работает с нестабильными источниками (вроде GPS):
sudo apt install chrony gpsd gpsd-clients
refclock SHM 0 refid GPS precision 1e-1
refclock SOCK /var/run/chrony.ttyS0.sock refid PPS lock GPS
allow 192.168.0.0/16
local stratum 10
• SHM — данные от gpsd
• PPS — сигнал точной секунды
• local stratum — объявляем себя сервером
chronyc sources -v
Должно появиться что-то вроде:
#* GPS 0 10 377 123 +0.000123 +0.000001 0.000
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👎3🔥2
Восстановление root-пароля в Ubuntu
Забыли root-пароль в Ubuntu? Не паникуйте! Сбросить пароль можно за несколько минут. Мы рассмотрим два способа восстановления: через Recovery Mode и альтернативный метод через Grub.
Эти методы работают на обычных системах, а также в виртуальных машинах (VMware, VirtualBox).
Способ 1: Сброс пароля через Recovery Mode
Этот метод удобен, если у вас есть доступ к меню загрузки Grub.
⏺ Шаг 1: Вход в режим восстановления
1. Перезагрузите компьютер.
2. Если меню Grub не появляется автоматически, нажимайте Shift во время загрузки.
3. В меню выберите Advanced Options for Ubuntu.
4. Найдите вариант с (recovery mode) и выберите его.
После небольшой загрузки появится меню восстановления.
⏺ Шаг 2: Переход в командную строку root
1. В списке выберите Root (Drop to root shell prompt).
2. Нажмите Enter – вы попадете в терминал с root-доступом.
⏺ Шаг 3: Разрешение записи в корневой раздел
По умолчанию корневой раздел доступен только для чтения, поэтому перед изменением пароля нужно разрешить запись:
⏺ Шаг 4: Сброс пароля
1. Посмотрите список пользователей:
Здесь будут показаны все пользовательские папки – выберите нужного пользователя.
2. Сбросьте пароль:
(вместо username подставьте имя пользователя).
3. Дважды введите новый пароль.
⏺ Шаг 5: Перезагрузка системы
1. Введите команду выхода:
2. Вернетесь в меню восстановления – выберите Resume boot для загрузки системы.
3. После перезагрузки можно войти с новым паролем.
Способ 2: Сброс пароля через Grub
Этот метод подходит, если Recovery Mode недоступен или не работает.
Шаг 1: Изменение параметров в Grub
Перезагрузите компьютер и нажимайте Shift, пока не появится меню Grub.
Дальше выберите Ubuntu и нажмите E (редактировать параметры загрузки). И найдите строку, начинающуюся с linux, замените ro на rw и добавьте в конец:
Нажмите Ctrl + X, чтобы загрузиться в систему.
Теперь вы окажетесь в командной строке bash без пароля.
Шаг 2: Смена пароля
Введите команду:
Дважды введите новый пароль. И перезагрузите систему командой:
После перезагрузки вы сможете войти в систему с новым паролем.
Возможные ошибки и их решение
⏺ Ошибка “Authentication token manipulation error”
Проблема: Файловая система доступна только для чтения.
Решение: Разрешите запись перед изменением пароля:
⏺ Нет пункта “Recovery Mode” в Grub
Проблема: В меню загрузки отсутствует пункт Recovery Mode.
Решение:
• Выберите Ubuntu в Grub, нажмите E для редактирования параметров.
• В конце строки загрузки добавьте single.
• Нажмите Ctrl + X или F10, чтобы загрузиться в терминал суперпользователя.
⏺ Ошибка “end Kernel panic” при загрузке
Проблема: Ошибка загрузки ядра.
Решение: Удалите параметр splash boot при редактировании загрузки в Grub.
⏺ Ошибка “Failed to connect to bus” при перезагрузке
Проблема: Некорректное завершение системы после смены пароля.
Решение: Используйте команду:
Забыли root-пароль в Ubuntu? Не паникуйте! Сбросить пароль можно за несколько минут. Мы рассмотрим два способа восстановления: через Recovery Mode и альтернативный метод через Grub.
Эти методы работают на обычных системах, а также в виртуальных машинах (VMware, VirtualBox).
Способ 1: Сброс пароля через Recovery Mode
Этот метод удобен, если у вас есть доступ к меню загрузки Grub.
1. Перезагрузите компьютер.
2. Если меню Grub не появляется автоматически, нажимайте Shift во время загрузки.
3. В меню выберите Advanced Options for Ubuntu.
4. Найдите вариант с (recovery mode) и выберите его.
После небольшой загрузки появится меню восстановления.
1. В списке выберите Root (Drop to root shell prompt).
2. Нажмите Enter – вы попадете в терминал с root-доступом.
По умолчанию корневой раздел доступен только для чтения, поэтому перед изменением пароля нужно разрешить запись:
mount -rw -o remount /
1. Посмотрите список пользователей:
ls /home
Здесь будут показаны все пользовательские папки – выберите нужного пользователя.
2. Сбросьте пароль:
passwd username
(вместо username подставьте имя пользователя).
3. Дважды введите новый пароль.
1. Введите команду выхода:
exit
2. Вернетесь в меню восстановления – выберите Resume boot для загрузки системы.
3. После перезагрузки можно войти с новым паролем.
Способ 2: Сброс пароля через Grub
Этот метод подходит, если Recovery Mode недоступен или не работает.
Шаг 1: Изменение параметров в Grub
Перезагрузите компьютер и нажимайте Shift, пока не появится меню Grub.
Дальше выберите Ubuntu и нажмите E (редактировать параметры загрузки). И найдите строку, начинающуюся с linux, замените ro на rw и добавьте в конец:
init=/bin/bash
Нажмите Ctrl + X, чтобы загрузиться в систему.
Теперь вы окажетесь в командной строке bash без пароля.
Шаг 2: Смена пароля
Введите команду:
passwd username
Дважды введите новый пароль. И перезагрузите систему командой:
shutdown -r now
После перезагрузки вы сможете войти в систему с новым паролем.
Возможные ошибки и их решение
Проблема: Файловая система доступна только для чтения.
Решение: Разрешите запись перед изменением пароля:
mount -rw -o remount /
Проблема: В меню загрузки отсутствует пункт Recovery Mode.
Решение:
• Выберите Ubuntu в Grub, нажмите E для редактирования параметров.
• В конце строки загрузки добавьте single.
• Нажмите Ctrl + X или F10, чтобы загрузиться в терминал суперпользователя.
Проблема: Ошибка загрузки ядра.
Решение: Удалите параметр splash boot при редактировании загрузки в Grub.
Проблема: Некорректное завершение системы после смены пароля.
Решение: Используйте команду:
exec /sbin/init
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤7🤪1
Вышел Wireshark 4.4.8
В июле 2025 вышла стабильная версия Wireshark 4.4.8 — популярного open source сетевого анализатора. Обновление включает:
⏺ Исправления ошибок и уязвимостей
⏺ Улучшения графиков VoIP, TCP и интерфейсов
⏺ Обновления в поддержке протоколов: IPsec, DTLS, TETRA, KRB5, UDS и др.
⏺ Поддержку формата pcapng и улучшенную работу с UTF-8
Проект развивается с 2008 года и распространяется под GPLv2. Wireshark остаётся ключевым инструментом для специалистов по сетям и безопасности.
В июле 2025 вышла стабильная версия Wireshark 4.4.8 — популярного open source сетевого анализатора. Обновление включает:
Проект развивается с 2008 года и распространяется под GPLv2. Wireshark остаётся ключевым инструментом для специалистов по сетям и безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3
IPv6 через туннели: 6to4 и WireGuard
Если ваш хостинг не даёт IPv6-адреса, это не повод отказываться от поддержки современного протокола.
Есть как минимум два способа получить IPv6-трафик — с помощью 6to4 или через VPN-туннель, например, WireGuard.
⏺ 6to4 — автоматический туннельный механизм, где IPv6 инкапсулируется в IPv4. Подходит, если у вас есть публичный IP, и позволяет быстро поднять IPv6 без внешних сервисов. Минус — нестабильность и устаревание технологии.
⏺ WireGuard + маршрутизация — более современный способ. Настраиваете второй VPS с IPv6 (например, на Hetzner или Vultr), поднимаете между ними WireGuard и прокидываете IPv6-префикс через маршрут. Внутри сети можно даже делить подсети и выдавать адреса локальным контейнерам.
Подойдёт для:
➕ тестирования IPv6-приложений;
➕ обхода ограничений провайдера;
➕ развёртывания публичных IPv6-сервисов.
⚡️ Плюс - вы контролируете туннель и сами задаёте маршруты. Минус — нужна ещё одна VPS или доверенный endpoint.
Как получить IPv6 на VPS, где его нет
Если ваш хостинг не даёт IPv6-адреса, это не повод отказываться от поддержки современного протокола.
Есть как минимум два способа получить IPv6-трафик — с помощью 6to4 или через VPN-туннель, например, WireGuard.
Подойдёт для:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2👎1
Для чего нужна команда journalctl -u nginx.service?
Anonymous Quiz
1%
Запускает nginx
92%
Показывает логи сервиса nginx
1%
Останавливает nginx
6%
Обновляет nginx
🤣11❤3👍3👎1💊1
Быстрый аудит безопасности Linux-системы с помощью Lynis
Когда нужно быстро проверить безопасность сервера или рабочего места, Lynis - удобный инструмент для первичного аудита и рекомендаций по улучшению защиты.
Как это сделать?
1️⃣ Установка
Для Debian/Ubuntu:
Для других дистрибутивов — через пакетный менеджер или с официального сайта.
2️⃣ Запуск аудита
Запускаем сканирование с правами root:
3️⃣ Анализ отчёта
⏺ В конце проверки Lynis выведет список предупреждений и рекомендаций.
⏺ Логи сохраняются в /var/log/lynis.log.
⏺ Особое внимание уделяем секциям warnings и suggestions.
4️⃣ Основные проверки Lynis
• Настройки ядра и безопасности
• Конфигурация SSH, sudo и PAM
• Права доступа к критичным файлам
• Установленные пакеты и их обновления
• Журналы и брандмауэр
Когда нужно быстро проверить безопасность сервера или рабочего места, Lynis - удобный инструмент для первичного аудита и рекомендаций по улучшению защиты.
Как это сделать?
Для Debian/Ubuntu:
sudo apt install lynis
Для других дистрибутивов — через пакетный менеджер или с официального сайта.
Запускаем сканирование с правами root:
sudo lynis audit system
• Настройки ядра и безопасности
• Конфигурация SSH, sudo и PAM
• Права доступа к критичным файлам
• Установленные пакеты и их обновления
• Журналы и брандмауэр
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍3
Собственный mirror APT/YUM в локальной сети
Когда нужен быстрый доступ к пакетам без выхода в интернет — выручит локальное зеркало.
Это экономит трафик, ускоряет обновления и позволяет работать в air-gapped-сетях.
APT (Debian/Ubuntu)
Установим apt-mirror и любой HTTP-сервер (например, Apache):
Файл /etc/apt/mirror.list указывает, какие репозитории скачивать. После настройки запускаем:
Зеркало будет лежать в /var/spool/apt-mirror. Отдаём его через Apache по https://mirror.local/ubuntu.
YUM/DNF (RHEL/CentOS/AlmaLinux)
Для RedHat-систем используем reposync и createrepo:
Можно автоматизировать через cron и обновлять репо по расписанию.
✅ Проверка
На клиентских машинах указываем новый baseurl в .repo-файлах:
Для APT — добавляем строчку в sources.list:
Когда нужен быстрый доступ к пакетам без выхода в интернет — выручит локальное зеркало.
Это экономит трафик, ускоряет обновления и позволяет работать в air-gapped-сетях.
APT (Debian/Ubuntu)
Установим apt-mirror и любой HTTP-сервер (например, Apache):
sudo apt install apt-mirror apache2
Файл /etc/apt/mirror.list указывает, какие репозитории скачивать. После настройки запускаем:
sudo apt-mirror
Зеркало будет лежать в /var/spool/apt-mirror. Отдаём его через Apache по https://mirror.local/ubuntu.
YUM/DNF (RHEL/CentOS/AlmaLinux)
Для RedHat-систем используем reposync и createrepo:
reposync --gpgcheck -l --repoid=base --download_path=/var/www/html/yum
createrepo /var/www/html/yum
Можно автоматизировать через cron и обновлять репо по расписанию.
На клиентских машинах указываем новый baseurl в .repo-файлах:
baseurl=https://mirror.local/yum
enabled=1
gpgcheck=0
Для APT — добавляем строчку в sources.list:
deb https://mirror.local/ubuntu focal main restricted
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥6
Разработчик потратил на Replit $600+, но сервис удалил базу данных несмотря на запреты
Джейсон Лемкин вложил в ИИ-платформу Replit более $600, используя её для вайб-кодинга.
Replit признал ошибку и восстановил данные, но ИИ продолжал игнорировать запреты, меняя код без разрешения.
Лемкин считает, что такие ИИ-инструменты пока нестабильны и требуют постоянного контроля.
Джейсон Лемкин вложил в ИИ-платформу Replit более $600, используя её для вайб-кодинга.
Сервис удалил его базу данных, хотя Лемкин запретил любые изменения без согласия.
Replit признал ошибку и восстановил данные, но ИИ продолжал игнорировать запреты, меняя код без разрешения.
Лемкин считает, что такие ИИ-инструменты пока нестабильны и требуют постоянного контроля.
❤5👍2
Построение отказоустойчивого DHCP через Kea и HA-режим
Если вы всё ещё используете классический ISC DHCP, самое время обратить внимание на Kea от ISC.
Это DHCP-сервер нового поколения, который поддерживает как IPv4, так и IPv6, имеет полноценный REST API, масштабируется горизонтально и умеет работать в отказоустойчивом режиме.
В отличие от старого ISC DHCP, Kea может синхронизировать lease’ы между двумя серверами почти в реальном времени.
Поддерживаются разные режимы работы:
• Load-balancing (Active-Active) – оба сервера обслуживают клиентов
• Hot-standby (Active-Standby) – один сервер активен, второй в резерве
• Partner-down – сценарий, когда один сервер считается временно недоступным
Вот пример простой конфигурации HA-модуля (kea-ctrl-agent + ha-hooks):
В режиме load-balancing оба сервера делят пул между собой и сразу же переключаются в случае отказа одного из них. Всё это можно мониторить и управлять через HTTP-запросы.
Ключевые преимущества Kea:
• JSON-конфигурация, удобная для автоматизации
• Управление через curl или kea-shell
• Интеграция с MySQL/PostgreSQL
• Поддержка хуков, логирование, экспорт метрик в Prometheus
Примеры команд управления через API:
Проверить статус HA-кластера:
Перевести сервер в ручной режим:
Получить список lease’ов:
Если вы всё ещё используете классический ISC DHCP, самое время обратить внимание на Kea от ISC.
Это DHCP-сервер нового поколения, который поддерживает как IPv4, так и IPv6, имеет полноценный REST API, масштабируется горизонтально и умеет работать в отказоустойчивом режиме.
В отличие от старого ISC DHCP, Kea может синхронизировать lease’ы между двумя серверами почти в реальном времени.
Поддерживаются разные режимы работы:
• Load-balancing (Active-Active) – оба сервера обслуживают клиентов
• Hot-standby (Active-Standby) – один сервер активен, второй в резерве
• Partner-down – сценарий, когда один сервер считается временно недоступным
Вот пример простой конфигурации HA-модуля (kea-ctrl-agent + ha-hooks):
{
"ha-server": {
"mode": "load-balancing",
"this-server-name": "dhcp1",
"peers": [
{
"name": "dhcp1",
"url": "https://192.168.1.10:8000/",
"role": "primary"
},
{
"name": "dhcp2",
"url": "https://192.168.1.11:8000/",
"role": "secondary"
}
],
"auto-failover": true
}
}В режиме load-balancing оба сервера делят пул между собой и сразу же переключаются в случае отказа одного из них. Всё это можно мониторить и управлять через HTTP-запросы.
Ключевые преимущества Kea:
• JSON-конфигурация, удобная для автоматизации
• Управление через curl или kea-shell
• Интеграция с MySQL/PostgreSQL
• Поддержка хуков, логирование, экспорт метрик в Prometheus
Примеры команд управления через API:
Проверить статус HA-кластера:
curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "ha-heartbeat" }' \
https://127.0.0.1:8000/
Перевести сервер в ручной режим:
curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "ha-maintenance-start" }' \
https://127.0.0.1:8000/
Получить список lease’ов:
curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "lease4-get-all" }' \
https://127.0.0.1:8000/
❤9👍3
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Проверить текущее состояние THP можно командой:
cat /sys/kernel/mm/transparent_hugepage/enabled
Отключить, если они мешают:
echo never > /sys/kernel/mm/transparent_hugepage/enabledЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤5
Локальный Docker Registry в своей сети
Для ускорения работы CI/CD, уменьшения зависимости от внешних сервисов и повышения контроля над Docker-образами часто поднимают собственный приватный Docker Registry.
Официальный публичный реестр — Docker Hub, но для внутреннего использования лучше иметь локальный, чтобы экономить трафик, ускорять загрузки и обеспечивать безопасность.
Быстрый старт
Запускаем официальный образ Registry:
По умолчанию Registry доступен по HTTP на порту 5000.
Работа с локальным реестром
1️⃣ Тегируем локальный образ для отправки:
2️⃣ Отправляем образ:
3️⃣ На других хостах забираем образ:
Для ускорения работы CI/CD, уменьшения зависимости от внешних сервисов и повышения контроля над Docker-образами часто поднимают собственный приватный Docker Registry.
Docker Registry — это сервис хранения и распространения контейнерных образов.
Официальный публичный реестр — Docker Hub, но для внутреннего использования лучше иметь локальный, чтобы экономить трафик, ускорять загрузки и обеспечивать безопасность.
Быстрый старт
Запускаем официальный образ Registry:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
По умолчанию Registry доступен по HTTP на порту 5000.
Работа с локальным реестром
docker tag myimage localhost:5000/myimage
docker push localhost:5000/myimage
docker pull localhost:5000/myimage
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2
Какой командой можно проверить статус SELinux?
Anonymous Quiz
21%
getenforce
63%
selinux --status
6%
checkselinux
9%
secheck
🤷14❤3
Автоматический монт сетевых папок при старте: systemd .mount и .automount
Если сетевые диски нужно подключать при каждом старте системы — не обязательно лезть в /etc/fstab.
⏺ .mount — это юнит для постоянного монтирования. Его имя строится по пути к точке монтирования. Например, для /mnt/share файл будет называться:
Пример содержимого:
⏺ .automount — позволяет подключать ресурс только при обращении к нему. Это ускоряет загрузку, если сеть ещё не поднята.
Пример:
При первой попытке зайти в /mnt/share systemd автоматически поднимет mnt-share.mount.
Если сетевые диски нужно подключать при каждом старте системы — не обязательно лезть в /etc/fstab.
Современный способ — использовать systemd-юниты .mount и .automount.
mnt-share.mount
Пример содержимого:
[Unit]
Description=Mount network share
[Mount]
What=//192.168.0.10/share
Where=/mnt/share
Type=cifs
Options=credentials=/etc/smb.cred,_netdev,vers=3.0
[Install]
WantedBy=multi-user.target
mnt-share.automount
Пример:
[Unit]
Description=Automount network share
[Automount]
Where=/mnt/share
[Install]
WantedBy=multi-user.target
При первой попытке зайти в /mnt/share systemd автоматически поднимет mnt-share.mount.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥4❤2