Linux Skill - Освой Linux c нуля до DevOps – Telegram
Linux Skill - Освой Linux c нуля до DevOps
11.2K subscribers
66 photos
103 videos
497 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Контейнер в контейнере? Да это как матрёшка для айтишников: открываешь, а там ещё больше проблем… но зато все свои! 😂

Если ты уже работаешь с Proxmox и контейнерами, тебе точно будет полезно попробовать такую схему. Все просто: ты создаешь LXC контейнер и внутри него запускаешь Docker-контейнеры. Почему бы и нет? Это позволяет тебе изолировать Docker окружение в лёгком LXC-контейнере, что экономит ресурсы системы.

Вот как это сделать:

1. В Proxmox создаём обычный LXC контейнер.
2. В параметрах контейнера добавляем nesting=1.
3. Заходим в LXC и устанавливаем Docker:
apt install curl
curl -fsSL https://get.docker.com | bash -


4. Проверяем всё это волшебство командой:
docker run --rm hello-world


И вуаля — Docker запущен внутри LXC! 😎

Такое решение — это идеальный вариант для изоляции среды и экспериментов. Используй меньше ресурсов, но при этом оставайся гибким!

Если тебе интересно, как это ещё можно использовать — напиши, обсудим!

А завтра не пропусти новый пост на тему: "Секретная Команда nsenter! Управляй Контейнерами как Хакер! 😎"

____________________

Дополнительный материал:
🧠 - Осваиваем RAID Массивы в Linux: Путь к Надежности и Производительности
🧠 - История OpenSUSE: От Зеленого Ящерика к Глобальному Сообществу
🧠 - Разблокируем секреты Linux: Специальные разрешения файлов
👍22👀2🔥1
Секретная Команда nsenter! Управляй Контейнерами как Хакер! 😎

Знаешь, что круче обычного управления Docker контейнерами? Это когда ты управляешь ими, как будто у тебя суперспособности хакера. 🤖

С помощью команды nsenter ты можешь попасть внутрь любого работающего Docker контейнера и выполнять команды прямо в его пространстве имён, как будто ты в самой системе!

Вот 3 примера использования:

1. Запуск команд в сети контейнера
Хочешь посмотреть, какие порты слушает контейнер? Легко!
   nsenter -n -t $(docker inspect -f '{{.State.Pid}}' [контейнер]) netstat -tulnp


2. Диагностика сетевых проблем
Быстро проверь DNS внутри контейнера:
   nsenter -n -t $(docker inspect -f '{{.State.Pid}}' [контейнер]) dig google.com


3. Анализ процессов
Посмотри процессы внутри контейнера без входа в него:
   nsenter -t $(docker inspect -f '{{.State.Pid}}' [контейнер]) -p ps aux


Теперь у тебя есть секретное оружие для полного контроля над Docker контейнерами! Попробуй — это просто, но очень мощно!

Завтра не пропусти новый пост на тему секретов массового управления пользователями и группами в Linux.

____________________

Дополнительный материал:
🧠 - Путешествие по Виртуальным Интерфейсам и Канальному Уровню в Linux: От Туннелей до Мостов
🧠 - История AppArmor: Как Linux Стал Крепостью Безопасности
🧠 - Linux Mastery: Быстрое создание пакетов файлов для тестирования
👍16🔥3👀2
Секреты массового управления пользователями и группами в Linux! 💻🚀
Хватит делать всё вручную! Эти скрипты помогут тебе быстро управлять пользователями и группами в Linux, не тратя лишнего времени.

Когда настраиваешь большое количество пользователей, важно делать это быстро и надёжно. Эти скрипты помогут легко добавлять, удалять, резервировать и проверять аккаунты, а также управлять группами. Давай начнём!

### 1. Скрипт для массового добавления пользователей
Чтобы добавить несколько пользователей за раз, можно использовать этот скрипт. Задай имя пользователя, и он будет добавлен в систему.

#!/bin/bash

# Создай файл users_to_add.txt со списком пользователей, по одному на строку.
PASSWORD="DefaultPass123"

while IFS= read -r username; do
sudo adduser --disabled-password --gecos "" "$username"
echo "$username:$PASSWORD" | sudo chpasswd
echo "Пользователь $username добавлен."
done < users_to_add.txt


Как использовать: Создай users_to_add.txt с именами пользователей и запусти скрипт. Он создаст пользователей с паролем DefaultPass123.

---

### 2. Скрипт для массового удаления пользователей

Этот скрипт удаляет пользователей вместе с их домашними директориями.

#!/bin/bash

while IFS= read -r username; do
sudo deluser --remove-home "$username"
echo "Пользователь $username удалён."
done < users_to_delete.txt


Как использовать: Заполни файл users_to_delete.txt именами пользователей, которых нужно удалить.

---

### 3. Скрипт для изменения паролей у нескольких пользователей

Быстро обнови пароли сразу у нескольких пользователей с помощью этого скрипта.

#!/bin/bash

NEW_PASSWORD="NewPass123"

while IFS= read -r username; do
echo "$username:$NEW_PASSWORD" | sudo chpasswd
echo "Пароль для $username обновлён."
done < users.txt


