Обновить
256K+

Linux *

Пишем под *nix

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

Автоматизированные бэкапы postgresql

Время на прочтение3 мин
Охват и читатели37K

Всем привет! Я бы сказал что эта статья cookbok по которому можно создать простое и эффективное решение для создания бэкапов базы данных.

Казалось бы довольно очевидная задача но тем не менее когда я хотел её решить столкнулся с множеством проблем. Готовые бесплатные решения в большинстве своем направленны на управления кластерами или не поддерживаются на ARM-машинах.

В ходе исследования был собран следующий рецепт с помощью которого можно делать бэкапы и получать уведомления по почте, вам даже не понадобиться свой smtp достаточно gmail-аккаунта.

Узнать как

Выводим программных роботов на третью космическую скорость, или RPA в Linux

Время на прочтение6 мин
Охват и читатели4.1K

Программные роботы (RPA) с каждым годом всё больше проникают в IT-инфраструктуру компаний, а доля роботизированных процессов в бизнесе постоянно растет. Чтобы поддерживать увеличивающееся количество автоматизированных процессов организациям необходимы дополнительные вычислительные ресурсы, а значит и дополнительные расходы на инфраструктуру и лицензии ПО. 

Многие профессиональные RPA-разработчики уже давно мечтают о том, чтобы роботов можно было запускать не только под управлением платной требовательной к ресурсам Windows, но и под бесплатной нетребовательной Linux. В этой статье знакомим читателей с возможностью разработки кроссплатформенных процессов с использованием UiPath и подробно разбираем преимущества от использования Linux-роботов.

Статья написана при поддержке технического эксперта UiPath: Валентина Драздова.

Читать далее

Создание уведомлений и напоминаний на рабочем столе из Linux терминала

Время на прочтение5 мин
Охват и читатели18K

Иногда полезно получить визуальную обратную связь от скрипта. Хотя настольные приложения могут делать это с помощью всплывающих уведомлений, это также можно сделать из скрипта! Посмотрим как.

Читать далее

Файл-сервер на Raspberry Pi как домашний NAS

Время на прочтение5 мин
Охват и читатели105K

Одноплатные мини-компьютеры подходят для совершенно разных полезных применений: блокировки рекламы во всём трафике (Pi-hole), управления умным домом или печати на стареньком принтере в кладовке по Wi-Fi. Но практически идеальный вариант использования — в качестве файл-сервера с подключением внешнего SSD или HDD. Это может быть и домашний хостинг, и даже колокейшн в настоящем дата-центре.

Мы уже рассказывали про создание собственного веб-сервера на Andoid, а также про хостинг файлов в ДНК.

Теперь посмотрим, какие есть разработки под Linux:
Читать дальше →

Генераторы случайных чисел в разных ОС

Время на прочтение8 мин
Охват и читатели22K

"Генерация случайных чисел слишком важна, чтобы оставлять ее на волю случая" - Роберт Р. Кавью

Как-то поздним летним вечером мне пришлось разобраться, как устроены генераторы случайных чисел в Windows и Linux. Собственно, в этой статье я попробую привести саккумулированную информацию, и преподнести её максимально простыми словами, без необходимости лезть в исходники, туториалы и статьи.

Читать далее >>>

Углубленное знакомство с пространствами имен Linux. Часть 2

Время на прочтение19 мин
Охват и читатели28K


В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.
Читать дальше →

Линукс-порт Far Manager: что нового за 2021

Время на прочтение4 мин
Охват и читатели28K

Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.

Буфер обмена в консольной версии

Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).

И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.

Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.

Читать далее

Embedded Linux. Отладка ядра

Время на прочтение5 мин
Охват и читатели11K

В предыдущих статьях описано, как мы учились дебажить загрузчик u-boot: 1, 2. С ядром все оказалось сложнее. Например, выяснилось, что ядро Linux в принице невозможно скомпилировать с отключенной оптимизацией (-O0). В статье описывается как нам все таки удалось запустить ядро на микропроцессоре ARM в режиме пошаговой отладки.

Читать далее

Углубленное знакомство с пространствами имен Linux. Часть 1

Время на прочтение19 мин
Охват и читатели43K

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

Работа с квалифицированными сертификатами в свете новой редакции Приказа №795 ФСБ РФ от 21.01.2021. Часть II

Время на прочтение5 мин
Охват и читатели6.2K
imageПосле опубликования статьи, посвящённой требованиям Приказа №795 ФСБ России в редакции от 29 января 2021 года, меня не покидало чувство её незавершённости. Это чувство было связано с тем, что в статье ни слова не было сказано про утилиту CAFL63, которая позволяет разворачивать удостоверяющие центры. И естественным является то, что её тоже необходимо привести в соответствие с новыми требованиями.
Читать дальше →

Настраиваем любой Linux под себя одной командой

