Все потоки
Поиск
Написать публикацию
Обновить
226.85

Linux *

Пишем под *nix

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

Что лучше: дистрибутив Linux в яблочном стиле или нормальный хакинтош?

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

Дистрибутив Trenta OS для публичного тестирования обещают выпустить в начале 2021 года

На вкус и цвет товарищей нет, но некоторым нравится интерфейс macOS. При этом они не хотят погружаться в закрытую экосистему, где Apple может запретить любую программу на компьютере, отслеживая запуск каждого бинарника: хэши отправляются в Apple в реальном времени. Разумеется, для нашей безопасности.

Конечно, большинство пользователей Apple благодарны за такую заботу, но некоторые считают её неуместной.

Выход есть: свободная и универсальная система Linux поддерживает любой GUI, в том числе «яблочный». Есть особые дистрибутивы с интерфейсом в стиле macOS или iOS — специально для пользователей с повышенными эстетическими запросами. И для тех, кто стремится вырваться из «огороженного сада» Apple, не теряя при этом чувство прекрасного.

Локализация своих скриптов на BASH, часть 2

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

Это продолжение статьи Локализация своих скриптов на BASH. В ней мы используя массивы и косвенные ссылки, научились добавлять в свои скрипты дополнительные языки и переключаться между ними.

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

Читать далее

Цветочные новости: разработчики ОС Fuchsia добавят поддержку запуска немодифицированных Linux-программ

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

Несмотря на то, что новостей про ОС Fuchsia немного, проект продолжает развиваться, и очень активно. Доказательство — сообщение от разработчиков о своих планах реализовать механизм для запуска немодифицированных программ, которые собраны для Linux.

Основывается этот механизм на специальной «прослойке», которая получила название starnix. Именно она обеспечивает совместимость с ABI Linux.
Читать дальше →

Go, локдаун и новый MPD-клиент — встречайте Ymuse

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

Уже лет десять моим основным медиаплеером на компьютере является MPD, Music Player Daemon — фоновый сервис, воспроизводящий музыку.


Чтобы с этим сервисом как-то взаимодействовать, нужна программа-клиент. Таких программ существует не один десяток, но до недавнего времени я никак не мог найти ту, которая меня бы полностью устраивала — поэтому в один прекрасный день я решил написать свою (тут и локдаун кстати подвернулся).


Предлагаю вашему вниманию краткий обзор (сравнительно) нового MPD-клиента для Linux/GTK под названием Ymuse, версию 0.16 которого я недавно выпустил.

Читать дальше →

Разработка универсального счетчика импульсов

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

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

Читать далее

Почему линукс использует swap-файл, часть 2

Время на прочтение7 мин
Количество просмотров24K
Первая часть маленького «срывания покрова» о работе подсистемы виртуальной памяти, связи механизмов mmap, разделяемых библиотек и кэшей вызвало такое бурное обсуждение, что я не смог удержаться от того, чтобы не продолжить исследование на практике

Поэтому, сегодня мы сделаем… Крошечную лабораторную работу. В виде крошечной же программы на C, которую мы напишем, скомпилируем и проверим в деле — со свапом и без свапа.

Читать дальше →

Пишем панельный менеджер для сертификатов на linux shell

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

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

Возможно я бы собрался силой воли, помучился бы недельку, сделал бы все стандартными однострочниками+notepad+excel, но тут внезапно у меня случился больничный отпуск, а когда температура меня попустила, а на работу еще можно было не выходить. И я случайно вспомнил, что считаю себя спецом по bash.

И пусть я не хватаю лавры автора PIUPIU, но тем не менее встречайте:

35+ кбайт двух-панельного keystore manager на Linux shell

Читать далее

Локализация своих скриптов на BASH

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

Создание меню на BASH — задача сама по себе не сложная: "case тебе в руки и echo в спину". Решая её в очередной раз, мне захотелось добавить возможность отображать текст на других языках. Осталось решить, как сделать сам процесс локализации меню более удобным. Если оно большое, то решение "в лоб" превратит его в громоздкую копипасту. Здесь я хотел бы поделиться тем, как решил эту проблему для себя. Надеюсь, для кого то это будет небезынтересным.



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


Примечание:

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


Мне не хотелось бы разбивать скрипт на несколько частей и хранить локализацию в отдельных файлах. Скрипт тем и удобен, что его проще использовать одним файлом. Поэтому тексты будем хранить в массивах.


Реализация будет состоять из:


  • буквенного кода языка
  • массива слов
  • преобразователя косвенных ссылок для обращения к массиву
  • обращения к элементам массива
  • создания меню

Теперь рассмотрим подробнее

Читать дальше →

Выявляем опечатки в проекте GTK 4 с помощью PVS-Studio

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

0793_GTK_4_continue_ru/image1.png


Возможно, вы уже читали недавнюю статью о процессе первого запуска PVS-Studio на примере проекта GTK 4 и о первичной фильтрации предупреждений. Теперь пришло время поработать с полученным отчётом более подробно. И как уже догадались наши постоянные читатели, предлагаю вашему вниманию статью с описанием найденных в коде ошибок.

Читать дальше →

Как я SCADA-систему на Linux переводил

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

В этой статье я бы хотел рассказать о том, что Windows проекты на Delphi возможно перевести на Linux в разумные сроки и с разумными трудозатратами. Что такое SCADA-система, рассказывать не буду, а перейду сразу к делу.

