ch
Feedback
GNU/Linux | Notes

GNU/Linux | Notes

前往频道在 Telegram

Open Source, GNU/Linux, Debian/Ubuntu, Dotfiles, Software, Scripts, Notes, Terminal, Shell, Tools, Games, Fun, Misc, Music, Geek, Free Software Movement. Почта: krekhov.dev@gmail.com Кто я: https://t.me/krxnotes/246 GitHub: https://github.com/krekhovx

显示更多
2 235
订阅者
无数据24 小时
+17 天
-230 天
帖子存档
Недавно я мельком увидел на Хабре интересный термин — Fastfood IT. Нет, это не разработка платформ для фастфуд-индустрии (хотя и такое тоже есть), а кое-что более тревожное. Так вот: Fastfood IT — неофициальный термин для быстрого, дешёвого и шаблонного создания IT-продуктов: сайтов, приложений, кода или MVP. С развитием AI это понятие стало особенно актуальным: нейросети позволяют за минуты генерировать код, дизайн и контент. Но у такой скорости есть обратная сторона. Как и фастфуд, результат может быть удобным и доступным «здесь и сейчас», но впоследствии привести к техническому долгу, ошибкам, проблемам с безопасностью, сложностям в поддержке и, в конечном итоге, к забрасыванию проекта. Поэтому я и перестал «писать» новые пет-проекты: ИИ очень помогает, но демотивирует. Проект быстро превращается в типичную ИИ-пустышку. Пока что я не смог разрешить этот внутренний конфликт для себя. #thoughts #ai

Я увлёкся мангой и комиксами в целом — это хорошо отвлекает от думскроллинга. Мне нравится что-то домашнее, уютное, приключен
Я увлёкся мангой и комиксами в целом — это хорошо отвлекает от думскроллинга. Мне нравится что-то домашнее, уютное, приключенческое и с лёгкой комедийной ноткой, чтобы можно было расслабиться. Манга — это японские комиксы, которые читаются справа налево. #thoughts

В 2025 году я встречался с разработчиками Debian — Debian Developers (DD). Это инженеры, которые кучу лет вносят вклад в Debian, поддерживают пакеты, инфраструктуру, исправляют баги, ну и так далее. Я отношусь к ним с большим уважением. Мне особенно запомнилась процедура подтверждения GPG-ключа. Она была нужна мне на пути к статусу Debian Maintainer (DM): чтобы публиковать и сопровождать пакеты в Debian, важно не только уметь делать это технически, но и быть известным сообществу как реальный и ответственный человек. GPG-ключ — это криптографический ключ, который позволяет подтверждать вашу цифровую личность и авторство подписанных действий. В Open Source с его помощью можно подписывать коммиты, теги, пакеты и загрузки в репозитории, связывая эти действия с владельцем ключа. Новый GPG-ключ сам по себе ничего не говорит окружающим. Он может принадлежать кому угодно: реальному разработчику, случайному человеку или тому, кто просто указал чужое имя и почту. Поэтому важна подпись ключа кем-то другим, более известным и проверенным в сообществе. Так и образуется цепочка доверия между реальными людьми в сообществе. Когда опытный участник Debian подписывает мой публичный ключ, он не «ручается за меня во всём» и не выдаёт мне особые права одной подписью. Смысл подписи более конкретный: этот человек подтверждает, что лично проверил, что данный отпечаток ключа действительно принадлежит мне с указанными именем и адресом электронной почты. При встрече желательно показать друг другу документы, например паспорт или водительское удостоверение. Отпечаток, или fingerprint, — это короткий уникальный идентификатор GPG-ключа. Его можно вывести так:
$ gpg --fingerprint email@example.org
На встрече мы обменялись бумажками с отпечатками наших GPG-ключей и сверили их друг с другом. После проверки личности и совпадения отпечатка разработчик мог подписать мой публичный ключ уже дома, а я - его (взаимная подпись). Технически я уже не помню, как именно мы это делали и какие команды использовали, но суть не в этом, а в том, как выстраивается цепочка инженеров, которым можно доверять. Именно в этом для меня ценность личной встречи. В интернете аккаунт, никнейм и даже фотография, которую можно сгенерировать, почти ничего не гарантируют. То же самое с голосовыми сообщениями, которые тоже можно подделать или сгенерировать: за профилем может быть бот, фейк, мошенник или человек, выдающий себя за другого. А когда ты лично встретился с человеком, показал документы, вместе сверил отпечаток ключа — уровень доверия становится совсем другим. Конечно, GPG не делает человека автоматически надёжным и не заменяет репутацию, код-ревью или правила проекта. Но он помогает криптографически связать цифровой ключ с реальным человеком. Для больших свободных проектов, где участники живут в разных странах и работают через интернет, это очень полезная вещь. Вывод: будьте осторожнее, общаясь со всякими ноунеймами в сети. Особенно — с аккаунтами противоположного пола :D #thoughts #security #debian

