Дистрибутив Gentoo Linux
Gentoo — это свободная операционная система на базе Linux, разрабатываемая с 1992 года.
Благодаря тому, что пакеты с программным обеспечением собираются из исходных кодов непосредственно на компьютере пользователя, система может быть автоматически оптимизирована и настроена практически под любое аппаратное обеспечение или задачу.
Сердцем Gentoo является portage — мощная и гибкая система настройки и распространения программного обеспечения (менеджер пакетов), которая выполняет многие ключевые функции.
Например, устанавливая новое программное обеспечение, portage автоматически создаст пользовательскую версию пакета, оптимизированного конкретно под целевое оборудование, гарантируя, что в пакете не будет ненужного, обременяющего ваш компьютер функционала.
Благодаря portage, Gentoo может стать идеальным защищенным сервером, рабочей станцией разработчика, встроенным решением или чем-то еще, что вы пожелаете.
Также стоит отметить дистрибутивы Sabayon Linux и Calculate Linux, созданные на основе Gentoo:
⏺ Sabayon Linux — это выпущенный в конце 2005 года на основе Gentoo Linux дистрибутив, ориентирующийся, прежде всего на начинающих пользователей.
Как заявляют разработчики Sabayon, их дистрибутив следует философии «всё должно работать прямо из коробки», стремясь при этом предоставить пользователю большое количество, в отличие от Gentoo с её исходниками, уже готовых к использованию приложений, сохраняя возможность оптимизировать пакеты с ПО под себя.
⏺ Calculate Linux поддерживает оптимальный баланс между новейшими версиями программного обеспечения и безупречной работой системы, обеспечивая пользователя последними версиями приложений и стабильными версиями библиотек.
Как правило, применение Calculate Linux подразумевает использование его вместе с Calculate Directory Server — службой каталогов, обеспечивающую централизованную и управляемую установку программного обеспечения, хранения почты, файлов, перемещение профилей пользователей и т.п.
Поскольку Calculate Linux является rolling-release дистрибутивом (т.е. дистрибутивом с непрерывным циклом обновления), вы устанавливаете систему один раз и далее только лишь обновляете её в течение всего срока службы вашего оборудования.
Gentoo — это свободная операционная система на базе Linux, разрабатываемая с 1992 года.
Благодаря тому, что пакеты с программным обеспечением собираются из исходных кодов непосредственно на компьютере пользователя, система может быть автоматически оптимизирована и настроена практически под любое аппаратное обеспечение или задачу.
Сердцем Gentoo является portage — мощная и гибкая система настройки и распространения программного обеспечения (менеджер пакетов), которая выполняет многие ключевые функции.
Например, устанавливая новое программное обеспечение, portage автоматически создаст пользовательскую версию пакета, оптимизированного конкретно под целевое оборудование, гарантируя, что в пакете не будет ненужного, обременяющего ваш компьютер функционала.
Благодаря portage, Gentoo может стать идеальным защищенным сервером, рабочей станцией разработчика, встроенным решением или чем-то еще, что вы пожелаете.
Из-за его почти неограниченной адаптивности, Gentoo часто называют метадистрибутивом.
Также стоит отметить дистрибутивы Sabayon Linux и Calculate Linux, созданные на основе Gentoo:
Как заявляют разработчики Sabayon, их дистрибутив следует философии «всё должно работать прямо из коробки», стремясь при этом предоставить пользователю большое количество, в отличие от Gentoo с её исходниками, уже готовых к использованию приложений, сохраняя возможность оптимизировать пакеты с ПО под себя.
Как правило, применение Calculate Linux подразумевает использование его вместе с Calculate Directory Server — службой каталогов, обеспечивающую централизованную и управляемую установку программного обеспечения, хранения почты, файлов, перемещение профилей пользователей и т.п.
Поскольку Calculate Linux является rolling-release дистрибутивом (т.е. дистрибутивом с непрерывным циклом обновления), вы устанавливаете систему один раз и далее только лишь обновляете её в течение всего срока службы вашего оборудования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Существуют три различных типах ветвления (branching) – ветвление задачи, функции и релиза.
• Ветвление задачи включает в себя каждую задачу в различных ветвях, с ключами задач в названии ветви.
• Ветвление функции хранит изменения и модификации внутри ветви. Когда работа с этой функцией завершена, ветвь, содержащая эту функцию, объединяется (merge) с мастер файлом.
• Наконец, ветвление релиза позволяет вам клонировать ветвь, чтобы при её релизе, вы всё равно могли вносить изменение в клонированную версию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7
Какая команда в Windows используется для просмотра и изменения настроек системного журнала?
Anonymous Quiz
51%
eventvwr
19%
logman
7%
wevtutil
23%
regedit
👍14❤1👎1
Как в Bash прочитать ввод пользователя в переменную?
Давайте разберем, как сделать так, чтобы скрипт Bash показывал приглашение командной строки, куда пользователь может ввести данные, которые будут присвоены переменной для дальнейшего использования в скрипте.
⏺ Ввод данных с помощью команды read
Чтобы попросить пользователя ввести данные, можно использовать команду read с опцией -p, которая позволяет вывести приглашение перед вводом:
В этих строках введенные значения будут присвоены переменным $fullname и $user.
Другой вариант использования команды read без опции -p:
Помните, что при дальнейшем использовании имена переменных нужно заключать в двойные кавычки.
Это необходимо для корректной обработки специальных символов, переносов строк или пробелов, которые могут присутствовать в строке:
⏺ Проверка пользовательского ввода
Пример конструкции, в которой проверяется пользовательский ввод. Если введено что-либо иное кроме y или yes (в любом регистре), скрипт завершится:
⏺ Ввод данных с использованием zenity
Если вам нужно графическое окно для ввода данных, попробуйте zenity.
Эта утилита может быть удобна в скриптах, где требуется взаимодействие с пользователем через графический интерфейс:
В этом примере будет показано следующее окно для ввода данных, а введенные данные будут присвоены переменной $user.
🔥 Таким образом, команда read и утилита zenity предоставляют удобные способы запроса и получения данных от пользователя для использования в скриптах Bash.
Давайте разберем, как сделать так, чтобы скрипт Bash показывал приглашение командной строки, куда пользователь может ввести данные, которые будут присвоены переменной для дальнейшего использования в скрипте.
Чтобы попросить пользователя ввести данные, можно использовать команду read с опцией -p, которая позволяет вывести приглашение перед вводом:
read -p "Введите полное имя: " fullname
read -p "Введите желаемое имя пользователя в системе: " user
В этих строках введенные значения будут присвоены переменным $fullname и $user.
Другой вариант использования команды read без опции -p:
echo -n "Введите полное имя: "
read fullname
Помните, что при дальнейшем использовании имена переменных нужно заключать в двойные кавычки.
Это необходимо для корректной обработки специальных символов, переносов строк или пробелов, которые могут присутствовать в строке:
passwd "$user"
mkdir "$home"
chown "$user:$group" "$home"
Пример конструкции, в которой проверяется пользовательский ввод. Если введено что-либо иное кроме y или yes (в любом регистре), скрипт завершится:
read -p "Продолжить? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1
Если вам нужно графическое окно для ввода данных, попробуйте zenity.
Эта утилита может быть удобна в скриптах, где требуется взаимодействие с пользователем через графический интерфейс:
user=$(zenity --entry --text 'Пожалуйста, введите имя пользователя:') || exit 1
В этом примере будет показано следующее окно для ввода данных, а введенные данные будут присвоены переменной $user.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍8🤣1
В Linux может появиться «чёрный экран смерти» при Kernel Panic
В новых версиях ядра Linux может появиться «чёрный экран смерти» при возникновении фатальной ошибки Kernel Panic.
Инженер Red Hat Хавьер Мартинес Канильяс, участвовавший в создании новой инфраструктуры DRM Panic, показал, что такая фатальная ошибка может стать «чёрным экраном смерти».
Проблема возникла после жалоб пользователей и разработчиков на то, что текущая реализация BSOD в Linux при DRM Kernel Panic в ядре Linux 6.10+ слишком похожа на аналогичную ошибку в Microsoft Windows.
В конце концов, Linux — это проект с открытым исходным кодом, и его можно настроить по своему усмотрению.
⚡️ Хавьер опубликовал свой пример Linux с «чёрным экраном смерти» на примере DRM Kernel Panic на небольшом дисплее SSD1306, который можно доработать для ПК и ноутбуков.
В новых версиях ядра Linux может появиться «чёрный экран смерти» при возникновении фатальной ошибки Kernel Panic.
Некоторым пользователям Linux не понравился недавно вышедший вариант BSOD («синий экран смерти») в Linux.
Инженер Red Hat Хавьер Мартинес Канильяс, участвовавший в создании новой инфраструктуры DRM Panic, показал, что такая фатальная ошибка может стать «чёрным экраном смерти».
Проблема возникла после жалоб пользователей и разработчиков на то, что текущая реализация BSOD в Linux при DRM Kernel Panic в ядре Linux 6.10+ слишком похожа на аналогичную ошибку в Microsoft Windows.
Хавьер предложил вариант «чёрного экрана смерти» для тех разработчиков, кому такой подход будет более приемлем.
В конце концов, Linux — это проект с открытым исходным кодом, и его можно настроить по своему усмотрению.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3😁1😱1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Если клиента она «устраивает», то соединение продолжается и после того как сервер передаст свой публичный ключ и клиент сохранит его в файле '~/.ssh/known_hosts' мы получим подсказку ssh.
Да, и такие вопросы тоже бывают😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣12👍11😐4🔥2😁2
Эффективное управление с помощью Microsoft Endpoint Configuration Manager (SCCM)
SCCM — мощный инструмент для управления ИТ-инфраструктурой, позволяющий централизованно администрировать конфигурации, развертывать программное обеспечение и обновления, а также проводить инвентаризацию оборудования и ПО.
⏺ Автоматизация развертывания операционных систем
SCCM позволяет автоматизировать процесс развертывания ОС на новых и существующих устройствах, что значительно сокращает время и усилия, затрачиваемые на настройку рабочих станций.
Основные шаги включают создание и настройку последовательностей задач (Task Sequences), импорт и подготовку образов операционных систем, а также настройку PXE- или USB-boot для автоматического развертывания.
⏺ Управление патчами и обновлениями
SCCM предоставляет возможности для автоматического управления обновлениями операционных систем и приложений, что помогает поддерживать ИТ-инфраструктуру в актуальном и безопасном состоянии.
Для управления обновлениями необходимо настроить WSUS (Windows Server Update Services) и его интеграцию с SCCM, создать автоматические правила развертывания (ADR) и мониторить статус развертывания.
⏺ Инвентаризация оборудования и программного обеспечения
SCCM автоматически собирает данные о всех устройствах и установленном на них ПО, что позволяет администраторам получать подробные отчеты и проводить аудит ИТ-активов.
Сбор данных осуществляется с помощью встроенных агентов, после чего можно настроить и запускать регулярные отчеты для анализа данных инвентаризации.
⏺ Управление мобильными устройствами
SCCM предоставляет инструменты для управления мобильными устройствами, включая смартфоны и планшеты, что помогает обеспечивать безопасность и управление корпоративными данными на мобильных платформах.
Возможности включают развертывание мобильных приложений, настройку политик безопасности и соответствия, а также удаленное управление и сброс данных на утерянных или украденных устройствах.
⏺ Мониторинг и отчетность
SCCM включает в себя мощные инструменты мониторинга и создания отчетов, что позволяет администраторам отслеживать состояние системы, выявлять проблемы и принимать обоснованные решения.
Настройка и использование встроенных отчетов, создание кастомных отчетов с использованием SQL Server Reporting Services (SSRS), а также настройка оповещений и уведомлений о событиях и инцидентах обеспечивают высокий уровень контроля и мониторинга всех аспектов ИТ-инфраструктуры.
SCCM — мощный инструмент для управления ИТ-инфраструктурой, позволяющий централизованно администрировать конфигурации, развертывать программное обеспечение и обновления, а также проводить инвентаризацию оборудования и ПО.
Тут мы рассмотрим основные возможности SCCM и методы их эффективного использования.
SCCM позволяет автоматизировать процесс развертывания ОС на новых и существующих устройствах, что значительно сокращает время и усилия, затрачиваемые на настройку рабочих станций.
Основные шаги включают создание и настройку последовательностей задач (Task Sequences), импорт и подготовку образов операционных систем, а также настройку PXE- или USB-boot для автоматического развертывания.
# Пример создания последовательности задач с использованием PowerShell
New-CMTaskSequence -Name "Deploy Windows 10" -BootImageID "XYZ0001" -OperatingSystemImageID "XYZ0002"
SCCM предоставляет возможности для автоматического управления обновлениями операционных систем и приложений, что помогает поддерживать ИТ-инфраструктуру в актуальном и безопасном состоянии.
Для управления обновлениями необходимо настроить WSUS (Windows Server Update Services) и его интеграцию с SCCM, создать автоматические правила развертывания (ADR) и мониторить статус развертывания.
# Пример создания ADR с использованием PowerShell
New-CMAutoDeploymentRule -Name "Monthly Security Updates" -DeploymentTemplateID "XYZ0003" -UpdateClassification "SecurityUpdates"
SCCM автоматически собирает данные о всех устройствах и установленном на них ПО, что позволяет администраторам получать подробные отчеты и проводить аудит ИТ-активов.
Сбор данных осуществляется с помощью встроенных агентов, после чего можно настроить и запускать регулярные отчеты для анализа данных инвентаризации.
# Пример запроса данных об установленном ПО с использованием PowerShell
Get-CMSoftwareInventory -ResourceID "XYZ0004"
SCCM предоставляет инструменты для управления мобильными устройствами, включая смартфоны и планшеты, что помогает обеспечивать безопасность и управление корпоративными данными на мобильных платформах.
Возможности включают развертывание мобильных приложений, настройку политик безопасности и соответствия, а также удаленное управление и сброс данных на утерянных или украденных устройствах.
SCCM включает в себя мощные инструменты мониторинга и создания отчетов, что позволяет администраторам отслеживать состояние системы, выявлять проблемы и принимать обоснованные решения.
Настройка и использование встроенных отчетов, создание кастомных отчетов с использованием SQL Server Reporting Services (SSRS), а также настройка оповещений и уведомлений о событиях и инцидентах обеспечивают высокий уровень контроля и мониторинга всех аспектов ИТ-инфраструктуры.
# Пример создания отчета с использованием PowerShell
New-CMReport -Name "Installed Software Report" -SQLQuery "SELECT * FROM v_Add_Remove_Programs"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔2
sed - потоковый редактор Linux
Он часто используется для автоматизации текстовых операций, таких как поиск, замена и редактирование строк в файлах.
В отличие от обычных текстовых редакторов, sed позволяет обрабатывать текстовые данные без необходимости их открытия в редакторе, что делает его идеальным для сценариев автоматизации.
Основные возможности sed
Замена текста
sed позволяет заменять текстовые строки в файлах или потоках данных.
Удаление строк
С помощью sed можно удалять строки, соответствующие определенным шаблонам.
Вставка текста
sed позволяет вставлять новые строки перед или после строк, соответствующих определенным шаблонам.
Извлечение строк
sed может извлекать определенные строки из файла.
Примеры использования
Замена текста во всем файле:
Удаление строк с определенным шаблоном:
Вставка текста перед и после строки:
Замена текста только в определенных строках:
Использование скрипта sed:
sed (Stream Editor) — это мощный и гибкий инструмент для обработки и преобразования текста в потоковом режиме.
Он часто используется для автоматизации текстовых операций, таких как поиск, замена и редактирование строк в файлах.
В отличие от обычных текстовых редакторов, sed позволяет обрабатывать текстовые данные без необходимости их открытия в редакторе, что делает его идеальным для сценариев автоматизации.
Основные возможности sed
Замена текста
sed позволяет заменять текстовые строки в файлах или потоках данных.
# Замена 'old_text' на 'new_text' во всех строках файла
sed 's/old_text/new_text/g' input.txt
Удаление строк
С помощью sed можно удалять строки, соответствующие определенным шаблонам.
# Удаление строк, содержащих 'text_to_delete'
sed '/text_to_delete/d' input.txt
Вставка текста
sed позволяет вставлять новые строки перед или после строк, соответствующих определенным шаблонам.
# Вставка 'new_text' после строк, содержащих 'pattern'
sed '/pattern/a\new_text' input.txt
Извлечение строк
sed может извлекать определенные строки из файла.
# Извлечение строк с 1 по 10
sed -n '1,10p' input.txt
Примеры использования
Замена текста во всем файле:
# Заменяет 'foo' на 'bar' в файле input.txt и сохраняет результат в output.txt
sed 's/foo/bar/g' input.txt > output.txt
Удаление строк с определенным шаблоном:
# Удаляет все строки, содержащие 'delete_me' из input.txt
sed '/delete_me/d' input.txt
Вставка текста перед и после строки:
# Вставляет 'before_text' перед строками, содержащими 'pattern'
sed '/pattern/i\before_text' input.txt
# Вставляет 'after_text' после строк, содержащих 'pattern'
sed '/pattern/a\after_text' input.txt
Замена текста только в определенных строках:
# Заменяет 'foo' на 'bar' только в строках с 5 по 10
sed '5,10s/foo/bar/g' input.txt
Использование скрипта sed:
# Создание скрипта 'noscript.sed'
echo 's/foo/bar/g' > noscript.sed
echo '/delete_me/d' >> noscript.sed
# Применение скрипта к файлу
sed -f noscript.sed input.txt
👍26🔥7
Ушёл из жизни Ларри Фингер, разработчик драйверов Wi-Fi для Linux
С 2005 года он входил в сообщество разработчиков ядра Linux, и именно благодаря его труду беспроводные технологии в Linux стали стабильными и получили оперативную поддержку.
⏺ Ларри Фингер первоначально работал над драйвером Broadcom BCM43XX и внёс значительный вклад в разработку драйверов Wi-Fi для Linux, таких как RTW88, RTW89, R8188EU, R8712, RTLWIFI и B43.
Его работа позволила значительно улучшить поддержку беспроводного оборудования в Linux, избавив пользователей от проблем с драйверами, которые были распространены в прошлом.
Фингер был активным участником сообщества разработчиков ядра, внесший 1464 коммита в 94 выпусках ядра Linux, начиная с версии 2.6.16 в 2006 году.
🔥 Это впечатляющее достижение для человека, не имевшего формального компьютерного образования.
21 июня 2024 года на 85-м году жизни скончался Ларри Фингер, учёный и разработчик драйверов для беспроводной сети в Linux.
С 2005 года он входил в сообщество разработчиков ядра Linux, и именно благодаря его труду беспроводные технологии в Linux стали стабильными и получили оперативную поддержку.
Его работа позволила значительно улучшить поддержку беспроводного оборудования в Linux, избавив пользователей от проблем с драйверами, которые были распространены в прошлом.
Фингер был активным участником сообщества разработчиков ядра, внесший 1464 коммита в 94 выпусках ядра Linux, начиная с версии 2.6.16 в 2006 году.
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡67😢15🙏3😭2❤1
Как в Linux изменить login shell (оболочку входа в систему). Инструкция по команде chsh
Для чего нужен login shell
Login shell (оболочка входа) обрабатывает файлы запуска, которые должны обрабатываться только один раз за сеанс входа, и защищает сеанс от нежелательных взаимодействий с некоторыми функциями системы.
Выход из login shell прерывает все задания и защищает сеанс от приостановки работы.
Как узнать, какие оболочки установлены в системе
Чтобы изменить оболочку по умолчанию для пользователя, нужно знать доступные оболочки и их правильные названия. Один из способов узнать это — команда:
В этом файле собраны пути к действующим оболочкам входа. Он просматривается программой chsh и доступен для запроса другими программами.
Программы, такие как демоны FTP, обращаются к этому файлу, чтобы определить, является ли пользователь обычным.
Программа для смены оболочки пользователя — chsh
Команда chsh изменяет оболочку входа пользователя на постоянной основе. Если оболочка не указана в командной строке, chsh запросит её.
Синтаксис команды:
В качестве ОБОЛОЧКИ укажите одну из оболочек, перечисленных в файле /etc/shells. Команда chsh примет полный путь к любому исполняемому файлу в системе.
Временное изменение оболочки
Если вы временно хотите изменить оболочку, просто установите её и запустите. Примеры команд для запуска различных оболочек:
Смена оболочки с помощью usermod
Утилита usermod с опцией -s меняет оболочку указанного пользователя.
Например, чтобы назначить пользователю root оболочку Bash, используйте команду:
Чтобы назначить пользователю root оболочку ZSH:
Эти команды помогут вам легко изменить login shell в Linux.
Особенности оболочки входа
Особенности оболочки входа, по крайней мере, реализованной в Bash, заключаются в следующем:
⏺ Оболочка входа в систему обрабатывает команды из /etc/profile, затем первый файл, который она находит среди ~/.bash_profile, ~/.bash_login и ~/.profile (если только это не интерактивная оболочка входа, запущенная без параметра —login).
⏺ При выходе из оболочки входа выполняется logout вместо exit.
⏺ Выход из оболочки входа в систему прерывает все задания.
⏺ Оболочку входа нельзя приостановить.
⏺ Оболочка входа устанавливает переменную HOME (кроме POSIX-корректного режима).
⏺ Оболочка входа устанавливает параметр оболочки login_shell.
Для чего нужен login shell
Login shell (оболочка входа) обрабатывает файлы запуска, которые должны обрабатываться только один раз за сеанс входа, и защищает сеанс от нежелательных взаимодействий с некоторыми функциями системы.
В частности, login shell обрабатывает команды из /etc/profile, затем первый файл среди ~/.bash_profile, ~/.bash_login и ~/.profile.
Выход из login shell прерывает все задания и защищает сеанс от приостановки работы.
Как узнать, какие оболочки установлены в системе
Чтобы изменить оболочку по умолчанию для пользователя, нужно знать доступные оболочки и их правильные названия. Один из способов узнать это — команда:
cat /etc/shells
В этом файле собраны пути к действующим оболочкам входа. Он просматривается программой chsh и доступен для запроса другими программами.
Программы, такие как демоны FTP, обращаются к этому файлу, чтобы определить, является ли пользователь обычным.
Программа для смены оболочки пользователя — chsh
Команда chsh изменяет оболочку входа пользователя на постоянной основе. Если оболочка не указана в командной строке, chsh запросит её.
Синтаксис команды:
sudo chsh -s ОБОЛОЧКА
В качестве ОБОЛОЧКИ укажите одну из оболочек, перечисленных в файле /etc/shells. Команда chsh примет полный путь к любому исполняемому файлу в системе.
Временное изменение оболочки
Если вы временно хотите изменить оболочку, просто установите её и запустите. Примеры команд для запуска различных оболочек:
sh
bash
pwsh
dash
zsh
Смена оболочки с помощью usermod
Утилита usermod с опцией -s меняет оболочку указанного пользователя.
Например, чтобы назначить пользователю root оболочку Bash, используйте команду:
sudo usermod -s /usr/bin/bash root
Чтобы назначить пользователю root оболочку ZSH:
sudo usermod -s /usr/bin/zsh root
Эти команды помогут вам легко изменить login shell в Linux.
Особенности оболочки входа
Особенности оболочки входа, по крайней мере, реализованной в Bash, заключаются в следующем:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Что делает команда crictl в Kubernetes?
Anonymous Quiz
27%
Управляет контейнерами и подами
13%
Настраивает параметры сетевого взаимодействия
35%
Проверяет статус узлов кластера
25%
Мониторит производительность контейнеров
🤔13👍3
Компоненты дистрибутива Linux
1️⃣ Ядро Linux
Ядро — это сердце любой операционной системы. Первое публичное ядро Linux было выпущено Линусом Торвальдсом в 1991 году.
С тех пор тысячи добровольцев и компаний работали над его развитием. Ядро Linux используется в большинстве современных устройств, от смартфонов на Android до автомобилей.
2️⃣ Утилиты GNU
Проект GNU, начатый Ричардом Столлманом в 1980-х годах, создавал утилиты для свободной операционной системы, подобной UNIX.
В 1991 году Линус Торвальдс создал ядро Linux и использовал утилиты GNU для создания полной операционной системы.
Проект GNU включает в себя командную оболочку bash, компиляторы GNU, загрузчик GRUB, архиватор gzip, текстовый редактор Nano и другие программы.
3️⃣ Загрузчик GRUB
GRUB загружает ядро операционной системы и другие необходимые компоненты после нажатия кнопки питания.
4️⃣ Командная оболочка bash
Bash — это интерфейс командной строки, позволяющий управлять компьютером с помощью команд.
Он поддерживает запуск скриптов, которые автоматизируют выполнение команд.
5️⃣ Демоны
Демоны — это фоновые процессы, контролирующие различные подсистемы ОС, такие как печать и сеть.
Самым известным демоном является systemd, который управляет всеми другими процессами системы и запускается первым после загрузки ядра.
6️⃣ Менеджер пакетов
Программы представлены в виде пакетов, которые можно установить через командную строку или графический интерфейс.
Разные дистрибутивы используют разные менеджеры пакетов: apt для Ubuntu, dnf для Fedora, zypper для openSUSE и pacman для Arch Linux.
7️⃣ Дисплейный сервер
Дисплейный сервер отображает графический интерфейс на экране. Наиболее известным дисплейным сервером для Linux является X.Org Server.
Новый протокол Wayland разрабатывается для улучшения безопасности и производительности.
8️⃣ Окружение рабочего стола
Окружение рабочего стола включает значки, окна, панели и другие элементы графического интерфейса. Популярные окружения для Linux — GNOME и KDE.
9️⃣ Дисплейный менеджер
Дисплейный менеджер отображает экран приветствия и запускает сеансы рабочего стола. Например, GDM используется в GNOME, а SDDM — в KDE.
1️⃣ 0️⃣ Пользовательские приложения
Эти приложения загружаются из репозиториев, специфичных для каждого дистрибутива.
☄️ Эти компоненты вместе образуют функциональную операционную систему Linux, обеспечивая её работу и взаимодействие с пользователем.
Ядро — это сердце любой операционной системы. Первое публичное ядро Linux было выпущено Линусом Торвальдсом в 1991 году.
С тех пор тысячи добровольцев и компаний работали над его развитием. Ядро Linux используется в большинстве современных устройств, от смартфонов на Android до автомобилей.
Оно связывает программное и аппаратное обеспечение, распределяет системные ресурсы и запускает процессы.
Проект GNU, начатый Ричардом Столлманом в 1980-х годах, создавал утилиты для свободной операционной системы, подобной UNIX.
В 1991 году Линус Торвальдс создал ядро Linux и использовал утилиты GNU для создания полной операционной системы.
Проект GNU включает в себя командную оболочку bash, компиляторы GNU, загрузчик GRUB, архиватор gzip, текстовый редактор Nano и другие программы.
GRUB загружает ядро операционной системы и другие необходимые компоненты после нажатия кнопки питания.
Если у вас установлено несколько ОС, GRUB позволяет выбрать нужную. Он используется в большинстве дистрибутивов Linux.
Bash — это интерфейс командной строки, позволяющий управлять компьютером с помощью команд.
Он поддерживает запуск скриптов, которые автоматизируют выполнение команд.
Демоны — это фоновые процессы, контролирующие различные подсистемы ОС, такие как печать и сеть.
Самым известным демоном является systemd, который управляет всеми другими процессами системы и запускается первым после загрузки ядра.
Менеджер пакетов управляет установкой, удалением и обновлением программного обеспечения.
Программы представлены в виде пакетов, которые можно установить через командную строку или графический интерфейс.
Разные дистрибутивы используют разные менеджеры пакетов: apt для Ubuntu, dnf для Fedora, zypper для openSUSE и pacman для Arch Linux.
Дисплейный сервер отображает графический интерфейс на экране. Наиболее известным дисплейным сервером для Linux является X.Org Server.
Новый протокол Wayland разрабатывается для улучшения безопасности и производительности.
Окружение рабочего стола включает значки, окна, панели и другие элементы графического интерфейса. Популярные окружения для Linux — GNOME и KDE.
Дисплейный менеджер отображает экран приветствия и запускает сеансы рабочего стола. Например, GDM используется в GNOME, а SDDM — в KDE.
Это программы, которые вы используете ежедневно, такие как браузер Firefox, офисный пакет LibreOffice и медиаплеер VLC.
Эти приложения загружаются из репозиториев, специфичных для каждого дистрибутива.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34❤3👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.У использования автоматического тестирования в рабочем процессе существует довольно много преимуществ. Давайте назовём только лишь самые основные.
• Как упоминалось ранее, ошибки случаются гораздо реже.
• Оно сохраняет время и деньги.
• Позволяет проводить более масштабные тесты, которые могли занять долгое время при ручном тестировании.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎7🤯3🔥1
Юниты systemd
Если описать systemd в общих чертах, то это система управления юнитами.
Помимо сервисов, существуют другие типы юнитов, такие как сокеты, монтирование и другие.
Чтобы отобразить список всех доступных юнитов, введите systemctl -t help:
Основное преимущество работы с systemd по сравнению с предыдущими методами, используемыми для управления сервисами, заключается в том, что он обеспечивает единый интерфейс для запуска юнитов. Этот интерфейс определен в файле юнита.
⏺
⏺
⏺
Юнит-файлы пользовательских юнитов по аналогии хранятся в директориях /etc/systemd/<имя пользователя>, /run/sustemd/<имя пользователя> и /usr/lib/systemd/<имя пользователя>.
Юнит-файл на примере vsftpd
Из этого примера юнит-файла видно, что его относительно легко понять.
Любой файл сервисного юнита systemd состоит из трех секций. (В других файл-юнитах могут быть другие секции, но эти три присутствуют во всех юнит-файлах.)
⏺ [Unit]: Описывает юнит и определяет зависимости. Эта секция также содержит важный оператор After и, опционально, оператор Before. Эти операторы определяют зависимости между различными юнитами.
⏺ [Service]: Эта секция описывает, как запустить и остановить сервис и запросить статус установки.
⏺ [Install]: Описывает целевые юниты, которые должны включать данный юнит.
Пример файла-юнита типа mount
Файл tmp.unit показывает интересную дополнительную информацию.
В секции [Unit] виден оператор Conflicts, который указывает, что этот юнит не может использоваться совместно с юнитом umount.target.
Секция [Mount] определяет, что и где надо монтировать.
Юнит socket
Сокет создает метод для приложений, чтобы общаться друг с другом.
Некоторые сервисы создают свои собственные сокеты при запуске, в то время как другим сервисам нужен файл-юнит сокетов для создания сокетов для них. Пример файла сокета:
Понимание целевых юнитов
Юнит-файлы используются для создания функциональности, необходимой на вашем сервере.
Чтобы можно было загружать их в правильном порядке и в нужный момент, используется определенный тип юнитов: целевой юнит.
Простое определение целевого юнита - это «группа юнитов».
Целевой юнит определяет зависимости и порядок загрузки.
В секции [Install] он может быть определен как default.target, чтобы сервер запускался по умолчанию в этот целевой юнит.
Понимание Wants
Want в systemd определяет, какие юниты он хочет при запуске определенной цели. Want создаются путем создания символической ссылки в каталоге
🔥 Во второй части статьи о systemd разберемся, как управлять юнитами, зависимостями и целями.
Если описать systemd в общих чертах, то это система управления юнитами.
Юнитами могут быть много вещей. Одним из наиболее важных типов юнитов является сервис.
Помимо сервисов, существуют другие типы юнитов, такие как сокеты, монтирование и другие.
Чтобы отобразить список всех доступных юнитов, введите systemctl -t help:
[root@server2 ~]# systemctl -t help
Available unit types:
service
socket
busname
target
snapshot
device
mount
automount
swap
timer
path
slice
scope
Основное преимущество работы с systemd по сравнению с предыдущими методами, используемыми для управления сервисами, заключается в том, что он обеспечивает единый интерфейс для запуска юнитов. Этот интерфейс определен в файле юнита.
/usr/lib/systemd/system: системные юнит-файлы. Это юниты из установленных пакетов RPM — всякие nginx, apache, mysql и прочее./etc/systemd/system: юниты, созданные нами, то есть админами. Переопределяют значения юнит-файлов по умолчанию./run/systemd/system: runtime-юниты, которые генерируются автоматически.Юнит-файлы пользовательских юнитов по аналогии хранятся в директориях /etc/systemd/<имя пользователя>, /run/sustemd/<имя пользователя> и /usr/lib/systemd/<имя пользователя>.
Юнит-файл на примере vsftpd
[Unit]
Denoscription=Vsftpd ftp daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[Install]
WantedBy=multi-user.target
Из этого примера юнит-файла видно, что его относительно легко понять.
Любой файл сервисного юнита systemd состоит из трех секций. (В других файл-юнитах могут быть другие секции, но эти три присутствуют во всех юнит-файлах.)
Пример файла-юнита типа mount
[Unit]
Denoscription=Temporary Directory
Documentation=man:hier(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/
APIFileSystems
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime
[Install]
WantedBy=local-fs.target
Файл tmp.unit показывает интересную дополнительную информацию.
В секции [Unit] виден оператор Conflicts, который указывает, что этот юнит не может использоваться совместно с юнитом umount.target.
Секция [Mount] определяет, что и где надо монтировать.
Юнит socket
Сокет создает метод для приложений, чтобы общаться друг с другом.
Некоторые сервисы создают свои собственные сокеты при запуске, в то время как другим сервисам нужен файл-юнит сокетов для создания сокетов для них. Пример файла сокета:
[root@server202 system]# cat virtlockd.socket
[Unit]
Denoscription=Virtual machine lock manager socket
[Socket]
ListenStream=/var/run/libvirt/virtlockd-sock
[Install]
WantedBy=multi-user.target
Понимание целевых юнитов
Юнит-файлы используются для создания функциональности, необходимой на вашем сервере.
Чтобы можно было загружать их в правильном порядке и в нужный момент, используется определенный тип юнитов: целевой юнит.
Простое определение целевого юнита - это «группа юнитов».
[root@server2 system]# cat multi-user.target
[Unit]
Denoscription=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes
Целевой юнит определяет зависимости и порядок загрузки.
В секции [Install] он может быть определен как default.target, чтобы сервер запускался по умолчанию в этот целевой юнит.
Понимание Wants
Want в systemd определяет, какие юниты он хочет при запуске определенной цели. Want создаются путем создания символической ссылки в каталоге
/etc/systemd/system.Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤2🔥2👎1
Энтузиаст подключил Windows XP к интернету: через пару минут ОС заразилась вирусами
Как легко подцепить вирус в 2024 году, используя Windows XP?
Блогер Эрик Паркер продемонстрировал в своём видео, что достаточно оставить систему подключённой к сети всего на несколько минут, и диспетчер задач уже показывает признаки вирусной активности.
⏺ Паркер отключил брандмауэр на Windows XP для большей наглядности, но даже с включённым брандмауэром, пакет безопасности, не обновлявшийся десятилетиями, едва ли справился бы с современными угрозами.
После короткого сеанса работы в сети, Эрик установил бесплатный антивирус Malwarebytes, который обнаружил восемь вирусов-троянов, программы для удалённого доступа, изменяющие настройки DNS, и рекламное ПО.
Кроме того, он обнаружил неизвестную учётную запись «admina», что указывало на попытки удалённого подключения к компьютеру через FTP.
Аналогичный эксперимент с Windows 2000 дал ещё более удручающие результаты.
В течение нескольких минут после подключения к интернету, когда все порты, включая SMB, были открыты, вирусы проникли в систему и привели к «синему экрану смерти».
Таким образом, использование устаревших операционных систем в наше время крайне не рекомендуется.
😉 А если ваш руководитель не желает обновляться на современные ОС, покажите ему эти видео.
Как легко подцепить вирус в 2024 году, используя Windows XP?
Оказывается, даже простое подключение этой ОС к интернету подвергает её огромной опасности.
Блогер Эрик Паркер продемонстрировал в своём видео, что достаточно оставить систему подключённой к сети всего на несколько минут, и диспетчер задач уже показывает признаки вирусной активности.
После короткого сеанса работы в сети, Эрик установил бесплатный антивирус Malwarebytes, который обнаружил восемь вирусов-троянов, программы для удалённого доступа, изменяющие настройки DNS, и рекламное ПО.
Кроме того, он обнаружил неизвестную учётную запись «admina», что указывало на попытки удалённого подключения к компьютеру через FTP.
Аналогичный эксперимент с Windows 2000 дал ещё более удручающие результаты.
В течение нескольких минут после подключения к интернету, когда все порты, включая SMB, были открыты, вирусы проникли в систему и привели к «синему экрану смерти».
Таким образом, использование устаревших операционных систем в наше время крайне не рекомендуется.
Если вы ностальгируете по старым версиям Windows, лучше ограничиться их обоями.
😉 А если ваш руководитель не желает обновляться на современные ОС, покажите ему эти видео.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32👎12🦄4❤1🔥1
Юниты systemd. Часть 2
Первая часть тут
Управление юнитами через systemd
Для управления юнитами используется команда systemctl. Например, установим пакет php-fpm:
Запускаем сервис:
Проверяем статус:
Чтобы сервис запускался при загрузке системы:
Используя команду systemctl status, вы можете увидеть состояния юнитов:
⏺ Loaded: Юнит-файл обработан и юнит активен
⏺ Active (running): Сервис запущен
⏺ Inactive: Сервис не запущен
⏺ Enabled: Будет запущен при загрузке системы
Команды для управления юнитами
Управление зависимостями
Юниты systemd могут иметь зависимости. Чтобы узнать зависимости юнита:
Для просмотра юнитов, которые зависят от указанного юнита:
Изолирующие цели
Некоторые цели в systemd можно изолировать, что позволяет запускать систему в определённом состоянии.
Примеры целей:
•
•
•
•
•
Для изоляции цели:
⚡️ Таким образом, вы можете управлять юнитами, зависимостями и целями в systemd, используя команды systemctl.
Первая часть тут
Управление юнитами через systemd
Для управления юнитами используется команда systemctl. Например, установим пакет php-fpm:
[root@server2]# yum install -y php-fpm.x86_64
Запускаем сервис:
systemctl start php-fpm
Проверяем статус:
[root@server2 system]# systemctl status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-08-15 14:19:59 +10; 46s ago
Чтобы сервис запускался при загрузке системы:
[root@server2 system]# systemctl enable php-fpm.service
Используя команду systemctl status, вы можете увидеть состояния юнитов:
Команды для управления юнитами
systemctl --type=service # Показать только сервисные юниты
systemctl list-units --type=service --all # Показать все сервисные юниты
systemctl --failed --type=service # Показать все сервисы, которые не удалось запустить
systemctl status -l <имя_сервиса> # Показать детальную информацию о сервисе
Управление зависимостями
Юниты systemd могут иметь зависимости. Чтобы узнать зависимости юнита:
[root@server2 system]# systemctl list-dependencies php-fpm
Для просмотра юнитов, которые зависят от указанного юнита:
[root@server2 system]# systemctl list-dependencies --reverse sshd
Изолирующие цели
Некоторые цели в systemd можно изолировать, что позволяет запускать систему в определённом состоянии.
Примеры целей:
•
poweroff.target: уровень запуска 0•
rescue.target: уровень запуска 1•
multi-user.target: уровень запуска 3•
graphical.target: уровень запуска 5•
reboot.target: уровень запуска 6Для изоляции цели:
[root@server2 system]# systemctl isolate rescue.target
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤1