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

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

РКН: https://kurl.ru/nQejS
Download Telegram
Под руководством опытных кураторов вы поймете, как организовать мониторинг безопасности IT сегмента предприятия — какие процессы внедрить и как это сделать? 

Старт: 28 октября

Вы изучите:
- Моделирование угроз безопасности информации
- Vulnerability Management, Threat Intelligence, Threat Hunting, Patch Management и Incident Response (IR) с помощью бесплатного ПО
- Администрирование СЗИ

Что вы получите?
🏆 Готовность к современным угрозам и способность предотвращать материальный и репутационный ущерб
✏️ Возможности трудоустройства/стажировки для лучших выпускников
📑 Сертификат/удостоверение о повышении квалификации

Пишите нам @Codeby_Academy
Подробнее о курсе

#реклама
О рекламодателе
👍1👎1
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Как проверить текущую загрузку сети и отфильтровать активные соединения по порту?

Ответ: Используйте комбинацию команд ss и grep для фильтрации. Вот пример команды:

ss -tuln | grep :80


1️⃣ss -tuln — выводит информацию о TCP и UDP сокетах, которые слушают порты.

2️⃣grep :80 — фильтрует активные соединения по порту 80 (можно заменить на нужный порт).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👎2😭1🤷1
Релиз OpenBSD 7.6

8 октября 2024 года вышла новая версия свободной UNIX-подобной операционной системы OpenBSD 7.6.

В этой версии было внесено множество важных доработок, улучшений и исправлений. 


Вот основные изменения:

Расширена поддержка архитектуры ARM64: Добавлена поддержка ARM8-расширения EPAN для повышения безопасности и новых процессоров, таких как Qualcomm Snapdragon X Elite и Cortex-A520AE.
Поддержка AVX-512 для AMD64: Также добавлена защита от уязвимости RFDS в Intel Atom.
Поддержка платы Milk-V Pioneer на RISC-V.
Удалён механизм msyscall, заменён системными вызовами mimmutable и pinsyscalls для повышения безопасности.
Улучшены энергосберегающие функции: Для архитектуры AMD64 добавлен режим suspend-to-idle.
Защита многопроцессорных систем: Улучшена поддержка многопроцессорных систем, включая работу с сокетами и обработку сетевых пакетов.
Обновления гипервизора VMM: Добавлена поддержка AMD SEV для шифрования виртуальных машин.
Синхронизация DRM: Поддержка новых GPU Intel с микроархитектурой Meteor Lake.
Удалён старый DHCP-клиент dhclient в пользу dhcpleased.
Поддержка VA-API для видео: Теперь можно аппаратно ускорять декодирование видео в браузере Firefox и проигрывателе mpv.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122
Senior-разработчик создал крутейший канал про SQL

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

Присоединяйтесь: @SQL
👍8👎1🤔1
Что такое make-файл и как он работает?

Make-файл — это текстовый файл, который служит для автоматизации процесса сборки программ.

В нем описываются зависимости между файлами исходного кода и исполняемыми файлами, а также команды для их компиляции. 


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

Основные компоненты make-файла

1️⃣Цель (Target) — это файл или абстрактное действие, которое должно быть выполнено. Например, цель может быть именем исполняемого файла.
2️⃣ Зависимости (Dependencies) — это файлы, от которых зависит цель. Обычно это исходные файлы, которые необходимы для создания цели.
3️⃣ Рецепт (Recipe) — это команды, которые make выполняет для достижения цели. Команды могут включать в себя компиляцию, линковку или другие действия.

Пример простого make-файла:

say_hello:
echo "Hello, World!"


Здесь say_hello — это цель, а echo "Hello, World!" — рецепт. Запуск команды make приведет к выводу строки в терминале:

Hello, World!


Как работает make-файл?

При запуске команды make, утилита ищет в каталоге файл с именем Makefile или makefile.

Make-файл определяет, какие цели должны быть достигнуты и какие команды нужно выполнить для их достижения.

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

.PHONY: all clean

all: hello

hello: hello.o
gcc hello.o -o hello

hello.o: hello.c
gcc -c hello.c

clean:
rm -f *.o hello


all — это абстрактная цель, которая вызывает другие цели (в данном случае — hello).
hello — цель для создания исполняемого файла hello из объектного файла hello.o.
clean — цель для удаления временных файлов.

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

Делать продолжение?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥51
Нас 10.000✈️ Спасибо каждому кто подписался на этот канал. Дальше больше🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉46👍9🍾3👎1👨‍💻1
Как коллеги видят друг друга 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30👏3🔥1
Усложненные примеры использования make-файлов

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

Это делает make-файл гибким инструментом для управления даже большими проектами.

Переменные

Make-файл позволяет использовать переменные, чтобы повторно использовать одно и то же значение в нескольких местах. Переменные объявляются с помощью символа =.

Пример:

CC = gcc
CFLAGS = -Wall -g

program: program.o utils.o
$(CC) $(CFLAGS) program.o utils.o -o program


