Admin Guides | Сисадмин
11.4K subscribers
1.24K photos
19 videos
34 files
558 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
Установка и настройка VNC сервера в CentOS 8

Virtual Network Computing (VNC) — это графическая система общего доступа к рабочему столу, позволяющая удаленно управлять компьютером с помощью клавиатуры и мыши.

В этой статье мы рассмотрим процесс установки и настройки VNC-сервера на CentOS 8, а также подключение к серверу через безопасный SSH-туннель.

Для начала вам потребуется войти в систему CentOS 8 как пользователь с правами sudo.

Часто на серверах нет графической оболочки. Если на вашем сервере она отсутствует, установите её с помощью команды:

sudo dnf groupinstall "Server with GUI"


Это займет некоторое время в зависимости от конфигурации вашей системы.

Установка VNC-сервера

Мы будем использовать TigerVNC, который доступен в стандартных репозиториях CentOS. Для его установки выполните:

sudo dnf install tigervnc-server


После завершения установки создайте начальную конфигурацию и задайте пароль:

vncserver


Вам предложат ввести пароль и решить, использовать ли режим "только для просмотра" (view-only).

Настройка VNC-сервера

Для настройки TigerVNC с Gnome откройте файл ~/.vnc/xstartup и отредактируйте его следующим образом:

vim ~/.vnc/xstartup


#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &


Сохраните изменения. Этот скрипт будет автоматически запускаться при старте или перезапуске сервера VNC.

Создание файла модуля Systemd

Для упрощения управления VNC создайте файл модуля Systemd:

mkdir -p ~/.config/systemd/user
cp /usr/lib/systemd/user/[email protected] ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable vncserver@:1.service --now


Порт дисплея :1 означает, что VNC-сервер будет слушать на порту 5901.

Подключение к серверу

VNC через SSH-туннель
VNC — это небезопасный протокол, поэтому рекомендуется использовать SSH-туннель.

Если вы используете Linux или macOS, создайте туннель командой:

ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip


Замените username и remote_server_ip на своё имя пользователя и IP-адрес сервера. Теперь вы можете подключаться к VNC через клиент, используя адрес 127.0.0.1:5901.
👍10🔥7🥴1
Microsoft представила ИИ-чип Maia 100

Во время конференции Ignite 2023 Microsoft анонсировала свой первый чип-ускоритель ИИ под названием Maia.

На недавнем же мероприятии Hot Chips 2024 были раскрыты спецификации чипа.

Характеристики Maia 100:

• Размер чипа: 820 мм²
• Процесс: TSMC N5 с интерпозером COWOS-S
• Память: 64 ГБ HBM2E, 1,8 ТБ/с
• Производительность: до 3 POPS (6 бит), 1,5 POPS (9 бит), 0,8 POPS (BF16)
• Сеть: 600 ГБ/с Backend BW, 32 ГБ/с PCIe Gen5X8
• Потребление: TDP до 500 Вт

Maia 100 специально разработан для масштабных ИИ-операций в Azure. 


Архитектура SoC включает тензорные блоки, суперскалярный векторный процессор, аппаратные семафоры и поддержку RoCE Ethernet для высокой пропускной способности.

Программное обеспечение:

Maia SDK позволяет переносить модели PyTorch и Triton в Azure, предлагая два способа программирования: через язык Triton или API Maia.

Это обеспечивает разработчикам гибкость и высокую производительность при развёртывании моделей ИИ.
👍13🤣1
Если никто не помнит, когда у меня день рождения, почему это считается плохим паролем?
😁27👍4
4 лучших сканера для поиска уязвимостей в Kubernetes

Kubernetes стал одной из ведущих платформ для управления контейнерами, и обеспечение безопасности этих контейнеров — критически важная задача для организаций.

Хотя Kubernetes предлагает базовые меры безопасности, для полноценной защиты требуется использование сторонних инструментов. Рассмотрим четыре лучших сканера для поиска уязвимостей в Kubernetes.

1️⃣Kube Hunter

Kube Hunter — это мощный инструмент для выявления уязвимостей, разработанный Aqua Security. Он предлагает несколько вариантов сканирования, включая удаленное, чересстрочное и сетевое. Инструмент эффективно идентифицирует большинство уязвимостей в кластерах Kubernetes, обеспечивая более высокий уровень безопасности.

Преимущества:

• Позволяет выбирать между тремя способами использования: установка на машину, запуск в Docker-контейнере или работа в виде пода внутри кластера Kubernetes.
• Обнаруживает и устраняет уязвимости как в кластере, так и в приложениях.

2️⃣ Checkov

Checkov — это инструмент безопасности, ориентированный на предотвращение неправильных настроек облачных инфраструктур во время сборки. Он поддерживает Terraform, Cloudformation, Kubernetes и другие сервисы, что делает его незаменимым в мире Infrastructure-as-Code.

Преимущества:

• Более 500 встроенных политик безопасности.
• Поддержка различных форматов вывода, включая JSON и JUnit XML.
• Легкая интеграция в CI/CD конвейеры, что позволяет оперативно выявлять и устранять проблемы.

3️⃣ Kubei

Kubei предназначен для оценки рисков в кластере Kubernetes. Инструмент, написанный на Go, проводит сканирование всех образов, используемых в кластере, и предоставляет подробную информацию об уязвимостях через графический интерфейс.

Преимущества:

• Охватывает все эталонные тесты CIS для Docker.
• Обеспечивает различные варианты настройки сканирования и уровня уязвимости.
• Предоставляет визуализацию найденных уязвимостей и рекомендации по их устранению.

4️⃣ Kubeaudit

Kubeaudit — это инструмент для аудита безопасности Kubernetes, который помогает находить неправильные настройки в кластере. Написанный на Go, Kubeaudit предлагает рекомендации по устранению проблем и предотвращению распространенных уязвимостей.

Преимущества:

• Три режима аудита: манифест, локальный, кластер.
• Уровни серьёзности результатов: ошибка, предупреждение, информация.
• Встроенные аудиторы проверяют контейнеры, модули и пространства имен на наличие проблем с безопасностью.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Что такое файловый дескриптор? Какая информация там хранится?

Ответ: Файловый дескриптор - неотрицательное целое число, которое используется в интерфейсе между пространством пользователя и пространством ядра (kernel) для идентификации ресурсов файла / сокета.

Когда создаётся новый поток ввода-вывода, ядро возвращает процессу, создавшему поток ввода-вывода, его файловый дескриптор.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔7
Процесс-зомби и процесс-сирота: в чем разница?

В операционных системах семейства UNIX существует два специфических состояния процессов, с которыми могут столкнуться администраторы и разработчики: процесс-зомби и процесс-сирота.

Оба эти состояния связаны с тем, как операционная система управляет завершением и контролем за процессами.

Что такое процесс-зомби?

Процесс-зомби — это дочерний процесс, который завершил своё выполнение, но остаётся в списке процессов операционной системы.

Это происходит для того, чтобы родительский процесс мог считать код завершения дочернего процесса. 


Зомби-процесс не активен, он не выполняет никаких операций, но его запись остаётся в таблице процессов до тех пор, пока родительский процесс не прочтёт его статус завершения.

Особенности процесса-зомби:

Невозможно убить: Зомби-процесс уже завершился, и поэтому его нельзя "убить" стандартными способами. Однако можно завершить или перезапустить родительский процесс, что автоматически приведёт к удалению зомби.
Идентификация зомби: Чтобы найти зомби-процессы, можно использовать команду ps ajx | grep -w Z. В колонке PPID будет указан PID родительского процесса.
Удаление зомби: Для удаления зомби нужно завершить родительский процесс командой kill -9 <PID родительского процесса>.

Что такое процесс-сирота?

Процесс-сирота — это процесс, у которого завершился родительский процесс, оставив его без "опекуна".

Когда родительский процесс завершается, его оставшиеся процессы-сироты передаются на контроль процессу init (с PID 1), который становится их новым родителем.

Особенности процесса-сироты:

Активен: Процесс-сирота продолжает свою работу после завершения родительского процесса и под контролем init.

Идентификация сирот: Процессы-сироты можно обнаружить с помощью утилит top или htop, отслеживая процессы с PPID равным 1.

Использование ресурсов: В отличие от зомби, процессы-сироты продолжают использовать системные ресурсы и могут потреблять значительное количество оперативной памяти и процессорного времени.

Как самостоятельно сделать зомби-процесс?

Создать процесс-зомби можно искусственно, если заставить родительский процесс игнорировать завершение своего дочернего процесса.

