Как стать автором
Обновить
75.66

*nix *

Хаб про UNIX-подобные операционные системы

Сначала показывать
Порог рейтинга
Уровень сложности

Вперед в будущее: Wayland против X11

Уровень сложности Средний
Время на прочтение 38 мин
Количество просмотров 7.3K

Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помойку?


Еще в далеком 2016 году вышла Fedora 25 с окружением GNOME 3.22 на базе дисплейного сервера Wayland. А в RHEL 10 выкинут X11 на мороз. Релиз RHEL 10 намечен на 2025 год, CentOS Stream 10 — на 2024 год. Для обеспечения работы приложений, требующих X11, будет использоваться XWayland. Таким образом, в 2029 году (к моменту окончания первого этапа поддержки RHEL 9) стоит ожидать появление первого аппаратного обеспечения, не поддерживающего X11.


И как я думаю — будущее за Wayland. Но пока X11 является стандартом. Давайте разберем это!


Читать дальше →
Всего голосов 41: ↑39 и ↓2 +37
Комментарии 42

Новости

DIY: Ваше собственное облако на базе Kubernetes (часть 1)

Время на прочтение 8 мин
Количество просмотров 11K

Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.

А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современные технологии и подходы, не покидая уютной экосистемы Kubernetes? Нам по опыту разработки Cozystack пришлось с ним как следует разобраться.

Да, вы могли бы возразить что Kubernetes для этого не предназначен и почему бы не использовать OpenStack для Bare Metal-серверов а внутри него запускать Kubernetes как положено. Но поступив так, вы просто переложите ответственность с ваших рук на руки OpenStack администраторов. Что добавит как-минимум ещё одну сложную и неповоротливую систему в вашу экосистему.

Зачем так всё усложнять? - ведь на данный момент Kubernetes уже имеет всё необходимое для запуска Kubernetes кластеров.

Читать далее
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 10

Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.2K

Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера.

Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr.

Файл kernel/console.c содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре.

QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550 управляет портом RS232, который работает с терминалом или другим компьютером.

Драйвер накапливает символы в кольцевом буфере cons.buf. Индекс cons.r указывает на первый символ, который прочтет функция consoleread. Буфер хранит строки символов, а индекс cons.w указывает на начало последней строки, которую еще вводит человек. Индекс cons.e указывает позицию курсора в последней строке для ввода следующего символа.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Поломанные VPN, 2038 год и сертификаты с истёкшим сто лет назад сроком

Время на прочтение 7 мин
Количество просмотров 17K

В конце 2010 года Зимми (псевдоним) работал в ИТ-поддержке компании, разрабатывавшей VPN-устройства и операционную систему для них. В понедельник ему позвонил клиент (розничный продавец продукции из США), рассказавший, что в выходные его VPN-оборудование перестало работать.

После изучения отчёта Зимми решил, что проблема возникла в результате сбоя валидации сертификата, о чём он и написал в недавнем посте в Mastodon.

«VPN-устройства моего работодателя управлялись через центральный сервер. На этом сервере работал собственный центр сертификации (CA), который использовался для подписывания сертификатов всех устройств. Конечные точки VPN использовали их для аутентификации на сервере управления (например, при отправке логов) и друг между другом (в основном для VPN). CA — это фундаментальная часть ПО управления».

Зимми сообщил, что предпочёл бы оставить анонимным себя, компанию и клиента.

Валидация оказывалась ошибочной, потому что система не могла проверить certificate revocation list (CRL) — список цифровых сертификатов, отозванных выпустившим их центром.

«Эти устройства аутентифицировали друг друга при помощи сертификатов, похожих на те, которые применяются для HTTPS, но подписанные частным центром сертификации. У каждого клиента был для этого свой CA. В процессе валидации сертификатов CA проверял, не отозван ли сертификат. Валидацию не удавалось выполнить, потому что VPN-устройство не могло скачать certificate revocation list (CRL), чтобы убедиться, что сертификата другого устройства нет в списке. Почему оно не могло скачать CRL?»
Читать дальше →
Всего голосов 55: ↑54 и ↓1 +53
Комментарии 10

