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
Настрой мониторинг сети в реальном времени с 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
Автоматизируй сборку и деплой с GitLab: практическое руководство

Автоматизация — это как автоматическая кофемашина: хороша до тех пор, пока не забудешь подставить чашку. Давай сделаем так, чтобы с GitLab всё было чётко и без сюрпризов.

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

### Настройка CI/CD пайплайна в GitLab

1. Создание .gitlab-ci.yml:
stages:
- build
- deploy

build-job:
stage: build
noscript:
- echo "Сборка приложения..."
- ./build-noscript.sh

deploy-job:
stage: deploy
noscript:
- echo "Деплой на сервер..."
- ./deploy-noscript.sh

Определяет этапы сборки и деплоя с выполнением скриптов.

2. Настройка раннера для выполнения задач:
sudo gitlab-runner register

Следуй инструкциям, чтобы связать раннер с проектом. Укажи URL GitLab и токен регистрации.

3. Определение переменных для безопасности:
variables:
DEPLOY_KEY: "ssh-rsa AAAAB3NzaC1yc2..."

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

4. Проверка статуса пайплайна:
gitlab-runner verify

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

5. Запуск пайплайна вручную:
git push origin main

Пуш коммита запускает пайплайн автоматически, если включена соответствующая настройка.

Автоматизация с GitLab CI/CD экономит время и минимизирует ручные ошибки в процессе сборки и деплоя. Попробуй создать свой пайплайн и наблюдай за улучшением работы. Какой инструмент автоматизации используешь ты? Расскажи в комментариях.

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

Дополнительный материал:
🧠 - Мастер-класс по Сокрытию Файлов и Каталогов в Linux: Станьте Невидимкой
🧠 - Создание Ссылок в Linux: Символические и Жесткие Пути к Управлению Данными
🧠 - Linux и Команды Выключения: Сцена для systemctl
👍9🔥5👀1
Разбираем chmod: контроль доступа в твоих руках

Права доступа в Linux — это как политика: сложно понять, почему они такие, но лучше контролировать их самостоятельно. Давай разберёмся, как использовать chmod, чтобы твои файлы оставались под надёжным присмотром.

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

### Основные команды для использования chmod

1. Установка прав доступа для всех пользователей:
chmod 755 noscript.sh

Файл noscript.sh становится исполняемым для владельца и читаемым/исполняемым для группы и остальных пользователей.

2. Изменение прав с использованием символов:
chmod u+rwx,g+rx,o-r noscript.sh

Добавляет права чтения, записи и исполнения для владельца, права чтения и исполнения для группы и убирает права чтения у остальных.

