Citrix XenServer против VMware vSphere – что выбрать?
Сравнивая Citrix XenServer (ныне известный как Citrix Hypervisor) и VMware vSphere ESXi, можно заметить, что обе системы предназначены для управления виртуальными машинами, но различия в аудитории и функционале делают их подходящими для разных задач.
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 в таких функциях, как динамическая миграция, перераспределение ресурсов и переключение на резервные мощности.
Сравнивая Citrix XenServer (ныне известный как Citrix Hypervisor) и VMware vSphere ESXi, можно заметить, что обе системы предназначены для управления виртуальными машинами, но различия в аудитории и функционале делают их подходящими для разных задач.
Citrix XenServer отлично подходит для частных пользователей, малого и среднего бизнеса, предлагая гибкие и доступные решения.
VMware vSphere ESXi, напротив, ориентирован исключительно на компании и выделяется мощными функциями, хотя и за более высокую цену.
Обе системы работают без управляющей операционной системы, поддерживают архитектуры x86 и x64, а также предоставляют различные методы виртуализации.
Однако VMware выделяется поддержкой полной виртуализации, чего нет у Citrix.
Особенности и различия
Citrix XenServer поддерживает USB, SATA, SAS, iSCSI и NFS, что делает его более универсальным для разнообразных сценариев хранения. В свою очередь, VMware делает упор на SSD и FCoE, но не работает с USB и SATA.
VMware предоставляет до 1024 ГБ ОЗУ и 32 vCPU на виртуальную машину, что значительно превосходит возможности Citrix (128 ГБ ОЗУ и 16 vCPU).
Citrix XenServer поддерживает управление активами и конфигурациями, но уступает VMware в таких функциях, как динамическая миграция, перераспределение ресурсов и переключение на резервные мощности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2🤣2❤1👏1
Какой командой в Linux можно просмотреть количество открытых файловых дескрипторов в системе?
Anonymous Quiz
48%
lsof
11%
ulimit
30%
cat /proc/sys/fs/file-nr
12%
df
👍12🤔9❤1👎1
Skills Set начинающего сисадмина
Инженеры из IT-компании Selectel собрали целый кладезь знаний в одном месте: книги, видео, курсы и интерактивные задания, которые помогут начинающим освоить навыки системного администрирования. Включили только отборные материалы, которыми пользовались сами сисадмины Selectel в начале карьеры ⚙️🦖
Этот справочник станет твоим проводником в мир системных администраторов — от DevOps до SRE-инженеров. Еще поможет разобраться, какие знания и навыки нужны для профессионального роста в Selectel.
К знаниям — по ссылке: https://slc.tl/9hu82
Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzquZy45r
Инженеры из 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
Запустите команду с указанием домена:
После выполнения запроса вы получите детализированный отчет. Рассмотрим ключевые секции результата:
1️⃣ QUESTION SECTION
Содержит информацию о том, что вы запрашиваете. В данном случае запрашивается A-запись для google.com.
2️⃣ ANSWER SECTION
Здесь отображается основная информация, например, IP-адрес, связанный с доменом:
Это указывает, что домен 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):
Использование другого DNS-сервера:
Вывод краткой информации:
dig (domain information groper) — это мощный инструмент для работы с DNS. Он помогает получать информацию о домене, такой как A-записи, CNAME, MX-записи и другие.
Этот инструмент полезен как для системных администраторов, так и для специалистов по сетям, позволяя диагностировать и анализировать DNS-запросы.
Пример использования команды dig
Запустите команду с указанием домена:
$ dig google.com
После выполнения запроса вы получите детализированный отчет. Рассмотрим ключевые секции результата:
Содержит информацию о том, что вы запрашиваете. В данном случае запрашивается A-запись для google.com.
Здесь отображается основная информация, например, IP-адрес, связанный с доменом:
google.com. 72 IN A 172.217.166.78
Это указывает, что домен google.com связан с IP-адресом 172.217.166.78.
Содержит список авторитетных DNS-серверов, которые могут дать больше информации о домене.
Показывает дополнительные данные, например, IP-адреса серверов, указанных в AUTHORITY SECTION.
• 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
👍11❤1
Forwarded from Cyber Media
DDoS-атаки продолжают оставаться одной из самых серьезных угроз для компаний по всему миру.
Они способны парализовать работу сайтов, приложений и даже целых инфраструктур, нанося значительный ущерб бизнесу.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Пример использования:
cat /proc/<PID>/status | grep Cap
Например, чтобы разрешить ping без root-прав:
sudo setcap cap_net_raw=ep /bin/ping
getcap /bin/ping
Capabilities повышают безопасность, ограничивая доступ только необходимыми правами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤1
Экспорт CSV в MySQL
Файлы CSV (Comma Separated Values) — это удобный формат для переноса данных между различными системами, включая базы данных MySQL.
Экспорт MySQL в CSV с phpMyAdmin
Этот способ подходит для тех, кто предпочитает графический интерфейс.
1. Войдите в phpMyAdmin.
2. Нажмите на вкладку Databases (Базы данных) и выберите нужную базу.
3. Отметьте таблицы, которые хотите экспортировать.
4. Нажмите Export. Выберите формат CSV и нажмите Go.
5. Сохраните файл в предложенной директории.
Экспорт MySQL в CSV с помощью командной строки
Для тех, кто работает через терминал:
1️⃣ Войдите в оболочку MySQL.
2️⃣ Переключитесь на нужную базу данных.
3️⃣ Используйте команду:
Замените myTable на название таблицы, а /path/to/myExportFile.csv на путь для сохранения файла.
Дополнительные возможности:
• Экспортировать только определённые столбцы:
• Добавить временную метку к имени файла:
Файлы CSV (Comma Separated Values) — это удобный формат для переноса данных между различными системами, включая базы данных MySQL.
В этой части мы рассмотрим, как экспортировать данные MySQL в файл CSV с использованием phpMyAdmin и командной строки.
Экспорт MySQL в CSV с phpMyAdmin
Этот способ подходит для тех, кто предпочитает графический интерфейс.
1. Войдите в phpMyAdmin.
2. Нажмите на вкладку Databases (Базы данных) и выберите нужную базу.
3. Отметьте таблицы, которые хотите экспортировать.
4. Нажмите Export. Выберите формат CSV и нажмите Go.
5. Сохраните файл в предложенной директории.
Экспорт MySQL в CSV с помощью командной строки
Для тех, кто работает через терминал:
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
👍10❤2
Какой командой можно создать зашифрованный 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:
Замените username своим именем пользователя MySQL.
2️⃣ Создайте таблицу, соответствующую структуре CSV:
3️⃣ Импортируйте данные:
Параметр IGNORE 1 ROWS пропускает первую строку, если в ней находятся заголовки столбцов.
Импорт CSV через phpMyAdmin
1. Откройте phpMyAdmin и выберите базу данных.
2. Нажмите на таблицу, в которую вы хотите импортировать данные.
3. Перейдите во вкладку Import.
4. Выберите CSV-файл и настройте формат импорта.
5. Нажмите Go для завершения импорта.
С помощью этих методов вы сможете эффективно работать с данными MySQL в формате CSV.
Импорт CSV-файлов в MySQL позволяет быстро добавить внешние данные в базу данных.
Рассмотрим два метода: через командную строку и phpMyAdmin.
Импорт CSV через командную строку
mysql -u username -p
Замените username своим именем пользователя MySQL.
CREATE TABLE myTable (
id INT NOT NULL AUTO_INCREMENT,
column1 VARCHAR(255),
column2 DATE,
column3 DECIMAL(10,2),
PRIMARY KEY (id)
);
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 разработчиков, что меньше прошлых лет.
В январе 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*) и другие.
👍7❤1👀1
Три варианта инициализации ОС в Linux
После загрузки ядра Linux система переходит к инициализации.
⏺ 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.
В следующем посте продолжим…
После загрузки ядра Linux система переходит к инициализации.
В зависимости от дистрибутива и версии могут использоваться три основные системы инициализации: SysVinit, systemd и Upstart.
SysVinit — самый старый вариант, основанный на уровнях загрузки (runlevel). Всего их семь, от 0 (выключение системы) до 6 (перезагрузка).
При старте системы выполняются скрипты из /etc/rc.d/, которые запускают или останавливают службы. Например:
• service ssh start — запуск SSH
• service rsync stop — остановка Rsync
• telinit 1 — переход в однопользовательский режим
Этот метод инициализации устарел и в современных дистрибутивах заменён на 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 использовался в 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🔥8❤1👎1
Исследователь Wiz Research нашёл открытую базу данных DeepSeek
Сначала исследователи собрали информацию о поддоменах deepseek[.]com, просканировали порты (Masscan, Naabu) и проверили веб-сервисы (httpx).
Они нашли несколько доступных ресурсов, включая
Анализ через Nuclei показал, что база ClickHouse не требовала аутентификации. В ней хранилось более миллиона строк логов, включая историю чатов, ключи API и внутренние данные DeepSeek.
Эксперт из Wiz Research с ником Nagli провёл пентест DeepSeek и обнаружил открытую базу данных ClickHouse.
Сначала исследователи собрали информацию о поддоменах deepseek[.]com, просканировали порты (Masscan, Naabu) и проверили веб-сервисы (httpx).
Они нашли несколько доступных ресурсов, включая
oauth2callback.deepseek.com
и dev.deepseek.com.
Анализ через Nuclei показал, что база ClickHouse не требовала аутентификации. В ней хранилось более миллиона строк логов, включая историю чатов, ключи API и внутренние данные DeepSeek.
Исследователи сообщили о проблеме, и компания быстро закрыла доступ.
👍10👎3🤯3❤1
Как работает Systemd в Linux?
Продолжаем говорить о системах инициализации Linux
Systemd — это современная система инициализации в Linux, пришедшая на смену SysVinit и Upstart. Она управляет процессами через юниты (units), которые могут быть:
• .service — службы
• .mount — точки монтирования
• .device — устройства
• .socket — сокеты
Где хранятся юниты?
⏺ /usr/lib/systemd — системные юниты, устанавливаемые с ПО
⏺ /etc/systemd — юниты, редактируемые администратором
Основные команды Systemd
• systemctl list-units — список запущенных юнитов
• systemctl status crond — статус службы
• systemctl start|stop|restart crond — управление сервисами
• systemctl set-default multi-user.target — смена режима загрузки
Runlevel в Systemd
Systemd заменил традиционные runlevel на target. Например:
• runlevel 3 → multi-user.target
• runlevel 5 → graphical.target
Список активных target можно посмотреть командой:
Для перехода в другой режим:
Журналирование в Systemd
Systemd включает мощную систему логирования journald. Основные команды:
⏺ journalctl -f — просмотр событий в реальном времени
⏺ journalctl -n 10 — последние 10 записей
Продолжаем говорить о системах инициализации Linux
Systemd — это современная система инициализации в Linux, пришедшая на смену SysVinit и Upstart. Она управляет процессами через юниты (units), которые могут быть:
• .service — службы
• .mount — точки монтирования
• .device — устройства
• .socket — сокеты
Где хранятся юниты?
Основные команды Systemd
• systemctl list-units — список запущенных юнитов
• systemctl status crond — статус службы
• systemctl start|stop|restart crond — управление сервисами
• systemctl set-default multi-user.target — смена режима загрузки
Runlevel в Systemd
Systemd заменил традиционные runlevel на target. Например:
• runlevel 3 → multi-user.target
• runlevel 5 → graphical.target
Список активных target можно посмотреть командой:
systemctl list-units --type=target
Для перехода в другой режим:
systemctl isolate rescue.target
Журналирование в Systemd
Systemd включает мощную систему логирования journald. Основные команды:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
LVM (Logical Volume Manager) — это система управления логическими томами, которая даёт гибкость в управлении дисковым пространством. В отличие от традиционного разбиения диска, LVM позволяет динамически изменять размер разделов без потери данных.
Основные компоненты:
Physical Volume (PV) — физические устройства, такие как жесткие диски или их разделы. Они объединяются в Volume Group (VG), которая представляет собой пул свободного места. Из VG создаются Logical Volumes (LV), которые работают как обычные разделы, но могут изменяться в размере на лету.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤1
Как архивировать и распаковывать файлы с помощью PowerShell
Формат ZIP позволяет уменьшить размер файлов, экономить дисковое пространство, шифровать данные и упрощать их передачу.
PowerShell предоставляет удобные инструменты для работы с архивами, позволяя быстро сжимать и разархивировать файлы без стороннего ПО.
Архивирование файлов в ZIP
В PowerShell для создания архивов используется командлет Compress-Archive. Он позволяет сжимать как отдельные файлы, так и целые папки, создавая ZIP-архив.
⏺ Пример 1: архивирование нескольких файлов
Чтобы заархивировать один или несколько файлов, используйте следующую команду:
Эта команда создаст ZIP-архив Archive.zip, содержащий указанные файлы. Если архив с таким именем уже существует, PowerShell выдаст ошибку.
⏺ Пример 2: архивирование всей папки
Чтобы создать архив из содержимого папки вместе с её подпапками, используйте команду:
В этом случае PowerShell включит в архив всё содержимое указанной папки, включая файлы и вложенные каталоги.
⏺ Пример 3: создание архива только из файлов определённого типа
Если вам нужно добавить в архив только файлы определённого типа (например, изображения .jpg), используйте символ подстановки *:
Эта команда создаст ZIP-архив, содержащий только файлы .jpg из указанной папки. Подкаталоги при этом не включаются.
⏺ Пример 4: добавление новых файлов в уже существующий архив
PowerShell позволяет обновлять архивы без их пересоздания с нуля. Если вам нужно добавить файлы или заменить старые версии, используйте флаг -Update:
При этом новые файлы будут добавлены, а существующие файлы в архиве заменятся на более свежие версии.
Распаковка ZIP-архива
PowerShell также позволяет быстро разархивировать файлы с помощью командлета Expand-Archive.
⏺ Пример 1: извлечение архива в указанную папку
Для распаковки архива используйте команду:
Если указанной папки не существует, PowerShell автоматически создаст её перед распаковкой.
⏺ Пример 2: принудительная распаковка с перезаписью файлов
Если в папке назначения уже есть файлы с такими же именами, PowerShell выдаст ошибку. Чтобы избежать этого, можно использовать флаг -Force, который перезапишет существующие файлы:
Формат ZIP позволяет уменьшить размер файлов, экономить дисковое пространство, шифровать данные и упрощать их передачу.
PowerShell предоставляет удобные инструменты для работы с архивами, позволяя быстро сжимать и разархивировать файлы без стороннего ПО.
Архивирование файлов в ZIP
В PowerShell для создания архивов используется командлет Compress-Archive. Он позволяет сжимать как отдельные файлы, так и целые папки, создавая ZIP-архив.
Чтобы заархивировать один или несколько файлов, используйте следующую команду:
Compress-Archive -LiteralPath "C:\Path\To\File1.txt", "C:\Path\To\File2.txt" -DestinationPath "C:\Path\To\Archive.zip"
Эта команда создаст ZIP-архив Archive.zip, содержащий указанные файлы. Если архив с таким именем уже существует, PowerShell выдаст ошибку.
Чтобы создать архив из содержимого папки вместе с её подпапками, используйте команду:
Compress-Archive -LiteralPath "C:\Path\To\Folder" -DestinationPath "C:\Path\To\Archive.zip"
В этом случае PowerShell включит в архив всё содержимое указанной папки, включая файлы и вложенные каталоги.
Если вам нужно добавить в архив только файлы определённого типа (например, изображения .jpg), используйте символ подстановки *:
Compress-Archive -Path "C:\Path\To\Files\*.jpg" -DestinationPath "C:\Path\To\Archive.zip"
Эта команда создаст ZIP-архив, содержащий только файлы .jpg из указанной папки. Подкаталоги при этом не включаются.
PowerShell позволяет обновлять архивы без их пересоздания с нуля. Если вам нужно добавить файлы или заменить старые версии, используйте флаг -Update:
Compress-Archive -Path "C:\Path\To\Files" -Update -DestinationPath "C:\Path\To\Archive.zip"
При этом новые файлы будут добавлены, а существующие файлы в архиве заменятся на более свежие версии.
Распаковка ZIP-архива
PowerShell также позволяет быстро разархивировать файлы с помощью командлета Expand-Archive.
Для распаковки архива используйте команду:
Expand-Archive -LiteralPath "C:\Path\To\Archive.zip" -DestinationPath "C:\Path\To\Extracted"
Если указанной папки не существует, PowerShell автоматически создаст её перед распаковкой.
Если в папке назначения уже есть файлы с такими же именами, PowerShell выдаст ошибку. Чтобы избежать этого, можно использовать флаг -Force, который перезапишет существующие файлы:
Expand-Archive -LiteralPath "C:\Path\To\Archive.zip" -DestinationPath "C:\Path\To\Extracted" -Force
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5
Какой командой можно настроить лимит на максимальное количество подключений к определенному порту в Linux с использованием iptables?
Anonymous Quiz
46%
iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/m -j ACCEPT
36%
iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP
11%
iptables -A OUTPUT -p tcp --dport 22 -m hashlimit --hashlimit 3 --hashlimit-mode srcip -j ACCEPT
7%
iptables -A INPUT -p tcp --dport 22 -j REJECT
👍7🔥2🤔2
Управление модулями ядра в Linux
Модуль ядра (Kernel Module, ko-файл) — это исполняемый файл, который расширяет функциональность ядра, например, добавляя поддержку файловых систем, сетевых интерфейсов или драйверов оборудования.
Модули ядра загружаются автоматически при необходимости, но также могут управляться вручную.
Загрузка модулей ядра
Если Linux не загрузил нужный модуль автоматически, его можно загрузить вручную с помощью modprobe:
Например, для загрузки модуля vfat (драйвер FAT32):
Если modprobe не находит модуль, можно попробовать загрузить его напрямую:
Но insmod не управляет зависимостями, поэтому предпочтительнее modprobe.
Удаление модулей ядра
Иногда нужно выгрузить модуль, например, при отладке или обновлении.
Удаление модуля выполняется командой:
Если модуль используется, его можно принудительно выгрузить:
Чтобы найти процессы, использующие модуль:
Добавление модуля в автозагрузку
Чтобы загружать модуль при старте системы, добавьте его в файл /etc/modules:
Отключение автозагрузки модуля
Если модуль загружается автоматически, но его нужно отключить, можно занести его в чёрный список (blacklist):
Затем обновляем конфигурацию и перезагружаем систему:
Зачем управлять модулями ядра?
• Отладка и тестирование (например, при замене драйвера)
• Оптимизация системы (исключение ненужных драйверов)
• Безопасность (запрет загрузки уязвимых или нежелательных модулей)
Если нужно полностью удалить модуль из системы, его можно найти и удалить:
Модуль ядра (Kernel Module, ko-файл) — это исполняемый файл, который расширяет функциональность ядра, например, добавляя поддержку файловых систем, сетевых интерфейсов или драйверов оборудования.
Модули ядра загружаются автоматически при необходимости, но также могут управляться вручную.
Загрузка модулей ядра
Если Linux не загрузил нужный модуль автоматически, его можно загрузить вручную с помощью modprobe:
modprobe <имя_модуля>
Например, для загрузки модуля vfat (драйвер FAT32):
modprobe vfat
Если modprobe не находит модуль, можно попробовать загрузить его напрямую:
insmod /lib/modules/$(uname -r)/kernel/drivers/net/<module>.ko
Но insmod не управляет зависимостями, поэтому предпочтительнее modprobe.
Удаление модулей ядра
Иногда нужно выгрузить модуль, например, при отладке или обновлении.
Удаление модуля выполняется командой:
modprobe -r <имя_модуля>
Если модуль используется, его можно принудительно выгрузить:
rmmod <имя_модуля>
Чтобы найти процессы, использующие модуль:
lsmod | grep <имя_модуля>
lsof | grep <имя_модуля>
Добавление модуля в автозагрузку
Чтобы загружать модуль при старте системы, добавьте его в файл /etc/modules:
echo "<имя_модуля>" | sudo tee -a /etc/modules
Отключение автозагрузки модуля
Если модуль загружается автоматически, но его нужно отключить, можно занести его в чёрный список (blacklist):
echo "blacklist <имя_модуля>" | sudo tee -a /etc/modprobe.d/blacklist.conf
Затем обновляем конфигурацию и перезагружаем систему:
sudo update-initramfs -u
reboot
Зачем управлять модулями ядра?
• Отладка и тестирование (например, при замене драйвера)
• Оптимизация системы (исключение ненужных драйверов)
• Безопасность (запрет загрузки уязвимых или нежелательных модулей)
Если нужно полностью удалить модуль из системы, его можно найти и удалить:
find /lib/modules/$(uname -r) -name "<модуль>.ko" -delete
👍15🔥2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Проверка режима seccomp у процесса:
cat /proc/<PID>/status | grep Seccomp
Применение seccomp в Docker:
docker run --security-opt seccomp=restricted.json alpine
Seccomp повышает безопасность контейнеров и песочниц, блокируя нежелательные syscalls.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3