Как использовать: Укажи новый пароль и заполни файл users.txt именами нужных пользователей.

---

### 4. Скрипт для создания резервной копии данных пользователей

Автоматически создай архивы домашних директорий пользователей для резервного копирования.

#!/bin/bash

BACKUP_DIR="/backup/user_backups"
mkdir -p "$BACKUP_DIR"

while IFS= read -r username; do
HOME_DIR="/home/$username"
if [ -d "$HOME_DIR" ]; then
tar -czf "$BACKUP_DIR/${username}_backup_$(date +%F).tar.gz" "$HOME_DIR"
echo "Резервная копия для $username создана."
else
echo "Домашняя директория $username не найдена."
fi
done < users.txt


Как использовать: Заполни users.txt именами пользователей, чтобы получить резервные копии их данных.

---

### 5. Скрипт для массового создания групп и добавления пользователей

Удобный скрипт для создания нескольких групп и добавления в них пользователей:

#!/bin/bash

GROUPS=("dev" "ops" "test")

for group in "${GROUPS[@]}"; do
sudo addgroup "$group"
echo "Группа $group создана."
done

while IFS= read -r username; do
for group in "${GROUPS[@]}"; do
sudo adduser "$username" "$group"
echo "Пользователь $username добавлен в $group."
done
done < users.txt


Как использовать: Укажи нужные группы в массиве GROUPS и заполни users.txt именами пользователей. Скрипт добавит всех пользователей в указанные группы.

Эти скрипты помогут тебе настроить пользователей и группы в Linux буквально за минуты! И если устал вручную искать медленные запросы в логах, жди следующий пост — расскажу, как сделать это за одну минуту! 🚀
____________________

Дополнительный материал:
🧠 - Мастерство Управления Правами в Linux: От Новичка до Профи
🧠 - Максимизируйте безопасность с минимальными разрешениями в Linux
🧠 - От Slackware до Pacman: Путешествие Систем Управления Пакетами в Linux
👍30🔥4
Не трать время на логи! Вот как найти все медленные запросы за 1 минуту! 🚀

Знаешь, что самое скучное в работе с базами? Листать логи в поисках медленных запросов! 😩 Но есть секретное оружие — Mytop. Это как htop, только для MySQL/MariaDB. Позволяет в реальном времени следить за тем, что происходит с базой данных, и легко выявлять проблемы.

Вот как можно использовать Mytop:

1. Мониторинг запросов в реальном времени:
Запускаешь mytop, и сразу видишь все активные запросы, выполняемые на сервере. Это мгновенно покажет, какие запросы тормозят систему:
bash
mytop -u root -p password


2. Слежение за медленными запросами:
Mytop позволяет тебе быстро выявить запросы, которые слишком долго выполняются, и тут же принять меры:
bash
mytop -s 10


3. Мониторинг конкретной базы данных:
Если ты работаешь с несколькими базами данных, можно сфокусироваться только на одной:
bash
mytop -d имя_базы


4. Фильтрация по пользователям:
Смотри только запросы, запущенные конкретным пользователем — удобно для поиска ошибок:
bash
mytop -u username


С Mytop ты буквально экономишь время и нервы. Попробуй и скажи, как тебе такой подход!

А завтра читай новый пост: "Как ускорить MySQL? Простые советы, чтобы твой сервер летал, как на стероидах!" 💨
____________________

Дополнительный материал:
🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам
🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации
🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью
👍19🔥4
Как ускорить MySQL? Простые советы, чтобы твой сервер летал, как на стероидах!

Ты когда-нибудь сталкивался с тормозами MySQL на высоконагруженных серверах? Поверь, это настоящий кошмар. Но не переживай, есть несколько простых трюков, которые могут спасти твою производительность.

1. Используй индексы умно
Индексы — это как суперспособность для твоих запросов. Проверь, есть ли индекс для часто используемых столбцов в WHERE, JOIN и ORDER BY. Без индексов база данных тратит больше времени на поиск нужных данных.

2. Запросы типа SELECT * — зло!
Никогда не используй SELECT *. Это заставляет сервер тянуть все колонки, даже если тебе нужны только 2-3. Выбирай конкретные поля и уменьшай нагрузку на систему.

3. Кеширование — твой лучший друг
Включи Query Cache, чтобы повторяющиеся запросы не гоняли сервер лишний раз. Это значительно ускоряет работу, особенно для данных, которые часто не меняются.

4. Планировщик запросов (EXPLAIN)
Запусти команду EXPLAIN перед своими запросами, чтобы понять, как MySQL обрабатывает их. Это как читать мысли сервера! Ты увидишь слабые места и поймешь, где добавить индексы или переписать запрос.

Твой сервер точно скажет тебе спасибо!

А завтра читай новый пост: "Установка и настройка Ceph в Proxmox VE для распределённого хранилища".
Дополнительный материал:
🧠 - Открываем тайны Linux: Почему скрыть файлы от пользователя root невозможно?
🧠 - Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности
🧠 - Ускоряем YouTube и обходим блокировки на Linux: Ваше руководство
👍9🔥1
Поднимем отказоустойчивое хранилище в Proxmox VE с Ceph! ⚙️

