Обновить
81.86

Настройка Linux *

Вечный кайф

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

15. Nix в пилюлях: Поисковые пути Nix

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

В Nix для поиска дериваций используется переменная окружения NIX_PATH. Она похожа на PATH, но есть и важные отличия. Разбираемся с тем, как устроен репозиторий nixpkgs.

Читать далее

Забытые технологии: CGI

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

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

Всё логично: на тот момент Perl был одним из немногих распространенных скриптовых языков, и естественно что на нем делать CGI‑скрипты было удобнее, чем на shell, например.
Но это не означает что одно к другому было гвоздями прибито.

А вообще технология была по‑своему хорошая: установили вебсервер (как правило — Apache), настроили каталог, из которого запускаются скрипты — и запускай что хочешь.

Попробую показать к чему можно приспособить это в наше время...

Читать далее

Особенности удаленной работы в 2025

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

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

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

Но сейчас, видимо из-за санкций, такие простые решения как OpenVPN или вообще не работают, или работают крайне нестабильно. И даже не очень простые, типа Wireguard. И даже еще более непростые, не будем их тут называть.

Ну, вот еще один вариант решения проблемы, если переселяться в офис очень невыгодно: в принципе об этом недавно тут писали, но я остановлюсь именно на рабочем применении данной технологии.

Итак, допустим, у нас есть наша BigCRM, работающая на сервере 192.168.100.1, и подключиться к ней снаружи никак невозможно, а классические VPN у нас запрещены некими внешними враждебными силами.

На помощь приходит упоминавшаяся ранее технология i2p.

Читать далее

Cовмещаем Haproxy, Vless, WebSocket, VPN и сайт на одном порту

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

Cовмещаем Vless, WebSocket, VPN и сайт на одном порту средствами Haproxy, создаем альтернативу VPN на основе WebSocket.

Читать далее

Detection is easy. Устанавливаем Elastiflow для поиска угроз в сети

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

Начнем серию статей под названием Detection is easy, посвященных Detection engineering (DE), о чем я пишу в одноименном Telegram-канале. Один из этапов DE - определение источников событий и организация их сбора. В этой статье мы рассмотрим установку Elastiflow — это мощное решение для обработки и визуализации сетевых данных, построенное на основе стека ELK (Elasticsearch, Logstash, Kibana). Elastiflow предоставляет возможность собирать, обрабатывать и анализировать данные из различных сетевых протоколов, таких как NetFlow, sFlow и IPFIX. Основное преимущество Elastiflow по сравнению с классическим ELK-стеком заключается в оптимизированном агенте сбора сетевой телеметрии, а также в наличии готовых дашбордов и визуализаций, которые упрощают анализ сетевого трафика.

Изначально проект развивался на GitHub, однако разработчики перешли к коммерческому решению — flow-collector, который демонстрирует значительно более высокую производительность по сравнению с версией, доступной на GitHub. Более подробную информацию о различиях можно найти в документации. Политика лицензирования позволяет бесплатно использовать продукт, но если ты зарегистрируешься, то будет доступно порядка 480 полей и использование одного инстанса (4000 записей в секунду, без регистрации 500).

Читать далее

Подключаем WiFi вручную

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

И снова вспомню времена древние, староглиняные: когда-то настройка сети в UNIX-like OS была делом, требующим сложных технических знаний. Нужно было зайти в консоль под правами рутовыми, да указать вручную адрес IP для интерфейса сетевого. Примерно так:

ifconfig eth0 add inet 192.168.1.10 netmask 255.255.255.0 up

Или, ежели админ сети сподобился, да настроил сервер DHCP - то так:

ifconfig eth0 up

dhclient eth0

Да еще не забыть указать адрес сервера DNS:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

А ежели надобность была чтобы оно при перезагрузке сохранялось - то записать эти заклинания в файл типа /etc/rc.local на память долгую.

Теперь-то другое дело: воткнул шнурок в разъем - сеть и появилась, как по щучьему велению.

И даже WiFi - нажал мышкой на иконку, выбрал название сети, ввел пароль - она и подключилась.

Красота, лепота какая! Но есть нюанс...

Читать далее

Новогодний плейлист инженера-программиста: что послушать в подкасте «Битовые маски»

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

Новогодние каникулы — отличное время не только для отдыха, но и для саморазвития. Если вы хотите узнать больше о низкоуровневой оптимизации, тонкостях работы с GPU или разобраться в архитектуре ядра Linux, эти выпуски подкаста «Битовые Маски» точно стоит добавить в свой плейлист. Эксперты с многолетним опытом обсуждают самые сложные темы из мира низкоуровневого программирования, делятся ценными инсайтами и реальными историями из профессиональной практики.

Читать далее