В реальной системе это может произойти из-за ошибки в коде или неправильного управления процессами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
Опрос: IT-инфраструктура российских компаний на 75% состоит из зарубежных решений

Согласно результатам опроса, проведенного интегратором «К2Тех» и аудиторско-консалтинговой компанией «Технологии Доверия» (ТеДо), IT-инфраструктура российских компаний в среднем на 75% остается зависимой от зарубежных решений.

Опрос охватил более 100 IT-директоров и руководителей IT-инфраструктуры компаний с годовой выручкой от 2 млрд рублей.

Ключевые выводы

Импортозамещение: В среднем, российские продукты занимают лишь 25% в IT-инфраструктуре компаний-респондентов.

Госсектор лидирует: В государственных организациях 43% IT-инфраструктуры составляют отечественные решения.

Промышленность и ТЭК: Эти сектора смогли заместить 31% своих IT-решений на отечественные продукты.

Ретейл и АПК: В этих отраслях на российские решения пришлось только 21%, преимущественно в сегменте системного ПО.

Сложности вендорозамещения

По словам опрошенных, замена западных IT-решений на отечественные затруднена тем, что инфраструктура строилась десятилетиями на основе западных технологий.

В результате переход на новые решения может занять годы.

Только 7% компаний находятся на финальной стадии перехода на отечественные продукты, а 25% компаний еще только внедряют новые решения.

Переход на китайские решения

30% респондентов сообщили о внедрении китайских продуктов в свою IT-инфраструктуру, особенно в сферах телекоммуникаций, транспорта и логистики.

Проблемы с отечественными решениями

77% респондентов сталкивались с трудностями при использовании новых продуктов, а 40% отметили, что функциональность отечественных решений не соответствует заявленным возможностям или уступает западным аналогам.

Специалист также указывает на отставание российских систем хранения данных и полное отсутствие отечественных ленточных библиотек, что вынуждает заказчиков обращаться к азиатским продуктам или к решениям, поставляемым параллельным импортом.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13👍7🤔2
Это просто невозможно! 🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30👍2😭1
Arduino vs Raspberry Pi – что выбрать?

Одноплатные компьютеры стали невероятно популярными благодаря их применению в разработке и обучении.

Эти компактные устройства, обладая микропроцессором, памятью и интерфейсами ввода-вывода, могут выполнять функции полноценного компьютера.

Среди одноплатных компьютеров Arduino и Raspberry Pi занимают лидирующие позиции. Оба устройства популярны среди студентов, инженеров и любителей, но выбрать между ними непросто.

В этом посте мы рассмотрим их основные различия, чтобы помочь вам сделать правильный выбор для вашего проекта.


💬Raspberry Pi — это мини-компьютер размером с кредитную карту, который включает в себя оперативную память, процессор и графический модуль.

Он может работать под управлением различных операционных систем, включая специализированную версию Linux. Разработанный для обучения информатике, Raspberry Pi быстро стал популярным инструментом для создания роботов, медиаплееров и других сложных проектов.

💬Arduino — это одноплатный микроконтроллер с тремя основными компонентами: аппаратной платформой, языком программирования Arduino и интегрированной средой разработки (IDE).

В отличие от Raspberry Pi, Arduino не работает под управлением операционной системы. Основное предназначение платы — взаимодействие с внешними устройствами и датчиками, что делает ее идеальной для простых проектов.

Сравнение

Кривая обучения: Arduino проще в освоении, особенно для новичков, благодаря низкому барьеру для входа. Raspberry Pi требует больше знаний в области Unix/Linux, но предлагает более широкие возможности для опытных пользователей.

Простота использования: Arduino легко взаимодействует с датчиками и другими компонентами с минимальными затратами времени на настройку. Raspberry Pi, обладая большей функциональностью, требует больше времени и усилий для настройки простых задач.

Языки программирования: Raspberry Pi поддерживает широкий спектр языков программирования, включая Python, JavaScript и C++. Arduino использует свой язык, схожий с C++, что делает его подходящим для менее сложных проектов.

Сетевые возможности: Raspberry Pi обладает встроенными модулями для подключения к сети через Ethernet, Wi-Fi и Bluetooth. Arduino требует дополнительных модулей для сетевого подключения, что может усложнить проект.

Скорость процессора: Raspberry Pi значительно превосходит Arduino по скорости процессора и объему оперативной памяти. Однако для задач, не требующих высокой производительности, Arduino будет более чем достаточно.