Хочешь, чтобы данные на твоём Proxmox были в полной безопасности? Тогда пора настроить распределённое хранилище Ceph, чтобы избежать потери данных даже при сбое дисков. Сейчас покажу, как это сделать!

Почему Ceph?

Ceph — это идеальное решение для тех, кто хочет надёжное и масштабируемое хранилище. Благодаря репликации данных по нескольким узлам, Ceph обеспечивает отказоустойчивость, высокую доступность и балансировку нагрузки.

Как установить и настроить Ceph в Proxmox

1. Установка Ceph
В панели Proxmox VE перейди в Datacenter > Ceph и выбери Install Ceph. Система автоматически установит необходимые пакеты на каждом узле кластера. Убедись, что узлы Proxmox подключены в сеть с низкими задержками — это ключ к быстрой и надёжной работе Ceph.

2. Создание MON и OSD
- MON (мониторинг): Перейди в Ceph > Monitor и добавь MON на каждый узел кластера. MON отвечает за управление и поддержание консистентности кластера.
- OSD (объектное хранилище): Добавь диски как OSD (Object Storage Daemons), чтобы создать слои хранения. Для этого в разделе Ceph > OSD добавь необходимые диски, выбрав Create OSD.

3. Настройка пула хранения
В Ceph > Pools создай новый пул, который будет использоваться для хранения данных ВМ. Задай нужное количество реплик, чтобы обеспечить надёжность. Например, для максимальной отказоустойчивости установи 3 реплики — данные будут дублироваться на 3 узла.

4. Подключение хранилища к ВМ
Перейди в Datacenter > Storage, выбери Add и настрой тип хранилища Ceph RBD. Укажи параметры пула, чтобы он стал доступен для хранения образов дисков ВМ.

И вот, Ceph настроен!

С этим распределённым хранилищем твои данные будут в безопасности и всегда под контролем. А в следующем посте разберём команду a2disconf — важный инструмент для управления конфигурацией в Apache, который поможет отключать ненужные модули.
____________________

Дополнительный материал:
🧠 - Путешествие LXD: Как Контейнеры LXD Переопределили Виртуализацию
🧠 - Удаление файлов и каталогов без стресса
🧠 - Создание Docker Образов и Магия Сетей: От Одиночных Узлов до Docker Swarm
👍12👀2
Отключи ненужные конфиги в Apache за пару команд!

Если твой Apache переполнен конфигурациями, которые замедляют его или создают конфликты, команда a2disconf поможет быстро навести порядок.

Код и шаги:

1. Отключение конфигурации:

sudo a2disconf security
# Деактивирует конфигурацию security.conf


2. Перезагрузка Apache:

sudo systemctl reload apache2
# Применяет изменения и обновляет настройки сервера


3. Проверка отключённых конфигов:

ls /etc/apache2/conf-enabled/
# Убедись, что отключённый конфиг больше не активен


Зачем использовать `a2disconf`?
Эта команда позволяет временно отключить конфиги для тестирования или устранения конфликтов без удаления файлов. Активируй их обратно с помощью:

sudo a2enconf security
# Включает конфигурацию обратно

Попробуй a2disconf и посмотри, как изменится работа твоего Apache! Какие конфигурации ты отключал в последний раз? Поделись опытом в комментариях!

В следующем посте мы поговорим о трёх полезных инструментах для мониторинга трафика в Linux — так ты всегда будешь в курсе состояния своих серверов!

________________

Дополнительный материал:
🧠 - Btrfs: Революция Файловых Систем в Мире Linux
🧠 - Станьте мастером привилегий в Linux: Всё о sudo и su
🧠 - Docker Swarm & GitLab: Ускоряем Деплой Проектов с Шифрованием Секретов
👍15
Контролируй трафик в реальном времени! Три утилиты для мониторинга сети в Linux
Хочешь знать, куда уходит трафик на твоём сервере? Попробуй эти три топовые утилиты для мониторинга сети и будь на шаг впереди.

Основная информация и код:

1. Iptraf — анализируй трафик по IP и портам.
sudo apt install iptraf-ng
sudo iptraf-ng
# Запускает интерфейс, где видно, какие IP отправляют и получают пакеты.


2. iftop — визуализация трафика по каждому соединению.
sudo apt install iftop
sudo iftop -i eth0
# Мониторит, сколько трафика потребляет каждый IP. Укажи интерфейс для точности.


3. bmon — графическое представление загрузки сети.
sudo apt install bmon
bmon
# Показывает метрики пропускной способности в реальном времени.


Теперь, с этими инструментами, ты всегда будешь знать, что происходит с трафиком на твоём сервере. Попробуй их уже сегодня и держи сеть под контролем! А какие инструменты для мониторинга сети используешь ты? Делись в комментариях!

И не пропусти завтрашний пост: забудь про старые методы — настрой мониторинг сети с Prometheus и Grafana для полного контроля и анализа!
____________________

Дополнительный материал:
🧠 -
Jenkins: От Простого CI Сервера до Краеугольного Камня DevOps
🧠 - Мастерство Linux: Управление файлами и каталогами через командную строку
🧠 - Сталкивались ли вы с необходимостью быстро найти нужную информацию в man-страницах Linux
👍27👀1
Настрой мониторинг сети в реальном времени с Prometheus и Grafana

Старые методы мониторинга сети? Это как следить за машиной через окно — можно увидеть, что она уезжает, но понятия не иметь, кто за рулем.


Основная информация и код:

1. Установка Prometheus:
sudo apt update && sudo apt install prometheus

Prometheus собирает метрики и создает базу для твоего мониторинга.

2. Настройка Node Exporter:
sudo apt install prometheus-node-exporter
systemctl start prometheus-node-exporter
systemctl enable prometheus-node-exporter

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

3. Интеграция с Grafana:
sudo apt install grafana
systemctl start grafana-server
systemctl enable grafana-server

Подключи Grafana к Prometheus, добавь источник данных и настрой дашборд.

4. Добавление готовых дашбордов:
Перейди на официальный сайт Grafana, выбери готовый дашборд, импортируй его и наслаждайся визуализацией.

С этим набором инструментов ты можешь не просто следить за сетью — ты управляешь информацией с точностью до байта. А завтра поговорим о том, как настроить b2-tools для облачного резервного копирования без лишних усилий.
____________________

Дополнительный материал:
🧠 - История, которая изменила мир Linux: Путешествие файловой системы ext2
🧠 - Linux Mastery: Настройка разрешений файлов с восьмеричным представлением
🧠 - Ваш путеводитель по команде arch в Linux: Открытие архитектуры вашей системы
👍13🔥4👀1
b2-tools — простое и быстрое резервное копирование в облако

Резервное копирование данных — это как зонт: когда он нужен, ты всегда надеешься, что он под рукой. А с b2-tools ты точно не промахнёшься.

Основная информация и код:

1. Авторизация в Backblaze B2:
b2 authorize-account <ApplicationKeyID> <ApplicationKey>

Подключение аккаунта для начала работы с облаком.

2. Создание контейнера (бакета):
b2 create-bucket my-backups allPrivate

Здесь my-backups — имя контейнера, а allPrivate делает его доступным только для тебя.

3. Загрузка файла в облако:
b2 upload-file my-backups /path/to/file myfile.txt

Загружает myfile.txt в контейнер my-backups.

4. Синхронизация и загрузка всех файлов:
b2 sync --delete my-backups /local/path

Синхронизирует и выгружает данные из контейнера в локальную папку.

5. Просмотр всех контейнеров:
b2 list-buckets

Показывает список всех созданных контейнеров.

Использование b2-tools упрощает резервное копирование и управление файлами, позволяя делать это прямо из командной строки. Теперь твои данные защищены и всегда доступны. А в следующем посте поговорим о команде cat — как эффективно просматривать и объединять файлы в Linux.

____________________

Дополнительный материал:
🧠 - История зеленого великана: Как Linux Mint стал символом простоты и элегантности
🧠 - Защита данных в Linux: Как обойти ограничения файловой системы
🧠 - Все, что вам нужно знать о команде ar в Linux
👍8🔥2👀1
Ты не знал, что cat умеет это! Лайфхаки для работы с файлами в Linux

Используешь cat только для просмотра файлов? Тогда ты упускаешь самые крутые возможности. Вот пять мощных трюков, которые сделают твою работу быстрее и удобнее.

Основная информация и код:

1. Просмотр файла с номерами строк:
cat -n filename.txt

Удобный способ нумерации строк для работы с большими файлами.

2. Объединение файлов в один:
cat file1.txt file2.txt > combined.txt

Содержимое file1.txt и file2.txt объединяется в combined.txt. Идеально для сбора данных в один файл.

3. Создание нового файла с мгновенной записью:
cat > newfile.txt

Вводи текст, нажми Ctrl+D для сохранения. Быстрый способ создавать заметки прямо в терминале.

4. Добавление текста в конец файла:
echo "новая строка текста" | cat >> existingfile.txt

Добавляет строки в конец файла, не перезаписывая его. Полезно для дополнения логов или документов.

5. Обратный порядок строк с tac:
tac filename.txt

Читает файл снизу вверх. Идеально для просмотра последних записей в логах.

6. Слияние файлов с сортировкой:
cat file1.txt file2.txt | sort > sorted_combined.txt

Объединяет и сортирует содержимое файлов в новом файле sorted_combined.txt.

7. Быстрый вывод первых и последних строк:
cat filename.txt | head -n 10  # Первые 10 строк
cat filename.txt | tail -n 10 # Последние 10 строк

Полезно для быстрого обзора содержимого.

Заключение: Эти трюки помогут тебе раскрыть весь потенциал cat и упростить управление файлами в Linux. Следующий пост — о том, как на Mikrotik ограничить скорость и поддерживать стабильность сети под нагрузкой.

____________________

Дополнительный материал:
🧠 - SELinux: От Секретного Проекта до Корпоративного Стража
🧠 - Linux Mastery: Настройка разрешений каталогов с помощью chmod
🧠 - Разгадываем тайны архитектуры: Что такое i686 в Ubuntu
👍22🔥9👎2👀2
Как ограничить скорость на Mikrotik и спасти сеть от перегрузки — инструкция, которую ты ждал

Настройка сети без ограничений — это как шведский стол: кто-то забирает всё, а ты остаешься голодным. Давай сделаем так, чтобы каждый получил по порции и никто не переел.

Основная информация и код:

1. Создание очереди:
/queue simple add name=LimitDownloadUser target=192.168.1.10/32 max-limit=5M/2M

Настрой очередь с ограничением скорости для одного IP-адреса.

2. Установка лимитов для скорости:
/queue simple set [find name=LimitDownloadUser] max-limit=5M/2M

Ограничь скорость загрузки и отдачи. Здесь 5M/2M — максимальная скорость для download/upload.

3. Задание приоритета:
/queue simple set [find name=LimitDownloadUser] priority=1

Задай приоритет, чтобы важные службы не «проседали».

4. Ограничение для подсети:
/queue simple add name=LimitGroup target=192.168.1.0/24 max-limit=10M/5M

Настройка для целой группы пользователей, чтобы контролировать трафик в подсети.

5. Проверка созданных очередей:
/queue simple print

Убедись, что все очереди активны и правильно настроены.

С помощью Simple Queue на Mikrotik можно быстро распределить скорость и обеспечить стабильную работу сети. Попробуй настроить и следи за изменениями в производительности.

В следующем посте: Оптимизация OpenVPN на Mikrotik для повышения производительности сети — не пропусти!
____________________

Дополнительный материал:
🧠 - От RPM до Snap: Путешествие через эволюцию систем управления пакетами
🧠 - Linux Deep Dive: Разбираемся с UID и группами
🧠 - Как использовать команду basename для упрощения ваших скриптов Bash
👍17🔥3👀1
Btrfs или XFS? Команды для управления файловыми системами в Linux

Выбор файловой системы — это как выбор автомобиля: оба могут ехать, но только один доставит тебя с комфортом и без сюрпризов. Давай разберёмся, как управлять Btrfs и XFS, чтобы твой сервер работал на полную мощность.

Основная информация и код:

### Работа с Btrfs

1. Создание файловой системы Btrfs:
mkfs.btrfs /dev/sdX

Подходит для систем с поддержкой сжатия и моментальных снимков.

2. Расширение файловой системы:
btrfs device add /dev/sdY /mnt
btrfs filesystem balance /mnt

Добавляет новое устройство в существующую файловую систему и балансирует её.

3. Создание снимков (snapshots):
btrfs subvolume snapshot /mnt/source /mnt/backup

Быстрый способ откатиться к предыдущему состоянию.

### Работа с XFS

1. Создание файловой системы XFS:
mkfs.xfs /dev/sdX

Оптимально для работы с большими файлами и высокими нагрузками.

2. Расширение примонтированного раздела:
xfs_growfs /mnt

Увеличивает размер примонтированного раздела без необходимости его отмонтировать.

3. Восстановление после сбоя:
xfs_repair /dev/sdX

Помогает восстановить файловую систему после непредвиденного сбоя.

Итог: Эти команды помогут тебе эффективно управлять Btrfs и XFS, обеспечивая стабильность и производительность твоих систем. В следующем посте мы разберём, как автоматизировать сборку RAID массивов с помощью MDADM и создать надёжную систему хранения.
____________________

Дополнительный материал:
🧠 - От первого контейнера до мощного Swarm: Путешествие Docker в мире DevOps
🧠 - Углубляемся в безопасность Linux: Специальные режимы и их мощь!
🧠 - Разгадываем тайны команды "Apropos": Ваш ключ к миру Linux Man Pages
👍11👀1
Настрой автосборку RAID с MDADM и забудь о проблемах с дисками

RAID — это как страховка: о ней редко задумываешься, пока что-то не пойдет не так. Давай настроим её правильно и надёжно с MDADM.

Основная информация и код:

### Настройка автосборки RAID с MDADM

1. Установка MDADM:
sudo apt-get install mdadm

Убедись, что утилита установлена для управления RAID массивами.

2. Создание RAID массива:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Создаёт RAID 1 из дисков /dev/sda и /dev/sdb, обеспечивая дублирование данных.

3. Настройка автосборки при загрузке:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u

Сохраняет конфигурацию и обновляет initramfs для автоматической сборки при загрузке системы.

4. Форматирование и монтирование RAID:
sudo mkfs.ext4 /dev/md0
sudo mkdir -p /mnt/raid
sudo mount /dev/md0 /mnt/raid
echo '/dev/md0 /mnt/raid ext4 defaults 0 0' | sudo tee -a /etc/fstab

Форматирует массив в ext4, создаёт точку монтирования и добавляет её в fstab для автоматического монтирования.


Настроив автосборку RAID с MDADM, ты обеспечишь надёжное хранение данных и защиту от отказов. Как ты используешь RAID в своей системе? Поделись своим опытом. В следующем посте мы разберём, как эффективно использовать команду cd для работы с файловой системой в Linux.
____________________