Истории

Xv6: учебная Unix-подобная ОС. Глава 4. Прерывания и системные вызовы

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.1K

Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС.

Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости и сбросе страниц на диск.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Запускаем Steam игры в Proton c поддержкой Native Wayland

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 5.8K

Proton Wayland


Иллюстрации к статье подготовлены нейросетью freepik.com.


В первой части нашей статьи, мы научились собирать Wine с поддержкой Wayland и запустили игру Overwatch 2. Но для большинства геймеров конечно же больший интерес представляет запуск игр Steam, и этот вопрос мы не пройдем стороной. Преимущество нашей сборки Proton будет ещё и в том, что она будет работать напрямую с системными библиотеками и оборудованием, когда обычный Proton и GE Proton Custom загружаются в виртуальном контейнере, подгружают свои библиотеки и драйвера. Тем самым мы получим чуть лучшую производительность и избавимся от еще одного ненужного слоя.


Если вас заинтересовала статья, то добро пожаловать под cut.

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Комментарии 12

Работа с DEB-пакетами

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 4.1K

Данные инструкции написаны для серии статей под названием «Проект юного DevOps»:

Сборка Deb-пакета

Пересборка Deb-пакета

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 12

Управление памятью в Linux

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 11K

Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от процессов, выделение и освобождение блоков памяти, а также обеспечение ее эффективного использования.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 12

Запускаем игры под Wine c поддержкой Native Wayland

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 8K

Wine Wayland


Иллюстрации к статье подготовлены нейросетью freepik.com.


Многие люди на планете играют в видеоигры. Игры помогают улучшить когнитивные способности, провести приятно свободное время. Данная статья посвящена тому, как запустить Windows-игры под Linux в Wayland.


Эта статья могла бы быть: ставим Wine(Proton) и XWayland, запускаем игры, успех, но нет. В данном материале мы будем сами собирать Wine, решать проблемы, а так же наш Wine будет работать напрямую с Wayland композитором без прослойки в виде XWayland. Плюсы такого метода — лучшая производительность и меньше инпут лаг. Благодаря Wine 9.0 это стало возможно, но не все так просто, как может показаться читателю с первого взгляда. Для примера мы запустим игры: Overwatch 2 через Battle.net клиент и Aimbeast, KovaaK's, Apex Legends через Steam.


Если вас заинтересовала статья, то добро пожаловать под cut.

Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Комментарии 56

Xv6: учебная Unix-подобная ОС. Глава 3. Таблицы страниц

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 2.6K

ОС управляет виртуальной памятью с помощью таблиц страниц. Виртуальная память процесса - адресное пространство, защищенное от других процессов. ОС делит память на страницы одинакового размера и отображает страницы виртуальной памяти на страницы физической памяти. Так ОС предоставит процессу непрерывное адресное пространство, даже если страницы физической памяти расположены в другом порядке. Таблица страниц хранит для виртуальной страницы номер соответствующей физической страницы. Каждый процесс владеет личной таблицей страниц.

Глава рассказывает, как xv6 работает с виртуальной памятью и об устройстве виртуальной памяти RISC-V.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 0

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 12K

Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с помощью certbot. О чём и хочу рассказать.

Читать далее
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 27

Потерян и не найден: каталог в Linux и UNIX

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 6.3K


Салют! В этой статье я попытался разобрать назначение и основные сценарии использования директории lost+found в Linux.
Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Комментарии 4

Что будет, если переименовать суперпользователя? Экспериментируем, удивляемся и расстраиваемся…

Время на прочтение 15 мин
Количество просмотров 20K

В интернете много желающих перебирать пароли к SSH, чтобы получить мощности вашего сервера безвозмездно. Как это можно предотвратить? Отключить вход по паролю? Лениво. Использовать нестандартный порт? Не поможет. Поставить fail2ban? Скучно. Переименовать root? Вот это хорошая идея!

На профильных площадках можно встретить вопрос о том, как переименовать суперпользователя, и теоретические ответы с предупреждением о потенциальной деструктивности этого действа. В этой статье я расскажу, что может сломаться в теории и на практике.
Читать дальше →
Всего голосов 84: ↑84 и ↓0 +84
Комментарии 42

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Устройство GPIO-драйверов в Linux

Уровень сложности Средний
Время на прочтение 26 мин
Количество просмотров 4.3K

Рассмотрим, как устроены GPIO-драйверы в Linux, и почему это сделано именно так. Поймем, почему для простого мигания светодиодом в этой операционной системе надо пройти через N слоев абстракции.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 18

Astra Linux Embedded – мифы о продукте и вопросы о тонкостях его лицензирования

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 5.3K

Больше года прошло с момента старта операционной системы для устройств фиксированного функционала Astra Linux Embedded (подробнее про этот продукт мы писали ранее), и за это время родилось изрядное количество "мифов" вокруг этого варианта лицензирования. В живом общении и в комментариях к постам и роликам нам задавали множество вопросов о продукте, и мы решили собрать самые популярные, дать ответы на них, а также развеять распространенные заблуждения.

Ведь "мифы" – это прекрасно, но мы предпочитаем им факты.

Готовы услышать правду? Сейчас мы ее вам откроем!

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 26

RHEL: создание локального репозитория-зеркала для просветленных

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 2.5K

Пришёл ученик к мастеру. И спросил:
— Что вы делали до просветления? Как жили?
Мастер ответил:
— Колол дрова, носил воду, готовил еду.
— А что вы делаете после просветления?  — спросил ученик.
— Колю дрова, ношу воду, готовлю еду,  — ответил мастер.
— А что изменилось?
— Да всё!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 11

Будущее инфраструктуры и безопасности

Время на прочтение 2 мин
Количество просмотров 1.5K

Жизнь – это недетерминированная система, а целью человека, в ней, является сокращение энтропии. В этой статье я просто делюсь своими мыслями о том как должна развиваться отрасль и как уменьшить количество энтропии.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 1

Xv6: учебная Unix-подобная ОС. Инструменты для сборки и запуска xv6 под QEMU

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.6K

Эта инструкция - приложение к книге об учебной ОС xv6.

Xv6 работает на RISC-V. Для сборки кода xv6 и запуска под QEMU понадобятся RISC-V версии инструментов: QEMU 5.1+, GDB 8.3+, GCC, и Binutils.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 4.1K

Операционная система выполняет несколько процессов одновременно. ОС распределяет время работы с ресурсами компьютера между процессами. ОС даст каждому процессу шанс на выполнение, даже если число процессов больше числа процессоров.

ОС изолирует процессы друг от друга так, что ошибка в одном процессе не нарушит работу других.

ОС позволяет процессам взаимодействовать - обмениваться данными и работать совместно.

Глава 2 рассказывает, как xv6 выполняет эти требования, о процессах xv6 и как xv6 запускает первый процесс.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 6

Учимся понимать события подсистемы аудита Linux

Уровень сложности Средний
Время на прочтение 35 мин
Количество просмотров 11K

Приветствую всех любителей изучать новое. Меня зовут Рома, и я занимаюсь исследованием безопасности ОС Linux в экспертной лаборатории PT Expert Security Center.

В рамках инициативы нашей компании по обмену экспертными знаниями с сообществом я расскажу вам об известной многим администраторам системе журналирования в Linux-подобных ОС — подсистеме аудита Linux (auditd). При должной настройке она позволяет получать полную информацию о действиях, выполняемых в операционной системе.

Специалистам по информационной безопасности полезно уметь расшифровывать и обрабатывать события auditd для отслеживания потенциально вредоносной активности. В связи с этим нам потребовалось организовать для них экспертную поддержку в системе мониторинга событий ИБ и управления инцидентами MaxPatrol SIEM.

Подробнее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1

Вклад авторов