fa
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 282
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-67 روز
-2130 روز
آرشیو پست ها
Цифровая благотворительность Благотворительность — это добровольная помощь (деньгами, временем, знаниями или ресурсами), направленная на общественную пользу без ожидания личной выгоды. Я спонсирую на GitHub более 12 авторов. Мне это нравится. В своей Linux‑среде я использую много открытых проектов, и за долгие годы работы с ними у меня появилась к ним привязанность и даже своего рода любовь. Всё‑таки это социальный труд, и он буквально находится у меня на компьютере. Например, я люблю neomutt, mc, tmux, vim и многое другое. Я не всегда могу внести интеллектуальный вклад в эти проекты, поэтому решил поддерживать их финансово. На GitHub есть возможность спонсировать проекты — можете почитать об этом, если интересно. Кстати, это довольно современный и технологичный вид благотворительности — поддержка общественного цифрового блага. Поддержка open source — это ещё и: - вклад в общее благо - поддержка цифровой инфраструктуры - инвестиция в экосистему, которой ты сам пользуешься То есть это одновременно: - благотворительность - гражданская позиция - и в какой‑то степени разумный вклад в собственное будущее Я узнал недавно, что и Debian принимает пожертвования. Это очень круто! Debian, например, — некоммерческий проект. Пожертвования туда идут на: - серверы - мероприятия - инфраструктуру - юридическую поддержку - развитие дистрибутива К сожалению, для такого вида благотворительности нужна карта, относящаяся к международным платёжным системам (Visa, Mastercard и т.п). Короче говоря, друзья! Поддерживайте своих любимых авторов, музыкантов, исполнителей и т.д — это мотивирует. Если вдруг захотите поддержать и меня — буду благодарен (Сбер / СБП): >> 2202 2036 6907 4603 #thoughts #opensource #debian

git push --force — это принудительная отправка изменений, при которой удалённая ветка перезаписывается локальной историей коммитов. По сути, инженер говорит серверу: «считай правильной мою версию истории». Он нужен, когда история коммитов была изменена локально — например, выполнен git reset, объединены коммиты или отредактированы их сообщения. В таком случае локальная история уже отличается от той, что находится на сервере. Обычный git push не позволит отправить такие изменения, поэтому используется --force. Применять --force безопасно, если это личный репозиторий или если в ветке работает только один человек. В такой ситуации риск навредить другим отсутствует. Опасность возникает при командной работе: если другие инженеры уже получили старую версию истории, --force фактически «переписывает прошлое», из‑за чего их локальные репозитории могут войти в конфликтное состояние. В результате можно потерять чужие коммиты. По молодости я часто злоупотреблял git push --force, из‑за чего нередко возникали конфликтные ситуации в проекте. Поэтому будьте осторожны с этим параметром, друзья. #git

Доклады, живое общение и облака — всё на K2 Cloud Conf 2026. Ребята из K2 Cloud покажут, как строить и защищать облака, автом
Доклады, живое общение и облака — всё на K2 Cloud Conf 2026. Ребята из K2 Cloud покажут, как строить и защищать облака, автоматизировать процессы, работать с нагрузкой и ресурсами, а еще расскажут про новые подходы к хранению данных — и не только. 14 апреля, Москва (ЦДП) + онлайн. Подробности и регистрация по ссылке. Участие, кстати, бесплатное. Реклама. АО "К2 Интеграция". ИНН 7701829110

GNOME начал перенаправление части git-трафика на GitHub Новость: https://www.opennet.ru/opennews/art.shtml?num=64892 #news

goodfirstissue.dev — сайт‑агрегатор задач для новичков в open‑source. Он собирает issue с меткой вроде good first issue из популярных GitHub‑репозиториев. Цель — помочь сделать первый вклад в open‑source: - найти простую задачу - перейти в репозиторий - начать осуществлять вклад Коротко: это каталог «простых задач для первого pull request». Также можно добавить свой open‑source проект (если есть issue с меткой good first issue) и привлечь новичков к репозиторию. #opensource #software #misc

PyPI (pypi.org) — это официальный репозиторий пакетов для Python. Туда можно загружать свои проекты. Если коротко: - Нужно зарегистрироваться и загрузить пакет через twine. - Другие могут установить его через pip install имя_пакета. Это как «App Store», но для Python‑библиотек. #python