Runtime ядро SCADA работает под Windows в качестве сервиса. Функции стандартные «как у всех»: сбор, обработка, архивирование данных, передача данных в другие SCADA-системы по стандартным протоколам обмена. Визуализация только через Web. Runtime ядро SCADA написано на Delphi. Решено было адаптировать исходный код под  FreePascal/Lazarus, так чтобы код под Windows компилировался и в FreePascal и в Delphi, вторым этапом было допиливание проекта непосредственно на Linux машине и переделка его в демон. В FreePascal привлекала возможность компиляции как для x64, так и для плат Raspberry pi (архитектуры ARMv7, ARM64 (aarch64)).

Конфигуратор работает под Windows в виде графического приложения. Пока решено не переводить его на Linux, в крайнем случае можно запустить под Wine.

Теперь перейдем к Runtime и будем говорить о нём. В нём применяются разнообразные компоненты:

Читать далее

Результат интеграции Pine A64 и TRS-80 Model 100

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


В этой статье подводятся итоги установки компонентов одноплатного компьютера Pine A64 LTS SBC в корпус старинного компьютера TRS-80 Model 100. При этом подключается дополнительный дисплей, задействуется аппаратная клавиатура, и в целом в старое устройство вдохнули новую жизнь. Этому проекту было посвящено несколько статей, так что в случае интереса к материалу вашему вниманию будет предоставлен и их перевод. (прим.)
Читать дальше →

Немного о производительности снапшотов QEMU

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

В нашем грустном и печальном коронавирусном мире очень хочется смотреть на все таким же печальным взглядом. Ну и вот, так случилось, что приходит к нам с жалобой ооочень важный клиент. И говорит: “А у вас молоко убежало! Ваши снапшоты виртуальных машин работают ну очень медленно и печально.” В этом посте мы рассказываем, как наша команда справлялась с этой неприятностью.

Читать далее

Сегодня большинство Windows-игр отлично запускаются под Linux. Спасибо, Proton

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

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

10 декабря 2020 года состоялся релиз долгожданной игры Cyberpunk 2077, а за день до этого вышла новая версия Proton 5.13-4 с поддержкой Cyberpunk 2077. То есть пользователи Linux смогли играть в Cyberpunk 2077 с первого же дня. Это наглядный пример, насколько великолепная ситуация сейчас с поддержкой игр на Linux-десктопах.

Если вам говорят, что Linux — отличная платформа для игр, то это уже не преувеличение! За такое положение вещей мы должны благодарить Proton.

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

Перехват и обработка событий в файловой системе Linux

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

В предыдущей статье мы рассмотрели сборку и установку пакета на Linux системах, в которой упомянули про Linux Kernel Module (LKM) и обещали раскрыть позднее подробности о пути к нему и его создании. Ну что ж, настало его время. LKM – мы выбираем тебя.

Читать далее

Опубликован стабильный релиз самодостаточных пакетов Flatpak 1.10.0

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

Отличные новости в понедельник, %username%. На днях была опубликована стабильная ветка инструментария Flatpak 1.10. Она предназначена для сборки самодостаточных пакетов, которые не привязаны к конкретным дистрибутивам Linux и выполняются в специальном контейнере, изолирующем приложение от системы.

Flatpack-пакеты гарантированно работают для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux и Ubuntu. Они также входят в репозиторий Fedora и поддерживаются штатным софтом управления приложениями GNOME. Под катом — подробнее о новинке и ее возможностях.
Читать дальше →

Вышел Wine 6.0: что нового?

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

С момента выхода Wine 5.0 прошел целый год, и разработчики представили стабильный релиз Wine 6.0. Обновлений много, всего в новой версии Wine более 8300 изменений. Главное, что стоит отметить, — поставка базовых модулей Wine в формате PE, бэкенд на основе графического API Vulkan для WineD3D, обновленная текстовая консоль, появление поддержки DirectShow и фреймворка Media Foundation.

На данный момент официально подтверждена нормальная работа 5049 Windows-приложений. С дополнительной настройкой Wine 6.0 позволяет запускать еще 4227 приложений. Работа некоторых из них нестабильна, но, в целом, под Wine работает гораздо больше 10 тысяч Windows-программ.
Читать дальше →

Быстрый туториал по установке и эксплуатации системы фильтрации IP-адресов CrowdSec v.1.0.x

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

Всем привет! Перед Новым годом мы выпустили большой апдейт нашего продукта — CrowdSec v.1.0.X, в котором содержатся значительные изменения по сравнению с предыдущей версией. Самое главное: был введен в эксплуатацию локальный REST API и проведены соответствующие архитектурные изменения. Как следствие, значительно упростился процесс создания баунсеров и повышена их устойчивость, при этом снизилось время на обслуживание системы. 

В этой статье вы найдете основные материалы о том, как был переделан CrowdSec и, в целом, ее можно рассматривать как User Guide для тех, кто собирается попробовать наш продукт на своих системах. 

Быстрый и приятный туториал далее

Alma, но не Mater: встречайте AlmaLinux, «наследника» CentOS 8

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

CloudLinux заявила, что в продолжение дистрибутива CentOS 8 будет создан новый под названием AlmaLinux. Компания заменила первоначальное придуманное название, чтобы уйти от несколько каламбурного Lenix: Lenix Linux выглядело не очень читаемо.
Читать дальше →

Давайте напишем командную оболочку Linux

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

Всем привет!

Хочу поделиться своим опытом написания собственной командной оболочки Linux используя Posix API. Усаживайтесь поудобнее.

Что должен уметь наша командная оболочка?

1. Запуск процессов в foreground и background режиме

2. Завершение background процессов

3. Поддержка перемещения по директориям

Читать далее

Микрохирургия ELF'а или «А что, так можно было?!»

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

Разбираемся в устройстве PE и рождественских ELF'ов, реверс-инжинирим runtime-библиотеку, портируем ассемблерный код, собираем и редактируем исполняемые файлы и периодически спрашиваем себя "А так можно было?".

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

Но обо всём по порядку

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