hedgewars Пошаговая тактическая игра в стиле Worms: игроки управляют командами забавных ежей, перемещаются по разрушаемым кар
hedgewars Пошаговая тактическая игра в стиле Worms: игроки управляют командами забавных ежей, перемещаются по разрушаемым картам и используют большой набор оружия и необычных предметов, чтобы победить соперников. Можно играть одному, по локальной сети или онлайн, настраивать команды, уровни и правила боя. Это полностью свободная игра с открытым исходным кодом, распространяемая по лицензии GPL-2.0-or-later. Установка:
$ apt-get install -y hedgewars
> GitHub > Salsa > Сайт #games #opensource

Chroot и Docker: в чём разница Chroot и Docker-контейнеры позволяют запускать программы в изолированной среде, но работают по-разному. Chroot меняет для процесса корневую папку файловой системы. Программа «видит» указанную директорию как / и работает с файлами внутри неё. Это простой и очень лёгкий механизм: почти нет дополнительной инфраструктуры, можно быстро собрать минимальную среду с нужными библиотеками и программами. Плюсы chroot: минимальный расход ресурсов, простота, быстрый запуск, полный контроль над файловой структурой. Минус — слабая изоляция: chroot не предназначен для защиты от вредоносных процессов. При наличии root-доступа из такого окружения часто можно выбраться в основную систему. Также chroot не изолирует сеть, процессы и другие системные ресурсы сам по себе. Docker использует возможности ядра Linux: namespaces изолируют процессы, сеть, пользователей и точки монтирования, а cgroups ограничивают потребление ресурсов. Контейнер Docker обычно запускается из готового образа и включает приложение со всеми зависимостями. Плюсы Docker: удобная упаковка и переносимость приложений, воспроизводимый запуск, управление сетью и томами, более сильная изоляция, развитая экосистема. Минусы: больше служебных компонентов, сложнее настройка, крупнее образы и выше расход ресурсов по сравнению с простым chroot. Итог: chroot подходит для лёгких локальных окружений, сборки пакетов и экспериментов, где важны простота и минимализм. Docker удобнее для развёртывания сервисов, командной разработки и проектов, которым нужна переносимость и изоляция. ——— Если хотите работать с chroot удобно и быстро, советую использовать pbuilder или sbuild в Debian. А ещё можно написать свой велосипед с использованием утилиты chroot — так будет проще понять, как это всё работает. Если же хотите Docker, можно использовать официальный репозиторий download.docker.com. Например, вот скрипт, который скачивает актуальные пакеты для Bookworm (если используется Trixie — просто поменяйте dist в скрипте). #build #utils #misc

