Сегодня хочу поделиться полезной информацией о том, как запускать процессы в фоновом режиме через терминал Linux. Это удобный способ выполнить задачу и продолжить работу, не прерывая своего текущего сеанса. 🐧
Для запуска процесса в фоне используется специальный символ "&". Давайте посмотрим на примере команды "command":
1️⃣ Простая команда:
Таким образом, "command" будет запущен в фоне, и вы сможете продолжать работать в терминале.
2️⃣ Запуск команды в фоновом режиме с выводом в файл:
В данном случае вывод команды "command" будет перенаправлен в файл "output.txt", а сам процесс будет запущен в фоне.
3️⃣ Запуск команды в фоновом режиме без вывода:
В этом примере команда "command" будет выполнена в фоне, а вывод будет направлен в специальное устройство "/dev/null", которое игнорирует вывод.
4️⃣ Запуск процесса в фоне с возможностью отключиться от терминала:
Команда "nohup" позволяет запустить процесс в фоне и отключиться от терминала, не прерывая его выполнение. Вывод будет сохранен в файле "nohup.out".
Теперь вы знаете, как запускать процессы в фоне через терминал Linux! Этот метод очень удобен для выполнения долгих задач и автоматических скриптов.
👉 DevOps Portal
Для запуска процесса в фоне используется специальный символ "&". Давайте посмотрим на примере команды "command":
$ command &
Таким образом, "command" будет запущен в фоне, и вы сможете продолжать работать в терминале.
$ command > output.txt &
В данном случае вывод команды "command" будет перенаправлен в файл "output.txt", а сам процесс будет запущен в фоне.
$ command > /dev/null &
В этом примере команда "command" будет выполнена в фоне, а вывод будет направлен в специальное устройство "/dev/null", которое игнорирует вывод.
$ nohup command &
Команда "nohup" позволяет запустить процесс в фоне и отключиться от терминала, не прерывая его выполнение. Вывод будет сохранен в файле "nohup.out".
Теперь вы знаете, как запускать процессы в фоне через терминал Linux! Этот метод очень удобен для выполнения долгих задач и автоматических скриптов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥8😁1🤔1
Python для сетевых инженеров. Автоматизация сети, программирование и DevOps
Автор: Чоу Э.
Год: 2023
📂 Скачать книгу
👉 DevOps Portal | #книги
Автор: Чоу Э.
Год: 2023
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6
Самая красивая и лаконичная шпаргалка bash
В твиттерской опубликовали ладно скроенную инфографику от sysexplore.com, которая поможет не только ознакомиться с базовой терминологией скриптинга, но и с вычиткой параметров из файла, хэндлинг сигналов (SIGTERM) и проч.
👉 DevOps Portal
В твиттерской опубликовали ладно скроенную инфографику от sysexplore.com, которая поможет не только ознакомиться с базовой терминологией скриптинга, но и с вычиткой параметров из файла, хэндлинг сигналов (SIGTERM) и проч.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥8
Команда updatedb: быстрый поиск файлов на Linux!
Хочу рассказать вам о полезной команде updatedb для операционной системы Linux.
Updatedb используется для обновления индекса файловой системы, который пригодится вам, когда нужно быстро найти файлы
Как это работает?
Когда вы запускаете команду updatedb, она просматривает все файлы на вашем компьютере и создает специальный файл индекса по пути /var/lib/mlocate/mlocate.db. Этот файл содержит информацию о каждом файле в системе.
Что это дает вам? Теперь вы можете мгновенно искать файлы по всей системе, не тратя время на перебор всех каталогов! Удобно, правда?
Как запустить updatedb? Просто откройте терминал и введите команду:
После того, как индекс будет обновлен, используйте команду locate, чтобы быстро найти нужные файлы. Например, чтобы найти файл с именем myfile.txt, введите:
И волшебство произойдет) Вам будут показаны все файлы с таким именем на вашей системе.
Так что не тратьте время на долгий поиск файлов вручную. Используйте команду updatedb и находите все, что вам нужно мгновенно😎
👉 DevOps Portal
Хочу рассказать вам о полезной команде updatedb для операционной системы Linux.
Updatedb используется для обновления индекса файловой системы, который пригодится вам, когда нужно быстро найти файлы
Как это работает?
Когда вы запускаете команду updatedb, она просматривает все файлы на вашем компьютере и создает специальный файл индекса по пути /var/lib/mlocate/mlocate.db. Этот файл содержит информацию о каждом файле в системе.
Что это дает вам? Теперь вы можете мгновенно искать файлы по всей системе, не тратя время на перебор всех каталогов! Удобно, правда?
Как запустить updatedb? Просто откройте терминал и введите команду:
sudo updatedb
После того, как индекс будет обновлен, используйте команду locate, чтобы быстро найти нужные файлы. Например, чтобы найти файл с именем myfile.txt, введите:
locate myfile.txt
И волшебство произойдет) Вам будут показаны все файлы с таким именем на вашей системе.
Так что не тратьте время на долгий поиск файлов вручную. Используйте команду updatedb и находите все, что вам нужно мгновенно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Python для DevOps: Полное руководство от новичка до продвинутого уровня
Python получил широкое распространение в экосистеме DevOps благодаря своей простоте, обширным библиотекам и адаптивности для различных платформ и задач. Независимо от того, автоматизируете ли вы рутинные задачи, управляете инфраструктурой или разрабатываете CI/CD конвейеры, Python предлагает мощный и надежный набор инструментов.
🔜 Читать статью
👉 DevOps Portal | #cтатья
Python получил широкое распространение в экосистеме DevOps благодаря своей простоте, обширным библиотекам и адаптивности для различных платформ и задач. Независимо от того, автоматизируете ли вы рутинные задачи, управляете инфраструктурой или разрабатываете CI/CD конвейеры, Python предлагает мощный и надежный набор инструментов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Пользуйтесь этими командами, чтобы с легкостью создавать и организовывать свои папки в терминале Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥5😁2🌚1
This media is not supported in your browser
VIEW IN TELEGRAM
Открываем файлы и папки в приложении по-умолчанию через терминал
При необходимости вы можете напрямую из терминала открывать нужные вам файлы или папки в приложении по-умолчанию. Чтобы сделать это, введите следующую команду:
Дальше следуете тому, что показано на прикрепленной анимации и будет вам счастье👍
👉 DevOps Portal
При необходимости вы можете напрямую из терминала открывать нужные вам файлы или папки в приложении по-умолчанию. Чтобы сделать это, введите следующую команду:
ls -1 --hyperlink=always
Дальше следуете тому, что показано на прикрепленной анимации и будет вам счастье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27
Работаем с кодировкой файлов в терминале Linux 😎
Бывало такое, что откроете текстовый документ, а там все в кракозябрах? Это, товарищи, проблемы с кодировкой текста. О кодировке можно долго и много рассказывать, но я вам лучше поведаю про iconv - это утилита командной строки, которая используется для конвертации текстовых данных из одной кодировки в другую. Утилитка эта есть в любом популярном дистрибутиве Linux что называется, из коробки, поэтому совершать дополнительные действия для установки не нужно. Посмотрим на четыре примера того, как можно эту утилиту использовать.
Пример 1: Преобразование из UTF-8 в ASCII
Этот пример преобразует содержимое файла input.txt из кодировки UTF-8 в ASCII и записывает результат в output.txt.
Пример 2: Изменение кодировки файла
Эта команда изменяет кодировку файла input.txt с ISO-8859-1 (Latin-1) на UTF-8 и записывает результат в output.txt.
Пример 3: Указание файла для стандартного ввода и вывода
Этот пример использует стандартный ввод (input.txt) с кодировкой WINDOWS-1251 и выводит результат в output.txt с кодировкой UTF-8.
Пример 4: Рекурсивное преобразование файлов в директории
Этот пример находит все файлы с расширением .txt в указанной директории и конвертирует их содержимое из UTF-8 в ISO-8859-1.
К слову, утилита iconv также портирована под Windows, поэтому братцы-форточники тоже могут порадовать себя тем, что в консоли всяческую магию творят😁 Обычные же линуксоиды, привыкшие к этим вашим окошечкам и кнопочкам, могут спросить: на кой мне это все знать?
Ну, во-первых, лучше знать и не пригодится, тем не знать и оказаться в ситуации, когда понадобится. И, во-вторых, тем пользователям, которые много времени проводят в терминале своего ПК (ноутбука) или сервера удаленного, утилита может ой как сильно пригодится.
Если же желаете побольше узнать про кодировки разные, то милости прошу в Google, Yandex и иные любимые вами поисковики: информации три вагона, две телеги.
👉 DevOps Portal
Бывало такое, что откроете текстовый документ, а там все в кракозябрах? Это, товарищи, проблемы с кодировкой текста. О кодировке можно долго и много рассказывать, но я вам лучше поведаю про iconv - это утилита командной строки, которая используется для конвертации текстовых данных из одной кодировки в другую. Утилитка эта есть в любом популярном дистрибутиве Linux что называется, из коробки, поэтому совершать дополнительные действия для установки не нужно. Посмотрим на четыре примера того, как можно эту утилиту использовать.
Пример 1: Преобразование из UTF-8 в ASCII
iconv -f UTF-8 -t ASCII input.txt > output.txt
Этот пример преобразует содержимое файла input.txt из кодировки UTF-8 в ASCII и записывает результат в output.txt.
Пример 2: Изменение кодировки файла
iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt
Эта команда изменяет кодировку файла input.txt с ISO-8859-1 (Latin-1) на UTF-8 и записывает результат в output.txt.
Пример 3: Указание файла для стандартного ввода и вывода
iconv -f WINDOWS-1251 -t UTF-8 < input.txt > output.txt
Этот пример использует стандартный ввод (input.txt) с кодировкой WINDOWS-1251 и выводит результат в output.txt с кодировкой UTF-8.
Пример 4: Рекурсивное преобразование файлов в директории
find /path/to/directory -type f -name '*.txt' -exec iconv -f UTF-8 -t ISO-8859-1 {} -o {} \;Этот пример находит все файлы с расширением .txt в указанной директории и конвертирует их содержимое из UTF-8 в ISO-8859-1.
К слову, утилита iconv также портирована под Windows, поэтому братцы-форточники тоже могут порадовать себя тем, что в консоли всяческую магию творят
Ну, во-первых, лучше знать и не пригодится, тем не знать и оказаться в ситуации, когда понадобится. И, во-вторых, тем пользователям, которые много времени проводят в терминале своего ПК (ноутбука) или сервера удаленного, утилита может ой как сильно пригодится.
Если же желаете побольше узнать про кодировки разные, то милости прошу в Google, Yandex и иные любимые вами поисковики: информации три вагона, две телеги.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍3
Как в терминале Linux отобразить ход выполнения операции копирования или удаления? 🗑 📄
Бывает что вы вводите команду cp или rm для копирования или удаления чего-либо и после нажатия Enter курсор просто повисает в терминале. Согласитесь, что было бы приятнее видеть какой-то прогресс в выполнении этой команды. Чтобы сделать это используется ключ --verbose или -v. В контексте Linux и других UNIX-подобных систем, указанные опции обычно относятся к режиму вывода подробной информации о выполняемых командах.
Например, вот так можно работать с копированием:
Или удалением:
Выхлоп будет содержать подробности совершаемых операций. И станет наглядно видно, что происходит и когда это закончится. Согласитесь, что в определенных моментах это удобно? Естественно, ключ --verbose или -v будет работать не только с копированием или удалением.
👉 DevOps Portal
Бывает что вы вводите команду cp или rm для копирования или удаления чего-либо и после нажатия Enter курсор просто повисает в терминале. Согласитесь, что было бы приятнее видеть какой-то прогресс в выполнении этой команды. Чтобы сделать это используется ключ --verbose или -v. В контексте Linux и других UNIX-подобных систем, указанные опции обычно относятся к режиму вывода подробной информации о выполняемых командах.
Например, вот так можно работать с копированием:
cp -v <исходные_файлы_или_каталог> <целевой_каталог>
Или удалением:
rm -rf -v <каталог>
Выхлоп будет содержать подробности совершаемых операций. И станет наглядно видно, что происходит и когда это закончится. Согласитесь, что в определенных моментах это удобно? Естественно, ключ --verbose или -v будет работать не только с копированием или удалением.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤3
Работаем с блочными устройствами Linux через скрипты
Сегодня расскажу про две очень полезные утилиты Linux, с помощью которых удобно в скриптах делать проверки наличия подключенных и примонтированных блочных устройств и файловых систем. Это утилиты findmnt и findfs.
1️⃣ Findmnt удобна и полезна сама по себе, без привязки к скриптам. Просто запустите её и посмотрите вывод. Она выводит в консоль подробную информацию о всех точках монтирования. А ключ -x ещё и позволяет проверить отредактированный файл fstab на наличие в нём ошибок. Рекомендую запомнить эту возможность и использовать:
Если в чём-то ошибётесь, то получите ошибку:
2️⃣ Findfs сама по себе ничего не выводит. Она умеет искать файловые системы по заданными параметрами В качестве аргумента принимает значение LABEL, UUID, PARTLABEL и PARTUUID. Например так:
Нашли файловую систему на /dev/sda2 с заданным UUID. При этом код выхода будет 0:
Если файловая система не будет найдена, код будет 1:
3️⃣ Соответственно, подобную проверку можно использовать в скриптах перед тем, как выполнять какие-то действия. Это актуально для каких-нибудь бэкапов или синхронизаций на сетевых или внешних дисках. Делаем простую проверку, типа такой:
Вместо echo можно сразу выполнять какое-то действие. Оно будет выполнено, если указанный скрипту UUID подключен. То есть сам скрипт работает так:
Точно так же по аналогии можно сделать проверку точек монтирования с помощью findmnt:
Проверяем:
Внешнее хранилище для бэкапов не смонтировано, ничего не делаем. Очень важно делать такие проверки, когда копируете что-то на примонтированные устройства. Если запустить процесс копирования при отмонтированном устройстве, то вы просто забьёте весь диск локальной системы, так как все файлы польются на неё.
Если информация оказалась полезной, то поставьте лайк этой заметке😧
👉 DevOps Portal
Сегодня расскажу про две очень полезные утилиты Linux, с помощью которых удобно в скриптах делать проверки наличия подключенных и примонтированных блочных устройств и файловых систем. Это утилиты findmnt и findfs.
# findmnt -x
Success, no errors or warnings detected
Если в чём-то ошибётесь, то получите ошибку:
# findmnt -x
/mnt/backup
[E] unreachable on boot required source: UUID=151ea24d-977a-412c-818f-0d374baa5012
# findfs "UUID=151ea24d-977a-412c-818f-0d374baa5013"
/dev/sda2
Нашли файловую систему на /dev/sda2 с заданным UUID. При этом код выхода будет 0:
# echo $?
0
Если файловая система не будет найдена, код будет 1:
# findfs "UUID=151ea24d-977a-412c-818f-0d374baa5012"
findfs: unable to resolve 'UUID=151ea24d-977a-412c-818f-0d374baa5012'
# echo $?
if findfs "UUID=$1" >/dev/null; then
echo "$1 connected."
else
echo "$1 not connected."
fi
Вместо echo можно сразу выполнять какое-то действие. Оно будет выполнено, если указанный скрипту UUID подключен. То есть сам скрипт работает так:
# ./check-fs.sh 151ea24d-977a-412c-818f-0d374baa5013
151ea24d-977a-412c-818f-0d374baa5013 connected.
Точно так же по аналогии можно сделать проверку точек монтирования с помощью findmnt:
if findmnt -rno TARGET "$1" >/dev/null; then
echo "$1 mounted."
else
echo "$1 not mounted."
fi
Проверяем:
# ./check-mnt.sh /mnt/extbackup
/mnt/extbackup not mounted.
Внешнее хранилище для бэкапов не смонтировано, ничего не делаем. Очень важно делать такие проверки, когда копируете что-то на примонтированные устройства. Если запустить процесс копирования при отмонтированном устройстве, то вы просто забьёте весь диск локальной системы, так как все файлы польются на неё.
Если информация оказалась полезной, то поставьте лайк этой заметке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤3
Коды завершения в Linux 🚪
Обратили внимание на такую вот конструкцию в предыдущем посте:
Команда echo, думаю, понятно что делает. Но что за значок доллара и вопросительный знак после? Это обозначение для вывода кода завершения команды.
Логика простая: если вернется 0, то ошибок нет, команда отработала как нужно. Если получили 1, то что-то пошло не так. Все просто 🤷♂️
Использовать удобно все в тех же скриптах для проверки успешности того, как этот скрипт отработал. Например, нужно выполнить какое-то действие только после того, как будете уверены, что конфигурация верная. Вначале выполняем валидацию конфига (допустим, веб-сервера Nginx):
После проверяем, что вернулся 0 и если да, то выполняем команду на рестарт конфига:
Если получили 1, то нужно проверить конфигурацию веб-сервера на ошибки.
Обычному пользователю такое никогда может и не пригодится, но если вы любите скрипты и автоматизацию работы с системой, то коды завершения сильно упростят жизнь. Профи об этом уж точно знают, новичкам будет полезно☺️
👉 DevOps Portal
Обратили внимание на такую вот конструкцию в предыдущем посте:
echo $?
Команда echo, думаю, понятно что делает. Но что за значок доллара и вопросительный знак после? Это обозначение для вывода кода завершения команды.
Логика простая: если вернется 0, то ошибок нет, команда отработала как нужно. Если получили 1, то что-то пошло не так. Все просто 🤷♂️
Использовать удобно все в тех же скриптах для проверки успешности того, как этот скрипт отработал. Например, нужно выполнить какое-то действие только после того, как будете уверены, что конфигурация верная. Вначале выполняем валидацию конфига (допустим, веб-сервера Nginx):
nginx -t
После проверяем, что вернулся 0 и если да, то выполняем команду на рестарт конфига:
nginx -s reload
Если получили 1, то нужно проверить конфигурацию веб-сервера на ошибки.
Обычному пользователю такое никогда может и не пригодится, но если вы любите скрипты и автоматизацию работы с системой, то коды завершения сильно упростят жизнь. Профи об этом уж точно знают, новичкам будет полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤5
Основы систем инициализации в Linux: всё, что вы должны знать 🐧
Сегодня мы поговорим о системах инициализации в Linux. Эта тема может показаться сложной для новичков, но не волнуйтесь, мы постараемся объяснить всё максимально просто.
1️⃣ Что такое система инициализации?
Система инициализации - это программа, которая запускает и останавливает другие программы при старте и выключении компьютера. Она играет ключевую роль в процессе загрузки дистрибутива. В мире Linux существует несколько систем инициализации, но мы сосредоточимся на двух основных: SysV и systemd.
1. SysV init:
SysV init - это одна из старейших систем инициализации в Linux. Она использует скрипты в стиле Bash для управления службами. Каждая служба имеет свой собственный скрипт инициализации, расположенный в каталоге /etc/init.d. Вы можете управлять службами, используя команды, такие как
Пример запуска службы с использованием SysV init:
2. systemd:
systemd - это современная система инициализации, которая заменяет SysV init во многих дистрибутивах Linux. Она управляет службами и процессами с использованием юнит-файлов, и она более мощная и гибкая по сравнению с SysV init.
Пример запуска службы с использованием systemd:
2️⃣ Как выбрать систему инициализации?
Большинство современных дистрибутивов Linux используют systemd, но некоторые старые или специализированные дистрибутивы могут все еще использовать SysV init. Вы можете проверить, какая система инициализации используется на вашем компьютере, выполнив команду:
3️⃣ Что выбрать новичку?
Если вы новичок в мире Linux, то systemd, скорее всего, будет более удобным выбором, так как он более современный и интуитивно понятный. Он также предоставляет множество инструментов для управления службами, журналами и т. д.
Системы инициализации - это важная часть дистрибутивов Linux, и хотя они могут показаться сложными на первый взгляд, они играют ключевую роль в стабильной и эффективной работе вашей системы. Надеюсь, что этот пост помог вам лучше понять эту тему
👉 DevOps Portal
Сегодня мы поговорим о системах инициализации в Linux. Эта тема может показаться сложной для новичков, но не волнуйтесь, мы постараемся объяснить всё максимально просто.
Система инициализации - это программа, которая запускает и останавливает другие программы при старте и выключении компьютера. Она играет ключевую роль в процессе загрузки дистрибутива. В мире Linux существует несколько систем инициализации, но мы сосредоточимся на двух основных: SysV и systemd.
1. SysV init:
SysV init - это одна из старейших систем инициализации в Linux. Она использует скрипты в стиле Bash для управления службами. Каждая служба имеет свой собственный скрипт инициализации, расположенный в каталоге /etc/init.d. Вы можете управлять службами, используя команды, такие как
service или chkconfig.Пример запуска службы с использованием SysV init:
sudo service apache2 start
2. systemd:
systemd - это современная система инициализации, которая заменяет SysV init во многих дистрибутивах Linux. Она управляет службами и процессами с использованием юнит-файлов, и она более мощная и гибкая по сравнению с SysV init.
Пример запуска службы с использованием systemd:
sudo systemctl start apache2
Большинство современных дистрибутивов Linux используют systemd, но некоторые старые или специализированные дистрибутивы могут все еще использовать SysV init. Вы можете проверить, какая система инициализации используется на вашем компьютере, выполнив команду:
ps -p 1 -o comm=
Если вы новичок в мире Linux, то systemd, скорее всего, будет более удобным выбором, так как он более современный и интуитивно понятный. Он также предоставляет множество инструментов для управления службами, журналами и т. д.
Системы инициализации - это важная часть дистрибутивов Linux, и хотя они могут показаться сложными на первый взгляд, они играют ключевую роль в стабильной и эффективной работе вашей системы. Надеюсь, что этот пост помог вам лучше понять эту тему
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤1
Проверка работоспособности SSD/HDD в Linux 💾
SMART (технология самоконтроля, анализа и отчетности) - это функция, включенная во все современные жесткие диски и твердотельные накопители для мониторинга и тестирования надежности. Он проверяет различные атрибуты диска, чтобы обнаружить возможность отказа диска. Существуют различные инструменты, которые доступны в Linux и Windows для выполнения интеллектуальных тестов работоспособности. Из этой инструкции вы узнаете, как проверить работоспособность SSD/HDD в Linux с помощью терминала. В последующих постах поговорим про то, как это сделать через графический интерфейс в различных средах рабочего окружения.
1️⃣ Проверка работоспособности SSD накопителя с помощью Smartctl
Smartctl - это утилита командной строки, которая может быть использована для проверки состояния жесткого диска или SSD с поддержкой S.M.A.R.T в системе Linux. Утилита Smartctl поставляется вместе с пакетом smartmontools. Smartmontools доступна по умолчанию во всех репозиториях дистрибутивов Linux, включая Ubuntu, RHEL, CentOS и Fedora.
2️⃣ Как установить smartmontools в Linux? ⬇️
Ubuntu
Запустите службу с помощью следующей команды.
RHEL и CentOS
Fedora
Служба Smartd запустится автоматически после успешной установки. Если вдруг Smartd не запустился, сделать это можно командой:
3️⃣ Проверка работоспособности SSD/HDD ⚒️
Чтобы проверить общее состояние, введите команду:
Что значат эти параметры:
-d - указывает тип устройства.
ata - тип устройства ATA, используйте
-H - проверяет устройство, чтобы сообщить о его состоянии и работоспособности.
Возможны два варианта выхлопа: все хорошо и диск исправен, или, если устройство сообщает о неисправном состоянии работоспособности, это означает, что устройство уже вышло из строя или может выйти из строя очень скоро. В этом случае, можно получить дополнительную информацию:
Вы можете увидеть следующие атрибуты:
- [ID 5] Reallocated Sectors Count - Количество секторов, перераспределенных из-за ошибок чтения.
- [ID 187] Reported Uncorrect - Количество неисправимых ошибок при доступе к сектору чтения/записи.
- [ID 230] Индикатор износа носителя - Текущее состояние работы диска на основе срока службы.
Если вы видите 100 - это лучшее значение. Если видите 0 - это ХУДШЕЕ значение.
Чтобы инициировать расширенный тест (long), выполните следующую команду:
Чтобы выполнить самотестирование, введите команду:
Чтобы найти результат самопроверки диска, используйте эту команду:
Чтобы оценить время выполнения теста, выполните следующую команду.
Вы можете распечатать журналы ошибок диска с помощью команды:
Команд кажется много, но все решает практика: стоит только пару раз попробовать вводить их и анализировать выхлоп и все станет просто и понятно
👉 DevOps Portal
SMART (технология самоконтроля, анализа и отчетности) - это функция, включенная во все современные жесткие диски и твердотельные накопители для мониторинга и тестирования надежности. Он проверяет различные атрибуты диска, чтобы обнаружить возможность отказа диска. Существуют различные инструменты, которые доступны в Linux и Windows для выполнения интеллектуальных тестов работоспособности. Из этой инструкции вы узнаете, как проверить работоспособность SSD/HDD в Linux с помощью терминала. В последующих постах поговорим про то, как это сделать через графический интерфейс в различных средах рабочего окружения.
Smartctl - это утилита командной строки, которая может быть использована для проверки состояния жесткого диска или SSD с поддержкой S.M.A.R.T в системе Linux. Утилита Smartctl поставляется вместе с пакетом smartmontools. Smartmontools доступна по умолчанию во всех репозиториях дистрибутивов Linux, включая Ubuntu, RHEL, CentOS и Fedora.
Ubuntu
$ sudo apt install smartmontools
Запустите службу с помощью следующей команды.
sudo /etc/init.d/smartmontools start
RHEL и CentOS
sudo yum install smartmontools
Fedora
sudo dnf install smartmontools
Служба Smartd запустится автоматически после успешной установки. Если вдруг Smartd не запустился, сделать это можно командой:
sudo systemctl start smartd
Чтобы проверить общее состояние, введите команду:
sudo smartctl -d ata -H /dev/sda
Что значат эти параметры:
-d - указывает тип устройства.
ata - тип устройства ATA, используйте
scsi для типа устройства SCSI.-H - проверяет устройство, чтобы сообщить о его состоянии и работоспособности.
Возможны два варианта выхлопа: все хорошо и диск исправен, или, если устройство сообщает о неисправном состоянии работоспособности, это означает, что устройство уже вышло из строя или может выйти из строя очень скоро. В этом случае, можно получить дополнительную информацию:
sudo smartctl -a /dev/sda
Вы можете увидеть следующие атрибуты:
- [ID 5] Reallocated Sectors Count - Количество секторов, перераспределенных из-за ошибок чтения.
- [ID 187] Reported Uncorrect - Количество неисправимых ошибок при доступе к сектору чтения/записи.
- [ID 230] Индикатор износа носителя - Текущее состояние работы диска на основе срока службы.
Если вы видите 100 - это лучшее значение. Если видите 0 - это ХУДШЕЕ значение.
Чтобы инициировать расширенный тест (long), выполните следующую команду:
sudo smartctl -t long /dev/sda
Чтобы выполнить самотестирование, введите команду:
sudo smartctl -t short /dev/sda
Чтобы найти результат самопроверки диска, используйте эту команду:
sudo smartctl -l selftest /dev/sda
Чтобы оценить время выполнения теста, выполните следующую команду.
sudo smartctl -c /dev/sda
Вы можете распечатать журналы ошибок диска с помощью команды:
sudo smartctl -l error /dev/sda
Команд кажется много, но все решает практика: стоит только пару раз попробовать вводить их и анализировать выхлоп и все станет просто и понятно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Кратко о CHROOT
1️⃣ Что такое chroot?
CHROOT – это системный вызов, который временно перемещает root каталог в новую папку. Как правило, root каталог находится в «/». Но при помощи chroot можно задать другой каталог, который будет служить как root-каталог в окружении chroot. Любые приложения, которые запускаются внутри изолированного окружения, в принципе не могут взаимодействовать с остальной операционной системой. Кроме того, не-рутовый пользователь (non-root), помещённый в chroot-окружение, не сможет перемещаться по иерархии каталогов
2️⃣ Зачем оно нужно?
Chroot-окружение необходимо в самых различных ситуациях. К примеру, оно позволяет собирать, устанавливать и тестировать программное обеспечение в среде, которая отделена от остальной операционной системы. Также его можно использовать для запуска 32-битных приложений в 64-битной среде.
В целом, chroot – это способ временно воссоздать окружение операционной системы из подмножества файловой системы. Это позволяет временно перейти с привычных утилит на их экспериментальные версии, посмотреть, как приложения ведут себя в чистом окружении; также chroot может помочь выполнить операции по восстановлению, развернуть систему или создать дополнительный барьер, чтобы предотвратить потенциальный взлом системы.
3️⃣ Недостатки chroot
Основным недостатком chroot является неудобство в работе, вызванное тем, что в системе могут существовать приличное количество окружений и разных архитектур. Ну и стоит помнить, что даже этот способ не является 100%-тно безопасным и не защищает систему от кривых рук пользователя.
Постарался по простому объяснить что такое chroot, для чего он нужен и какие у него есть минусы. Если пост понравился, то поддержите его лайком 🤝
👉 DevOps Portal
CHROOT – это системный вызов, который временно перемещает root каталог в новую папку. Как правило, root каталог находится в «/». Но при помощи chroot можно задать другой каталог, который будет служить как root-каталог в окружении chroot. Любые приложения, которые запускаются внутри изолированного окружения, в принципе не могут взаимодействовать с остальной операционной системой. Кроме того, не-рутовый пользователь (non-root), помещённый в chroot-окружение, не сможет перемещаться по иерархии каталогов
Chroot-окружение необходимо в самых различных ситуациях. К примеру, оно позволяет собирать, устанавливать и тестировать программное обеспечение в среде, которая отделена от остальной операционной системы. Также его можно использовать для запуска 32-битных приложений в 64-битной среде.
В целом, chroot – это способ временно воссоздать окружение операционной системы из подмножества файловой системы. Это позволяет временно перейти с привычных утилит на их экспериментальные версии, посмотреть, как приложения ведут себя в чистом окружении; также chroot может помочь выполнить операции по восстановлению, развернуть систему или создать дополнительный барьер, чтобы предотвратить потенциальный взлом системы.
Основным недостатком chroot является неудобство в работе, вызванное тем, что в системе могут существовать приличное количество окружений и разных архитектур. Ну и стоит помнить, что даже этот способ не является 100%-тно безопасным и не защищает систему от кривых рук пользователя.
Постарался по простому объяснить что такое chroot, для чего он нужен и какие у него есть минусы. Если пост понравился, то поддержите его лайком 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50🤝2❤1
Как создать несколько директорий в консоли Linux одной командой? 📁
Вот нужно вам создать несколько папок через терминал Linux. Например, я чаще всего использую для этих целей именно терминал, так как мне это кажется намного быстрее. Создать папку можно простой командой:
Но что делать, если нужно создать за раз, например, пять директорий? Логичным выглядит ввод команды на создание каталога пять раз. Логичным, но крайне неудобным и точно не быстрым. Далее напрашивается использование символа точки с запятой, чтобы выполнить команды в терминале последовательно:
Внешне смотрится просто отвратительно да и это, по сути, те же пять команд на создание, просто в одну строку написанные, поэтому тоже не подойдет. Правильным решением будет использование следующего синтаксиса:
Ключ -p говорит о том, что должны будут создаться все директории, которые указаны в пути до нужно папки. Отлично работает в ситуациях, когда вы решили поиграть со вложенностью. Также обратите внимание, что никаких пробелов между названиями папок быть не должно, все плотненько и без отступов.
Ничего сложного, правда? Да и получается в разы быстрее, чем посредством GUI-шки клепать кликами мыши нужно число папок. Так что, запоминаем и используем по мере необходимости☝️
👉 DevOps Portal
Вот нужно вам создать несколько папок через терминал Linux. Например, я чаще всего использую для этих целей именно терминал, так как мне это кажется намного быстрее. Создать папку можно простой командой:
mkdir <имя_папки>
Но что делать, если нужно создать за раз, например, пять директорий? Логичным выглядит ввод команды на создание каталога пять раз. Логичным, но крайне неудобным и точно не быстрым. Далее напрашивается использование символа точки с запятой, чтобы выполнить команды в терминале последовательно:
mkdir <имя_папки1>;mkdir <имя_папки2>;mkdir <имя_папки3>;mkdir <имя_папки4>;mkdir <имя_папки5>
Внешне смотрится просто отвратительно да и это, по сути, те же пять команд на создание, просто в одну строку написанные, поэтому тоже не подойдет. Правильным решением будет использование следующего синтаксиса:
mkdir -p {<имя_папки1>,<имя_папки2>,<имя_папки3>,<имя_папки4>,<имя_папки5>}Ключ -p говорит о том, что должны будут создаться все директории, которые указаны в пути до нужно папки. Отлично работает в ситуациях, когда вы решили поиграть со вложенностью. Также обратите внимание, что никаких пробелов между названиями папок быть не должно, все плотненько и без отступов.
Ничего сложного, правда? Да и получается в разы быстрее, чем посредством GUI-шки клепать кликами мыши нужно число папок. Так что, запоминаем и используем по мере необходимости
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35
Прозрачное программное обеспечение: Безопасность цепочек поставок ПО
Авторы знакомят нас с основными векторами атак, такими как мобильные и социальные сети, банковские системы и системы розничной торговли и даже критически важные инфраструктуры, а также с системами защиты, на которые мы все полагаемся.
Вы узнаете, как защититься от угроз, и познакомитесь с практическими рекомендациями как для потребителей, так и для поставщиков ПО. «Прозрачное программное обеспечение» — ценный источник знаний для специалистов по кибербезопасности и безопасности приложений, а также для профессионалов, работающих в области безопасности промышленных систем управления, облачной безопасности, мобильной безопасности, DevOps и DevSecOps.
Автор: Крис Хьюз, Тони Тернер
Год: 2025
📂 Скачать книгу
👉 DevOps Portal | #книги
Авторы знакомят нас с основными векторами атак, такими как мобильные и социальные сети, банковские системы и системы розничной торговли и даже критически важные инфраструктуры, а также с системами защиты, на которые мы все полагаемся.
Вы узнаете, как защититься от угроз, и познакомитесь с практическими рекомендациями как для потребителей, так и для поставщиков ПО. «Прозрачное программное обеспечение» — ценный источник знаний для специалистов по кибербезопасности и безопасности приложений, а также для профессионалов, работающих в области безопасности промышленных систем управления, облачной безопасности, мобильной безопасности, DevOps и DevSecOps.
Автор: Крис Хьюз, Тони Тернер
Год: 2025
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Комбайн для работы с архивами в консоли Linux
При работе с архивами в командной строке Linux есть одно неудобство: у каждой программы-архиватора свой набор ключей, который необходимо помнить, либо постоянно заглядывать в man. Эта проблема легко решается, если использовать утилиту atool, так как с ее помощью вы сможете работать с любым форматом архивов.
1️⃣ Установка atool
Программу можно скачать с официальной страницы, либо установив с помощью пакетного менеджера вашего дистрибутива:
2️⃣ Создание архивов
Для создания архива используется команда:
Создать несколько архивов можно вот так:
3️⃣ Просмотр архивов
Что бы просмотреть содержимое архива введите
4️⃣ Распаковка архивов
Для распаковки архива используется команда
5️⃣ Перепаковка архивов
atool также можно использовать для перепаковки архивов в другой формат. Это делается командой
6️⃣ Сравнение архивов
Сравнить два архива можно командой
7️⃣ Единая команда
Вместо всех этих команд возможно использовать команду atool с соответствующим ключем:
Заключение
Как вы могли увидеть, atool это очень простая и, в то же время, мощная программа. Разобравшись с ней один раз вы больше не будете испытывать проблем с запоминанием ключей для множества консольных архиваторов🎹
👉 DevOps Portal
При работе с архивами в командной строке Linux есть одно неудобство: у каждой программы-архиватора свой набор ключей, который необходимо помнить, либо постоянно заглядывать в man. Эта проблема легко решается, если использовать утилиту atool, так как с ее помощью вы сможете работать с любым форматом архивов.
Программу можно скачать с официальной страницы, либо установив с помощью пакетного менеджера вашего дистрибутива:
sudo apt install atool (Debian/Ubuntu/Linux Mint)
sudo dnf install atool (Fedora)
sudo pacman -S atool (Archlinux)
Для создания архива используется команда:
apack имя_архива.формат [список_файлов]
К примеру, командаapack backup.tgz first second third
создаст в текущей директории архив backup.tgz и запакует в него файлы first, second и third. Причём формат создаваемого архива автоматически определяется из имени.Создать несколько архивов можно вот так:
apack -e -F .tar.gz dir1 dir2 dir3
В этом примере три директории dir будут упакованы в три разных архива. Ключ -e означает выполнять команду отдельно для каждого аргумента, ключ -F указывает формат создаваемых архивов. Подобным образом эти ключи действуют и в других командах, как будет показано ниже.Что бы просмотреть содержимое архива введите
als имя_архива
Просмотреть содержимое нескольких архивов:als -e *.tgz
Что бы вывести на экран содержимое файла, находящегося в архиве, можно использовать командуacat имя_архива имя_файла_в_архиве
Для распаковки архива используется команда
aunpack имя_архива [имя_файла_в_архиве]
Если в архиве содержится всего один файл, то он будет распакован в текущую директорию. Если же файлов несколько, то будет создана директория совпадающая с именем архива и файлы распакуются в неё. Если вам нужно распаковать архив в другую директорию, то можете её указать после ключа -X:aunpack -X /tmp archive.zip
Распаковать несколько архивов можно указав ключ -e:aunpack -e *.tar.gz
atool также можно использовать для перепаковки архивов в другой формат. Это делается командой
arepack старый_архив новый_архив
При этом старый архив не удаляется. Если вам необходимо перепаковать несколько архивов RAR в формат 7Z, то можно использовать следующую командуarepack -F .7z -e *.rar
Сравнить два архива можно командой
adiff архив1 архив2
atool использует программу diff для сравнения файлов.Вместо всех этих команд возможно использовать команду atool с соответствующим ключем:
atool -l вместо als
atool -x вместо aunpack
atool -a вместо apack
atool -c вместо acat
atool -d вместо adiff
atool -r вместо arepack
Возможно, такой вариант кому-то покажется предпочтительным.Заключение
Как вы могли увидеть, atool это очень простая и, в то же время, мощная программа. Разобравшись с ней один раз вы больше не будете испытывать проблем с запоминанием ключей для множества консольных архиваторов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7
Как разделить большой файл на маленькие части и потом их объединить?
Иногда файлы становятся слишком громоздкими, и деление их на удобные кусочки становится необходимостью. Сегодня мы расскажем вам о команде split, которая поможет сделать это быстро и просто.
📂 Как разделить файл на части:
В этой команде:
-
-
-
🧩 Как объединить файлы в один:
📄 Как разбить текстовый файл по строкам:
Если вам нужно разделить текстовый файл, на несколько файлов по количеству строк, то мы можем использовать команду split с опцией -l, которая задает количество строк в каждом файле, на которые мы разбиваем исходный файл.
Мы разделили исходный текстовый файл, на файлы по 1000 строк в каждом. Объединение файлов выполняется также, как описано в предыдущем пункте.
Заключение
Мы рассмотрели простейшие способы разделения файла на несколько частей с использованием командной строки.
Для разделения файлов используется команда split. Для объединения файлов мы использовали команду cat.
Чтобы получить более подробную информацию по команде split, выполните в терминале:
Так что, не бойтесь работать с большими данными в Linux!💪
👉 DevOps Portal
Иногда файлы становятся слишком громоздкими, и деление их на удобные кусочки становится необходимостью. Сегодня мы расскажем вам о команде split, которая поможет сделать это быстро и просто.
split --bytes=1024M file.mkv file.part.
В этой команде:
-
file.mkv — имя вашего большого файла.-
file.part. — префикс для имен файлов-частей (например, file.part.aa, file.part.ab и так далее).-
--bytes=1024M — размер каждой части (здесь мы выбрали 1024 мегабайта).🧩 Как объединить файлы в один:
cat file.part.* > file.mkv
Если вам нужно разделить текстовый файл, на несколько файлов по количеству строк, то мы можем использовать команду split с опцией -l, которая задает количество строк в каждом файле, на которые мы разбиваем исходный файл.
split -l 1000 textfile.txt textfile.part.
Мы разделили исходный текстовый файл, на файлы по 1000 строк в каждом. Объединение файлов выполняется также, как описано в предыдущем пункте.
Заключение
Мы рассмотрели простейшие способы разделения файла на несколько частей с использованием командной строки.
Для разделения файлов используется команда split. Для объединения файлов мы использовали команду cat.
Чтобы получить более подробную информацию по команде split, выполните в терминале:
man split
Так что, не бойтесь работать с большими данными в Linux!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤯1
Привилегированные порты
Привилегированные порты - сетевые порты, номера которых находятся в диапазоне от 0 до 1023. Они так называются, поскольку только процессы, выполняемые с правами root user могут быть привязаны к ним. Обычным пользователям запрещено привязываться к таким портам.
Их концепция основана на безопасности и контроле доступа. Резервируя эти меньшие номера портов для процессов с привилегиями root, операционная система гарантирует, что только авторизованные и доверенные приложения могут прослушивать эти порты, которые обычно связаны с важными сетевыми службами.
Если вы хотите проверить, открыт или закрыт удаленный порт, вы можете использовать команду nmap:
👉 DevOps Portal
Привилегированные порты - сетевые порты, номера которых находятся в диапазоне от 0 до 1023. Они так называются, поскольку только процессы, выполняемые с правами root user могут быть привязаны к ним. Обычным пользователям запрещено привязываться к таким портам.
Их концепция основана на безопасности и контроле доступа. Резервируя эти меньшие номера портов для процессов с привилегиями root, операционная система гарантирует, что только авторизованные и доверенные приложения могут прослушивать эти порты, которые обычно связаны с важными сетевыми службами.
Если вы хотите проверить, открыт или закрыт удаленный порт, вы можете использовать команду nmap:
nmap -p <port_number> <host_or_ip>Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4🤔1
Flatpak - это отличный способ установки и управления приложениями в Linux. Вот пять команд, которые помогут вам мастерски обращаться с Flatpak через терминал:
sudo apt install flatpak # для Ubuntu/Debian
sudo dnf install flatpak # для Fedora
sudo pacman -S flatpak # для Archlinux
При этом, стоит помнить, что большинство современных Linux-дистрибутивов имеют встроенную поддержку Flatpak. К таким относятся, например, Fedora, Manjaro, Linux Mint.
flatpak install название-приложения
Где взять название приложения? Переходим на сайт Flathub и выбираем то, что нужно. После нажатия кнопки Install, появится команда для ввода в терминал (также доступно скачивание установочного пакета, но менеджер приложений вашего дистрибутива должен уметь работать с такими пакетами), где и будет название приложения. Нет желания рыскать по сайтам? Смотрите команду №4.
flatpak update
flatpak search ключевое-слово
flatpak uninstall название-приложения
Если при этом вы забыли опять-таки имя приложения, то можете воспользоваться бонусной командой №6 😏
flatpak list
Эти команды сделают работу с Flatpak в терминале максимально удобной и эффективной
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15😁2🤯1
Пять 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
👉 DevOps Portal | #ресурсы
Подборка общедоступных ресурсов о том, как технологические и технически подкованные организации по всему миру практикуют Site Reliability Engineering (SRE).
Паттерны масштабируемых, надежных и производительных крупномасштабных систем
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. Вопросы для интервью по DevOps
Сборник тестовых вопросов и ответов по Linux Sysadmin. Проверьте свои знания и навыки в различных областях с помощью этих вопросов и ответов.
Составленный список ресурсов по надежности сайта и производственному инжинирингу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤1