Admin Guides | Сисадмин
11.4K subscribers
1.23K photos
19 videos
34 files
558 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работает Keepalived и зачем он нужен?

Ответ: Keepalived — это сервис для настройки отказоустойчивости и балансировки трафика с помощью VRRP (Virtual Router Redundancy Protocol). Он позволяет автоматически переключать виртуальный IP-адрес (VIP) между узлами при сбоях.

Основные компоненты:
VRRP-инстанс: следит за состоянием узлов и управляет VIP.
Script-checks: выполняет пользовательские проверки работоспособности.
Notify-скрипты: запускаются при смене активного узла.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Типичный путь сисадмина
🔥30😁20👍3
🤔Что нужно, чтобы настроить разработку, тестирование и развертывание наиболее рациональным образом?

👉🏻 Сделали развернутый обзор актуальных DevOps инструментов в 2025 году

Расскажем:
✔️ Основные категории DevOps инструментов
✔️ Развернутый обзор популярных DevOps инструментов
✔️ Почему DevOps инструменты необходимы?

👉🏻Забрать разбор в боте

Реклама ООО «Слёрм» ИНН 3652901451
👍1
Как определить версию Linux?

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

Особенно это актуально при установке программ, обновлениях или настройке системы.


Самый простой способ — использовать команду:

hostnamectl


Она покажет название дистрибутива, его версию, кодовое имя и текущую версию ядра.

Важное уточнение

Часто всю систему называют просто Linux, но технически это неверно. Linux — это только ядро системы, а GNU — это набор библиотек и инструментов, которые делают систему полноценной. Вместе они образуют GNU/Linux, хотя в обиходе принято сокращать до просто Linux.

Дополнительные способы определения версии

Проверка пакетного менеджера

Если hostnamectl вам не помог, можно определить систему по ее пакетному менеджеру. В Linux чаще всего используются три основных менеджера пакетов:
rpm – для Red Hat-подобных систем (RHEL, CentOS, Fedora)
dpkg – для Debian-подобных систем (Debian, Ubuntu, Mint)
pacman – для Arch Linux и его производных (Manjaro)

Чтобы проверить, какой пакетный менеджер установлен, выполните:

for i in rpm dpkg pacman; do which $i; done 2>/dev/null


Вывод покажет путь к используемому менеджеру. Например:
• /usr/bin/dpkg – указывает на Debian/Ubuntu
• /bin/rpm – указывает на Red Hat (RHEL, CentOS, Fedora)

Проверка версии дистрибутива

CentOS и RHEL

Для CentOS:

cat /etc/centos-release


Для RHEL:

cat /etc/redhat-release


Для Fedora аналогично:

cat /etc/fedora-release


Debian, Ubuntu, Mint

cat /etc/issue


Этот файл содержит информацию о версии дистрибутива.

Arch Linux

Для Arch Linux проверять версию бессмысленно, так как при каждом обновлении (pacman -Syu) система становится актуальной версией.

Проверка системных параметров

Версия ядра и архитектура

Узнать версию ядра и разрядность системы можно командой:

uname -a


Вывод будет содержать информацию о версии ядра и архитектуре процессора (x86_64, arm и т. д.).

Архитектура процессора

Чтобы узнать детали о процессоре, используйте команду:

lscpu


Она покажет модель процессора, количество ядер, тактовую частоту и разрядность.
👍15👎1
‼️ Администрация нашего канала специально для вас купила доступ в частный клуб за 1500 долларов

Тезисно: в канале будут сигналы, новости, обзор рынка, которых нет в официальном доступе, общение с единомышленниками, обучение - без него никуда и конечно юмор.

До завтрашнего дня оставлю доступ в канал бесплатным. Все, кто успеет подписаться - останутся бесплатно навсегда. Кто захочет подписаться после 25 февраля, смогут сделать это только платно 👇

Вступить — https://t.iss.one/+vRkxpCeXULlkMDli
💊14😁3🤪3👍1🔥1
Morse Micro представила Wi-Fi HaLow маршрутизатор с дальностью до 16 км

Morse Micro выпустила маршрутизатор MM−HL1−EXT на базе Wi-Fi HaLow (IEEE 802.11ah). Он передаёт данные на 16 км в открытой местности и до 3 км в городе.

