Обновить
60.8

*nix *

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

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

Bash-функции и их имена, которые могут быть практически всем чем угодно

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


С Bash связано одно распространённое заблуждение, которое заключается в том, что имена bash-функций должны быть составлены по тем же правилам, что и имена переменных. В руководстве по Bash даже даётся следующее определение термина name (имя):

Слово, состоящее исключительно из букв, цифр и символов подчёркивания, начинающееся с буквы или с символа подчёркивания. Такие слова используются в роли имён переменных оболочки и имён функций. Их ещё называют идентификаторами.
Читать дальше →

Закрепление в Linux. Linux Persistence

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

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

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

Буду благодарна за любую обратную связь. Если вдруг вы знаете еще какие-то техники или интересные приемы, о которых я не написала, обязательно поделитесь. Потому что процесс закрепления в системе очень творческий. Особенно, если у вас есть права root.

Читать далее

Современные Unix программы

Время на прочтение3 мин
Охват и читатели28K
Наше внимание привлёк один интересный репозиторий, который называется Modern Unix. В нём собраны, в основном, современные альтернативы классическим Unix-командам. Всего там имеется почти три десятка описаний таких команд. Надеемся, вы найдёте среди них что-то такое, что вам пригодится.


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

Nginx. Фазы обработки запроса. Практика

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

Хабру катастрофически не хватает такого формата постов как "продолжение" или "дополнение". После написания статьи зачастую появляется материал, который хотелось бы добавить к сказанному, но update'ить статью, с её сроком жизни в 1-2 дня, бессмысленно, а писать в комментариях невозможно из-за объёма материала. В то же время этого материала может быть недостаточно для новой статьи, да и, в силу того, что он сильно перекликается с предыдущей статьёй, придется либо постоянно её цитировать, либо оставлять пробелы, подразумевая, что читатель понимает о чем идет речь.

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

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

Читать далее

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

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

К Интернету вещей (IoT) подключается все больше устройств, а значит объемы сетевого трафика растут. При развертывании устройств на периферии необходимо рассчитать, как часто и в каком объеме данные будут передаваться между устройством и облаком, где они анализируются. Если устройств будут тысячи, затраты на передачу данных будут ощутимыми. Кроме того, возрастающий объем передаваемых данных может снизить эффективность решения IoT, приводя к задержкам.

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

Данные не только имеют большую ценность для бизнеса, но и помогают поддерживать актуальность, безопасность и эффективность удаленных систем. Учитывая все эти факторы, программное обеспечение, передающее только разностные обновления, а не все приложение целиком, выглядит гораздо более привлекательным вариантом. Для этой цели можно использовать snap — универсальный формат упаковки приложений Linux. Snap-пакеты доступны более чем в 40 дистрибутивах Linux, при этом Linux — популярная операционная система для встроенных устройств, поэтому этот формат соответствует требованиям к развертыванию различного типа программного обеспечения в средах IoT.

В этой статье мы поговорим о том, как использовать разностные snap-пакеты, чтобы эффективно и автоматически передавать обновления по беспроводной связи (OTA) на IoT-устройства, расходуя меньше трафика.

Читать далее

FOSS News №78 – дайджест материалов о свободном и открытом ПО за 5—11 июля 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Скандал вокруг новых правил конфиденциальности Audacity из-за сбора данных в интересах органов власти.
  2. Вторая редакция патчей для ядра Linux с поддержкой языка Rust.
  3. Linux Foundation создаёт новый фонд Open 3D Foundation.
  4. Amazon опубликовал открытый игровой движок Open 3D Engine на базе технологий CryEngine.
  5. «Как я учил студентов Северной Кореи разрабатывать ПО с открытым исходным кодом».
  6. В Китае создан открытый RISC-V процессор XiangShan, конкурирующий с ARM Cortex-A76.
  7. Линус Торвальдс и коллеги по Linux о его тайм-ауте, разнообразии в ИТ и проблемах сообщества.
  8. Linux Foundation анонсировал конкурс дизайна футболок в честь 30-ти летия ядра Linux
  9. Бесконечность — не предел, когда Open Source делают правильно.
  10. «Зачем уметь работать в командной строке?»

И многое другое…


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

Траблшутинг DRBD9 в LINSTOR

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


За последние несколько лет плотной работы с LINSTOR и DRBD9 у меня накопилось достаточное количество проблем и рецептов решения для них, что мне захотелось оформить их в небольшую статью. Не уверен что они полностью совпадут с вашими случаями, но теперь вы хотя бы сможете понять механику работы с DRBD9, а именно, самую неприятную его часть — траблшутинг.


Информации по данному поводу в интернете немного, так что если вы используете или планируете использовать LINSTOR, уверен рано-или поздно вам эта информация может пригодиться.

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

