Конец Windows 10 — лучший подарок для десктопного Linux
14 октября 2025 года Microsoft перестанет выпускать новые фичи и обновления безопасности для Windows 10. Окончание поддержки самой популярной операционной системы в мире затронет 240 млн компьютеров. В этой статье об инициативной группе «Конец десятки», которая продвигает Linux в массы (без привязки к дистрибутиву) и предлагает простые способы его установки.
14 октября 2025 года Microsoft перестанет выпускать новые фичи и обновления безопасности для Windows 10. Окончание поддержки самой популярной операционной системы в мире затронет 240 млн компьютеров. В этой статье об инициативной группе «Конец десятки», которая продвигает Linux в массы (без привязки к дистрибутиву) и предлагает простые способы его установки.
😁8😢6👎4❤2💩2
Как мигрировать большую 10+ Тб базу 1С из MS SQL в PostgreSQL и уложиться в трехчасовое окно
В этом посте про миграцию большой базы данных 1С Предприятие с MS SQL Server на PostgreSQL. Тема перехода на PostgreSQL весьма популярна, и почти на каждой конференции по PG обязательно есть парочка докладов на эту тему. Читать на Хабре.
В этом посте про миграцию большой базы данных 1С Предприятие с MS SQL Server на PostgreSQL. Тема перехода на PostgreSQL весьма популярна, и почти на каждой конференции по PG обязательно есть парочка докладов на эту тему. Читать на Хабре.
👍7🔥6
Ansible, bash и я: три мушкетёра в мире автоматизации управления компьютерами на Linux
Задача: в кратчайшие сроки перевести более 1000 рабочих мест сотрудников и студентов на отечественное ПО и без ручного труда. В статье описано решени этой задачи.
Задача: в кратчайшие сроки перевести более 1000 рабочих мест сотрудников и студентов на отечественное ПО и без ручного труда. В статье описано решени этой задачи.
👍7🤮1
Embedded Linux для начинающих (Часть первая)
Автор описывает свой опыт решения задачи по сборке и запуску Linux на одноплатном ПК. Читать дальше на Хабре.
Автор описывает свой опыт решения задачи по сборке и запуску Linux на одноплатном ПК. Читать дальше на Хабре.
👍4🤮1👌1💊1
5 малоизвестных команд для Linux
tldr
Если набрать, например,
Например:
timeout
Команда timeout позволяет выполнять команду в течение определенного времени. Если время истечет, тайм-аут убьет процесс, так что скрипт не будет выполняться вечно. Пара примеров:
ncdu
Инструмент ncdu похож на du, но с текстовым интерактивным интерфейсом, который позволяет проверять использование диска и удалять мусор на месте.
fd
Это удобная альтернатива find с простым синтаксисом (больше никаких длинных флагов или странных шаблонов). Несколько примеров:
trash
Если вы быстро набирали rm и удаляли не тот файл (или, что еще хуже, целую папку), вы знаете, как жесток Linux в отношении удаления файлов. Кнопки «отменить» нет. Если что-то исчезло, значит, оно действительно исчезло.
Вот тут-то и пригодится команда trash. Она работает так же, как rm, но вместо того, чтобы навсегда удалять файлы, она отправляет их в корзину, откуда их можно легко восстановить позже. Несколько примеров:
@usr_bin_linux
tldr
Если набрать, например,
man tar
, вы получите труднопонятную простыню текста. В отличие, от man
, результат вывода команды ниже более понятен.tldr [command]
Например:
tldr tar
# Create a .tar archive
tar cf archive.tar file1 file2
# Extract a .tar.gz archive
tar xzf archive.tar.gz
# List contents of a tar file
tar tf archive.tar
timeout
Команда timeout позволяет выполнять команду в течение определенного времени. Если время истечет, тайм-аут убьет процесс, так что скрипт не будет выполняться вечно. Пара примеров:
timeout 5s ping google.com
timeout 30s ./myscript.sh
ncdu
Инструмент ncdu похож на du, но с текстовым интерактивным интерфейсом, который позволяет проверять использование диска и удалять мусор на месте.
ncdu
--- /home/user ------------------------
. 3.1 GiB [##########] Downloads
1.2 GiB [###.......] Videos
800.0 MiB [##........] Projects
450.0 MiB [#.........] Documents
fd
Это удобная альтернатива find с простым синтаксисом (больше никаких длинных флагов или странных шаблонов). Несколько примеров:
fd notes.txt
fd -e py
fd config /etc
trash
Если вы быстро набирали rm и удаляли не тот файл (или, что еще хуже, целую папку), вы знаете, как жесток Linux в отношении удаления файлов. Кнопки «отменить» нет. Если что-то исчезло, значит, оно действительно исчезло.
Вот тут-то и пригодится команда trash. Она работает так же, как rm, но вместо того, чтобы навсегда удалять файлы, она отправляет их в корзину, откуда их можно легко восстановить позже. Несколько примеров:
trash filename.txt
trash file1.txt file2.txt folder/
trash-restore
@usr_bin_linux
👍25🔥12❤2🤣1🙈1
Не пора ли Docker свалить в закат? (заметка на подумать перед началом рабочей недели)
Основная проблема Docker — это наличие демона. Последнее означает единую точку отказа и необходимость запуска от рута. А вот, например, containerd ничего из этого не требуется. Есть ещё podman, которому не требуется демон и права рута для запуска. А еще его команды полностью совместимы с Docker.
На что я бы поменял Docker:
🚀 для локальной разработки можно использовать Podman, Colima или NerdCTL. Они легкие, быстрые и не требуют Docker Desktop.
🚀 для конвейеров CI/CD containerd. Он более эффективен, лучше интегрируется с Kubernetes и не зависит от демона.
🚀 для Kubernetes runtime можно юзать CRI-O или containerd. Оба Kubernetes-native и не требуют дополнительных прокладок.
🚀 для пользователей рабочих станций отличными альтернативами станут Rancher Desktop (если нужен графический интерфейс) или Podman (для управления через CLI).
❗️ Дорогие читатели канала, расскажите в комментариях, что вы думаете о перспективах Docker. Ещё не начинали искать замену?
Основная проблема Docker — это наличие демона. Последнее означает единую точку отказа и необходимость запуска от рута. А вот, например, containerd ничего из этого не требуется. Есть ещё podman, которому не требуется демон и права рута для запуска. А еще его команды полностью совместимы с Docker.
На что я бы поменял Docker:
🚀 для локальной разработки можно использовать Podman, Colima или NerdCTL. Они легкие, быстрые и не требуют Docker Desktop.
🚀 для конвейеров CI/CD containerd. Он более эффективен, лучше интегрируется с Kubernetes и не зависит от демона.
🚀 для Kubernetes runtime можно юзать CRI-O или containerd. Оба Kubernetes-native и не требуют дополнительных прокладок.
🚀 для пользователей рабочих станций отличными альтернативами станут Rancher Desktop (если нужен графический интерфейс) или Podman (для управления через CLI).
❗️ Дорогие читатели канала, расскажите в комментариях, что вы думаете о перспективах Docker. Ещё не начинали искать замену?
🔥15👍11☃3🤡3❤2
Несколько интересных утилит Linux, которые могут заменить те, что вы используете каждый день
🚀 Забытые планировщики
или
🚀 Запуск служб «на лету» с
🚀 Автоматическая оптимизация производительности с
🚀 Защита от удаления с
🚀 Забытые планировщики
at
и batch
, с которыми не нужно редактировать файлы как с cron
.echo "shutdown -h now" | at 11:00 PM
или
echo "updatedb" | batch
🚀 Запуск служб «на лету» с
systemd-run
. Подходит для тестирования служб или планирования задач по обслуживанию с полной поддержкой systemd. Запуск без создания файла службы:systemd-run --unit=backup-job tar -czf /backup/home.tar.gz /home
🚀 Автоматическая оптимизация производительности с
tuned
. Динамически регулирует параметры системы в зависимости от типа рабочей нагрузки (виртуализация, пропускная способность, задержка и т. д.). Предварительно изучите принцип работы утилиты.dnf install tuned
tuned-adm profile throughput-performance
🚀 Защита от удаления с
chattr
. Даже root не сможет удалить или изменить файл пока не удалить неизменяемый бит.chattr +i /etc/passwd
👍17❤1🔥1🤔1
kpatch
kpatch — это утилита для исправления ядра Linux, которая позволяет патчить работающее ядро без перезагрузки или перезапуска каких-либо процессов. Она позволяет системным администраторам немедленно применять критические исправления безопасности к ядру, не дожидаясь завершения длительных задач, выхода пользователей из системы или запланированных окон перезагрузки.
Репыч на Гитхабе
kpatch — это утилита для исправления ядра Linux, которая позволяет патчить работающее ядро без перезагрузки или перезапуска каких-либо процессов. Она позволяет системным администраторам немедленно применять критические исправления безопасности к ядру, не дожидаясь завершения длительных задач, выхода пользователей из системы или запланированных окон перезагрузки.
Репыч на Гитхабе
🔥9👍5❤3🤝1
Сбор событий Linux: есть цель – ищем путь
В этой статье рассматриваются подходы к тонкой настройке журналирования в Linux, а также события и их назначение, которые записываются в определенные системные журналы. Особенно полезно, если вы занимаетесь инфобезом.
В этой статье рассматриваются подходы к тонкой настройке журналирования в Linux, а также события и их назначение, которые записываются в определенные системные журналы. Особенно полезно, если вы занимаетесь инфобезом.
🔥3👍2🤣2
О ненависти к российским дистрибутивам Linux
Автор статьи рассуждает на тему ненависти к российским дистрам Linux. Предлагает посмотреть на иностранные Rocky Linux, RHEV и прочие форки. Типа а почему это не хейтят их забугорных собратьев? Мое мнение таково: весь хейт связан с тем, что во многих организациях использование российских ОС является принудительным в госструктурах. Коли б не этот факт, рынок бы сам порешал.
А вы считаете отечественные ОС достойной заменой того же коммерческого RedHat или даже заменой иностранных ОС при условии бесплатного использования?
Автор статьи рассуждает на тему ненависти к российским дистрам Linux. Предлагает посмотреть на иностранные Rocky Linux, RHEV и прочие форки. Типа а почему это не хейтят их забугорных собратьев? Мое мнение таково: весь хейт связан с тем, что во многих организациях использование российских ОС является принудительным в госструктурах. Коли б не этот факт, рынок бы сам порешал.
А вы считаете отечественные ОС достойной заменой того же коммерческого RedHat или даже заменой иностранных ОС при условии бесплатного использования?
🤡28👍9🖕5🤨3❤1
Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования
В первой части было разобрано, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.
Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.
В этой статье разобраны различные уровни кэшей самой системы, приложений и языков программирования, контейнеров, прокси. А также их мониторинг и сброс.
В первой части было разобрано, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.
Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.
В этой статье разобраны различные уровни кэшей самой системы, приложений и языков программирования, контейнеров, прокси. А также их мониторинг и сброс.
👍9🔥3🤮1
Получаем root через iptables
Iptables — это утилита пользовательского пространства в Linux, используемая для настройки правил фильтрации пакетов в брандмауэре ядра Linux, называемом netfilter. По сути, это инструмент командной строки, позволяющий администраторам управлять обработкой сетевого трафика системой.
У iptables есть параметр ‑modprobe, предназначенный для загрузки всех необходимых модулей при добавлении правил в цепочку. А вот дальше уже дело техники.
Iptables — это утилита пользовательского пространства в Linux, используемая для настройки правил фильтрации пакетов в брандмауэре ядра Linux, называемом netfilter. По сути, это инструмент командной строки, позволяющий администраторам управлять обработкой сетевого трафика системой.
У iptables есть параметр ‑modprobe, предназначенный для загрузки всех необходимых модулей при добавлении правил в цепочку. А вот дальше уже дело техники.
👍7🔥6🤡4❤1
Bash vs Python: битва, где нет проигравших
В мире автоматизации часто возникает вопрос: писать скрипт на Bash или на Python? Оба инструмента подходят отлично, но принципиально разные. Bash — больше про "скоропись", для системных задач, где важна скорость и краткость. Python же — универсальный язык, который намного лучше справляется со сложной логикой и структурами данных. Но когда лучше выбрать один, а когда - другой?
Некоторые задачи в Bash решаются одной строкой, когда же на Python потребуется десяток строк кода. При усложнении сценария - Bash превращается в головоломку из awk, sed и прочих, что значительно усложняет поддержку. В этой статье сравниваются подходы и определяется, когда и какой язык лучше использовать.
В мире автоматизации часто возникает вопрос: писать скрипт на Bash или на Python? Оба инструмента подходят отлично, но принципиально разные. Bash — больше про "скоропись", для системных задач, где важна скорость и краткость. Python же — универсальный язык, который намного лучше справляется со сложной логикой и структурами данных. Но когда лучше выбрать один, а когда - другой?
Некоторые задачи в Bash решаются одной строкой, когда же на Python потребуется десяток строк кода. При усложнении сценария - Bash превращается в головоломку из awk, sed и прочих, что значительно усложняет поддержку. В этой статье сравниваются подходы и определяется, когда и какой язык лучше использовать.
👍6🔥5🥴2
Как один глупый Bash-скрипт сэкономил 100 часов ручной работы
Есть некоторая ирония в том, как простые инструменты решают сложные задачи. Пока технические форумы гудят от обсуждений Kubernetes, пайплайнов машинного обучения и микросервисных архитектур, автор этой статьи хочет на минуту отвлечься и поговорить о чем-то до безобразия простом: Bash-скрипте. Не особенно изящном. Без функций. Без параметров. Без проверок корректности. Просто линейный, безжалостно прагматичный shell-скрипт, который за год сэкономил ему несколько недель работы.
Это история не о красоте кода, а об его полезности. Не о совершенстве, а о решении реальных проблем в условиях нехватки времени, терпения и мотивации команды. Если вы разработчик, системный администратор, специалист по данным или просто устали от рутинных задач — этот пост для вас.
Есть некоторая ирония в том, как простые инструменты решают сложные задачи. Пока технические форумы гудят от обсуждений Kubernetes, пайплайнов машинного обучения и микросервисных архитектур, автор этой статьи хочет на минуту отвлечься и поговорить о чем-то до безобразия простом: Bash-скрипте. Не особенно изящном. Без функций. Без параметров. Без проверок корректности. Просто линейный, безжалостно прагматичный shell-скрипт, который за год сэкономил ему несколько недель работы.
Это история не о красоте кода, а об его полезности. Не о совершенстве, а о решении реальных проблем в условиях нехватки времени, терпения и мотивации команды. Если вы разработчик, системный администратор, специалист по данным или просто устали от рутинных задач — этот пост для вас.
👍10❤2🔥1
Как установить GUI на сервер Ubuntu 24.04
Изначально Ubuntu Server создавался как легкая и производительная операционная система для работы с задачами на серверах. Именно поэтому на них по умолчанию не устанавливается графический интерфейс (GUI) — это позволяет экономить ресурсы, ускорять работу системы и повышать ее безопасность.
Однако бывают ситуации, когда графический интерфейс на сервере все же необходим. Например, если вам нужно запускать привычные десктопные программы прямо на сервере, тестировать приложения с графическим управлением и решать другие задачи. В статье пошагово рассказывают, как установить GUI на примере сервера Ubuntu 24.04 с минимальной конфигурацией.
Изначально Ubuntu Server создавался как легкая и производительная операционная система для работы с задачами на серверах. Именно поэтому на них по умолчанию не устанавливается графический интерфейс (GUI) — это позволяет экономить ресурсы, ускорять работу системы и повышать ее безопасность.
Однако бывают ситуации, когда графический интерфейс на сервере все же необходим. Например, если вам нужно запускать привычные десктопные программы прямо на сервере, тестировать приложения с графическим управлением и решать другие задачи. В статье пошагово рассказывают, как установить GUI на примере сервера Ubuntu 24.04 с минимальной конфигурацией.
💊12👍2🔥1
pg_dphyp: учим PostgreSQL соединять таблицы по-другому
Эта статья не о DPhyp как таковом, а о том, с чем автору статьи пришлось столкнуться в процессе написания соответствующего расширения для PostgreSQL.
Статья на Хабре
Репыч на Гитхабе
Эта статья не о DPhyp как таковом, а о том, с чем автору статьи пришлось столкнуться в процессе написания соответствующего расширения для PostgreSQL.
Статья на Хабре
Репыч на Гитхабе
👍2🔥1
Цикл из 2 статей
Закрепление включает в себя методы, которые злоумышленники используют для сохранения доступа к системам после перезагрузок, смены учетных данных и других событий, способных прервать их доступ. Атакующие применяют техники закрепления, чтобы не пришлось повторять этапы эксплуатации.
Поиск способов закрепления в Linux (Часть 1)
Поиск способов закрепления в Linux (Часть 2). Манипуляция учётными записями
Закрепление включает в себя методы, которые злоумышленники используют для сохранения доступа к системам после перезагрузок, смены учетных данных и других событий, способных прервать их доступ. Атакующие применяют техники закрепления, чтобы не пришлось повторять этапы эксплуатации.
Поиск способов закрепления в Linux (Часть 1)
Поиск способов закрепления в Linux (Часть 2). Манипуляция учётными записями
👍2🔥1
How we built fast UPDATEs for the ClickHouse column store – Part 1: Purpose-built engines
Колоночные хранилища данных не предназначены для обновлений на уровне строк. ClickHouse не стал исключением: он разработан для обеспечения высокой скорости при масштабировании, оптимизирован для быстрых вставок и аналитики, а не для изменения отдельных строк. Однако, реальный опыт использования иногда требует обновления отдельных строк.
Пользователи ClickHouse часто его используют для хранения быстро меняющихся данных: данные Интернета вещей (показания датчиков) , электронной коммерции (заказы и инвентарь) , финансов (статус платежей) , игр (статистика игроков) и CRM/HR (профили пользователей или сотрудников) — данные, которые необходимо корректировать, обновлять или удалять. Вместо того, чтобы принудительно выполнять медленные операции обновления (UPDATE) в системе, рассчитанной на большие объемы данных, в Clickhouse пошли другим путем: они рассматривают обновления как вставки.
Это не обходной путь, а осознанное решение. Такие движки, как ReplacingMergeTree , CoalescingMergeTree и CollapsingMergeTree , позволяют ClickHouse обрабатывать обновления и удаления, записывая новые строки вместо изменения существующих. Они используют высокую производительность ClickHouse при вставке и фоновый процесс слияния, избегая снижения производительности, характерного для обновлений на месте.
Читать дальше в блоге Clickhouse
Колоночные хранилища данных не предназначены для обновлений на уровне строк. ClickHouse не стал исключением: он разработан для обеспечения высокой скорости при масштабировании, оптимизирован для быстрых вставок и аналитики, а не для изменения отдельных строк. Однако, реальный опыт использования иногда требует обновления отдельных строк.
Пользователи ClickHouse часто его используют для хранения быстро меняющихся данных: данные Интернета вещей (показания датчиков) , электронной коммерции (заказы и инвентарь) , финансов (статус платежей) , игр (статистика игроков) и CRM/HR (профили пользователей или сотрудников) — данные, которые необходимо корректировать, обновлять или удалять. Вместо того, чтобы принудительно выполнять медленные операции обновления (UPDATE) в системе, рассчитанной на большие объемы данных, в Clickhouse пошли другим путем: они рассматривают обновления как вставки.
Это не обходной путь, а осознанное решение. Такие движки, как ReplacingMergeTree , CoalescingMergeTree и CollapsingMergeTree , позволяют ClickHouse обрабатывать обновления и удаления, записывая новые строки вместо изменения существующих. Они используют высокую производительность ClickHouse при вставке и фоновый процесс слияния, избегая снижения производительности, характерного для обновлений на месте.
Читать дальше в блоге Clickhouse
👍4❤1🔥1🤡1
How we built fast UPDATEs for the ClickHouse column store – Part 2: SQL-style UPDATEs
Это вторая часть цикла статей о принципах выполнения обновления данных в Clickhouse. Здесь разбираются примеры SQL-запросов.
Читать дальше в блоге Clickhouse
P.S. Будет еще 3 часть.
Это вторая часть цикла статей о принципах выполнения обновления данных в Clickhouse. Здесь разбираются примеры SQL-запросов.
Читать дальше в блоге Clickhouse
P.S. Будет еще 3 часть.
👍2🔥1🤡1
Структура файловой иерархии Linux
Структура файловой иерархии Linux, также известная как Filesystem Hierarchy Standard (FHS), определяет организацию каталогов и их содержимое в операционных системах, подобных Unix. За поддержание стандарта отвечает организация Linux Foundation. Читать дальше на Хабре.
Структура файловой иерархии Linux, также известная как Filesystem Hierarchy Standard (FHS), определяет организацию каталогов и их содержимое в операционных системах, подобных Unix. За поддержание стандарта отвечает организация Linux Foundation. Читать дальше на Хабре.
❤6👍2🤡2🔥1