Работает в диапазонах 900 МГц (США) и 868 МГц (EMEA), обеспечивая устойчивый сигнал, но с ограничением скорости до 32 Мбит/с. Также поддерживает Wi-Fi 4 (2,4 ГГц) с пиковыми 300 Мбит/с.


Внутри двухъядерный MediaTek MT7621A, 256 МБ ОЗУ и чип MM6108 (мощность 23 дБм). Есть порты Ethernet WAN/LAN, USB-C и поддержка OpenWrt 23.05.

Маршрутизатор уже продаётся в США, Канаде и Австралии за $99.

В сентябре Morse Micro установила рекорд, передав Wi-Fi HaLow на 15,9 км.
👍16🔥61😁1
Какой параметр ядра можно использовать для включения защиты от атак типа “Stack Smashing”?
Anonymous Quiz
33%
kernel.randomize_va_space
18%
kernel.nx
24%
fs.protected_symlinks
25%
net.ipv4.tcp_syncookies
👍5
Как расширить диск сервера в CentOS? (Часть 1)

Очень частая ситуация: виртуальная машина на Linux (CentOS) работает долго, пока в какой-то момент не заканчивается место. В Hyper-V или VMware можно просто увеличить виртуальный диск, но внутри системы ничего не изменится, и сервер все равно будет считать, что дисковое пространство осталось прежним.

В этой инструкции разберем, как расширить диск в CentOS, управляя Physical Volume (PV), Volume Group (VG) и Logical Volume (LV).

Можно ли расширить существующий диск?

Перед тем как что-то делать, проверьте, есть ли у вас возможность создать новый раздел.

Если диск уже имеет 4 раздела, то расширить его невозможно — в этом случае придется создавать новый диск и добавлять его в систему отдельно.

Проверяем количество разделов командой:

fdisk -l


Пример вывода, где можно добавить новый раздел:

Device Boot      Start         End      Blocks   Id  System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2636 20972857+ 8e Linux LVM


У нас 2 раздела — значит, можно добавить еще 2.

А вот если уже 4 раздела, то расширение невозможно:

Device Boot      Start         End      Blocks   Id  System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2636 20972857+ 8e Linux LVM
/dev/sda3 2637 19581 136110712+ 8e Linux LVM
/dev/sda4 19582 22844 26210047+ 8e Linux LVM


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

Если у вас менее 4 разделов, идем дальше!

Создание нового раздела

Допустим, вы уже увеличили виртуальный диск, и система его видит. Теперь создадим новый раздел.

1️⃣Проверяем текущие диски командой:

fdisk -l


Пример вывода:

Disk /dev/sda: 10.7 GB, 10737418240 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 391 3036285 8e Linux LVM


2️⃣ Запускаем fdisk для редактирования диска:

fdisk /dev/sda


3️⃣Внутри утилиты вводим:
• n → создаем новый раздел
• p → выбираем Primary (основной)
• Указываем номер (например, 3)
• Дважды нажимаем Enter, чтобы использовать все доступное место

4️⃣Меняем тип раздела на LVM (8e):

t
3
8e


5️⃣Сохраняем изменения:

w


Обновление таблицы разделов

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

partprobe -s


Если не сработало, попробуйте:

partx -v -a /dev/sda


Если после этого новый раздел не появился, придется перезагрузить сервер.

Проверяем результат:

fdisk -l


Если новый раздел появился (например, /dev/sda3), значит, все прошло успешно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: В чем разница между source script.sh и ./script.sh в bash?

Ответ: При запуске ./script.sh создается новый процесс, и все переменные внутри скрипта остаются только в его окружении. После завершения скрипта изменения не затрагивают текущую сессию.

При выполнении source script.sh (или . script.sh) код исполняется в текущем процессе shell, а все изменения (например, объявленные переменные) сохраняются в текущей сессии.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍222🔥21
Продвинутые CLI-команды для разработчиков (Часть 1)

Нет, здесь мы не будем говорить о базовых командах вроде ls, rm и cd. Вы и так их знаете.

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

Wget — загрузка файлов из сети

wget — это утилита для скачивания файлов по HTTP, HTTPS и FTP. Работает в фоновом режиме, не требует взаимодействия с пользователем и позволяет загружать файлы даже после выхода из системы.

Простой пример скачивания файла:

wget https://website.com/static/images/header.jpg


Полезные опции:
• -c — продолжить загрузку, если она была прервана
• -O — задать имя выходного файла
• -r — рекурсивная загрузка (например, всей папки)

