Как стать автором
Обновить
225.47

Linux *

Пишем под *nix

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

getopts: как писать CLI-утилиты с флагами без внешних библиотек

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

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

getopts — это встроенный в любой POSIX-совместимый Linux/Unix-shell мини-парсер аргументов. Один shebang — и у вас CLI-утилита без единой внешней зависимости. В статье рассмотрим, как выжать из getopts максимум, где он спотыкается и когда пора переехать на getopt или Argbash.

Читать далее

Новости

Удаление Ubuntu Dual boot из Windows 11

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

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

Шаг 1: Удаление раздела Linux в Windows.

1. Запустите Windows и введите diskmgmt.msc в диалоговое окно, нажав кнопку Windows+R. Он запустит Windows Он запустит Windows Disk Management.

Читать далее

Слишком много открытых файлов

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

Недавно я работал над достаточно большим проектом на Rust. К моему удивлению, мне никак не удавалось заставить тесты работать правильно.

Команда cargo test запускала выполнение всех тестов в репозитории, но спустя пару миллисекунд все тесты завершались сбоями из-за не очень знакомой мне ошибки:

Io(Os { code: 24, kind: Other, message: "Too many open files" })

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

Читать далее

Перенаправления в Angie: return, rewrite и примеры их применения

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

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

Читать далее

Рассказ о том, как rclone в 4 раза быстрее rsync синхронизирует файлы по сети

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

Последнюю пару лет я переносил со службы домой и обратно «набор рабочих материалов» — видеофайлы и данные проектов, пользуясь внешним SSD-диском стандарта NVMe с интерфейсом Thunderbolt.

Но, когда я синхронизировал данные, это всегда происходило очень медленно. В обычный рабочий день я могу создать новую папку проекта, содержащую 500-1000 файлов. При этом среди них будут дюжины файлов размером 1-10 Гб.

Мой Thunderbolt-диск способен передавать данные со скоростью, значительно превышающей 5 Гб/с, а 10-гигабитное сетевое соединение, имеющееся в моём распоряжении, может выдать 1 Гб в секунду. Недавно я даже обновил диск до Thunderbolt 5, хотя его и нельзя назвать узким местом моей системы.

Я использовал команду rsync следующего вида для копирования файлов с общего сетевого ресурса, смонтированного на моём Mac, на диск, которому я дал имя Shuttle:

Читать далее

Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус

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

- Зачем идете в горы вы?

Ведь Эльбрус и с самолета видно здорово!

Приветствую! Я Владислав Щапов и я обожаю манулов. А еще я разработчик в компании НИЦ ЦТ, которая разрабатывает операционную систему для российских процессоров Эльбрус. Одной из моих рабочих задач было провести тестирование статического анализатора PVS-Studio для проверки С и С++ кода на Эльбрусе. Эта задачка была непростой и очень напомнила мне восхождение на гору, когда за каждым пройденным испытанием сразу возникает какой-то новый вызов. Но манулы не сдаются!

Читать далее

Полиморфизм, мета-программирование и космическая баллистика: 4 доклада о C++ и Linux Kernel

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

Посмотрели за вас все доклады с System Level Meetup и выбрали по два лучших из потоков по Linux Kernel и C++. Для «плюсовиков» приготовили выступления о мета-программировании и девиртуализации в компиляторах. Для тех, кто интересуется ядром Linux — материалы о kernel bypass и чем-то еще. 

Остальные доклады и дискусии собрали в плейлисты, ссылки ищите под катом.

Читать далее

Топ-5 лучших Linux дистрибутивов для пентестера

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

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

Читать далее

Оптимизируем C++ шаблоны: от инлайнинга до модулей

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

Мы рассмотрим, чем опасны шаблоны для проекта на C++ и как минимизировать эти риски. В оптимизации нам помогут инлайн-файлы, явные инстанциации и даже модули из C++20.

Читать далее

Всего два месяца — и новый релиз: Linux 6.15 уже готов

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

Линус Торвальдс представил ядро Linux 6.15 всего через два месяца после предыдущего релиза. Среди ключевых новшеств: механизм аудита в Landlock, режим закрепления маппинга памяти, подсистема fwctl, драйвер Nova для GPU NVIDIA, поддержка Hyper-V как хост-системы, зонированные устройства хранения в XFS, оптимизации сетевой подсистемы, удаление опции HIGHMEM64G, scrub-проверка в Bcachefs и управление операциями через io_uring. Все подробности — под катом.
Читать дальше →