Дополнительный материал:
🧠 - От первого файла до UFS: Эпическое путешествие файловой системы в Linux
🧠 - Освежаем Linux Skills: Как удалить особые режимы разрешений?
🧠 - Станьте мастером правописания в Linux с помощью команды Aspell
👍16🔥2👀1
Секреты команды cd: автоматизация и удобство в одном флаконе

Команда cd сама по себе довольно простая и используется для навигации по каталогам, однако можно использовать различные скрипты и методы автоматизации для упрощения и расширения её возможностей. Вот несколько идей и скриптов, которые могут улучшить работу с cd:

### 1. Создание псевдонимов:
Используй псевдонимы для быстрого перехода в часто используемые директории:
alias proj='cd ~/projects'
alias docs='cd ~/Documents'


### 2. Скрипт для возврата в предыдущий каталог:
Сохрани текущий каталог и легко возвращайся в предыдущий:
function go_back() {
cd "$OLDPWD"
}

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

### 3. Автоматическое сохранение пути:
Сохрани текущий каталог в файл и автоматически возвращайся:
function save_dir() {
pwd > ~/.last_dir
}

function go_saved_dir() {
cd "$(cat ~/.last_dir)"
}


### 4. Скрипты для "умного" перехода:
Расширь cd с функцией автодополнения для сложных переходов:
function smart_cd() {
if [ -d "$1" ]; then
cd "$1"
else
echo "Каталог $1 не найден"
fi
}

Этот скрипт добавляет проверку существования директории перед переходом.

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

### 6. Использование переменных окружения:
Используй переменные для упрощения перехода:
export MYDIR=~/my/special/directory
cd $MYDIR


### 7. Навигация по "кратчайшему пути" с помощью автодополнения:
В оболочке zsh или bash с настройкой автодополнения можно добавить плагины, которые позволяют переходить в директории с частичным совпадением:
cd /u/l/b

перейдет в /usr/local/bin.

### 8. Скрипты для записи истории перемещений:
Записывай историю переходов с помощью скрипта:
function log_cd() {
echo "$(pwd)" >> ~/.cd_history
cd "$1"
}

alias cd='log_cd'


Эти скрипты и идеи помогут автоматизировать навигацию по файловой системе в Linux и сделать команду cd более гибкой и функциональной. Попробуй их и поделись своими впечатлениями!

Не пропусти завтрашний пост о команде chattr и узнай, как защитить свои файлы в Linux!
____________________

Дополнительный материал:
🧠 - Путь дистрибутивов на базе Gentoo от Calculate Linux до Sabayon
🧠 - Разблокируем Linux: Управление разрешениями файлов с символическим представлением
🧠 - Мастерство использования команды Ar в Linux: Создание и управление архивами
👍17🔥2👀1
Сделай свои файлы неуязвимыми с командой chattr!

Команда chattr в Linux позволяет изменять атрибуты файлов и каталогов, делая их более защищенными. Вот как можно использовать chattr для повышения безопасности ваших данных:

### Основные атрибуты chattr:

1. Неизменяемость (+i):
Сделай файл неизменяемым, чтобы его нельзя было удалить или изменить:
sudo chattr +i /path/to/file

Чтобы снять этот атрибут:
sudo chattr -i /path/to/file


2. Только добавление (+a):
Разреши только добавление данных в файл, без удаления или изменения существующих:
sudo chattr +a /path/to/file

Чтобы снять этот атрибут:
sudo chattr -a /path/to/file


3. Безопасное удаление (+s):
При удалении файла его данные будут перезаписаны нулями, что затрудняет восстановление:
sudo chattr +s /path/to/file


### Пример использования:

Чтобы сделать важный конфигурационный файл неизменяемым:
sudo chattr +i /etc/important.conf


Проверить текущие атрибуты файла можно с помощью команды lsattr:
lsattr /path/to/file


Используй chattr, чтобы защитить свои важные файлы от случайного или преднамеренного изменения и удаления. Попробуй эти команды и почувствуй разницу в безопасности!

Не пропусти завтрашний пост о том, как настроить Zabbix для мониторинга веб-серверов. Узнай, как эффективно следить за состоянием своих серверов!
____________________

Дополнительный материал:
🧠 - От rsyslog до Graylog: Путешествие через эволюцию систем управления журналами
🧠 - Улучшаем Linux Skills: Мастерство символического представления разрешений с chmod
🧠 - Знаете ли вы, как узнать архитектуру вашей машины в Linux
👍20🔥9👀2
Секреты Zabbix: Мониторинг веб-серверов без проблем

Zabbix — это мощное решение для мониторинга, которое позволяет отслеживать состояние серверов и служб в реальном времени. В этом посте мы рассмотрим, как настроить Zabbix для мониторинга веб-серверов.

### Шаг 1: Установка Zabbix Server
Сначала установи Zabbix Server на своем сервере. Для этого выполни следующие команды:
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent


### Шаг 2: Настройка базы данных
Создай базу данных для Zabbix и настрой пользователя:
CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;


### Шаг 3: Конфигурация Zabbix Server
Отредактируй конфигурационный файл Zabbix Server:
sudo nano /etc/zabbix/zabbix_server.conf

Убедись, что указаны правильные параметры базы данных:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password