Клонируем GPT-диск с 512B-сектором на диск с 4K-сектором в Linux. Подводные камни с EFI, NTFS и LVM

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

Для современного компьютера диск с 4К сектором выглядит предпочтительнее, чем с олдскульным 512B. Так как почти все современные ФС имеют размер кластера по-умолчанию 4KiB или больше. Поэтому использование 512B сектора несколько снижает производительность, а также увеличивает коэффициент умножения записи (Write Amplication) у SSD, что уменьшает ресурс.

Более того, сложно найти современные диски более 4ТБ с сектором 512N. Если диск и рапортует сектор в 512 байт, то, как правило, это 512E — эмулируемый, который используется в основном для совместимости со старыми контроллерами. А в реальности на физическом уровне используется 4К или даже больше (больше в основном у SSD).

Поэтому при покупке нового диска я выбрал диск с сектором 4КiB. И передо мной встала задача клонирования старого диска с 512B сектором (GPT) на новый c сектором 4KiB. Я хотел сохранить установленные Linux, Windows 10, Windows 7 и тома LVM, чтобы не заниматься переустановками ОС. В процессе чего всплыло несколько подводных камней.
Поехали!

Насколько сложно написать свою операционную систему?

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

Концептуальная плата REX и простой процессор WRAMP разработаны специально для обучения студентов компьютерной архитектуре, системному программированию и ассемблеру

Десять лет назад ходили анекдоты про Дениса Попова, который долго и упорно настаивал, что написал свою операционную систему «с нуля». Это считалось своеобразным синонимом «изобрести велосипед», то есть совершенно бессмысленной тратой времени. Анекдотизм ситуации состоял в том, что школьник из Нижнего Тагила скопировал Ubuntu, но был искренне убеждён в уникальности своего проекта.

Но действительно честная попытка написать свою операционку — не такое уж и бесцельное занятие (кстати, как сконструировать велосипед с нуля). По ходу дела может оказаться, что некоторые казавшиеся «очевидными» детали современных ОС спроектированы совсем не оптимально. Или вовсе не нужны.

Если бы ядро Unix писали сегодня, оно выглядело бы иначе. Подобные эксперименты могут напомнить о некоторых фундаментальных изъянах, несовершенствах или рудиментах современных ОС, на которые мы привычно закрываем глаза.
Читать дальше →

Краткое руководство по LXC в ОС Эльбрус

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

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

Читать далее

FOSS News №77 – дайджест материалов о свободном и открытом ПО за 28 июня — 4 июля 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Медучреждения Курганской области переходят на ОС Astra Linux Special Edition.
  2. Google Play уходит от использования пакетов APK в пользу формата App Bundle.
  3. ИТ-руководители опасаются, что корпорации подорвут доверие к Open Source: отчёт.
  4. Опубликованы записи докладов Akademy 2021.
  5. «Android окукливается (ver 2), и сообществу плевать на это».

И многое другое…


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

Зачем уметь работать в командной строке?

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

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

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

Читать далее

Proxmox 7.0 beta 1: обзор основных изменений

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

24 июня стала доступна первая бета-версия популярной системы виртуализации с открытым исходным кодом Proxmox 7.0. Сегодня посмотрим, какие кардинальные изменения будут представлены в будущем релизе.

Разумеется, мы ни в коем случае не пытаемся заменить полный changelog, его можно в любой момент посмотреть на официальном сайте Proxmox VE. Но нам было важно рассмотреть ключевые изменения, так что добро пожаловать под кат — мы все изучили и излагаем результаты собственных наблюдений.
Читать дальше →

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

Для программиста shell так же необходим, как умение читать

Время на прочтение4 мин
Охват и читатели18K
Грамотное владение shell — один из самых важных навыков, которыми вы как программист должны обладать. Unix shell — одна из самых мощных идей, реализованных в коде, и она должна стать вашей второй натурой. Ни один другой инструмент и близко не сравним с возможностью быстрого выполнения сложных задач или с сохранением этих команд в виде скриптов.

В своей работе я использую Vim в качестве редактора, а Unix — в качестве «IDE». Я не модифицирую свой vimrc, чтобы добавить в него функции IDE; самый важный плагин, который использую ежедневно — это Ctrl+P, и он нужен мне только для упрощения открытия файлов. Грамотное владение Vim — ценный навык, но важно понимать, когда от него нужно отказаться. В своей повседневной работе я взаимодействую с несколькими терминалами: обычно в одном из них есть Vim, второй используется для запуска сборок или демонов, а в третьем запущен shell, способный выполнить любые мои команды.