#fun
#fun

#fun
#fun

Многие по привычке считают создателем современных дистрибутивов одного человека — Линуса Торвальдса. Но Linux — это не дистрибутив, а только ядро операционной системы. Современный дистрибутив включает огромный набор компонентов: утилиты, компиляторы, оболочки, библиотеки, менеджеры пакетов, графические окружения. Большая часть базовых инструментов появилась благодаря проекту GNU, созданному Ричардом Столлманом и сообществом ещё до появления ядра Linux. Именно поэтому корректнее говорить GNU/Linux: ядро от Торвальдса + системные утилиты и инфраструктура GNU, плюс множество пакетов от сотен независимых разработчиков. При этом GNU сам по себе не был дистрибутивом — он дал инструменты, но не имел собственного рабочего ядра. GNU дало основу, Linux — ядро, а остальные начали собирать на этой базе свои дистрибутивы. Современный дистрибутив — результат коллективной работы тысяч людей и проектов, а не одного автора. #people #software #kernel #opensource

Куда уходит оперативная память в современных системах? Почему раньше нам хватало условно 4гб оперативной памяти, а теперь и 32гб мало? Современные программы используют больше: - браузеры: десятки вкладок (гигантский расход памяти) - мессенджеры, клиенты, сервисы (всё держится в фоне) - тяжёлые веб‑технологии (Electron, JavaScript‑UI) - высокие DPI, большие текстуры, анимации - безопасность: песочницы, изоляция процессов - кеширование для скорости работы Железо стало мощнее -> разработчики меньше оптимизируют. Когда компьютеры были слабее, разработчики вынуждены были оптимизировать каждую деталь: экономить память, избегать лишних процессов, писать компактный код. Любая неэффективность сразу делала программу медленной или вовсе неработоспособной. Сейчас же даже бюджетные ПК имеют десятки гигабайт ОЗУ и многоядерные процессоры. В результате давление на оптимизацию сильно снизилось: софт может позволить себе быть тяжёлым, потому что «железо вытянет». Кроме того, современные фреймворки, библиотеки и веб‑технологии экономят время разработчиков, но требуют больше ресурсов. Использовать готовые решения проще и быстрее, чем писать максимально оптимизированный нативный код — это выгодно бизнесу, но увеличивает расход памяти. Поэтому, хотя память растёт, её часто «съедают» новые уровни абстракций и удобства разработки. #memory #software #misc #theory

Выпуск набора утилит GNU Coreutils 9.10 Новость: https://www.opennet.ru/opennews/art.shtml?num=64742 #news

Выпуск Ubuntu 24.04.4 LTS c обновлением графического стека и ядра Linux Новость: https://www.opennet.ru/opennews/art.shtml?num=64789 #news

Выпуск минималистичного дистрибутива Tiny Core Linux 17.0 Он сделан как полностью самостоятельный, ультра‑минималистичный дистрибутив со своей системой пакетов (tcz), своим подходом к загрузке и вообще отдельно от Debian‑семейства. Новость: https://www.opennet.ru/opennews/art.shtml?num=64781 #news

