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

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

РКН: https://kurl.ru/nQejS
Download Telegram
Какой параметр команды du позволяет вывести размер всех подкаталогов в текущем каталоге?
Anonymous Quiz
32%
-h
28%
-s
23%
-a
17%
-d
👍142
Загрузчик GRUB

Ранее загрузчик GRUB использовался наряду с Lilo и назывался Grub Legacy. 


Он больше не развивается: для него выходят только патчи, и его нельзя установить на современные системы.

Однако команды и инструменты остались похожими на те, что используются в GRUB 2.

Современный GRUB 2 был полностью переработан.

Он поддерживает загрузку любой операционной системы и может передавать управление другому загрузчику, например, NTDLR для Windows. GRUB 2 является стандартным загрузчиком в большинстве Linux-дистрибутивов.

Если GRUB был заменен другим загрузчиком, его можно восстановить командой:

grub-install /dev/sda  


Узнать версию загрузчика:

grub-install --version  


Конфигурация GRUB 2

Основной файл конфигурации GRUB 2:

/boot/grub/grub.cfg  


Этот файл не редактируется напрямую, так как создается автоматически на основе настроек из нескольких файлов:
• Скрипты в папке: /etc/grub.d
• Основной файл настроек: /etc/default/grub

Пример настроек в /etc/default/grub:
• GRUB_DEFAULT=0 — выбор ядра по умолчанию.
• GRUB_HIDDEN_TIMEOUT=0 — скрытый экран во время загрузки.
• GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" — тихий режим и заставка при загрузке.

После внесения изменений необходимо обновить конфигурацию командой:

update-grub  


Скрипты GRUB

В папке /etc/grub.d находятся исполняемые файлы, которые сканируют ядра системы и добавляют параметры в загрузчик. При необходимости можно добавить свои скрипты.

GRUB 2 стал более гибким и мощным инструментом для управления загрузкой, что сделало его лидером среди загрузчиков современных операционных систем.
👍20
Новый релиз Wine 10.0

Wine 10.0 — стабильная версия популярной среды для запуска Windows-программ на Linux. 


В этом обновлении реализовано более 6000 изменений, включая:

Поддержка ARM64EC: возможность эмуляции приложений x86-64 на ARM64 с использованием внешнего эмулятора FEX.
Vulkan 1.4: добавлены расширения для работы с видео и 3D-контентом.
Интерфейс Wayland: теперь используется драйвер Wayland по умолчанию.
Мультимедиа: новый бэкенд на базе FFmpeg для Media Foundation.
Direct3D и графика: переработаны инструменты для шейдеров, улучшена обработка текстур и визуализация через Vulkan.
Панели управления: новые апплеты для настройки дисплея и джойстиков.

Результаты тестирования:
• Поддерживается 5372 Windows-программы (на 36 больше, чем в прошлом году).
• 4435 приложений работают при дополнительных настройках.

Wine 10.0 продолжает расширять возможности Linux, предлагая пользователям удобный инструмент для работы с Windows-приложениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

80% практики
сопровождение куратора
финальный проект для портфолио — курс завершает проектная работа
сертификат или удостоверение о повышении квалификации

Старт: 17 февраля. Оставьте заявку на сайте или напишите нашему менеджеру @Codeby_Academy

Присоединяйтесь и узнайте все о Linux и смежном ПО: от основ командной строки до развертывания Kubernetes! 
👍3
Команды perf record и perf report

perf — мощный инструмент для профилирования системы на уровне ядра. 


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

Пример использования:
1️⃣Сбор данных производительности

perf record -F 99 -p <PID> -g


• -F 99 — устанавливает частоту выборки 99 Гц.
• -p <PID> — указывает PID процесса, который нужно профилировать.
• -g — включает сбор данных о вызовах стека (call stack).

2️⃣Анализ собранных данных: После выполнения команды perf record создается файл perf.data. Его можно проанализировать с помощью:

perf report


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

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

Для удобства отображения стека вызовов можно использовать FlameGraph. Выполните экспорт:

perf script | ./stackcollapse-perf.pl | ./flamegraph.pl > perf_flamegraph.svg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131
Пришло время заглянуть под капот и научиться создавать драйвера на Linux!

Научитесь создавать драйвера, управлять памятью на уровне ядра, писать многопоточные и синхронизированные модули, а также разбираться в архитектуре и механизмах ядра Linux.

🖐 Что ждет вас на курсе?

- Создание и настройка модулей ядра: Вы научитесь легко интегрировать новое оборудование и расширять функциональность системы.
- Внутренние механизмы ядра и управление памятью: Поймете, как более точно настраивать и оптимизировать систему под конкретные задачи, что улучшит общую эффективность работы.
- Навыки разработки драйверов: Освоите взаимодействие с аппаратными устройствами, что позволит легко интегрировать аппаратные функции и управлять ими, расширяя функциональность мобильных приложений.

➡️ Что будет в программе курса?

1. Узнаем архитектуру ядра Linux и разберемся с драйверами.
2. Создадим простой модуль ядра: будем использовать printk(), сборку и макроопределения __init и __exit.
3. Связь модулей ядра с приложениями? Легко!
4. Работать с файлами символьных устройств — это просто!
5. Создадим драйверы для файловой системы /proc и научимся блокировать процессы при конкуренции.
6. Управление памятью в ядре Linux — прокачаемся!
7. Разработка и регистрация блочных устройств? Без проблем!
8. Конкуренция, семафоры, мьютексы — разберемся с примерами драйверов!
9. Типы данных в ядре и их использование — будем разбираться!

Вас ждет пробный урок

Перед тем как погружаться в курс, приглашаем вас пройти небольшой демо-урок, где вы сможете проверить, достаточно ли у вас знаний для обучения на курсе, а также послушать лекцию про архитектуру ядра и в чем отличия разработки драйверов от прикладного ПО.

➡️ Регистрация на демо-доступ

Реклама. Информация о рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: В чем разница между процессами и потоками (threads) в Linux?

Ответ:

Процессы
— это независимые единицы выполнения, каждая из которых имеет собственное адресное пространство. Это означает, что процессы изолированы друг от друга, и данные одного процесса недоступны другому без использования механизмов межпроцессного взаимодействия (IPC).

Потоки, в отличие от процессов, выполняются внутри одного адресного пространства. Это позволяет потокам одного процесса совместно использовать память и ресурсы, что делает их легче и быстрее в создании по сравнению с процессами. Для создания потоков используются библиотеки, такие как POSIX Threads (pthread).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👏62
😁39👍6🤔3😢1
Citrix XenServer против VMware vSphere – что выбрать?

Сравнивая Citrix XenServer (ныне известный как Citrix Hypervisor) и VMware vSphere ESXi, можно заметить, что обе системы предназначены для управления виртуальными машинами, но различия в аудитории и функционале делают их подходящими для разных задач.

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


VMware vSphere ESXi, напротив, ориентирован исключительно на компании и выделяется мощными функциями, хотя и за более высокую цену.

Обе системы работают без управляющей операционной системы, поддерживают архитектуры x86 и x64, а также предоставляют различные методы виртуализации.

Однако VMware выделяется поддержкой полной виртуализации, чего нет у Citrix.

Особенности и различия

1️⃣Хранение данных

Citrix XenServer поддерживает USB, SATA, SAS, iSCSI и NFS, что делает его более универсальным для разнообразных сценариев хранения. В свою очередь, VMware делает упор на SSD и FCoE, но не работает с USB и SATA.

2️⃣ Ограничения виртуальных машин

VMware предоставляет до 1024 ГБ ОЗУ и 32 vCPU на виртуальную машину, что значительно превосходит возможности Citrix (128 ГБ ОЗУ и 16 vCPU).

3️⃣ Управление виртуализацией

Citrix XenServer поддерживает управление активами и конфигурациями, но уступает VMware в таких функциях, как динамическая миграция, перераспределение ресурсов и переключение на резервные мощности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2🤣21👏1
Какой командой в Linux можно просмотреть количество открытых файловых дескрипторов в системе?
Anonymous Quiz
48%
lsof
11%
ulimit
30%
cat /proc/sys/fs/file-nr
12%
df
👍12🤔91👎1
Skills Set начинающего сисадмина

Инженеры из IT-компании Selectel собрали целый кладезь знаний в одном месте: книги, видео, курсы и интерактивные задания, которые помогут начинающим освоить навыки системного администрирования. Включили только отборные материалы, которыми пользовались сами сисадмины Selectel в начале карьеры ⚙️🦖

Этот справочник станет твоим проводником в мир системных администраторов — от DevOps до SRE-инженеров. Еще поможет разобраться, какие знания и навыки нужны для профессионального роста в Selectel.

К знаниям — по ссылке: https://slc.tl/9hu82

Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzquZy45r
👍4
Команда dig: что это и как использовать

dig (domain information groper) — это мощный инструмент для работы с DNS. Он помогает получать информацию о домене, такой как A-записи, CNAME, MX-записи и другие.

Этот инструмент полезен как для системных администраторов, так и для специалистов по сетям, позволяя диагностировать и анализировать DNS-запросы.

Пример использования команды dig

Запустите команду с указанием домена:

$ dig google.com


После выполнения запроса вы получите детализированный отчет. Рассмотрим ключевые секции результата:

1️⃣QUESTION SECTION
Содержит информацию о том, что вы запрашиваете. В данном случае запрашивается A-запись для google.com.
2️⃣ ANSWER SECTION
Здесь отображается основная информация, например, IP-адрес, связанный с доменом:

google.com. 72 IN A 172.217.166.78


Это указывает, что домен google.com связан с IP-адресом 172.217.166.78.

3️⃣ AUTHORITY SECTION
Содержит список авторитетных DNS-серверов, которые могут дать больше информации о домене.
4️⃣ ADDITIONAL SECTION
Показывает дополнительные данные, например, IP-адреса серверов, указанных в AUTHORITY SECTION.
5️⃣ Дополнительные данные
Query time: время, затраченное на выполнение запроса.
SERVER: сервер, который обработал запрос.
MSG SIZE rcvd: общий размер ответа.

Часто используемые команды
Запрос конкретной записи (например, MX):

dig google.com MX


Использование другого DNS-сервера:

dig @8.8.8.8 google.com


Вывод краткой информации:

dig +short google.com
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
Forwarded from Cyber Media
😎 Защита от DDoS-атак: методы, решения и советы экспертов

DDoS-атаки продолжают оставаться одной из самых серьезных угроз для компаний по всему миру.

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

➡️ В новой статье на сайте разобрались, как работают DDoS-атаки, какие методы защиты наиболее эффективны и на что обращать внимание при выборе подходящего решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Как работает механизм capabilities в Linux, и зачем он нужен?

Ответ: Capabilities — механизм, который разбивает права суперпользователя на мелкие привилегии. Это позволяет процессам выполнять отдельные задачи, например, работать с сетью или управлять временем, без полного root-доступа.

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

1️⃣Проверка привилегий процесса:

cat /proc/<PID>/status | grep Cap


2️⃣ Назначение привилегий файлу:
Например, чтобы разрешить ping без root-прав:

sudo setcap cap_net_raw=ep /bin/ping


3️⃣ Проверка привилегий файла:

getcap /bin/ping


Capabilities повышают безопасность, ограничивая доступ только необходимыми правами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍201
Экспорт CSV в MySQL

Файлы CSV (Comma Separated Values) — это удобный формат для переноса данных между различными системами, включая базы данных MySQL.

В этой части мы рассмотрим, как экспортировать данные MySQL в файл CSV с использованием phpMyAdmin и командной строки.


Экспорт MySQL в CSV с phpMyAdmin

Этот способ подходит для тех, кто предпочитает графический интерфейс.
1. Войдите в phpMyAdmin.
2. Нажмите на вкладку Databases (Базы данных) и выберите нужную базу.
3. Отметьте таблицы, которые хотите экспортировать.
4. Нажмите Export. Выберите формат CSV и нажмите Go.
5. Сохраните файл в предложенной директории.

Экспорт MySQL в CSV с помощью командной строки

Для тех, кто работает через терминал:
1️⃣Войдите в оболочку MySQL.
2️⃣ Переключитесь на нужную базу данных.
3️⃣ Используйте команду:

SELECT * FROM myTable  
INTO OUTFILE '/path/to/myExportFile.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ','
LINES TERMINATED BY '\n';


Замените myTable на название таблицы, а /path/to/myExportFile.csv на путь для сохранения файла.

Дополнительные возможности:

• Экспортировать только определённые столбцы:

SELECT column1, column2 FROM myTable WHERE column3 = 'value';


• Добавить временную метку к имени файла:

SET @FILENAME = CONCAT('/path/to/export_', DATE_FORMAT(NOW(), '%Y%m%d_%H%i%s'), '.csv');  
SELECT * FROM myTable INTO OUTFILE @FILENAME
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
Какой командой можно создать зашифрованный LUKS-том в Linux?
Anonymous Quiz
18%
mkfs.luks
29%
cryptsetup luksFormat
17%
lvm luksCreate
36%
mkfs.ext4 -encrypt
5👍2🔥1
Импорт CSV в MySQL

Импорт CSV-файлов в MySQL позволяет быстро добавить внешние данные в базу данных.

Рассмотрим два метода: через командную строку и phpMyAdmin.

Импорт CSV через командную строку