Snapper: система снапшотов, которая спасет ваш Linux

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

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

К счастью, есть простое советское средство для починки чего угодно!

Rollback

14. Nix в пилюлях: Паттерн проектирования override (переопределение)

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

Продолжаем изучать паттерны проектирования, используемые при создании пакетов в Nix. В этой пилюле разберёмся с паттерном override (переопределение).

Читать далее

Забытые технологии: PPP

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

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

А когда-то интернет добывали из модемов: обычные пользователи, они же ламеры, перебирали различные варианты программ-звонилок и "драйверов", а настоящие айтишники настраивали PPP вручную.

Как это работало и зачем может пригодиться сегодня (а оно может).

Читать далее

Кто «ест» трафик в организации? Готовим пользовательский экспортер для Prometheus, мониторим сеть

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

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

Просмотреть кейс

Изоляция процессов и минимизация привилегий: использование Linux namespaces и seccomp

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

По статистике, каждые 39 секунд в мире происходит кибератака. Задумайтесь об этом на мгновение. А теперь представьте, что процессы на сервере работают как супергерои, готовые к борьбе с внешними угрозами. Но только если они не захотят стать злодеями. Что если один из процессов решит, что ему по силам взломать систему и получить root-права? Сценарий не такой уж фантастический, как может показаться. В этой статье разберемся, как снизить подобные риски. Материал будет полезен начинающим специалистам, которые работают с контейнерами, виртуализацией и управлением ресурсами: сисадминам, разработчикам и DevOps-инженерам. Добро пожаловать под кат!
Читать дальше →

20-летие Linux для десктопных систем (часть 2)

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

Коротко о прошлой части: в стремлении создать идеальную десктопную систему, аналогичную GNOME и Debian, молодой Ploum присоединяется к тайному проекту «no-name-yet», который в итоге становится Ubuntu.
Читать дальше →

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

13. Nix в пилюлях: Паттерн проектирования callPackage

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

Разбираемся, как работает второй из базовых паттернов Nix — callPackage. Автоматизируем передачу параметров, сокращаем код репозитория.

Читать далее

Хитрости для программистов: пять команд Linux, с которыми ваша жизнь не будет прежней

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

Интерфейс командной строки — это альфа и омега для большинства технарей, особенно для разработчиков и сисадминов. Чем бы вы ни занимались — скриптами, конфигурацией серверов или автоматизацией задач, — команды Linux сэкономят вам часы рабочего времени. Но если только вы умеете грамотно с ними обращаться.

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

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

Читать далее

A-Tune: тонкая настройка системы с использованием машинного обучения

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

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

Меня зовут Артём, я инженер-программист в департаменте серверных решений. В статье расскажу про новый инструмент для повышения производительности, который получилось портировать и доработать для ОС Astra Linux Special Edition.

Читать далее

«А теперь засунем X-сервер в контейнер»

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

Когда я писал про использование Докера как контейнера с инструментами для работы — вообще‑то речь шла про использование прежде всего доступа через шелл. Ну в самом деле: файлы они и в Африке файлы, редактирую я их Vim‑ом, потому что это удобно, перемещаю MidnightCommander‑ом, по той же причине, для обработки используются Makefile, и всё это окна терминалов.
Во множественном числе.

Читать далее

Kubernetes кластер на базе Talos в OpenStack

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

Хабр, привет! Я Максим, технический директор в компании Амвера и в этой статье я хотел бы поделиться опытом развертывания кластера kubernetes у облачного провайдера, который под капотом использует OpenStack. В этой статья я хочу пошагово рассказать про путь развертывания, подсветив те места, которые вызвали у меня затруднения.

Читать далее

Специализированные репозитории для Debian своими руками. Самый полный мануал

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

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

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

Однако в случае с Debian поднятие полного зеркала может осложняться объемом репозиториев — там по‑настоящему много пакетов, включая и те, что обычно не нужны на серверах, например игры. Помимо этого, официальной поддержки Debian не существует, а работать как-то нужно. Поэтому в этой статье мы расскажем о способе создания готовых архивов для зеркал с урезанными подборками пакетов, нужных для установки и/или обновления одного или более серверов с известным набором ПО.

Читать далее

Не очень стандартное использование Docker

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

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

Нет, в самом деле, а что еще нужно? Несколько файлов с исходным кодом, Makefile для сборки всего этого, MidnightCommander чтобы копировать файлы туда-сюда и удобный текстовый редактор, например Vim.

А еще куча установленных пакетов типа gcc, make, cmake - в общем, настроенная и подготовленная среда, вплоть до указания желаемой цветовой схемы в редакторе.
И вот однажды так получилось, что удобный настроенный компьютер вдруг накрылся медным тазом: жесткие диски тоже выходят из строя.

Читать далее

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