Почему вокруг systemd возникают споры и какие init-системы существуют? Debian официально выбрал systemd в качестве системы инициализации по умолчанию в феврале 2014 года. Это решение было реализовано в релизе Debian 8 «Jessie» (выпущенном в 2015 году), заменив собой старую систему SysVinit, после интенсивных дебатов технического комитета. До этого, в Wheezy, systemd была доступна лишь как экспериментальная опция. Частичная поддержка systemd и udev началась раньше, но переход стал обязательным для стандартизации управления службами. Init‑система — это первый процесс, который запускается ядром Linux при загрузке и управляет стартом всех остальных служб и программ. Она отвечает за запуск демонов, настройку окружения, контроль за работой сервисов и корректное завершение системы. Без init система просто не сможет полноценно загрузиться и работать. Почему сообщество разделилось на тех, кто принимает systemd, и тех, кто его не принимает? systemd сильно меняет привычный Unix‑подход. Одни считают его удобным, современным и более надёжным, другие — слишком сложным, монолитным и навязывающим свои стандарты. Поэтому часть пользователей поддерживает его, а другая предпочитает более простые и традиционные init‑системы. -> Почему часть сообщества не любит systemd: 1. Слишком большой и комплексный. Это уже не просто init, а набор сервисов. Некоторым не нравится монолитность. 2. Нарушает принцип «делай одно и делай хорошо». Традиционный Unix‑стиль — маленькие утилиты. Systemd считают слишком громоздким. 3. Сложнее для отладки. Логи в журнале, конфигурации не всегда очевидны. 4. Сильная интеграция. Он тесно переплетён с другими компонентами системы, и это затрудняет замену. 5. Идеологические причины. Часть пользователей предпочитает классическую философию Unix, и systemd воспринимается как отход от неё. 6. Централизация власти. Некоторые опасаются, что Red Hat фактически диктует направление развития Linux‑экосистемы. systemd изначально разработан сотрудниками Red Hat, и компания активно его продвигает и поддерживает. Поэтому часть сообщества опасается, что Red Hat получает слишком большое влияние на ключевые компоненты Linux. Дистрибутивы без systemd: * Devuan (клон Debian без systemd) * Void Linux (runit) * Alpine Linux (OpenRC) * Gentoo (OpenRC) * Artix Linux (OpenRC, runit, s6) * Guix System (shepherd) -> Какие существуют init-системы: * SysVinit Классическая и очень старая система инициализации. Скрипты запуска — обычные shell‑скрипты. Простая, понятная, но медленная и плохо подходит для параллельного запуска сервисов. * OpenRC Развивается в Gentoo и используется в Alpine. Лёгкая, быстрая, умеет параллелить запуск, но остаётся достаточно простой и прозрачной. Не такая «всё‑в‑одном», как systemd. * runit Минималистичная, очень быстрая init‑система. Имеет простой механизм supervision для постоянного контроля служб. Используется в Void Linux. Максимально лёгкая и предсказуемая. * s6 Продвинутая, модульная система supervision. Очень надёжная, но сложнее в настройке, чем runit. Выбирают те, кому важна предсказуемость и устойчивость. Поддерживается в Artix. * shepherd Init из проекта GNU. Написан на Scheme. Глубоко интегрирован в философию GNU Guix. Гибкий, но мало распространён за пределами Guix System. * BusyBox init Минимальная init‑система для встраиваемых систем. Почти ничего лишнего, используется в крошечных и специализированных окружениях. * systemd Самая распространённая init‑система в современных дистрибутивах (Debian, Ubuntu, Fedora, Arch и т.д.). Делает не только запуск служб, но и управление логами, точками монтирования, сетью и многим другим. Мощная, но крупная и спорная. P.S. Debian по умолчанию использует systemd, но заменить init можно — Debian предлагает пакеты SysVinit и OpenRC. Однако поддержка альтернатив менее полноценна, чем в Devuan. #debian #opensource #misc #theory

Какие дистрибутивы используют Debian как базу и зачем клонировать Debian? Debian — один из самых старых и стабильных дистрибутивов. Он даёт огромный репозиторий, строгую политику качества и предсказуемость. Но именно за эту стабильность его и форкают — слишком медленные релизы, консервативные версии ПО, бюрократия разработки и отсутствие «готового для пользователя» опыта. Поэтому поверх Debian рождаются десятки проектов. Каждый Debian‑based дистрибутив синхронизируется с разными ветками Debian: кто-то берёт stable, кто-то — testing, а самые смелые — unstable. Поэтому у каждого свой темп обновлений и свой уровень свежести пакетов. -> Самые известные дистрибутивы, выросшие из Debian: * Ubuntu — сделали Debian «более свежим» и удобным: быстрые релизы, улучшенный desktop‑опыт, драйвера, корпоративная поддержка. * Linux Mint — взяли Ubuntu (а значит и Debian) и повернули его в сторону удобства и классического интерфейса. * Pop!_OS — еще один Ubuntu‑based, ориентированный на железо System76, на удобство out‑of‑the‑box и рабочие фичи вроде auto‑tiling. * Zorin OS, Elementary OS, KDE Neon — визуально отполированные пользовательские системы, которым Debian казался слишком «голым». * MX Linux и antiX — прямые Debian‑based дистрибутивы, но легче, быстрее, с меньшим количеством системных демонов. * Kali Linux и Parrot OS — сделанные специально для тестирования безопасности. В них сразу встроены нужные инструменты и свои правила обновлений. * Devuan — у проекта не устроило внедрение systemd. Они выкинули systemd полностью и продолжают развивать Debian без него. * Raspberry Pi OS — адаптация Debian под ARM и особенности железа Raspberry Pi. * Tails — безопасность и анонимность, завязка на Tor; Debian как надёжный фундамент. * Proxmox — корпоративная виртуализация, где Debian служит стабильной платформой. Зачем они это делают? Потому что Debian — отличный фундамент, но не всегда идеален для конечной цели. Одним нужен более свежий софт, другим — другой init, третьим — особая специализация, четвертым — удобство для новичков. Debian даёт кирпичи, а форки строят свои дома. P.S. Если вы делаете вклад в дистрибутив Debian, он растекается по остальным Debian-based дистрибутивам. #debian #opensource