ИИ-токены - это условные "кусочки текста", которыми ChatGPT измеряет объём диалога. Токен - не обязательно слово: короткое слово может быть одним токеном, а длинное слово, число, ссылка или знак препинания - несколькими. Например, надпись "Использовано токенов: 115 665 из 325 000" означает, что в чате уже обработано примерно 115 тысяч таких кусочков текста, а общий лимит - 325 тысяч. В токены входят сообщения пользователя и ответы ChatGPT. Это не валюта, но в API токены также используют для расчёта стоимости работы ИИ. Чем длиннее сообщения и ответы ChatGPT, тем больше расходуется токенов. В счётчик входят текст диалога, цитаты, код, ссылки и другие данные. #ai

Warning: Debian 11 Long Term Support reaches end-of-life Новость: https://www.debian.org/News/2026/20260831 Короче говоря, с 31 августа 2026 года Debian 11 (Bullseye) больше не получает официальные обновления безопасности и исправления. Если у вас есть серверы или машины на этом релизе, лучше обновиться хотя бы до Bookworm или выше. #news #debian

Полезные ссылки (или неполезные) https://tracker.debian.org/ - отслеживание пакетов Debian: версии, баги, изменения, сопровождение. https://www.codewars.com/ - задачи по программированию и практика кода. https://chatgpt.com/ - чат с ИИ ChatGPT. https://chat.mistral.ai/ - чат с ИИ Mistral. https://distrowatch.com/ - новости, рейтинги и информация о Linux-дистрибутивах. https://goodfirstissues.com/ - поиск простых задач для первого вклада в open source. https://goodfirstissue.dev/ - подборка beginner-friendly задач в open-source проектах. https://www.linux.org.ru/ - русскоязычное сообщество и новости о Linux. https://www.opennet.ru/ - новости, статьи и документация по Linux/Unix и ПО. https://micronews.debian.org/ - короткие новости из жизни Debian. https://www.debian.org/News/ - официальные новости проекта Debian. https://www.debian.org/ - официальный сайт Debian. https://salsa.debian.org/ - GitLab-платформа Debian с исходным кодом пакетов и проектов. https://contributors.debian.org/ - участники проекта Debian. https://keyserver.ubuntu.com/ - сервер поиска и публикации OpenPGP/GPG-ключей. https://wiki.debian.org/Teams - список команд и рабочих групп Debian. https://wiki.debian.org/LTS, https://www.debian.org/releases/ - информация о долгосрочной поддержке Debian (LTS), релизы Debian. https://www.debian.org/intro/help.en.html - как можно помочь Debian и с чего начать? https://web.telegram.org/ - веб-версия Telegram. https://tgstat.ru/ - статистика и аналитика Telegram-каналов. https://tgstat.ru/tag/linux - подборка Telegram-каналов по теме Linux. https://tgstat.ru/tag/devops - подборка Telegram-каналов по DevOps. https://tgstat.ru/tag/it-books - подборка Telegram-каналов с IT-книгами. https://online-timer.ru/ - онлайн-таймеры, секундомеры и будильники. https://downsub.com/ - скачивание субтитров из видео по ссылке (например, YouTube). https://ipcalc.co/ - калькулятор IP-подсетей, масок и диапазонов адресов. https://2ip.io/ru/ - проверка IP-адреса, сети, DNS и других параметров подключения. https://crontab.guru/ - удобная проверка и расшифровка cron-выражений. https://wintelguy.com/umask-calc.pl - калькулятор прав доступа Unix/Linux и umask. https://www.nerdfonts.com/ - шрифты с иконками для терминала, редакторов и status bar. https://openbuildservice.org/ - система сборки и публикации пакетов для разных Linux-дистрибутивов. https://www.profileme.dev/ - создание и оформление README-профиля GitHub (Demo). https://ftp.ubuntu.com/ - сервер с пакетами, ISO-образами и файлами Ubuntu. https://archive.debian.org/ - архив старых, неподдерживаемых релизов и пакетов Debian. https://ftp.debian.org/debian/ - основной зеркальный сервер репозиториев Debian: пакеты, обновления и метаданные. https://shields.io/badges - создание бейджей для оформления README.md и проектов. #misc