### Шаг 4: Настройка Zabbix Frontend
Настрой веб-интерфейс Zabbix, отредактировав файл конфигурации PHP:
sudo nano /etc/zabbix/apache.conf

Перезапусти Apache для применения изменений:
sudo systemctl restart apache2


### Шаг 5: Добавление веб-сервера в Zabbix
1. Войди в веб-интерфейс Zabbix.
2. Перейди в раздел "Configuration" -> "Hosts".
3. Нажми "Create host" и заполни информацию о веб-сервере.
4. Перейди в раздел "Templates" и добавь шаблон "Template App HTTP Service".

### Шаг 6: Настройка мониторинга веб-сервера
1. Перейди в раздел "Configuration" -> "Hosts".
2. Выбери веб-сервер и перейди в раздел "Items".
3. Нажми "Create item" и настрой параметры для мониторинга HTTP.

Теперь Zabbix будет мониторить твой веб-сервер и уведомлять тебя о любых проблемах.

Не пропусти завтрашний пост о том, как настроить мониторинг SMART-дисков через Zabbix!
____________________

Дополнительный материал:
🧠 - Открытие Ansible: Как простой инструмент стал гигантом управления конфигурациями
🧠 - Управление Особыми Режимами в Linux: Разблокировка Доступа с chmod
🧠 - Разбираемся с командой Basename: Ваш ключ к упрощению работы с файлами в Linux
👍26🔥1👀1
Мониторинг серверов с помощью Zabbix: Настройка мониторинга SMART-дисков через Zabbix

Zabbix — это мощное решение для мониторинга, которое позволяет отслеживать состояние серверов и служб в реальном времени. В этом посте мы рассмотрим, как настроить Zabbix для мониторинга SMART-дисков, чтобы предотвратить возможные сбои и потери данных.

### Шаг 1: Установка Zabbix Server
Сначала установи Zabbix Server на своем сервере. Для этого выполни следующие команды:
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent


### Шаг 2: Настройка базы данных
Создай базу данных для Zabbix и настрой пользователя:
CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;


### Шаг 3: Конфигурация Zabbix Server
Отредактируй конфигурационный файл Zabbix Server:
sudo nano /etc/zabbix/zabbix_server.conf

Убедись, что указаны правильные параметры базы данных:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password


### Шаг 4: Настройка Zabbix Frontend
Настрой веб-интерфейс Zabbix, отредактировав файл конфигурации PHP:
sudo nano /etc/zabbix/apache.conf

Перезапусти Apache для применения изменений:
sudo systemctl restart apache2


### Шаг 5: Установка и настройка smartmontools
Для мониторинга SMART-дисков необходимо установить smartmontools:
sudo apt install smartmontools

Убедись, что smartd работает:
sudo systemctl enable smartd
sudo systemctl start smartd


### Шаг 6: Настройка Zabbix Agent для мониторинга SMART-дисков
1. Отредактируй конфигурационный файл Zabbix Agent:
bash
sudo nano /etc/zabbix/zabbix_agentd.conf

2. Добавь следующие строки для мониторинга SMART-дисков:
   UserParameter=smartctl.discovery,sudo /usr/sbin/smartctl --scan-open | awk '{print "{\"{#DISKNAME}\":\""$1"\"}"}' | jq -s '{"data":.}'
UserParameter=smartctl.health[*],sudo /usr/sbin/smartctl -H /dev/$1 | grep -i "SMART overall-health self-assessment test result" | awk '{print $6}'


### Шаг 7: Настройка шаблона в Zabbix
1. Войди в веб-интерфейс Zabbix.
2. Перейди в раздел "Configuration" -> "Templates".
3. Создай новый шаблон для мониторинга SMART-дисков.
4. Добавь созданные UserParameter в шаблон.

Теперь Zabbix будет мониторить состояние твоих SMART-дисков и уведомлять тебя о любых проблемах.

Не пропусти завтрашний пост о команде chgrp и узнай, как эффективно управлять группами файлов в Linux!
____________________

Дополнительный материал:
🧠 - От MythTV до LibreELEC: Как Linux Перевернул Мир Мультимедиа
🧠 - Linux Skills Boost: Настройка разрешений для групп файлов с chmod
🧠 - Упаковываем и сжимаем: Мастер-класс по bzip2 в Linux
👍9🔥3👀3👎1
Измени группу файлов за секунды с помощью chgrp!

Тебе нужно быстро изменить группу множества файлов? Команда chgrp и несколько полезных скриптов помогут автоматизировать этот процесс и сэкономить время.

1. Рекурсивное изменение группы всех файлов в каталоге:
Сохрани этот скрипт в файл change_group_recursive.sh и сделай его исполняемым:
#!/bin/bash

