Как стать автором
Обновить
79.6
Рейтинг

*nix *

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

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

Весёлая консоль

*nix *


Сегодня 1 апреля и ежегодно в этот день разные Интернет-ресурсы публикуют вымышленные курьёзные "новости" а также просто всякие несерьёзные статьи. Вот и я решил в сей пятничный день немного приобщиться к этому весёлому многообразию. Сегодня мы обратимся к разным забавным, хотя и бесполезным программам, работающим в консоли эмулятора терминала. Видимо — ввиду несколько неформального начала UNIX (как известно, Кен Томпсон написал игру Space Travel для компьютера PDP-7) — различные "бестолковые" программки писались буквально с первых дней существования операционных систем. Что ж, давайте последуем за героем замечательных комиксов Дэниеля Стори и разнообразим жизнь в "скучной" консоли.

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

Новости

Теневые стеки для пользовательского пространства

Блог компании OTUS Настройка Linux **nix *
Перевод

Стек вызовов (call stack) является излюбленной целью злоумышленников, пытающихся скомпрометировать запущенный процесс; если злоумышленник найдет способ перезаписать адрес возврата в стеке, то он сможет перенаправить управление на код по своему выбору, что приведет к ситуации, которую лучше всего можно описать фразой "game over". Именно поэтому для защиты стека прикладывается очень много усилий. Одним из самых многообещающих методов является “теневой стек” (shadow stack); как следствие, множество различных процессоров должным образом поддерживают теневые стеки. С поддержкой защиты программ пользовательского пространства (user-space) с помощью теневых стеков дела обстоят не так хорошо; в настоящий момент она является предметом обсуждения в сообществе разработчиков ядра, но добавить эту функцию сложнее, чем может показаться на первый взгляд. Среди прочего, подобные патчи существуют уже достаточно долго, чтобы у них самих появились собственные проблемы с обратной совместимостью.

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

Локальные репозитории пакетов

Системное администрирование **nix *Системы сборки *

Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть как простой репозиторий кодом, так и различные конвеерные системы сборки кода и доставки его в рабочие окружения. Если мы говорим про системный софт, то его можно просто перестать обновлять, запретить ему ходить "наружу", но в данной статье мы поговорим про внешние репозитории с кодом.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 4.1K
Комментарии 11

Баг в ядре Linux и как правильно жаловаться

Open source *Системное программирование **nix *C *Параллельное программирование *

Я работаю системным программистом в компании КриптоПро. Нередко мои задачи связаны с ошибками, которые лежат на самом нижнем уровне современных операционных систем, под которые мы пишем ПО. Я хочу поведать тебе, Хабр, об одной из таких ошибок и о том, как я жаловался на неё разработчикам.

Я отвечаю за поддержку одной из наших библиотек с C-интерфейсом, написанной на C и C++. Мой коллега из другого отдела сообщил, что его нагрузочный тест нашей библиотеки на C# в Linux выдаёт ошибку в хитром сценарии: нужно иметь два процесса по пять потоков, делающих некоторые идентичные вызовы. Если процесс один, а потоков много, то проблема не проявляется. Если процессов два, но в каждом по одному потоку, то проблема не проявляется. Путём просмотра исходников нагрузочного теста и логов работы библиотеки удалось перенести проблему в маленький юнит-тест на C++ с использованием нашего API.

Узнать, что же это было
Всего голосов 94: ↑90 и ↓4 +86
Просмотры 13K
Комментарии 38

Надёжная и воспроизводимая установка Linux с NixOS

Блог компании SkillFactory Настройка Linux **nix *Резервное копирование *Лайфхаки для гиков
Перевод

NixOS — это дистрибутив Linux, обеспечивающий надёжность и позволяющий легко воспроизводить состояния системы. Знакомим с Nix и развёртыванием NixOS на вашей машине к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 6.3K
Комментарии 5

Установка и настройка Charles 4.6.2 на Ubuntu 20.04

*nix *
Tutorial