skel /etc/skel — это шаблон домашней директории. В нем лежат файлы, которые копируются в домашний каталог каждого нового пользователя. Обычно это начальные настройки: .bashrc, .profile, .bash_logout и подобное. Если нужно, чтобы все новые пользователи автоматически получали какие‑то файлы или настройки — можно положить их в /etc/skel Это как бы некий скелет (skeleton). #shell

Какие VPN я использую? На iPhone я использую платную версию hitvpn, использую довольно давно, нареканий нет. На Debian использую платную версию AdGuard-VPN, мне нравится их CLI-клиент и он кстати открытый. Обычно я пишу:
$ adguardvpn-cli connect -l Helsinki
и вуаля! весь мой интернет‑трафик начинает проходить через сервер в Хельсинки. Физически я остаюсь там, где и был, меняется только внешний IP‑адрес и геолокация моего трафика, как её видят сайты и сервисы. Короче говоря, для интернета я как бы нахожусь в Хельсинки, хотя на самом деле это не так. VPN создаёт туннель, через который проходит трафик. Безопасно ли это? Что это за сервера? Хранится ли на этих серверах история моего трафика? Можно ли доверять VPN провайдеру? Будет ли передаваться информация обо мне третьим лицам? Это вам на подумать. P.S. Обычный VPN не делает тебя частью даркнета. Он просто меняет IP и шифрует трафик. Чтобы попасть в даркнет, нужен как минимум Tor (используется для анонимности и доступа к .onion‑сайтам). #misc

dotfiles-debian В репозитории находятся различные конфигурации инструментов, которые я использую в окружении Xfce для Debian,
+3
dotfiles-debian В репозитории находятся различные конфигурации инструментов, которые я использую в окружении Xfce для Debian, это моё повседневное рабочее окружение: firefox, bash, vim, vifm, mc, tmux, gdb, git, newsboat, neomutt, dircolors, bash-completion, различные цветовые схемы для xfce4-terminal, .bash_aliases, .bashrc, локальные скрипты, классические игры и многое, многое другое. > GitHub #shell #terminal #dotfiles #debian #info

Локализация Набор переменных, который определяет язык приложений, консоли и другие локальные параметры системы. Например, разбор en_US.UTF8: en - язык. US - региональная настройка. UTF8 - кодировка. Язык - тут думаю понятно. Региональная настройка - это определенные параметры, такие как формат даты и времени, валюта, числовой формат и другие локальные настройки, которые могут отличаться от других стран. Кодировка - определяет соответствие между символами и числовыми значениями, которые используются компьютером для их хранения и обработки. Получить все доступные локализации:
$ locale -a
Чтобы изменить локализацию можно задать:
$ export LANG=en_US.UTF8
Если при выводе выдаются ошибки типа: Cannot set LC_CTYPE to default locale: No such file or directory То скорее всего задается локализация, которая не была сгенерирована. Для этого нужно подправить /etc/locale.gen файл. В этом файле нужно раскомментировать нужную локализацию, например en_US.UTF-8 UTF-8 Затем выполнить:
$ locale-gen
Появится новая локализация:
$ locale -a
Можно запустить приложение с другим языком, например:
$ LANGUAGE=zh_TW vim
LANG - Локализация, установленная в этой переменной используется в качестве значения для всех остальных LC_* переменных. LANGUAGE - Запасные локализации (нужно для вывода сообщений на разных языках). #shell #utils

#fun
#fun