Потребляемая мощность: Arduino потребляет меньше энергии и может работать от батареек, что делает его идеальным для автономных проектов. Raspberry Pi требует постоянного источника питания, но предлагает большую вычислительную мощность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😁1🤔1🤨1
Microsoft выпустила Windows 11 24H2 для ПК без Copilot+

Microsoft начала развертывать обновление Windows 11 версии 24H2 для ПК без функции Copilot+. 


Пользователи могут протестировать сборку 26100.863 (обновление KB5039239) на таких системах, если производители уже предустановили эту версию.

Основные изменения:

Исправлена проблема с максимальной громкостью Bluetooth-устройств.
Решена ошибка с BattlEye на устройствах Arm64.
Copilot теперь закреплен на панели задач как приложение.
Обновление командной строки WMIC: FoD по умолчанию отключено для новых установок, но включено при обновлении до 24H2.
File Explorer теперь помечает файлы из ненадежных источников, что влияет на временные метки.

Как отметил Брэндон Леблан из Windows Insider Program, ПК без Copilot+ могут получать регулярные обновления после чистой установки 24H2.

Однако устройства на версии 23H2 пока не могут обновиться до 24H2.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Команда fstrim в Linux

Команда fstrim предназначена для оптимизации производительности SSD и других типов хранилищ, поддерживающих функцию TRIM.

Она позволяет освобождать неиспользуемые блоки данных на диске, что помогает продлить срок службы SSD и поддерживать его производительность на высоком уровне.

Основные функции fstrim

Тримминг файловой системы:

sudo fstrim /


Эта команда выполняет TRIM для файловой системы, смонтированной в корневом каталоге (/). Это освободит неиспользуемые блоки данных, что улучшит общую производительность SSD.

Тримминг конкретного раздела:

sudo fstrim /mnt/data


Замените /mnt/data на точку монтирования нужного раздела. Это освободит неиспользуемые блоки в указанном разделе.

Тримминг всех доступных файловых систем:

sudo fstrim --all


Выполнит TRIM для всех файловых систем, поддерживающих эту операцию, которые подключены к системе.

Зачем использовать fstrim

Улучшение производительности: Регулярное выполнение TRIM помогает поддерживать скорость работы SSD на оптимальном уровне.
Увеличение срока службы: Помогает равномерно распределять записи данных по ячейкам SSD, что может продлить его срок службы.
Управление свободным пространством: Снижает фрагментацию и повышает эффективность использования дискового пространства.

Инструмент fstrim обычно используется в качестве части регулярного обслуживания системы, чтобы обеспечить стабильную и быструю работу SSD.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔11👍61
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Какие состояния процессов существуют? Что значит состояние процесса D?

Ответ: R (running or runnable) - Выполняется или готов к выполнению
D (uninterruptible sleep) - Ожидает записи на диск
S (interruptible sleep) - Неактивен (< 20 s)
T (stopped by job control signal) - Остановлен или трассируется отладчиком
Z (zombie) - зомби
W (paging (not valid since the 2.6.xx kernel)) - Процесс выгружен на диск
< - Процесс имеет повышенный приоритет nice
N - Процесс имеет пониженный приоритет nice
L (locked) - Некоторые страницы блокированы в ядре
s - Процесс является лидеров сеанса
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔25👍101
Релиз композитного сервера Weston 14.0

В начале сентября 2024 года состоялся релиз композитного сервера Weston 14.0. 


Этот проект содействует развитию поддержки протокола Wayland в пользовательских окружениях, таких как Enlightenment, GNOME, KDE и других.

Разработка Weston направлена на предоставление качественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, включая автомобильные системы, смартфоны и телевизоры.

Код проекта распространяется под лицензией MIT.

Основные изменения в Weston 14.0:

Поддержка аппаратного наложения графических элементов в бэкенде DRM, добавлен режим атомарного асинхронного переключения между буферами.
Настройка 'mirror-of' для зеркалирования вывода.
Поддержка DmaBuf в бэкенде Pipewire.
Клиент simple-egl получил поддержку просвечивающих поверхностей с 16-битным цветом и сжатие поверхностей.
Поддержка FreeRDP 3.x в бэкенде RDP.
В бэкенде VNC возможность отключения TLS и аутентификация по паролю.
Поддержка color-management и ограничение области перемещения указателя в libweston.
Поддержка захвата OpenGL ES 3 и OpenGL ES 2 в асинхронном режиме, а также изменение цвета объектов в gl-renderer.
👍10🔥1
7 полезных команд в Linux

