This media is not supported in your browser
VIEW IN TELEGRAM
Как фильтровать вывод предыдущей команды и зачем нужен pipe
Bash удобен тем, что позволяет передавать результаты одной команды в другую. Для этого используется символ
Простой пример: нужно отфильтровать вывод лога nginx, чтобы отобразить только запросы к конкретному URL. Сначала используем команду
|
Bash удобен тем, что позволяет передавать результаты одной команды в другую. Для этого используется символ
|
(pipe, канал, или конвейер).Простой пример: нужно отфильтровать вывод лога nginx, чтобы отобразить только запросы к конкретному URL. Сначала используем команду
cat
для вывода содержимого файла, затем фильтруем нужные строки с помощью grep
.cat access.log | grep api/users
cat access.log | grep 02/Dec
cat access.log | grep api | grep 172.17.0.1
👍1
Haskell Dockerfile Linter
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
Что в bash скрипте означает команда set -euo pipefail?
Команда
1.
2.
3.
Пример
Таким образом,
Команда
set -euo pipefail
в Bash-скрипте изменяет поведение интерпретатора и добавляет контроль ошибок, что делает сценарий более надежным. 1.
-e
: Завершает выполнение скрипта, если любая команда завершилась с ненулевым статусом (то есть произошла ошибка). Это предотвращает дальнейшее выполнение скрипта, если что-то пошло не так.2.
-u
: Вызывает ошибку, если используется неинициализированная (неопределенная) переменная. Это помогает избежать ошибок, когда случайно обращаются к переменной, которая не была задана.3.
-o pipefail
: Заставляет весь конвейер (|
) завершиться с ошибкой, если любая команда в цепочке вернула ненулевой статус. По умолчанию в Bash статус конвейера определяется только последней командой, а pipefail
изменяет это поведение. Если любая команда в конвейере завершится ошибкой, это будет считаться ошибкой всего конвейера.Пример
set -euo pipefail
# Пример команды, использующей необъявленную переменную
echo $undefined_var # Это вызовет ошибку из-за опции -u
Таким образом,
set -euo pipefail
делает скрипт более устойчивым к ошибкам, помогая избежать неожиданных ситуаций и неявных ошибок.👍3❤1
Массивы bash
Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не так круты, как в P-языках (Perl, Python и PHP) и других языках программирования, они часто бывают полезны.
Bash-массивы имеют только численные индексы, но они не обязательны к использованию, то есть вы не должны определять значения всех индексов в явном виде.
https://habr.com/ru/articles/511608/
Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не так круты, как в P-языках (Perl, Python и PHP) и других языках программирования, они часто бывают полезны.
Bash-массивы имеют только численные индексы, но они не обязательны к использованию, то есть вы не должны определять значения всех индексов в явном виде.
https://habr.com/ru/articles/511608/
👍2
Срок действия учетной записи
Узнать срок действия учетной записи в ActiveDirectory можно через оснастку: Пользователи и компьютеры или с помощью команды Powershell. Во втором случае мы получим список всех учетных записей, у которых заканчивается срок действия.
Устанавливаем
Узнать срок действия учетной записи в ActiveDirectory можно через оснастку: Пользователи и компьютеры или с помощью команды Powershell. Во втором случае мы получим список всех учетных записей, у которых заканчивается срок действия.
Search-ADAccount -AccountExpiring -UsersOnly -TimeSpan 07.00:00:00 | Sort-Object -Descending AccountExpirationDate | ft Name, AccountExpirationDate
Устанавливаем
TimeSpan
на одну неделю и получаем список учетных записей срок действия которых закончится в течение одной недели (7 дней).👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Sampler. Визуализация для любой команды shell
Инструмент для выполнения команд shell, визуализации и оповещения. Настраивается с помощью простого файла YAML.
Установка Linux
https://github.com/sqshq/sampler
Инструмент для выполнения команд shell, визуализации и оповещения. Настраивается с помощью простого файла YAML.
Установка Linux
sudo wget https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-linux-amd64 -O /usr/local/bin/sampler
sudo chmod +x /usr/local/bin/sampler
https://github.com/sqshq/sampler
❤🔥3
Простой и удобный шаблон для bash-скриптов выполняемых по расписанию
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.
Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@. Потом я нашёл Cronic - обёртку на bash, которая скрывает вывод запускаемой задачи, если она завершена успешно. Стало полегче, но обнаружилось, что от некоторых заданий всё же лучше получать сообщение "Task OK", чтобы не столкнуться в самый неподходящий момент с тем, что выполнение задания тихо сломано месяц назад.
https://habr.com/ru/articles/778922/
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.
Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@. Потом я нашёл Cronic - обёртку на bash, которая скрывает вывод запускаемой задачи, если она завершена успешно. Стало полегче, но обнаружилось, что от некоторых заданий всё же лучше получать сообщение "Task OK", чтобы не столкнуться в самый неподходящий момент с тем, что выполнение задания тихо сломано месяц назад.
https://habr.com/ru/articles/778922/
Хабр
Простой и удобный шаблон для bash-скриптов выполняемых по расписанию
Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет. Сначала...
👍2
Zenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска.
Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)
Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)
https://github.com/bvaisvil/zenith
Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, 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
👍4
Media is too big
VIEW IN TELEGRAM
Файловые системы в линуксе | сравнительный тест файловых систем linux ext4 xfs f2fs btrfs zfs
Список полезных консольных команд VMWare ESXi (в том числе ESXCLI)
reboot
— перезагрузить хостpoweroff
— выключить хостesxcli system version get
— узнать версию (номер) инсталлированной версии VMware ESXiuname -a
— так же узнать версию VMware ESXivmware –vl
– и еще один способ узнать версию и релиз VMware ESXiesxcli hardware pci list | more
— полная информация об установленных PCI устройствахlspci
— краткая информация обо всех установленных PCI устройствахesxtop
— диспетчер процессов top для vmware esxi (быстрые клавиши для переключения дисплея: c :cpu, i :interrupt, m :memory, n :network, d :disk adapter, u :disk device, v :disk VM, p :power mgmt)vmkerrcode -l
— расшифровка кодов ошибокesxcfg-nics -l
— информация о сетевых картахesxcfg-vswitch -l
— информация о виртуальных коммутаторахfind . -name libstorelib.so
— найти файл libstorelib.sodcui
— работа с консолью сервера через ssh сессиюchkconfig -l
— статус работы демоновesxcli hardware memory get
— размер установленной памятиesxcli software vib list
— список установленных vib-пакетовesxcli network ip connection list
— состояние активных соединений (аналог netstat)esxcli storage vmfs extent list
— информация о примонтированных/подключенных томах VMFSesxcli hardware clock (get/set)
— отображение/установка времени esxi-хостаcd
- Смена текущей директории;cp
- Копирование файла.cp [файл 1] [файл2];find
- Поиск файлов по критериям;ls
- Список файлов и директорий в текущей или явно указанной директории.ls /vmfs/volumes/ ключи: -l подробная информация -a отображение скрытых файлов;mkdir
— Создание директории;mv
— Перемещение файла. Переименование файла.mv [путь и имя файла] [путь, куда перемещать];ps
— Информация о запущенных процессах. ps -ef;rm
- Удаление файлов;shutdown
— Выключение или перезагрузка сервера shutdown nowshutdown –r now;vi
— Текстовый редактор;nano
— Дружелюбный к новичкам текстовый редактор, отсутствует на ESXi;cat
— Вывод содержимого файла на экран. cat /etc/hosts;more
— Вывод содержимого файла на экран, по странице за раз. more /etc/hosts;man
— Справка по командам man <команда, по которой есть вопрос>, для некоторых команд помощь выводится при запуске самой команды без параметров;useradd
— Создание пользователя. useradd <имя пользователя>;passwd
- Задание пароля пользователю passwd <имя пользователя>;esxcli storage nfs list
— список подключеных nfs- хранлилищ на хостеesxcli software vib list
— cписок установленных vib-пакетовesxcli hardware memory get
— информация об использовании памяти на хосте ESXi, включая общий объемThis media is not supported in your browser
VIEW IN TELEGRAM
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 было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.
https://relax-and-recover.org/
https://github.com/rear/rear
Решение для аварийного восстановления и миграции систем на новое железо под управлением 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 было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению.
https://relax-and-recover.org/
https://github.com/rear/rear
👍1
PowerShell: используем Invoke-Command для запуска команд/скриптов на удаленных компьютерах
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
В этой статье мы рассмотрим особенности использования командлета Invoke-Command для удаленного выполнения команд и скриптов. Возможно запускать команды удаленно на одном компьютере, или параллельно на множестве компьютерах в вашей сети. Командлет Invoke-Command использует возможности удаленного управления, заложенные в PowerShell Remoting. PowerShell Remoting позволяет удаленно подключаться к PowerShell сессиям на компьютерах через службу WinRM (Windows Remote Management) через протокол Web Services for Management (WS-Management). Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.
https://telegra.ph/PowerShell-ispolzuem-Invoke-Command-dlya-zapuska-komandskriptov-na-udalennyh-kompyuterah-09-26
💯1
Утилита ncdu: быстрое решение для очистки диска
При переполнении диска серверов, ncdu — отличная альтернатива
Простой запуск:
Установка:
ubuntu:
При переполнении диска серверов, ncdu — отличная альтернатива
du
и find
. Она быстро показывает, какие файлы занимают место, и позволяет удалять их прямо в интерфейсе.Простой запуск:
# cd /
# ncdu
Установка:
ubuntu:
apt install ncdu
osx: brew install ncdu
centos: yum install ncdu
Media is too big
VIEW IN TELEGRAM
Mikrotik: Настройка основного и резервного провайдеров
Показываем как на роутере Mikrotik настроить подключение к двум провайдерам. Как настроить основной и резервный каналы подключения к интернет и управлять ими.
Показываем как на роутере Mikrotik настроить подключение к двум провайдерам. Как настроить основной и резервный каналы подключения к интернет и управлять ими.
🔥2
Как активировать debug режим в bash?
1. Использование опции
Запустите скрипт с опцией
Или добавьте
2. Использование опции
Опция
Также можно добавить
3. Использование режима отладки
Для максимально подробной отладки можно использовать обе опции сразу —
4. Использование
Команда
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
Переменная
1. Использование опции
-x
Запустите скрипт с опцией
-x
, чтобы bash выводил каждую команду перед её выполнением.
bash -x script.sh
Или добавьте
set -x
в самом скрипте, чтобы начать отладку с этого места:
#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки
2. Использование опции
-v
Опция
-v
заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.
bash -v script.sh
Также можно добавить
set -v
в скрипте для включения вывода на определённом участке:
#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода
3. Использование режима отладки
-xv
Для максимально подробной отладки можно использовать обе опции сразу —
-x
и -v
:
bash -xv script.sh
4. Использование
trap
для пошаговой отладкиКоманда
trap
позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:
trap 'echo "Команда: $BASH_COMMAND"' DEBUG
Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.
5. Отладка с помощью
PS4
Переменная
PS4
позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:
export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh
🏆2
Sudo без бинарного setuid или SSH через UNIX-сокет
В этом посте я подробно расскажу, как заменить
Я считаю, что программы с
Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
В этом посте я подробно расскажу, как заменить
sudo
(программу с `setuid`), используя SSH через локальный UNIX-сокет.Я считаю, что программы с
setuid`/`setgid
— это устаревшая часть наследия UNIX, которую следует исключить. В будущем посте я объясню причины безопасности, стоящие за этим утверждением.Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
Подборка полезных скриптов для Mikrotik
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
и добавьте брандмауэр
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
/system backup save name=email_backup
/tool e-mail send file=email_backup.backup to="[email protected]" body="See attached file" \
subject="$[/system identity get name] $[/system clock get time] $[/system clock get date] Backup")
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
:global printA [:parse ":local A; :put \$A;" ];
$printA
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
:foreach i in=[/interface find] do={
/interface monitor-traffic $i once do={
:if ($"received-bits-per-second" > 0 ) do={
:local tmpIP [/ip address get [/ip address find interface=$i] address] ;
# :log warning $tmpIP ;
:for j from=( [:len $tmpIP] - 1) to=0 do={
:if ( [:pick $tmpIP $j] = "/") do={
/queue simple add name=$i max-limit=256000/256000 dst-address=[:pick $tmpIP 0 $j] ;
}
}
}
}
}
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
/ip firewall nat
add action=redirect chain=dstnat comment=DNS dst-port=53 protocol=tcp to-ports=53
add action=redirect chain=dstnat dst-port=53 protocol=udp to-ports=53
и добавьте брандмауэр
/ip firewall filter
add chain=forward dst-address-list=restricted action=drop
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
:foreach i in=[/ip dns cache find] do={
:local bNew "true";
:local cacheName [/ip dns cache all get $i name] ;
# :put $cacheName;
:if (([:find $cacheName "rapidshare"] >= 0) || ([:find $cacheName "youtube"] >= 0)) do={
:local tmpAddress [/ip dns cache get $i address] ;
# :put $tmpAddress;
# if address list is empty do not check
:if ( [/ip firewall address-list find list="restricted" ] = "") do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
} else={
:foreach j in=[/ip firewall address-list find list="restricted"] do={
:if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={
:set bNew "false";
}
}
:if ( $bNew = "true" ) do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
}
}
}
}
👍3
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
👍3❤2
Список полезных консольных команд VMWare ESXi (в том числе ESXCLI)
reboot
— перезагрузить хостpoweroff
— выключить хостesxcli system version get
— узнать версию (номер) инсталлированной версии VMware ESXiuname -a
— так же узнать версию VMware ESXivmware –vl
– и еще один способ узнать версию и релиз VMware ESXiesxcli hardware pci list | more
— полная информация об установленных PCI устройствахlspci
— краткая информация обо всех установленных PCI устройствахesxtop
— диспетчер процессов top для vmware esxi (быстрые клавиши для переключения дисплея: c :cpu, i :interrupt, m :memory, n :network, d :disk adapter, u :disk device, v :disk VM, p :power mgmt)vmkerrcode -l
— расшифровка кодов ошибокesxcfg-nics -l
— информация о сетевых картахesxcfg-vswitch -l
— информация о виртуальных коммутаторахfind . -name libstorelib.so
— найти файл libstorelib.sodcui
— работа с консолью сервера через ssh сессиюchkconfig -l
— статус работы демоновesxcli hardware memory get
— размер установленной памятиesxcli software vib list
— список установленных vib-пакетовesxcli network ip connection list
— состояние активных соединений (аналог netstat)esxcli storage vmfs extent list
— информация о примонтированных/подключенных томах VMFSesxcli hardware clock (get/set)
— отображение/установка времени esxi-хостаcd
- Смена текущей директории;cp
- Копирование файла.cp [файл 1] [файл2];find
- Поиск файлов по критериям;ls
- Список файлов и директорий в текущей или явно указанной директории.ls /vmfs/volumes/ ключи: -l подробная информация -a отображение скрытых файлов;mkdir
— Создание директории;mv
— Перемещение файла. Переименование файла.mv [путь и имя файла] [путь, куда перемещать];ps
— Информация о запущенных процессах. ps -ef;rm
- Удаление файлов;shutdown
— Выключение или перезагрузка сервера shutdown nowshutdown –r now;vi
— Текстовый редактор;nano
— Дружелюбный к новичкам текстовый редактор, отсутствует на ESXi;cat
— Вывод содержимого файла на экран. cat /etc/hosts;more
— Вывод содержимого файла на экран, по странице за раз. more /etc/hosts;man
— Справка по командам man <команда, по которой есть вопрос>, для некоторых команд помощь выводится при запуске самой команды без параметров;useradd
— Создание пользователя. useradd <имя пользователя>;passwd
- Задание пароля пользователю passwd <имя пользователя>;esxcli storage nfs list
— список подключеных nfs- хранлилищ на хостеesxcli software vib list
— cписок установленных vib-пакетовesxcli hardware memory get
— информация об использовании памяти на хосте ESXi, включая общий объем👍2
Lexicon - утилита для управление записями DNS на различных DNS-провайдерах.
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
❤3