Постоянно открытый shell позволяет мне выполнять сложные задачи и отвечать на сложные вопросы. Интересные вещи я нахожу при помощи git grep, масштабные операции поиска и замены я выполняю через sed, отвечаю на вопросы с помощью awk, а более тонкие задачи я выполняю создаваемыми по ходу работы командами и конвейерами shell. Я обладаю свободой творческого решения задач без ограничений, заложенных проектировщиками IDE.
Читать дальше →

Почему инженеры уровня Senior ненавидят интервью с тестовым кодингом

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

Представьте, что вы директор небольшой средней школы, который хочет нанять новых учителей. Поскольку у вас в штате их должно быть не более 20, вы должны убедиться, что каждый учитель, которого вы нанимаете, сможет преподавать в любом классе. Усложним пример. Недавно уволилась одна из лучших учителей с более чем 15-ти летним стажем, и которая была наставником для многих более молодых сотрудников. Кем вы сможете её заменить?

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

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

Наконец, наступает день интервью и ваш кандидат появляется в школе. Вы замечаете, что она немного нервничает, что странно, потому что она опытный кандидат и её резюме безупречно. Вы решаете не думать об этом и проводите её в один из ваших классов, чтобы начать собеседование. “Мне бы хотелось, чтобы вы преподали мне урок по теории чисел”. В этот момент её лицо помрачнело. Дело в том, что она не преподавала в 8-м классе вот уже более чем 10 лет. Но вы об этом не были осведомлены. Как профессионал, она пошла к доске и начала урок. Она рассказывает о множителях чисел и о том, как определить делится ли число на 2, 5 и 10. Но видно, как её трудно. Вы просите её рассказать о GСF и LCM, но она просит уточнить, что означают эти аббревиатуры. Вы расцениваете это как дурной знак и объясняете, что имели в виду “наибольший общий делитель” и “наименьшее общее кратное”. В этот момент вы замечаете, что её уверенность в себе поколебалась и чувствуете раздражение в её голосе.

Читать далее

FOSS News №76 – дайджест материалов о свободном и открытом ПО за 21—27 июня 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Linux Foundation представляет открытые стандарты для голосовых помощников.
  2. Проект Brave начал тестирование собственной поисковой системы.
  3. Windows 11 сможет легко запускать графические приложения для GNU/Linux и Android.
  4. Первый выпуск самостоятельного русскоязычного ответвления Linux From Scratch.
  5. 700 ИТ-специалистов со всей страны обучились работе с ОС «Альт» за полгода в Высшей инженерной школе.
  6. Google расширяет открытую базу данных уязвимостей и добавляет туда проекты на Python, Rust, Go и DWF.
  7. «Android окукливается, и сообщество потворствует этому».

И многое другое…


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

Nginx. О чем не пишут в книгах

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

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

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса

Поиск среди 10000 GitHub репозиториев на Postgres (используя только MacBook)

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

Привет!  Меня зовут Никита Галушко, я R&D-разработчик в Lamoda. Специально для Хабра я сделал вольный перевод интересной статьи “Postgres regex search over 10,000 GitHub repositories (using only a Macbook)”. 

Ее автор провел эксперимент: собрал датасет из 10 тысяч GitHub-репозиториев и проверил, насколько Postgres подходит для поиска по документам на одной машине — MacBook Pro, а также измерил скорость поиска и подобрал подходящую конфигурацию.

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

Читать далее

В поисках идеального DevOps. Кого сейчас ищут на рынке IT?

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

В 2021 году рынок IT — и, в частности, рынок инженеров, которые позиционируют себя как DevOps, — остается перегретым, и пока нет тенденции к его охлаждению. Спрос на специалистов высокого уровня превышает предложение. Компании, конкурируя за перспективных работников, готовы предлагать хорошие условия. Проблема заключается в том, что в погоне за высокими зарплатами пострадало качество набора. Сегодня хотелось бы поговорить о том, какие кандидаты будут привлекать работодателя выдать заветный оффер.

Читать далее

FOSS News №75 – дайджест материалов о свободном и открытом ПО за 14—20 июня 2021 года

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


Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.


Главные темы нового выпуска:


  1. Как Linux повлиял на нашу жизнь — празднование 30-летия открытого исходного кода.
  2. Linux Foundation объявляет о выпуске отраслевых стандартов для улучшения кибербезопасности.
  3. Google профинансирует добавление поддержки Rust в ядро Linux.
  4. Ода открытому исходному коду: невозможно переоценить вклад сообщества.
  5. Что такое Open Source? Статья для бизнес-лидеров.
  6. Волшебники Open Source: отраслевые перспективы программного обеспечения с открытым исходным кодом.
  7. «Я подарю тебе маленькую вселенную». DIY-рамка со светящимся сердцем.
  8. Как объяснить детям, что такое Apache Kafka за 15 минут с картинками и выдрами.

И многое другое…


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

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