if [ $# -ne 2 ]; then
echo "Usage: $0 <newgroup> <directory>"
exit 1
fi

newgroup=$1
directory=$2

chgrp -R $newgroup $directory
echo "Group of all files and directories in $directory changed to $newgroup"

Запусти скрипт:
chmod +x change_group_recursive.sh
./change_group_recursive.sh newgroup /path/to/directory


2. Изменение группы файлов по маске:
Этот скрипт изменяет группу всех файлов в каталоге, соответствующих заданной маске (например, все .txt файлы). Сохрани его в файл change_group_by_pattern.sh:
#!/bin/bash

if [ $# -ne 3 ]; then
echo "Usage: $0 <newgroup> <directory> <pattern>"
exit 1
fi

newgroup=$1
directory=$2
pattern=$3

find $directory -type f -name "$pattern" -exec chgrp $newgroup {} \;
echo "Group of all files matching $pattern in $directory changed to $newgroup"

Запусти скрипт:
chmod +x change_group_by_pattern.sh
./change_group_by_pattern.sh newgroup /path/to/directory "*.txt"


Попробуй эти скрипты и упростите управление группами файлов! Не пропусти завтрашний пост трюки и автоматизация для команды chgrp
____________________

Дополнительный материал:
🧠 - История Reiser4: Как она изменила мир Linux
🧠 - Мастерство использования команды chown для смены владельца файлов и каталогов
🧠 - Станьте Мастером Календаря в Linux с Cal и NCal
👍7🔥1👀1
Автоматизируй управление группами файлов с chgrp!

Команда chgrp может значительно упростить управление правами доступа к файлам. Вот несколько трюков и скриптов, которые помогут автоматизировать этот процесс.

Основная информация:
1. Автоматическое изменение группы новых файлов:
Этот скрипт можно добавить в cron для автоматического изменения группы новых файлов в указанном каталоге. Сохрани его в файл auto_change_group.sh:
#!/bin/bash

directory="/path/to/directory"
newgroup="newgroup"

find $directory -type f -not -group $newgroup -exec chgrp $newgroup {} \;
echo "Group of new files in $directory changed to $newgroup"

Сделай скрипт исполняемым и добавь в cron:
chmod +x auto_change_group.sh
crontab -e

Добавь следующую строку для выполнения скрипта каждые 15 минут:
*/15 * * * * /path/to/auto_change_group.sh


2. Изменение группы всех файлов, принадлежащих определенному пользователю:
Этот скрипт изменяет группу всех файлов, принадлежащих указанному пользователю. Сохрани его в файл change_group_by_user.sh:
#!/bin/bash

if [ $# -ne 3 ]; then
echo "Usage: $0 <newgroup> <directory> <username>"
exit 1
fi

newgroup=$1
directory=$2
username=$3

find $directory -type f -user $username -exec chgrp $newgroup {} \;
echo "Group of all files owned by $username in $directory changed to $newgroup"

Сделай скрипт исполняемым и запусти:
chmod +x change_group_by_user.sh
./change_group_by_user.sh newgroup /path/to/directory username


Эти трюки и скрипты помогут автоматизировать процесс изменения группы файлов и каталогов, делая управление правами доступа более эффективным и удобным. Попробуй их и поделись своими впечатлениями!

Не пропусти завтрашний пост о настройке CI/CD с использованием Gitea и GitHub Actions!
____________________

Дополнительный материал:
🧠 - Станьте Мастером Управления Пользователями в Linux
🧠 - Меняем владельца файлов в Linux с помощью chown: Пошаговое руководство!
🧠 - Установка Разрешений по Умолчанию в Linux с umask: Ваш Путеводитель!
👍7🔥2👀1
Секреты успешного CI/CD: Gitea и GitHub Actions, которые ты должен знать!

Ты когда-нибудь задумывался, как автоматизировать процессы сборки и деплоя с помощью Gitea и GitHub Actions? Сегодня мы разберем, как настроить CI/CD для твоих проектов, используя эти мощные инструменты.

### Шаг 1: Установка Gitea
Сначала установи Gitea на своем сервере. Следуй официальной документации Gitea, чтобы настроить его на своем сервере.

### Шаг 2: Создание репозитория в Gitea
1. Войди в веб-интерфейс Gitea.
2. Создай новый репозиторий для своего проекта.

### Шаг 3: Настройка GitHub Actions
1. Создай файл .github/workflows/ci.yml в корне репозитория.
2. Добавь следующий код для настройки CI/CD:
   name: CI/CD Pipeline

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'

- name: Install dependencies
run: npm install

- name: Run tests
run: npm test

- name: Build
run: npm run build


### Шаг 4: Настройка вебхуков в Gitea
1. Перейди в настройки репозитория в Gitea.
2. Добавь новый вебхук для GitHub Actions, указав URL вебхука и секретный ключ, если требуется.

### Шаг 5: Проверка и запуск
1. Сделай коммит и пуш изменений в репозиторий.
2. Убедись, что GitHub Actions запустил пайплайн и все шаги прошли успешно.

Теперь твой проект автоматически собирается и тестируется при каждом пуше в репозиторий. Это значительно упростит процесс разработки и деплоя.

Не пропусти завтрашний пост о том, как использовать GitLab для автоматизации процессов сборки и деплоя!
____________________

Дополнительный материал:
🧠 - Установка Разрешений по Умолчанию в Linux с umask: Ваш Путеводитель
🧠 - Станьте Гуру Управления Загрузчиком GRUB с LinuxSkill
🧠 - Глубокое Погружение в Жесткие Ссылки: Создание и Управление в Linux
👍9🔥2👀1