Если вам нужно, чтобы Git нормально отображал кириллицу в git status / git log, именах файлов и похожих местах, добавьте в .git/config репозитория:
[core]
    quotepath = false
или выполните команду:
$ git config core.quotepath false
Эта настройка отключает экранирование не-ASCII-символов. #git

Упрощённая схема жизненного цикла ПО * Сбор и обработка требований * Получение технических заданий, планы работ * Разработка - Дизайн - Кодирование - Тестирование - Документирование * Поддержка - Внедрение (Установка ПО, обучение пользователей) - Сопровождение (Исправление выявленных ошибок, поддержка пользователей) #theory #misc

libcap2-bin
$ dpkg -L libcap2-bin
/.
/usr
/usr/sbin
/usr/sbin/capsh
/usr/sbin/getcap
/usr/sbin/getpcaps
/usr/sbin/setcap
/usr/share
/usr/share/doc
/usr/share/doc/libcap2-bin
/usr/share/doc/libcap2-bin/README.Debian
/usr/share/doc/libcap2-bin/changelog.Debian.amd64.gz
/usr/share/doc/libcap2-bin/changelog.Debian.gz
/usr/share/doc/libcap2-bin/changelog.gz
/usr/share/doc/libcap2-bin/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libcap2-bin
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/capsh.1.gz
/usr/share/man/man8
/usr/share/man/man8/getcap.8.gz
/usr/share/man/man8/getpcaps.8.gz
/usr/share/man/man8/setcap.8.gz
libcap2-bin — пакет с утилитами для Linux capabilities: getcap смотрит capabilities файлов, setcap назначает их, getpcaps показывает capabilities процесса, capsh позволяет просматривать и изменять capabilities shell/процесса. #security #misc #utils

- SUID — программа запускается с правами её владельца. Может использоваться для повышения привилегий, если настроена небезопасно. Эскалация прав. Пример: /usr/bin/passwd Как найти все файлы с SUID-битом?
$ find / -type f -perm -4000 2>/dev/null
- SGID — программа запускается с правами группы-владельца; у директории новые файлы наследуют её группу. Эскалация прав. Пример: /usr/bin/crontab Как найти все файлы с SGID-битом?
$ find / -type f -perm -2000 2>/dev/null
Эскалация прав — получение пользователем или программой более высоких прав доступа, чем были изначально. Например, от обычного пользователя до root. - Sticky Bit — применяется к директориям, например /tmp: удалять или переименовывать чужие файлы может только их владелец, владелец директории или root. #theory #security

#fun
#fun

concatenate — соединять, объединять. #fun #misc
concatenate — соединять, объединять. #fun #misc

rtorrent Это консольный BitTorrent-клиент для Linux: через него можно добавлять и скачивать .torrent-файлы или magnet-ссылки, следить за скоростью и раздачами прямо в терминале. Установка:
apt-get install rtorrent
Как выйти из rtorrent? Ctrl+Q > GitHub #software #opensource #utils

Основные термины из мира безопасности - Уязвимость - ошибка или слабое место в программе, через которое можно нарушить её работу, получить доступ к данным или системе. - CVE (Common Vulnerabilities and Exposures) - уникальный идентификатор публично известной уязвимости. Например: CVE-2024-3094. CVE - это не сама уязвимость, а её номер в общей базе. - Эксплойт - код, программа или набор действий, использующий уязвимость для конкретной цели: выполнить код, повысить права, украсть данные и т.д. - Эксплуатировать уязвимость - использовать её на практике. Например: "Злоумышленник эксплуатировал уязвимость в веб-сервере". Ещё важные понятия: - Патч - обновление, исправляющее ошибку или уязвимость. - Zero-day / 0-day - уязвимость, для которой ещё нет исправления либо о которой разработчик узнал недавно. - PoC (Proof of Concept) - демонстрационный код, подтверждающий, что уязвимость действительно работает. Не всегда является полноценным эксплойтом. - CVSS - оценка критичности уязвимости по шкале от 0 до 10. Чем выше число, тем потенциально опаснее проблема. #theory #security