Статей и видео актуальных на эту тему нет , поэтому коротко и по шагам опишу свои действия:
1. Для начала последовательно вводим данные команды в терминал:
установка ключа от репозитория:

wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 3.6K
Комментарии 7

Кунг-фу стиля Linux: простые конвейеры

Блог компании RUVDS.com Настройка Linux *Системное администрирование **nix *
Перевод
В былые времена компьютеры делали по одному делу за раз. В буквальном смысле. В компьютер загружали перфокарты, или перфоленту, или что-нибудь другое, и нажимали на кнопку. Компьютер читал программу, выполнял её и выдавал результаты. Потом он «засыпал», пребывая в таком состоянии до тех пор, пока ему не дадут новых входных данных.



Проблема тут в том, что компьютеры, особенно — тогда, были дорогим удовольствием. И, в случае с обработкой типичной программы, компьютеры тратят много времени, ожидая чего-то вроде помещения в них следующей перфокарты, или момента, когда магнитная лента дойдёт до нужного места. В таких случаях компьютер, фигурально выражаясь, в нетерпении стучит ногами, ожидая следующего события.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 8.1K
Комментарии 8

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)

C++ *Системное программирование **nix *C *Разработка под Linux *
Из песочницы

Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux, или может быть долго были пользователями ОС Windows. Я попробую здесь показать прямое руководство к действию на примере ОС Ubuntu и тех простых инструментов, которые использовал некогда сам при изучении Си в процессе знакомства с Linux.

Читать далее
Всего голосов 26: ↑18 и ↓8 +10
Просмотры 25K
Комментарии 37

Два месяца работы и готово: что нового в ядре Linux 5.17

Блог компании Selectel Open source **nix *Разработка под Linux *

Источник картинки: OMG! Ubuntu!

Выхода нового ядра Linux ожидали многие, о чем можно судить хотя бы по количеству публикаций в технологических СМИ, предвкушавших новинки Linux 5.17. И, наконец, Линус Торвальдс представил новый релиз, опубликовав его 21 марта. Нового и хорошего действительно много, так что опробовать новую версию обязательно стоит, если вы этого еще не сделали.

Объём проделанной работы достаточно большой. Так, в новой версии приняли 14203 исправления от 1995 разработчиков. Общий размер патча составляет 37 МБ. Что касается изменений, то они затронули 11366 файлов, добавлено 506043 строк кода, удалено 250954 строк. Весьма значительная часть изменений в ядре, а это около 44%, связаны с драйверами устройств. Еще около 16% изменений имеют отношение к обновлению кода, имеющего отношение к аппаратным архитектурам, 15% — сетевой стек, 4 — файловые системы, ну и еще 4% изменений связаны с подсистемами ядра. О подробностях — ниже.
Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Просмотры 16K
Комментарии 4

Mikrotik CHR на хостинге vpsserver.com

Системное администрирование **nix *Серверное администрирование *Сетевое оборудование
Из песочницы
Перевод

Mikrotik CHR на vpsserver.com

Развертывание виртуального устройства Mikrotik может иметь разные задачи. В моем случае предстоит настройка собственного VPN т.к. доверия к сторонним у меня нет (и нет, я не параноик).

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

В результате анализа различных хостеров выбор пал на VPSServer.com, что привело к неделе высиживаний по ночам и замучиванию поддержки хостера.

Результатом стала успешная установка и в статье пошагово описал все особенности для данного хостера.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 8.1K
Комментарии 42

Cron — лучшие практики

Блог компании SkillFactory Настройка Linux **nix *Лайфхаки для гиков
Перевод

Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 41: ↑38 и ↓3 +35
Просмотры 16K
Комментарии 45

Ядро Linux 5.17 выходит уже на этой неделе — чего ждать

Блог компании VAS Experts Настройка Linux **nix *

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 11K
Комментарии 5

Антивирус для Linux – ClamAV

Настройка Linux *Open source *Программирование *.NET **nix *
Tutorial