Время на прочтение5 мин
Охват и читатели31K

Иногда приходится настраивать различные *unix системы: персональные компьютеры, VPS, Raspberry Pi и так далее. Но когда их становится много, настраивать их становится всё сложнее и сложнее. Поэтому хочется автоматизировать этот процесс. В данной статье я расскажу, как я решил подобную проблему, расскажу про некоторые существующие решения, а также покажу магию bash!

Читать далее

Настройка VSCode для программирования AVR в Linux

Время на прочтение9 мин
Охват и читатели17K

Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллерари AVR и получить удобную навигацию по коду, приятную подсветку синтаксиса и прочие рабости, которые даёт VSCode. Это даст желающим возможность перейти от экосистемы Arduino к прямой работе с процессорами.

Читать далее

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Время на прочтение8 мин
Охват и читатели75K

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

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

Читать далее

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

IO_URING. Часть 1. Введение

Время на прочтение13 мин
Охват и читатели52K

Всем привет! Наверное, многие уже слышали о новом интерфейсе ядра Linux — io_uring. Это новый способ работы с асинхронным I/O (и не только) в Linux. Кстати, новый он не только из-за даты выхода в свет, но и в плане подходов, которые предлагает разработчику.

Заинтересовало? Более подробно разберемся под катом.

Читать далее

Использование git pw клиента для patchwork

Время на прочтение4 мин
Охват и читатели1.4K

При bleeding edge разработке или просто в рамках экспериментов, приходиться добавлять патчи прямиком из maillists.

Скачивать серию вручную и сохранять в mbox можно действительно озвереть, даже не смотря на то, что можно спокойно выделить патчи (например в mutt) по одному и сохранить всю пачку (ключевое слово здесь спокойно).

Тем у кого горит, предлагаю воспользоваться git-pw.

Читать далее

s/bash/zsh/g

Время на прочтение13 мин
Охват и читатели8.7K
Как думаете — сработает такая команда?

bash% echo $(( .1 + .2 ))
bash: .1 + .2 : syntax error: operand expected (error token is ".1 + .2 ")

Как видите, bash выполнять её не хочет, а вот в zsh она обрабатывается совершенно нормально:

zsh% echo $(( .1 + .2 ))
0.30000000000000004      # Ну, "работает" в той мере, в какой работает IEEE-754.

В bash просто нельзя выполнять вычисления с дробными числами, не прибегая при этом к bc, dc или к каким-нибудь хакам. В сравнении с возможностью просто воспользоваться конструкцией вида a + b всё это кажется некрасивым, медленным и сложным.


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

Пошаговый запуск программы в Linux x86, или как добраться до main()?

Время на прочтение18 мин
Охват и читатели27K


Статья предназначена для тех, кто хочет понять процесс загрузки программ в Linux. В частности, здесь пойдет речь о динамической загрузке файлов ELF x86. На основе изложенной информации вы сможете лучше понять, как устранять проблемы, возникающие в программе еще до запуска main.
Читать дальше →

Педальку в пол, или как ещё ускорить CPU-bound приложение?

Время на прочтение29 мин
Охват и читатели7.7K

Зачем я это читаю?


TL;DR:


  • Переложив секции кода и данных программы на большие страницы можно существенно ускорить приложение (у нас получилось до +10%) не трогая исходный код.
  • Можно быстро проверить ничего не перекомпилируя, детали здесь.
  • Финальное решение оперирует "классическими" большими страницами (не transparent huge pages), поэтому в какой-то степени его можно назвать дальнейшим развитием libhugetlbfs.
Читать дальше →

Активная конкуренция за RAM в Android

Время на прочтение4 мин
Охват и читатели7.9K

Разработав инструмент для визуализации RAM и zRAM в Android, я обнаружила, что в телефонах происходит активная конкуренция за ресурсы. И если процессу понадобятся ресурсы, которые уже заняты кем-то другим, он отберет их, что может привести к критическим ситуациям и конфликтам оборудования.

Пользовались ли вы когда-нибудь такими утилитами как htop, top, vmstat? Если у вас вообще установлен Linux, то скорее всего да. И они действительно хорошо показывают статистику использования ресурсов в ОС. Я исследовала операционные системы, и мне не хватало понимания того, как реально выглядит физическое адресное пространство: какие конкретно адреса заняты, какие свободны, что происходит, если процессы запрашивают одни и те же адреса, как часто это происходит.

Была гипотеза, что в Android (и в Linux), возникает активная конкуренция за ресурсы. Спойлер из названия статьи: она подтвердилась.

Читать далее

Oracle Call Interface: как написать клиентское приложение на Си

Время на прочтение8 мин
Охват и читатели6.5K

В этой статье я расскажу, как написать клиентское приложение для БД Oracle, используя библиотеку OCI и язык Си.

Читать далее