Что замедляет загрузку системы? Можно использовать команду:
$ systemd-analyze blame
Она покажет службы systemd и время, которое потребовалось на их запуск. Например:
8.421s NetworkManager-wait-online.service
3.105s docker.service
1.842s plymouth-quit-wait.service
Чем больше время — тем сильнее служба влияет на запуск системы. Но не спешите отключать всё подряд: некоторые сервисы запускаются параллельно, поэтому их время не всегда напрямую увеличивает время загрузки. #misc #utils

CI/CD (Continuous Integration) Непрерывная интеграция - постоянное слияние рабочих копий в общую основую ветвь разработки и выполнение частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов. (Continuous delivery) Непрерывная поставка - частые выпуски RC, такой подход позволяет уменьшить стоимость, время и риски внесения изменений путем более частных мелких обновлений в продакшн-приложение. Гарантия того, что ПО стабильно и может быть передано в эксплуатацию в любое время. Целью является сборка, тестирование и релиз программного обеспечения с большей скоростью и частотой. * Pipelines: Последовательность шагов, которые нужно выполнить для того, чтобы код прошел через все стадии проверки, тестирования и развертывания. Процесс преобразования кода из "только что написанного" в "готово к использованию". * Jobs: Это отдельные задания или задачи внутри Pipeline. Например, одна работа может быть связана с компиляцией кода, другая — с запуском тестов, третья — с развертыванием. * Artifacts: Это файлы, которые создаются и сохраняются в ходе выполнения Jobs. Например, если есть шаг сборки, который компилирует код, то результат этой сборки (например, исполняемый файл или архив) будет артефактом. Артефакты могут быть использованы в последующих шагах или сохранены для будущего использования. #misc #build

В Shell есть полезные горячие клавиши, которые заметно ускоряют работу в терминале. Посмотреть все сочетания можно командой:
$ bind -P
Вывода там много, поэтому вот самые главные:
Ctrl + U — удалить текст от курсора до начала строки
Ctrl + K — удалить текст от курсора до конца строки
Ctrl + W — удалить слово слева
Alt + D — удалить слово справа
Ctrl + L — очистить экран
Ctrl + R — поиск по истории команд
Ctrl + Y — вставить ранее удалённый текст
Alt + . — вставить последний аргумент предыдущей команды
Работает в Bash и других оболочках с readline. #shell #terminal

Claude AI — это семейство передовых больших языковых моделей и умный чат-бот, созданные американской компанией Anthropic. Платформа известна способностью глубоко анализировать тексты, работать с огромными объемами информации и писать программный код. Главные особенности Длинный контекст: модели способны обрабатывать и запоминать сотни тысяч токенов, что позволяет загружать и анализировать целые книги, объемные отчеты или огромные кодовые базы. Линейка моделей: включает быстрые и легкие версии Haiku, сбалансированные для повседневных задач Sonnet и самые мощные флагманские Opus для сложной аналитики. Безопасность: при создании используется методология Constitutional AI, которая помогает избегать токсичных ответов и делает общение этичным. Основные направления применения Работа с текстом и документами: глубокая суммаризация, поиск скрытых противоречий в договорах, редактура и создание контента на разных языках, включая русский. Программирование: рефакторинг кода, поиск ошибок, архитектурные подсказки и интеграция через специализированные инструменты вроде Claude Code. Исследования: качественный разбор PDF-файлов, таблиц и статистических данных. Claude можно подключить по API к рабочей системе: боту, сайту, CRM, скрипту или автоматизации (например, n8n/Make). Тогда он получает данные, выполняет заданную задачу и сам отправляет результат дальше — без ручной переписки в чате. Ссылка: https://claude.ai/login #ai