Какая ОС лучше? Windows? Linux? Может MacOS? Холивары на эту тему наверно не кончатся никогда и будут бесконечным оазисом контента для различных статей. Множество копий противоборствующих сторон имеют явно эмоциональный окрас, но для технаря важны только факты и рабочие практики применения.

По работе мне время от времени приходится иметь дело с установкой нового ПО на Ubuntu Server. Например бесплатный сервис хранения ссылок linkin.link о котором я писал тут является удачной кооперацией двух миров, (.net) Windows и Linux. Но вот путь к финальному шагу весьма тернист. И периодически это превращается в настоящий квест.

Данная статья это туториал (последний раздел) - как установить текущую на данный момент версию антивируса ClamAV 0.104.2 на Ubuntu Server. И "весёлые" приключения по миру nix* (первые три раздела).

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 11K
Комментарии 22

Customer Journey Map — популярный фреймворк для визуализации опыта пользователя

*nix *
Из песочницы

CJM часто воспринимают либо как красивое изображение, либо как очередной buzzword. Но так ли это на самом деле?

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.7K
Комментарии 0

Утилита времен «динозавров»: история системного вызова chroot и его применение в современности

Блог компании Selectel *nix *C *История IT

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

Этот простой системный вызов подменяет местонахождение «корня» файловой системы, «заключая» программу в специально созданное ограниченное окружение. Самая распространенная ситуация — восстановление загрузки операционной системы с помощью live-образа. Но при создании chroot о таком применении не задумывались.

Чтобы найти истоки появления chroot в *NIX-подобных операционных системах, нужно пройти немалый путь по истории IT. В этой статье я расскажу про появление chroot и его применение в современном мире. А еще покажу проекты, которые позволяют прикоснуться к операционным системам эпохи, когда Интернета не было.
Читать дальше →
Всего голосов 107: ↑106 и ↓1 +105
Просмотры 14K
Комментарии 8

Обзор ретро-футуристичного КПК DevTerm с Linux

Блог компании RUVDS.com *nix *Производство и разработка электроники *DIY или Сделай сам
Перевод

Команда ClockworkPI выпустила интересный карманный девайс с ОС Linux, который легко собирается без паяльника, имеет экран с разрешением 1280х480, предлагает богатые возможности для кастомизации и даже оснащён неожиданным диковинным модулем — термальным принтером.
Читать дальше →
Всего голосов 50: ↑48 и ↓2 +46
Просмотры 13K
Комментарии 4

Основы Linux (обзор с практическим уклоном)

Системное администрирование **nix *
Из песочницы
Tutorial

Привет, Хабр!

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.

Читать далее
Всего голосов 76: ↑72 и ↓4 +68
Просмотры 85K
Комментарии 43

Экспериментальная разработка эксплойта для Use-After-Free

Блог компании RUVDS.com Информационная безопасность **nix *
Перевод

Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Просмотры 5.3K
Комментарии 1

Сеть однородных линуксов [reoser]

Настройка Linux **nix *Облачные вычисления *Облачные сервисы
Tutorial

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

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

Поскольку ожидается, что изъявить желание подключиться к этой сети может любой пользователь с любыми железом и операционной системой (например, не только линукс, но и bsd системы и андроид, который является сильно урезанными линуксом), то хотелось бы иметь скрипт / программу / проект, который сможет сравнять все системы до одинаковых однородных линуксов по причинам, описанным выше. При этом в качестве реального железа может выступать и виртуальное, когда человек на своем оборудовании отрезает под виртуальные нужды часть своих мощностей и отдает их в сеть hardware банкинга.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.9K
Комментарии 3

Pineapple Nano своими руками Часть 2. Прошивка устройства

Информационная безопасность **nix *Беспроводные технологии *DIY или Сделай сам

Сборка своего "хакерского чемоданчика", или как я портировал ПО от Pineapple Nano в доработанный роутер MR3020, все подробности в статье. Вперед!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 4.1K
Комментарии 2

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