Скачивание сайта целиком:

wget -r -np -k https://example.com


SCP — безопасное копирование файлов между серверами

SCP (Secure Copy) — это защищенный способ копирования файлов между удаленными машинами через SSH.

Копирование файла с удаленного сервера на локальный компьютер:

scp [email protected]:/path/to/foobar.txt /local/directory/


Копирование файла с локального компьютера на удаленный сервер:

scp /local/directory/foobar.txt [email protected]:/path/to/destination/


Копирование каталога (с флагом -r):

SSH-ключи — избавляемся от ввода пароля

Чтобы автоматизировать SSH-подключения и работу с Git, создайте пару ключей с помощью:

ssh-keygen -t ed25519


После генерации добавьте публичный ключ на сервер:

ssh-copy-id [email protected]


Теперь можно подключаться без пароля:

ssh [email protected]


CHMOD — управление правами доступа

Изменение прав доступа к файлам:

chmod 664 robots.txt
chmod 775 public/images


Расшифровка:
• 664 — владелец и группа могут читать и записывать, остальные — только читать
• 775 — владелец и группа могут читать, записывать и выполнять, остальные — только читать и выполнять

Полный доступ ко всем:

chmod 777 script.sh
👍16
🤣13👍3😱2🥱2😁1
Слышали ли вы, что...

SRE — это просто «продвинутый DevOps»,
внедрение SRE требует огромных ресурсов и подходит только гигантам вроде Google,
SRE занимается только устранением инцидентов.

Правда в том, что эти и многие другие убеждения далеки от реальности. Мы собрали для вас PDF-файл, в котором разоблачаем самые популярные мифы о SRE.

Это must-have для тех, кто хочет понять, как SRE может помочь именно вашей работе и бизнесу, без лишних сложностей и заблуждений.

📍Переходите к боту-помощнику и забирайте полезный PDF прямо сейчас 🔗

Реклама. ООО "СЛЁРМ". ИНН 3652901451. erid: 2W5zFGro77n
👍2
Продвинутые CLI-команды для разработчиков (Часть 2)

Продолжаем разбирать полезные команды, которые помогут вам работать быстрее и эффективнее в терминале.

Tar — архивируем файлы в консоли

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

Создать архив без сжатия:

tar -cvf my-archive.tar /path/to/directory


Создать сжатый архив (с gzip):

tar -czvf my-archive.tar.gz /path/to/directory


Распаковать архив в текущую папку:

tar -xvf my-archive.tar


Распаковать в указанную папку:

tar -xvf my-archive.tar -C /home/user/folder/


Alias — сокращаем длинные команды

Если вы часто вводите длинные команды, создайте для них псевдонимы (alias).

Пример:

alias gs="git status"
alias ll="ls -lah"


Теперь вместо git status можно просто писать gs.

Но! Эти псевдонимы временные — после перезапуска терминала они исчезнут.

Чтобы сделать их постоянными, добавьте их в ~/.bashrc или ~/.zshrc:

echo 'alias gs="git status"' >> ~/.bashrc
source ~/.bashrc


Совет 1: Перенаправление вывода

Вместо того чтобы читать длинный вывод команды в терминале, его можно сохранить в файл:

ls -al > output.txt  # Сохранение вывода в файл
ls -al >> output.txt # Добавление в файл без перезаписи


А если нужен и файл, и экран — используем tee:

ls -al | tee output.txt

Совет 2: Объединение команд


Запустить несколько команд подряд:

ls -al; pwd;

Запустить вторую команду только если первая успешна:

mkdir images && cd images


Запустить вторую команду только если первая провалилась:

mkdir images || echo "Папка уже существует"
👍132
Какие знания ключевые для успешного ИБ-специалиста?
🔴 Знание компьютерных сетей позволяет выявлять 70% уязвимостей, настраивать защиту и анализировать трафик, что критично для предотвращения 90% атак.

Освойте сети за 4 месяца на курсе от Академии Кодебай — стартуем 3 марта. Регистрация

Курс создан для: Junior IT-специалистов, системных администраторов, Web-разработчиков, сетевых инженеров, которые хотят досконально освоить архитектуру сетей

Содержание курса:
✦ Изучение топологии сетей, видов сетевого оборудования
✦ Маршрутизация данных и управление доступом к среде
✦ Протокол IP, транспортный и прикладной уровни
✦ Система имен DNS, безопасность в сетях и противодействие атакам

По всем вопросам пишите @Codeby_Academy
👍2
👍16😁7💯32
Какой инструмент позволяет просматривать открытые сокеты в Linux и фильтровать их по PID?
Anonymous Quiz
23%
netstat
22%
ss
26%
lsof
29%
Все перечисленные
😁10👍6👌3
Настройка и использование Docker Compose

Docker Compose — это инструмент для управления многоконтейнерными приложениями.

Он позволяет описывать и запускать сервисы через YAML-файл, а затем управлять ими с помощью всего одной команды.

1️⃣Установка и настройка проекта

Создайте каталог проекта и перейдите в него:

mkdir composetest  
cd composetest


Создайте файл app.py с простым веб-приложением на Flask + Redis:

import time
import redis
from flask import Flask

app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)

def get_hit_count():
retries = 5
while True:
try:
return cache.incr('hits')
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5)

@app.route('/')
def hello():
count = get_hit_count()
return f'Hello World! I have been seen {count} times.'


Создайте requirements.txt для зависимостей:

flask  
redis


Теперь напишем Dockerfile, который описывает, как собирать контейнер:

FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]


2️⃣ Конфигурация Docker Compose

Создайте docker-compose.yml, в котором определим сервисы:

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"


Здесь:
web — наше Flask-приложение, которое собирается из Dockerfile.
redis — сервис Redis, использующий готовый образ.

3️⃣ Запуск проекта

Теперь просто запустите Compose:

docker-compose up


Вы должны увидеть вывод, похожий на этот:

Creating network "composetest_default" with the default driver
Creating composetest_web_1 ...
Creating composetest_redis_1 ...
web_1 | * Running on https://0.0.0.0:5000/


Откройте в браузере https://localhost:5000/, и приложение начнет считать посещения.

4️⃣ Горячая правка кода без пересборки

Чтобы не пересобирать контейнер при изменении кода, обновите docker-compose.yml:

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"


Теперь код изменяется на лету, без пересборки образа.

Пример: измените app.py:

return f'Hello from Docker! I have been seen {count} times.'


Перезагрузите страницу в браузере — новый текст появится без перезапуска контейнера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работает Consul и зачем он нужен?

Ответ: Consul — это сервис для сервис-открытия (service discovery), распределенного хранения конфигураций и автоматизации сетевого взаимодействия. Он позволяет сервисам находить друг друга и обмениваться данными без жестко заданных адресов.

Основные компоненты:
Agent: работает на каждом узле, собирает информацию о сервисах и проверяет их работоспособность.
Service Registry: хранит данные о доступных сервисах и их состоянии.
KV-хранилище: используется для хранения конфигурационных данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🌐 Маршрутизация — это основа сетей. Но насколько хорошо вы в ней разбираетесь?

На открытом вебинаре 5 марта в 20:00 мск мы рассмотрим следующие ключевые аспекты:
- Разберемся, зачем нужна маршрутизация и какая она бывает.
- Рассмотрим статическую и динамическую маршрутизацию.
- Реализуем статическую и динамическую маршрутизацию в сети на практике.

 🎁Успейте зарегистрироваться и получите скидку на большое обучение «Network Engineer»: 👉 cсылка

🔗 Присоединяйтесь, чтобы стать настоящим мастером маршрутизации! Ждем вас! 🚀

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👍2🤣1
lshw – список железных компонентов сервера

Команда lshw помогает получить детальную информацию о “железе” сервера: процессоре, памяти, накопителях, сетевых интерфейсах, USB и аудио-устройствах.

Установка lshw

Если команда не исполняется, установите пакет:

CentOS

sudo yum install lshw


Debian/Ubuntu

sudo apt install lshw


Вывод информации о компонентах

Чтобы получить короткий список оборудования, используйте:

lshw -short


Пример вывода:

H/W path          Device       Class      Description
=====================================================
system Virtual Machine
/0 bus Virtual Machine
/0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz
/0/51 memory 4GiB System Memory
/0/1 scsi2 storage
/0/1/0.0.0 /dev/sda disk 160GB SCSI Disk
/0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume
/1 eth0 network Ethernet interface


Другие полезные команды

Вывод в развернутом виде:

lshw


Сохранение в файл:

lshw > hardware_info.txt


Информация только о CPU:

lshw -C CPU
👍162
🤣28😁5