1️⃣Войдите в MySQL:

mysql -u username -p


Замените username своим именем пользователя MySQL.

2️⃣ Создайте таблицу, соответствующую структуре CSV:

CREATE TABLE myTable (
id INT NOT NULL AUTO_INCREMENT,
column1 VARCHAR(255),
column2 DATE,
column3 DECIMAL(10,2),
PRIMARY KEY (id)
);


3️⃣ Импортируйте данные:

LOAD DATA INFILE '/path/to/importFile.csv'  
INTO TABLE myTable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;


Параметр IGNORE 1 ROWS пропускает первую строку, если в ней находятся заголовки столбцов.

Импорт CSV через phpMyAdmin

1. Откройте phpMyAdmin и выберите базу данных.
2. Нажмите на таблицу, в которую вы хотите импортировать данные.
3. Перейдите во вкладку Import.
4. Выберите CSV-файл и настройте формат импорта.
5. Нажмите Go для завершения импорта.

С помощью этих методов вы сможете эффективно работать с данными MySQL в формате CSV.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Исходный код Linux превысил 40 миллионов строк

В январе 2025 года размер исходного кода ядра Linux превысил 40 миллионов строк, удвоившись с 2015 года.

За последние два месяца код увеличился на 400 тысяч строк, включая комментарии и документацию.

Большая часть кода может быть неактуальна для конкретной системы. 


Например, из 4,5 млн строк для всех процессоров архитектура x86 использует менее 500 тысяч. Драйверы AMD Radeon, включая документацию, занимают около 5 млн строк.

Активность разработчиков в 2024 году

В 2024 году ядро получило 3,69 млн новых строк, при этом было удалено 1,49 млн. Общее число коммитов составило 1 324 647 от 4807 разработчиков, что меньше прошлых лет.

Линус Торвальдс внёс 2877 коммитов, в основном за счёт слияний. Среди активных участников — Кшиштоф Козловски (Linaro), Якуб Кичински (Meta*) и другие.
👍71👀1
Три варианта инициализации ОС в Linux

После загрузки ядра Linux система переходит к инициализации.

В зависимости от дистрибутива и версии могут использоваться три основные системы инициализации: SysVinit, systemd и Upstart.


SysVinit — классическая Unix-инициализация

SysVinit — самый старый вариант, основанный на уровнях загрузки (runlevel). Всего их семь, от 0 (выключение системы) до 6 (перезагрузка).
При старте системы выполняются скрипты из /etc/rc.d/, которые запускают или останавливают службы. Например:
• service ssh start — запуск SSH
• service rsync stop — остановка Rsync
• telinit 1 — переход в однопользовательский режим

Этот метод инициализации устарел и в современных дистрибутивах заменён на systemd.

Systemd — современный стандарт

Systemd использует юниты (unit) для управления службами, устройствами и точками монтирования. Юниты хранятся в /usr/lib/systemd и /etc/systemd.
Основные команды для работы:
• systemctl list-units — просмотр запущенных юнитов
• systemctl start crond — запуск службы
• systemctl set-default multi-user.target — установка загрузочного уровня по умолчанию

Systemd заменил старый /etc/inittab, добавил поддержку параллельного запуска процессов и систему логирования journald.

Upstart — переходный вариант

Upstart использовался в Ubuntu как замена SysVinit. Главная особенность — события (event-driven model). Службы запускаются и останавливаются в зависимости от событий системы.
Файлы конфигурации хранятся в /etc/init/ и управляются командой initctl:
• initctl start ufw — запуск UFW
• initctl stop ufw — остановка
• cat /etc/init/rc-sysinit.conf — просмотр конфигурации

Upstart применялся в Ubuntu, но был вытеснен systemd.

В следующем посте продолжим…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥81👎1
Исследователь Wiz Research нашёл открытую базу данных DeepSeek

Эксперт из Wiz Research с ником Nagli провёл пентест DeepSeek и обнаружил открытую базу данных ClickHouse.


Сначала исследователи собрали информацию о поддоменах deepseek[.]com, просканировали порты (Masscan, Naabu) и проверили веб-сервисы (httpx).

Они нашли несколько доступных ресурсов, включая oauth2callback.deepseek.com и dev.deepseek.com.

Анализ через Nuclei показал, что база ClickHouse не требовала аутентификации. В ней хранилось более миллиона строк логов, включая историю чатов, ключи API и внутренние данные DeepSeek.

Исследователи сообщили о проблеме, и компания быстро закрыла доступ.
👍10👎3🤯31