Здесь $(CC) и $(CFLAGS) — это переменные, которые можно использовать многократно. Переменная CC задаёт компилятор, а CFLAGS определяет флаги компиляции.

Шаблоны

Шаблоны (или pattern rules) позволяют создавать универсальные правила, которые применяются к разным файлам с одинаковыми расширениями.

Вот пример шаблона для компиляции всех .c файлов в объектные файлы .o:

%.o: %.c
gcc -c $< -o $@


% — это подстановочный символ, который соответствует любой строке.
$< — это первый файл в списке зависимостей (в данном случае .c файл).
$@ — это текущая цель (т.е. объектный файл .o).

Этот шаблон означает, что любой .c файл можно скомпилировать в соответствующий .o файл одной и той же командой.

Пример с несколькими целями

Рассмотрим более сложный пример make-файла, который компилирует несколько программ и включает команды для их очистки:

.PHONY: all clean

CC = gcc
CFLAGS = -Wall -g
SRCS = main.c utils.c file.c
OBJS = $(SRCS:.c=.o)

all: program1 program2

program1: main.o utils.o
$(CC) $(CFLAGS) $^ -o $@

program2: file.o utils.o
$(CC) $(CFLAGS) $^ -o $@

%.o: %.c
$(CC) $(CFLAGS) -c $<

clean:
rm -f $(OBJS) program1 program2


Здесь:

SRCS — это список всех исходных файлов .c.
OBJS — это список всех объектных файлов, полученных из .c файлов с помощью подстановки шаблона $(SRCS:.c=.o).
all — это цель, которая компилирует обе программы program1 и program2.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
VPS-сервер с зарубежным IP

Разверни VPS-сервер в 9 локациях по всему миру менее чем за 1 минуту🚀

🔸Удобная панель управления
🔹Серверы 2U SuperMicro, Cisco UCS B200 M5
🔸Процессоры Intel Xeon Gold
🔹ЦОДы на 4 континентах
🔸Высокий uptime
🔹24/7 поддержка
🔸Соответствие ФЗ РФ №152

А что еще нужно?

Только ПРОМОКОД «ADMGUIDES», который превратит 50₽ в 1000₽!

Как активировать промокод?

1. Зарегистрируйтесь в панели управления Serverspace
2. Перейдите на страницу «Пополнение баланса»
3. Активируйте промокод ADMGUIDES во вкладке «Промокод»
4. Пополните баланс на 50₽ и получите 1000 бонусных рублей на любые услуги Serverspace!

Внимание: активировать промокод необходимо перед пополнением баланса.

Serverspace - международный облачный провайдер, предлагающий автоматическое развертывание виртуальной инфраструктуры на базе Windows, Linux и российских ОС из любой точки мира менее чем за 1 минуту.

Реклама ООО «ИТГЛОБАЛКОМ ЛАБС»
ИНН 7841483359
Erid CQH36pWzJqDLvVfBigsFypEqLgw4ssLMe85Pii4tQKgqkG
👍51👎1🔥1👌1
Команда gzip в Linux

Утилита gzip — это не только один из самых популярных инструментов для сжатия файлов, но и мощный инструмент с множеством продвинутых возможностей.

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

В этом посте мы рассмотрим более сложные сценарии использования gzip в Linux.

Сжатие с оптимизацией: контроль уровня сжатия
У gzip есть возможность указать уровень сжатия, от 1 до 9:

-1 или --fast: максимальная скорость с минимальной степенью сжатия.
-9 или --best: максимальная степень сжатия, но с более высокой нагрузкой на процессор.

Чтобы сжать файл с максимальной степенью сжатия, выполните:

gzip -9 имя_файла


Это удобно для критических случаев, где важнее уменьшить размер файла, чем скорость обработки.

Сжатие через стандартный ввод

Команда gzip может сжимать данные не только из файлов, но и через стандартный ввод. Например, можно сжать вывод другой команды:

mysqldump имя_базы_данных | gzip > backup.sql.gz


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

Использование нескольких процессоров: pigz

Хотя классический gzip использует только одно ядро процессора для сжатия, можно воспользоваться параллельной версией утилиты — pigz.

Эта версия распределяет задачу сжатия на несколько ядер, что значительно ускоряет процесс:

pigz имя_файла


pigz поддерживает все те же параметры, что и gzip, но работает быстрее на многоядерных системах.

Просмотр содержимого сжатого файла

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

gzip -l имя_файла.gz


Вывод покажет размер до и после сжатия, степень сжатия и имя исходного файла. Для более детализированного отчета добавьте параметр -v:

gzip -lv имя_файла.gz


Этот способ полезен для оценки эффективности сжатия файлов перед их распаковкой.

Рекурсивное сжатие/распаковка файлов

Для сжатия всех файлов в каталоге и его подкаталогах используйте рекурсивную опцию -r:

gzip -r имя_каталога


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

Для распаковки всех файлов в каталоге рекурсивно, используйте:

gzip -dr имя_каталога


Работа с архивами tar.gz

Часто gzip используется вместе с командой tar, чтобы сжать архивы. Например:

tar -czf архив.tar.gz имя_каталога


Здесь -c создает архив, -z указывает на использование сжатия через gzip, а -f определяет имя файла архива.

Для распаковки архива:

tar -xzf архив.tar.gz


Пример эффективного сжатия данных

Сжать лог-файлы перед отправкой по сети:

cat /var/log/syslog | gzip -9 | nc -w 3 192.168.1.10 8888


Эта команда сжимает лог и отправляет его по сети с помощью netcat.
👍14🥴1
Любая крупная БД рано или поздно начинает испытывать проблемы с производительностью.

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

Как же их отслеживать и оптимизировать?
Узнаете на открытом вебинаре «Как оптимизировать производительность запросов в PostgreSQL?»

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

Будет интересно: аналитикам, инженерам и разработчикам БД, бэкенд-специалистам, тимлидам и проект-менеджерам.
Спикер: Алексей Железной, преподаватель OTUS и старший инженер данных.
Бонус! Всем участникам – скидка 5% на любой курс OTUS и полезные гайды.
16 октября, 18:30 МСК, Бесплатно
Записаться на событие - https://otus.pw/RVZH/?erid=LjN8KBi2X

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👍3👎1🔥1😁1
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Как можно узнать, какие процессы занимают определенный порт на сервере, например, порт 80?

Ответ: Для этого подойдет команда lsof. Она помогает быстро определить, какие процессы используют конкретный порт:

lsof -i :80


1️⃣ lsof -i :80 — выводит список процессов, связанных с портом 80, включая PID, имя процесса и состояние.

2️⃣ Чтобы увидеть состояние порта, можно использовать ss:

ss -tuln | grep ':80'


Этот подход полезен для диагностики, особенно при решении проблем с занятыми портами, которые могут блокировать сетевые сервисы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥21
Ушёл из жизни создатель XMODEM и пионер компьютерных коммуникаций Уорд Кристенсен

11 октября 2024 года на 79-м году скончался Уорд Кристенсен — инженер и программист, известный как создатель первой в мире открытой BBS (bulletin board system) и разработчик протокола XMODEM для передачи файлов через модем.

Кристенсен работал в IBM с 1968 до 2012 года. Вместе с Рэнди Суессом в 1978 году они запустили BBS, создав основу для современных онлайн-сообщений.

XMODEM, разработанный Кристенсеном, стал важнейшим протоколом для передачи данных в эпоху модемов.


За свою работу он получил награды Дворака и Pioneer Award от EFF. В 2003 году Чикаго объявил 16 февраля Днём BBS в его честь.
🫡52👍4🔥2😢2
Поднимаем NFS сервер на Ubuntu

Сегодня расскажем, как настроить NFS сервер на Ubuntu 14.04.1. Разберёмся с основами работы протокола NFS и пройдём пошаговую настройку.


NFS (Network File System) — это протокол, который позволяет удалённым компьютерам монтировать и использовать директории как локальные.

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

NFS использует клиент-серверную архитектуру. Сервер с установленным пакетом NFS предоставляет доступ к своим директориям, а клиенты подключаются к нему через сеть.

Передача данных происходит через пакеты протокола RPC (Remote Call Procedure), что делает работу системы надёжной даже при сбоях сети: при восстановлении соединения передача данных продолжается с того места, где она прервалась.

Настройка NFS

1️⃣ Установка пакета NFS

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

sudo apt-get update
sudo apt-get install nfs-kernel-server


2️⃣ Создание директории для общего доступа

Создадим директорию, которую будем расшаривать:

sudo mkdir /var/nfs


Для совместимости с различными пользователями зададим права доступа:

sudo chown nobody:nogroup /var/nfs


3️⃣ Редактирование конфигурационного файла

Откроем файл конфигурации /etc/exports для редактирования:

sudo nano /etc/exports


Добавим строку:

/var/nfs    10.10.0.10/24(rw,sync,no_subtree_check)


Здесь:

• /var/nfs — директория для общего доступа,
10.10.0.10/24 — IP-адрес клиента (или сеть), которому предоставляется доступ,
• rw — разрешение на чтение и запись,
• sync — запись изменений на диск до ответа клиенту,
• no_subtree_check — отключение проверки подкаталогов (ускоряет доступ к файлам).

4️⃣ Применение настроек и запуск сервиса
Чтобы применить конфигурацию и запустить сервис NFS, выполните следующие команды:

sudo exportfs -a
sudo service nfs-kernel-server start


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

Подключение клиента

На стороне клиента (например, на другом сервере с Ubuntu), можно подключить расшаренную директорию так:

sudo mount 10.10.0.10:/var/nfs /mnt


Где /mnt — локальная точка монтирования, которая будет содержать данные, хранящиеся на NFS сервере.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5👏1
Поддерживайте их 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
34👍4🤗4