Рассмотрим еще 7 команд для эффективной работы в системе Linux.

tracepath — отображает маршрут по сетевым узлам с MTU (сокр. от «Maximum Transmission Unit»).

unalias — удаление псевдонима.

unexpand — преобразует каждый пробел в табуляцию, записывая результат в стандартный вывод.

xargs — преобразует входные данные, полученные от стандартного ввода, в аргументы команды.

yppasswd  изменение пароля базы данных NIS.

zipcloack  зашифровать .zip-файл.

zipsplit — объединение нескольких .zip-файлов.
Please open Telegram to view this post
VIEW IN TELEGRAM
💊8👍4🔥4🤨1
😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27😁5👍3
Установка пакетов с зависимостями

Иногда при установке пакета возникают проблемы с зависимостями.

В таких случаях рекомендуется использовать утилиту yum или dnf, которые автоматически решают зависимые пакеты.

Однако, если хочешь использовать только RPM, ты можешь скачать все нужные зависимости вручную.

Для установки пакета с зависимостями:

sudo rpm -ivh --aid some-package.rpm

Флаг --aid (auto-install dependencies) пытается автоматически установить необходимые зависимости, если они найдены на системе.

Переустановка пакета

Бывает, что установленный пакет по каким-то причинам повреждён. В этом случае можно выполнить его переустановку:

sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm

Команда переустановит уже имеющийся на системе пакет, что может помочь восстановить файлы, если они были удалены или повреждены.

Верификация пакетов

Иногда бывает полезно убедиться, что установленные на системе файлы не были изменены с момента их установки. Для этого используется команда верификации:

sudo rpm -V GeoIP

Вывод команды может содержать символы, показывающие изменения, например:

5 — контрольная сумма изменилась,
S — изменился размер файла,
T — изменена временная метка,
M — изменённые права доступа,
U — изменён владелец файла,
G — изменена группа файла,
L — файл является символической ссылкой.

Получение информации о пакетах

Если ты хочешь получить полную информацию о каком-либо пакете, включая его описание, размер, номер версии и дату создания, можешь воспользоваться командой:

sudo rpm -qi GeoIP

Эта команда также выдаст информацию о поставщике пакета и дистрибьюторе.

Просмотр зависимостей пакета

Если хочешь узнать, какие зависимости имеет конкретный пакет, это можно сделать с помощью команды:

sudo rpm -qR GeoIP

Команда выведет список всех библиотек и пакетов, от которых зависит данный пакет для своей работы.

Экспорт списка установленных пакетов

Может возникнуть ситуация, когда нужно сделать резервную копию списка всех установленных на системе пакетов. Для этого можно выполнить команду:

sudo rpm -qa > installed_packages_list.txt

Файл installed_packages_list.txt будет содержать все установленные пакеты, что полезно для последующей переустановки системы или миграции.

Удаление пакета с сохранением конфигурационных файлов

Если необходимо удалить пакет, но при этом сохранить все его конфигурационные файлы, используется команда:

sudo rpm -e --nodeps --justdb GeoIP

Опция --justdb удаляет пакет только из базы данных RPM, оставляя его файлы нетронутыми.

Запрос данных о файле

Если нужно узнать, к какому пакету принадлежит конкретный файл, используется команда:

sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0

Это особенно полезно, если ты пытаешься выяснить происхождение файла в системе, который уже присутствует, но не знаешь, каким образом он был установлен.

Сравнение версий пакетов

Если нужно узнать, какая версия пакета установлена, и сравнить её с другой версией, можно использовать команду:

sudo rpmdev-vercmp 1.5.0-11.el7 1.6.0-12.el8


rpmdev-vercmp сравнивает две версии пакетов и выводит, какая из них новее. Это полезно для ручного управления версиями пакетов.
👍30👎1
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: В чем разница между объявлением переменной export VAR="VALUE" и VAR="VALUE" в bash?

Ответ: При объявлении переменной через export - переменная будет доступна в любых других процессах, при обычном объявлении переменной - переменная будет доступна только в запущенном процессе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31