Скрипт создания резервных копий баз 1С для Windows и Ubuntu

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

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

На просторах интернета конечно достаточно много (для Windows) различного ПО по выполнению данной задачи, но как правило, это ПО (для выполнения некоторых задач) является платным.

Если же говорить о системах на базе Linux, то здесь дела обстоят более плачевно.
В статье предлагаются готовые скрипты по созданию архивных копий баз 1С и файлового варианта, и серверного варианта.

За основу списка создаваемых архивов/копий/выгрузок используется файл ibases.v8i.

Читать далее

Решаем проблему «деградации» YouTube с помощью NoDPI

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

Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.

Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал", я поделился инструментом, с помощью которого можно исправить этот вопиющий недостаток. Инструмент тогда выглядел достаточно сыро, и несмотря на то, что он выполнял свою задачу, требовал серьезных улучшений. Увидев интерес общественности, я решил допилить его, и вот, спустя полгода, после немалой работы, я рад представить вам NoDPI - проект, который явно не понравится РКН (и он опять меня заблокирует).

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

Читать далее

Руководство по администрированию Linux для начинающих

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

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

Читать далее

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

Переезд с Nginx на Angie. Пошаговая инструкция

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

Итак, вы решили использовать Angie как замену Nginx. С чего начать процесс? Какие аспекты нужно учитывать при переходе? Разберёмся со всем по порядку.

Напомню, что Angie является форком Nginx. Это значительно упрощает процесс переезда с Nginx на Angie, так как Angie поддерживает все возможности и директивы конфигурации, что и Nginx. Обратный переход с Angie на Nginx может быть уже не таким простым, если мы начинаем использовать уникальные возможности Angie (например, возможности проксирования или балансировки).

Начнём с подготовки системы к миграции.

Читать далее

Две недели кодинга без ноутбука: AR очки и Linux-on-Android

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

Всем привет! Представляю вашему вниманию перевод статьи «Coding without a laptop — Two weeks with AR glasses and Linux‑On‑Android». Перевод сделал человек с помощью мозга, а не LLM.

Под катом будет личный опыт программиста, который отправился в поездку но не хотел брать с собой ноутбук, а вместо этого взял Android и AR‑очки. Из него вы узнаете с какими трудностями он столкнулся выбрав такое решение, и какие плюсы он почерпнул. И самое главное, повторит ли он свой опыт, если выпадет случай?

Приятного чтения

l9ec: волшебный патч ядра Linux

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

Если вам неудержимо хочется использовать оборудование из музея для современной разработки — статья специально для вас.

Читать далее

OpenVPN. Разворачивание на сервере

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

Привет хабр! В этой статье хочу рассказать, как развернуть свой собственный vpn сервис.

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

Читать далее

Зачем нужен ArgoCD, если можно поставить cron с git pull?

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

Инфраструктура как код, GitOps, автоматизация — все эти слова давно перестали быть модными терминами и стали частью повседневной жизни инженера. Но вместе с этим появляются и вопросы: а всегда ли нужно внедрять тяжелые инструменты? Например, зачем нужен ArgoCD, если можно просто настроить cron с git pull на нужный сервер?

Попробуем разобраться, в чём разница между этими подходами, какие задачи они решают, где их границы применимости и, главное, в каких случаях cron — это «дешево и сердито», а когда он становится «дешево, но больно».

Читать далее

Подводные камни при работе с файлами в Linux с примерами на Python

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

Работа с файлами в Python кажется простой — open, read, write. Но на практике, особенно в системах с высокими требованиями к отказоустойчивости, стабильности и логированию, за банальными строками кода может скрываться целый мир проблем.

Читать далее

Пример использования библиотеки EMX Controls для создания финансовых кроссплатформенных приложений

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

Не так давно мы успешно портировали проект CryptoTradingFramework на Avalonia UI с использованием библиотеки визуальных контролов EMX Controls. На примере клиентского приложения CryptoMarketClient мы хотели бы рассказать о возможностях библиотеки EMX Controls для разработки GUI для финансовых приложений.

Читать далее
1
23 ...