3. Автоматизация изменения прав с помощью скрипта:
#!/bin/bash
for file in /path/to/directory/*.sh; do
chmod 755 "$file"
echo "Права доступа для $file установлены на 755"
done

Скрипт автоматически изменяет права доступа для всех .sh файлов в указанной директории.

4. Рекурсивное изменение прав для директорий:
chmod -R 750 /path/to/directory

Изменяет права доступа для директории и всех её поддиректорий и файлов. Полезно для ограничения доступа к важным файлам.

5. Проверка текущих прав доступа:
ls -l noscript.sh

Показывает текущие права доступа файла в формате -rwxr-xr-x.

Используя chmod, ты получаешь полный контроль над доступом к файлам и папкам. Настраивай права грамотно и держи свои данные под контролем. В следующем посте разберём команду cksum, которая поможет проверять целостность файлов и защищать данные.
____________________

Дополнительный материал:
🧠 - Путешествие по команде shutdown
🧠 - Как настроить и использовать Ctrl+Alt+Delete в Linux для надежной перезагрузки
🧠 - Овладейте искусством управления системой с серией руководств по Systemd
👍15🔥2👀1
Твои файлы могут быть изменены! Вот как cksum спасёт твои данные

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

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

### Основные команды для работы с cksum

1. Проверка контрольной суммы файла:
cksum file.txt

Возвращает контрольную сумму и размер файла. Полезно для проверки изменений и целостности данных.

2. Сравнение контрольных сумм файлов:
if [[ $(cksum file1.txt) == $(cksum file2.txt) ]]; then
echo "Файлы идентичны"
else
echo "Файлы различаются"
fi

Скрипт сравнивает два файла и сообщает, одинаковы они или нет.

3. Автоматизированная проверка всех файлов в директории:
#!/bin/bash
for file in /path/to/directory/*; do
cksum "$file" >> checksums.txt
done
echo "Контрольные суммы всех файлов сохранены в checksums.txt"

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

4. Сравнение контрольных сумм для файлов с исходными значениями:
while read -r line; do
current_sum=$(cksum "$(echo "$line" | cut -d' ' -f3)")
if [[ "$line" != "$current_sum" ]]; then
echo "Изменение в файле: $(echo "$line" | cut -d' ' -f3)"
fi
done < checksums.txt

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

С помощью cksum легко следить за целостностью файлов и обнаруживать изменения. Используйте её для регулярной проверки данных и защиты от нежелательных изменений. В следующем посте мы разберём, как использовать команду clear, чтобы поддерживать порядок в терминале и работе.
____________________

Дополнительный материал:
🧠 - Алфавит команд Linux
🧠 - Алфавит команд Linux: Погружаемся в a2disconf
🧠 - Алфавит команд Linux: Открываем Мир b2-tools
👍11🔥2
Чистый терминал без лишних движений: всё о команде clear

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

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

### Основные команды для работы с clear

1. Простая очистка экрана:
clear

Убирает весь вывод из терминала, оставляя чистый экран. Идеально для начала новой сессии или упрощения работы.

2. Команда для автоматической очистки перед каждым выводом:
alias cls='clear && echo "Терминал очищен"'

Создаёт алиас cls, который очищает экран и выводит сообщение. Добавьте эту строку в файл ~/.bashrc или ~/.zshrc для постоянного использования.

3. Очистка при входе в терминал:
echo 'clear' >> ~/.bash_profile

Автоматически очищает терминал при каждом новом входе в систему.

4. Использование clear в скриптах для улучшения читаемости:
#!/bin/bash
echo "Начало работы скрипта"
sleep 2
clear
echo "Продолжаем выполнение..."

Полезно для разбивки вывода и улучшения восприятия информации.

5. Альтернативный способ очистки с помощью printf:
printf "\033c"

Этот способ сбрасывает терминал так же, как команда clear, используя escape-последовательности.

Команда clear проста, но позволяет поддерживать порядок и улучшает восприятие при работе в терминале. Используйте её в сочетании с алиасами и скриптами для максимального удобства. В следующем посте мы разберём команду cmp, чтобы сравнивать файлы и выявлять различия в Linux.
____________________

Дополнительный материал:
🧠 - Алфавит команд Linux: Открываем Все Тайны Команды Cat
🧠 - Алфавит команд Linux: Разгадываем Загадки с Diff3
🧠 - Алфавит команд Linux: Управление Съемными Носителями с Eject
👍19🔥3
Защити свой сервер: OWASP ZAP и ModSecurity на страже твоего веб-приложения

Твоё веб-приложение может быть лёгкой добычей для хакеров, если его не укрепить. Но с правильными инструментами ты можешь превратить его в неприступную крепость. Сегодня разбираем, как OWASP ZAP поможет находить уязвимости, а ModSecurity защитит твоё приложение от атак. 🚀


🔍 OWASP ZAP – найди слабые места до хакеров
OWASP ZAP — это бесплатный инструмент для тестирования безопасности. Он сканирует веб-приложения на уязвимости, такие как XSS и SQL-инъекции, и показывает, где ты уязвим.

#### Как настроить ZAP для работы:
1. Установи ZAP:
bash
sudo apt install zaproxy

2. Настрой прокси для перехвата запросов:
- Запусти ZAP:
bash
zap.sh

- В браузере укажи настройки прокси:
Адрес: 127.0.0.1, порт: 8080.
- Установи сертификат ZAP для работы с HTTPS. Его можно найти в меню Tools -> Options -> Dynamic SSL Certificates.
3. Запусти автоматическое сканирование:
- В меню ZAP открой Quick Start -> Automated Scan.
- Введи адрес сайта и нажми Attack.
ZAP покажет список уязвимостей в разделе Alerts, а также рекомендации, как их исправить.

---

### 🛡 ModSecurity – твой веб-щит
ModSecurity — это мощный веб-аппликейшн-файрвол, который фильтрует вредоносный трафик и защищает сервер от атак.

#### Как настроить ModSecurity:
1. Установи ModSecurity:
bash
sudo apt install libapache2-mod-security2

2. Добавь OWASP CRS (Core Rule Set):
- Скачай готовые правила:
bash
cd /etc/modsecurity/
sudo git clone https://github.com/coreruleset/coreruleset.git

- Настрой файл правил:
bash
sudo cp /etc/modsecurity/coreruleset/crs-setup.conf.example /etc/modsecurity/coreruleset/crs-setup.conf

- Обнови конфигурацию Apache:
apache
IncludeOptional /etc/modsecurity/coreruleset/crs-setup.conf
IncludeOptional /etc/modsecurity/coreruleset/rules/*.conf

- Перезапусти Apache:
bash
sudo systemctl restart apache2


Теперь твой сервер защищён от SQL-инъекций, XSS и других атак!

---

### 💡 Почему именно эти инструменты?
- OWASP ZAP помогает находить уязвимости ещё до того, как ими воспользуются злоумышленники.
- ModSecurity блокирует атаки в реальном времени, не давая злоумышленникам шанса.

Установи и настрой оба инструмента, чтобы защитить своё веб-приложение уже сегодня! А завтра не пропусти пост о том, как ускорить работу в Bash с помощью горячих клавиш. Увидимся! 🚀
____________________

Дополнительный материал:
🧠 - Алфавит команд Linux: Навигация по Сетевым Интерфейсам с Ifconfig
🧠 - Алфавит команд Linux: Алфавит команд Linux": Мастерство Слияния Файлов с Join
🧠 - Алфавит команд Linux: Управление Процессами с Kill

#LinuxJournal
👍13🔥1👀1
Функциональные клавиши в Bash – ускорь свою работу!

Знаешь ли ты, что Bash уже давно готов упростить твою жизнь? Только нужно правильно нажать на клавиши. Сегодня разбираем самые полезные комбинации, которые сделают работу в терминале быстрее. 💻

### 🔥 Топ горячих комбинаций для Bash:

1. CTRL + R🔍 *Поиск по истории команд*
Начинай вводить команду, а Bash сам найдет её в истории. Экономия времени – бесценна!
   (reverse-i-search)`ssh': ssh user@server.com


2. CTRL + U / CTRL + K✂️ *Редактирование строки*
- CTRL + U: Удалить всё от начала строки до курсора.
- CTRL + K: Удалить от курсора до конца строки.

3. ALT + .🔁 *Последний аргумент*
Автоматически вставляет последний аргумент из предыдущей команды.
   $ cat /var/log/syslog
$ less ALT + . # вставит /var/log/syslog


4. CTRL + L🧹 *Очистка экрана*
Нет нужды писать clear. Просто жми CTRL + L!

5. CTRL + W✂️ *Удаление последнего слова*
Убирает последнее слово слева от курсора.

---

### 💡 Функциональные клавиши:

- F1–F12: Если ты работаешь в mc (Midnight Commander), эти клавиши творят чудеса!
- TAB – Автодополнение команд и файлов. Два раза – автодополнение с подсказками.

Попробуй эти комбинации прямо сейчас! А завтра жди новый пост – мы расскажем, как эффективно управлять процессами в Linux с помощью ps и top. Не пропусти! 🚀
____________________

Дополнительный материал:
🧠 - Алфавит команд Linux: Разложение на Простые Множители с Factor
🧠 - Алфавит команд Linux: Алфавит команд Linux": Погружение в Команду Groups
🧠 - Алфавит команд Linux: Введение в Команду Head

#Linux_Mastery
👍26🔥3👀1
Как управлять процессами в Linux с помощью ps и top

Управление процессами — одна из ключевых задач любого системного администратора. Linux предоставляет мощные инструменты для мониторинга и контроля, такие как ps и top. Давай разберём, как их использовать эффективно.

### Мониторинг процессов с помощью ps
ps — это базовая команда для просмотра списка процессов.

Примеры использования:
1. Посмотреть все процессы текущего пользователя:

ps -u


2. Вывести все процессы в системе:

ps -e


3. Получить детализированную информацию о процессах:

ps aux


Здесь:
- a — показывает процессы всех пользователей, работающих в терминале.
- u — выводит информацию о владельце процесса.
- x — включает процессы, не привязанные к терминалу.

---

### Реальное время с помощью top
top — интерактивный инструмент для мониторинга процессов в реальном времени.

Основные команды внутри top:
1. Сортировка по загрузке CPU: Нажми P.
2. Сортировка по использованию памяти: Нажми M.
3. Убить процесс прямо из top: Нажми k, введи PID и подтверди.
4. Фильтрация процессов по пользователю: Нажми u и введи имя пользователя.

Чтобы сделать вывод более удобным, попробуй заменить top на htop, который предоставляет цветной интерфейс и больше возможностей для управления процессами.

Попробуй эти команды прямо сейчас, чтобы лучше понять, как управлять процессами в Linux. А завтра мы расскажем о 10 полезных опциях команды ls, о которых ты, возможно, не знал. Не пропусти!
________________

Дополнительный материал:
🧠 - Алфавит команд Linux: Временная Капсула с Last
🧠 - Алфавит команд Linux: Как проверить файлы на целостность и не поймать вирус? Просто запусти md5sum!
🧠 - Алфавит команд Linux: Текстовый редактор Nano — как работать с файлами на минималках и не страдать!

#Linux_Mastery
👍23🔥2👀1
10 полезных опций команды ls, о которых ты мог не знать

Ты наверняка используешь ls, чтобы посмотреть содержимое каталогов, но знаешь ли ты все её возможности? Сегодня разберем 10 полезных опций, которые сделают работу с файлами и папками проще и удобнее.

### Полезные опции команды ls:

1. -l — подробный список
Показывает информацию о файлах: права доступа, владельца, размер, дату изменения.

ls -l


2. -h — человекопонятные размеры
Делает размеры файлов удобными для чтения (КБ, МБ и т.д.). Работает в паре с -l.

ls -lh


3. --color=auto — цветная подсветка
Помогает различать типы файлов: каталоги, исполняемые файлы, ссылки и т.д.

ls --color=auto


4. --group-directories-first — сначала каталоги
Выводит каталоги в начале списка, а файлы — после. Удобно, если у тебя в директории много элементов.

ls --group-directories-first


5. -a — показываем скрытые файлы
Показывает все файлы, включая те, что начинаются с точки (.).

ls -a


6. -A — скрытые файлы без . и ..
Показывает скрытые файлы, но исключает . и ...

ls -A


7. -S — сортировка по размеру
Сортирует файлы по убыванию их размера. Полезно для поиска больших файлов.

ls -lS


8. -t — сортировка по времени изменения
Сортирует файлы по времени последнего изменения (от новых к старым).

ls -lt


9. -r — обратный порядок вывода
Выводит список в обратном порядке, работает с другими опциями сортировки, например, с -t или -S.

ls -ltr


10. -d — информация только о директориях
Если ты хочешь узнать свойства каталога, а не его содержимого:

ls -ld каталог/


### Комбинируй для удобства:Попробуй эту команду:

ls -lha --color=auto --group-directories-first


Она покажет подробный список с удобным расположением, скрытыми файлами и цветовой подсветкой.

Используй эти опции, чтобы навести порядок в своих файлах. А завтра заходи за новостями о Linux 6.13 — мы расскажем, что нового появится в этой версии!
________________

Дополнительный материал:
🧠 - Почувствуй себя цифровым рентгенологом — откроем файлы насквозь с Od!
🧠 - Давно занимался спортом? Нет? Ну вот, пора хотя бы пароли сменить!
🧠 - Секреты qemu-img, которые сэкономят твой диск

#Linux_Commands @LinuxSkill
👍36🔥4👀3