GNU/Linux | Notes
2.36K subscribers
114 photos
8 files
80 links
Open Source, Dotfiles, Debian/Ubuntu, Software, Linux, Scripts, Notes, Terminal, Shell, Gnu, Tools, Games, Fun, Free Software Movement.

Автор: Кирилл Рехов
Почта: krekhov.dev@gmail.com
Кто я: https://xn--r1a.website/krxnotes/246
GitHub: https://github.com/krekhovx
Download Telegram
Это я заглянул в коммиты сайта AppVeyor. С ветки support-ukraine чот в голос. Это же надо быть такой бестолочью, чтобы обмазывать этим крупные проекты.

Я придумал шутливые комментарии под эту ситуацию:

"Феодор ФРИЦнер сделал вклад"

"Как выглядят коммиты твоих коллег"

#fun
Решил сделать небольшой перерыв в постах, вот вам пока что моя мис Флупи :)
Debian: Самый стабильный Linux и тёмная история создателя

Ссылка: https://www.youtube.com/watch?v=qx6Ejwsdj-U

#debian #opensource
Локализация

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

Например, разбор 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
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
Какие VPN я использую?

На iPhone я использую платную версию hitvpn, использую довольно давно, нареканий нет. На Debian использую платную версию AdGuard-VPN, мне нравится их CLI-клиент и он кстати открытый. Обычно я пишу:
$ adguardvpn-cli connect -l Helsinki


и вуаля! весь мой интернет‑трафик начинает проходить через сервер в Хельсинки. Физически я остаюсь там, где и был, меняется только внешний IP‑адрес и геолокация моего трафика, как её видят сайты и сервисы. Короче говоря, для интернета я как бы нахожусь в Хельсинки, хотя на самом деле это не так. VPN создаёт туннель, через который проходит трафик.

Безопасно ли это? Что это за сервера? Хранится ли на этих серверах история моего трафика? Можно ли доверять VPN провайдеру? Будет ли передаваться информация обо мне третьим лицам? Это вам на подумать.

P.S. Обычный VPN не делает тебя частью даркнета. Он просто меняет IP и шифрует трафик. Чтобы попасть в даркнет, нужен как минимум Tor (используется для анонимности и доступа к .onion‑сайтам).

#misc #security
skel

/etc/skel — это шаблон домашней директории.

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

Это как бы некий скелет (skeleton).

#shell
Какие дистрибутивы используют 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
Почему вокруг 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
Выпуск минималистичного дистрибутива Tiny Core Linux 17.0

Он сделан как полностью самостоятельный, ультра‑минималистичный дистрибутив со своей системой пакетов (tcz), своим подходом к загрузке и вообще отдельно от Debian‑семейства.

Новость: https://www.opennet.ru/opennews/art.shtml?num=64781

#news
Выпуск Ubuntu 24.04.4 LTS c обновлением графического стека и ядра Linux

Новость: https://www.opennet.ru/opennews/art.shtml?num=64789

#news
Выпуск набора утилит GNU Coreutils 9.10

Новость: https://www.opennet.ru/opennews/art.shtml?num=64742

#news
Куда уходит оперативная память в современных системах?

Почему раньше нам хватало условно 4гб оперативной памяти, а теперь и 32гб мало? Современные программы используют больше:

- браузеры: десятки вкладок (гигантский расход памяти)
- мессенджеры, клиенты, сервисы (всё держится в фоне)
- тяжёлые веб‑технологии (Electron, JavaScript‑UI)
- высокие DPI, большие текстуры, анимации
- безопасность: песочницы, изоляция процессов
- кеширование для скорости работы

Железо стало мощнее -> разработчики меньше оптимизируют.

Когда компьютеры были слабее, разработчики вынуждены были оптимизировать каждую деталь: экономить память, избегать лишних процессов, писать компактный код. Любая неэффективность сразу делала программу медленной или вовсе неработоспособной. Сейчас же даже бюджетные ПК имеют десятки гигабайт ОЗУ и многоядерные процессоры. В результате давление на оптимизацию сильно снизилось: софт может позволить себе быть тяжёлым, потому что «железо вытянет».

Кроме того, современные фреймворки, библиотеки и веб‑технологии экономят время разработчиков, но требуют больше ресурсов. Использовать готовые решения проще и быстрее, чем писать максимально оптимизированный нативный код — это выгодно бизнесу, но увеличивает расход памяти. Поэтому, хотя память растёт, её часто «съедают» новые уровни абстракций и удобства разработки.

#memory #software #misc #theory