GNU/Linux | Notes – Telegram
GNU/Linux | Notes
2.39K subscribers
111 photos
8 files
75 links
Open Source, Dotfiles, Debian/Ubuntu, Software, Linux, Scripts, Notes, Terminal, Shell, Gnu, Tools, Games, Fun, Free Software Movement.

Автор: Кирилл Рехов
Почта: krekhov.dev@gmail.com
Кто я: https://news.1rj.ru/str/krxnotes/246
GitHub: https://github.com/krekhovx
Download Telegram
Open Source: Взаимодействие с Социализмом, Капитализмом и Коммунизмом

Социализм

Социализм — это политическая и экономическая система, в которой средства производства (например, фабрики, рабочие места) находятся в общественной или государственной собственности. Основная идея социализма заключается в том, чтобы распределять ресурсы и блага более равномерно среди населения, минимизируя классовое неравенство. В социалистических системах часто акцентируется внимание на общественных благах и социальных программах.

Капитализм

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

Коммунизм

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

Open Source

Open Source (открытое программное обеспечение) — это подход к разработке программного обеспечения, при котором исходный код программы находится в открытом доступе, и любой может его использовать, изменять и распространять. Open Source основывается на принципах прозрачности, сотрудничества и свободного обмена знаниями.

Взаимосвязь Open Source с этими системами

- Социализм: Open Source имеет много общего с социалистическими принципами, поскольку акцентируется на коллективной собственности, сотрудничестве и свободном обмене ресурсами. В open source-сообществах часто наблюдается равноправное участие и совместная работа над проектами, что соответствует социалистическим идеалам.

- Капитализм: Хотя Open Source может показаться противоречащим капиталистическим принципам из-за отсутствия частной собственности на код, он находит свое место и в капиталистической системе. Open Source может стимулировать инновации и конкуренцию, так как компании могут разрабатывать коммерческие продукты на основе открытого кода и предоставлять услуги, связанные с ним. Примеры включают Red Hat и другие компании, которые построили успешный бизнес вокруг open source.

- Коммунизм: В теории, Open Source может быть ближе к коммунистической идее полного отказа от частной собственности, так как код принадлежит всем и каждому. Однако в реальной практике open source-сообщества все еще зависят от добровольного участия и не имеют четкого механизма распределения ресурсов по потребностям, как этого требует коммунизм.

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

#misc #opensource
🔥10💊7🤡3👎1
ctags

Это утилита, которая генерирует индекс (так называемый "tags file") для исходного кода, что позволяет быстро переходить к определениям функций, переменных и других символов в коде. В Debian эта утилита часто устанавливается в виде пакета exuberant-ctags:
$ apt-get install exuberant-ctags


Затем можно сгенерировать tags файл для проекта. Перейдите в корневую директорию вашего проекта и выполните команду:
$ ctags -R .


Опция -R означает рекурсивное сканирование всех файлов в текущей директории и её поддиректориях. Это создаст файл tags в текущей директории.

Использование ctags в Vim

Например:
$ apt-get source coreutils
$ cd coreutils-9.5/
$ ctags -R . # появится файл tags
$ vim src/chmod.c


Переход к определению символа: Поместите курсор на имя функции, переменной или другого символа и нажмите Ctrl + ]. Vim откроет файл, в котором этот символ определён, и переместит курсор к его определению.

Возврат к предыдущему местоположению: После перехода к определению символа вы можете вернуться назад, нажав Ctrl + T.

Таким образом, ctags и Vim вместе предоставляют мощный инструмент для навигации по коду, что значительно ускоряет процесс разработки.

#utils
🔥6👍1
Debian входит в число дистрибутивов с наибольшим количеством поддерживаемых архитектур процессоров и отличной поддержкой кросс-компиляции. Мы работаем над улучшением возможностей кросс-компиляции и обеспечением возможности кросс-загрузки из исходного кода для будущих архитектур процессоров в Debian.

https://micronews.debian.org/2025/1739368586.html

#debian
👍74
Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения

Оказывается не всё так просто как хотелось, война между С и Rust, а точнее между инженерами, которые продвигают разные подходы. Кто же победит?

https://www.opennet.ru/opennews/art.shtml?num=62685

#kernel
🤔2🌚21
ФСТЭК

ФСТЭК (Федеральная служба по техническому и экспортному контролю) — это российский государственный орган, который занимается вопросами технической защиты информации и экспортного контроля. В контексте IT, ФСТЭК разрабатывает и утверждает различные стандарты и требования для обеспечения безопасности информационных систем. ФСТЭК актуален в первую очередь для России.

Зачем нужен ФСТЭК?

1. Защита информации: ФСТЭК устанавливает требования к защите информации, чтобы предотвратить утечки, кражи или несанкционированный доступ к данным. Это особенно важно для государственных органов, крупных компаний и организаций, работающих с конфиденциальной информацией.

2. Сертификация: ФСТЭК проводит сертификацию программного обеспечения и аппаратных средств, чтобы убедиться, что они соответствуют установленным стандартам безопасности. Это включает в себя операционные системы, антивирусные программы, системы шифрования и другие средства защиты информации.

3. Экспортный контроль: ФСТЭК также занимается вопросами экспортного контроля, чтобы предотвратить утечку технологий и информации, которые могут быть использованы в военных или иных чувствительных областях.

ФСТЭК и операционная система Linux

ФСТЭК устанавливает требования к операционным системам, которые используются в российских государственных органах и крупных компаниях. Эти требования включают в себя:

1. Сертификация операционных систем: Операционные системы, такие как Linux, должны пройти сертификацию ФСТЭК, чтобы быть использованы в государственных и корпоративных сетях. Это означает, что они должны соответствовать определенным стандартам безопасности и защиты информации.

2. Использование российских криптографических алгоритмов: ФСТЭК требует, чтобы операционные системы поддерживали российские криптографические алгоритмы, такие как ГОСТ (Государственный стандарт). Это необходимо для обеспечения безопасности данных и соответствия российским нормативным требованиям.

3. Контроль доступа: Операционные системы должны иметь механизмы контроля доступа, которые соответствуют требованиям ФСТЭК. Это включает в себя управление пользователями, правами доступа и аудитом событий безопасности.

Таким образом, ФСТЭК играет важную роль в обеспечении безопасности информационных систем в России, устанавливая стандарты и требования, которые должны соблюдаться для защиты данных и предотвращения утечек информации.

Многие отмечают, что система сертификации и требований ФСТЭК может быть довольно бюрократизированной и сложной для выполнения. Это может создавать дополнительные трудности для компаний и организаций, стремящихся соответствовать этим стандартам.

а где бюрократия там и высокий уровень коррупции.

#security #misc
6🤡6🥴2👍1🌚1
Абсолютный путь

Как узнать абсолютный путь файла?
$ realpath free_hugepages

/sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages

Как узнать абсолютный путь текущей директории?
$ pwd # print working directory

/home/user/Downloads

#utils
👍82
8😎5😁3
PortProton

PortProton — это проект, разработанный командой linux-gaming.ru, который упрощает запуск Windows-игр и других приложений на Linux. Он предоставляет удобный интерфейс и гибкие настройки, делая процесс запуска максимально простым как для начинающих, так и для опытных пользователей. PortProton использует WINE Proton и включает различные оптимизации для повышения производительности.

WINE Proton и PortProton — это разные вещи. WINE Proton — это версия WINE, разработанная Valve для запуска Windows-игр через Steam. PortProton — это отдельный проект, который использует WINE Proton, но работает без Steam и предоставляет дополнительные настройки и оптимизации для запуска Windows-игр и приложений на Linux.

Как установить: https://linux-gaming.ru/t/ustanovka-portproton-ispolzovanie-wine-proton-bez-steam/24

После установки появится возможность запускать .exe файлы игр с помощью PortProton.

#games #opensource
🔥92
Rolling Release

Rolling Release модель — это метод разработки и обновления программного обеспечения, при котором система и все её компоненты постепенно обновляются по мере выхода новых версий, а не через крупные релизы, как это делается в традиционных циклах разработки. Вот ключевые особенности этой модели:

1. Постоянные обновления: В системе Rolling Release вы получаете регулярные обновления, которые могут включать новые функции, исправления ошибок и обновления безопасности. Это позволяет пользователям всегда иметь актуальное программное обеспечение без необходимости переустановки или крупного обновления системы.

2. Отсутствие крупных релизов: В отличие от традиционной модели с фиксированными релизами, где обновления происходят в виде крупных пакетов в установленные сроки, Rolling Release обновляется постепенно и постоянно.

3. Преимущества:
- Актуальность: Пользователи всегда имеют доступ к новейшим версиям программного обеспечения и функциям.
- Плавные обновления: Обновления происходят более плавно, без резких изменений, что уменьшает вероятность крупных проблем при переходе на новую версию.

4. Недостатки:
- Потенциальная нестабильность: Поскольку обновления происходят постоянно, иногда могут возникать конфликты или нестабильности из-за несовместимости новых версий.
- Требование постоянного внимания: Пользователи должны регулярно обновлять систему и следить за возможными проблемами после обновлений.

5. Примеры дистрибутивов: Void Linux, Arch Linux, openSUSE Tumbleweed и Manjaro (хотя Manjaro делает это с небольшой задержкой для тестирования).

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

В Debian используется модель стабильных выпусков (Stable Release модель). Это значит, что новые версии выходят примерно каждые два года, и в течение этого времени система получает только обновления безопасности и критические исправления. Это обеспечивает высокую стабильность и надежность.

#misc #debian
6🔥21
Подписание тегов и коммитов

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

1. Сгенерировать GPG ключ:
$ gpg --full-generate-key


2. Экспортировать ключ:
$ gpg --export --armor <Key ID>


3. В GitLab/GitHub:
Settings -> GPG Keys
Добавить экспортируемый ключ.

4. Прописать:
[user]
email = example@gmail.com
name = Ivan Ivanov
signingkey = <Key ID>

[commit]
gpgSign = true


Коммиты будут автоматически подписываться, а для тегов можно использовать:
$ git tag -s <new-tag>


В истории коммитов в веб-версии можно будет увидеть значок Verified

#git #security
👍62
tasksel

$ apt install tasksel


Используется для установки групп программ или пакетов, известных как "задачи" в Debian. Эти задачи представляют собой предопределенные наборы пакетов, которые можно установить для выполнения определенной роли или функции на системе. Например, это могут быть задачи для установки рабочего стола, веб-сервера, почтового сервера и т.д. После запуска утилиты появляется TUI окно: Software selection (можно установить GNOME, KDE, Xfce и т.д).

#debian #software #utils
👍5
😁15👍2
CI/CD

(Continuous Integration) Непрерывная интеграция - постоянное слияние рабочих копий в общую основую ветвь разработки и выполнение частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов.

(Continuous delivery) Непрерывная поставка - частые выпуски RC, такой подход позволяет уменьшить стоимость, время и риски внесения изменений путем более частных мелких обновлений в продакшн-приложение. Гарантия того, что ПО стабильно и может быть передано в эксплуатацию в любое время. Целью является сборка, тестирование и релиз программного обеспечения с большей скоростью и частотой.

* Pipelines:
Последовательность шагов, которые нужно выполнить для того, чтобы код прошел через все стадии проверки, тестирования и развертывания. Процесс преобразования кода из "только что написанного" в "готово к использованию".

* Jobs:
Это отдельные задания или задачи внутри Pipeline. Например, одна работа может быть связана с компиляцией кода, другая — с запуском тестов, третья — с развертыванием.

* Artifacts:
Это файлы, которые создаются и сохраняются в ходе выполнения Jobs. Например, если есть шаг сборки, который компилирует код, то результат этой сборки (например, исполняемый файл или архив) будет артефактом. Артефакты могут быть использованы в последующих шагах или сохранены для будущего использования.

#misc #build
👍6❤‍🔥51
live-build

live-build — это инструмент, используемый для создания Live-образов в Debian.

$ apt install live-build


Live-образ — это версия операционной системы, которая загружается прямо с носителя (например, USB-флешки или DVD) без необходимости установки на жесткий диск. Это позволяет пользователям протестировать систему, выполнить восстановление или диагностику, а также использовать её в качестве портативной операционной системы. Live-образы полезны для демонстраций и тестирования, так как изменения в системе не сохраняются после перезагрузки, если не использовать специальные методы для сохранения данных.

Когда вы загружаетесь с Live-образа, обычно вам предлагается опция "Установить", которая запускает установщик. Это позволяет вам протестировать операционную систему без изменений в текущей системе, а затем, если она вам подходит, установить её на ваш компьютер. Установочный процесс с Live-образа обычно очень похож на стандартный установочный процесс для дистрибутива.

Конфигурацию проекта можно осуществить с помощью команды:
$ /usr/bin/lb config -d bookworm --debian-installer live \
--debian-installer-distribution bookworm \
--archive-areas "main contrib non-free non-free-firmware" \
--debootstrap-options "--variant=minbase"


Сборка:
$ /usr/bin/lb build


На выходе получится готовый ISO образ на базе Debian.

> Salsa

#debian #build #utils
4🔥1👌1
Релиз Debian 13 ожидается во второй половине 2025 года. Первая стадия заморозки уже началась.

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

Расписание заморозки: https://release.debian.org/testing/freeze_policy.html

#debian
52👍1🎉1
shellcheck

ShellCheck — это статический анализатор скриптов на языке shell (bash, sh и других). Основная цель утилиты — помочь разработчикам выявлять и исправлять ошибки, потенциальные баги и нарушения стиля в их скриптах. ShellCheck анализирует код и предоставляет рекомендации по улучшению, предупреждая о возможных проблемах, таких как:

1. Синтаксические ошибки.
2. Неинициализированные переменные.
3. Некорректное использование команд.
4. Проблемы с кавычками и экранированием.
5. Советы по улучшению читаемости и поддерживаемости кода.

Установка:
$ apt install shellcheck


Запуск:
$ shellcheck ./noscript.sh


Использование ShellCheck помогает сделать скрипты более надежными и переносимыми. Оно особенно полезно для автоматизации процессов, где стабильность и корректность выполнения скриптов имеют критическое значение.

#utils #shell
🔥6👍431
Debian Popularity Contest

$ apt install popularity-contest


Собирает статистику об установленных и используемых пакетах на системе. Основная цель — помочь разработчикам понять, какие пакеты и программы наиболее популярны среди пользователей Debian.

- Сбор данных: Пакет регулярно выполняет сбор данных о том, какие пакеты установлены и как часто они используются.

- Передача данных: Собранные данные отправляются на серверы Debian, если пользователь соглашается участвовать в этом.

- Анонимность: Информация собирается анонимно, без сбора личных данных пользователя.

- Анализ популярности: Эти данные помогают разработчикам и проекту Debian в анализе популярности пакетов, что может влиять на принятие решений о поддержке и развитии программного обеспечения.

- Участие: Участие в popularity-contest является добровольным и может быть настроено или отключено пользователем.

> Salsa
> Popcon

Вот например график использования пакета vifm: https://qa.debian.org/popcon.php?package=vifm

Это очень помогает! Не выключайте =)

#utils #debian
4👌1
fontconfig

Пакет fontconfig содержит утилиты, такие как fc-cache и fc-list. Эти утилиты используются для управления и настройки шрифтов в системе. Пакет Fontconfig является важной частью для работы со шрифтами на системах Linux.

Установка пакета:
$ apt install fontconfig


Обновляет кеш шрифтов:
$ fc-cache -fv

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

-f (force): заставляет утилиту принудительно обновить кеш, даже если он кажется актуальным.

-v (verbose): включает вывод подробной информации о процессе обновления кеша.

Выводит список всех шрифтов, доступных в системе, вместе с их атрибутами:
$ fc-list | grep "My Font"


Выводит только семейства шрифтов без других атрибутов:
$ fc-list : family | sort | uniq


Эти команды и утилиты могут быть очень полезны для управления шрифтами и их настройками в системах, использующих Fontconfig.

#utils
21
mandb

Утилита mandb используется для создания и обновления базы данных для системы справочных страниц (man pages). Эта база данных позволяет ускорить поиск по справочным страницам.

Чтобы использовать mandb, в системе должен быть установлен пакет man-db. Этот пакет содержит все необходимые инструменты для работы со справочными страницами, включая mandb.

$ mandb


Директория /var/cache/man/* хранит кешированные данные, которые mandb использует для ускорения доступа к справочным страницам. Эти кешированные файлы позволяют быстрее находить и отображать страницы man, так как они содержат предварительно обработанную информацию.

Еще одна важная вещь, это manpages, сами справочные страницы, которые кеширует mandb.

Пакет manpages содержит стандартные справочные страницы (man pages) для различных команд и функций. Эти страницы предоставляют документацию и справочную информацию для пользователей и разработчиков, помогая им понять, как использовать команды и системные вызовы. Пакет manpages является важным элементом для обеспечения доступности документации в системе.

#utils
31
install

Используется для копирования файлов и установки их в определенные директории. Команда также может устанавливать права доступа к файлам и создавать необходимые директории. Основные функции команды:

1. Копирование файлов: Перемещает файлы в нужное место.
3. Создание директорий: С опцией -d может создавать необходимые директории.
2. Установка прав доступа: Устанавливает права доступа к файлам с помощью опции -m.

Команда install часто используется в скриптах установки программ для копирования исполняемых файлов в системные директории.

Рекурсивное создание директорий с нужными правами:
$ install -d -m 700 /root/.config/vifm


#utils
🔥32
The Oldschool PC Font Resource

Эти шрифты просто потрясающие, ностальгия овладела мной.

Ссылка: https://int10h.org/oldschool-pc-fonts/download/

В правом углу сайта можно заметить:
Text mode font: 1 2 3 4 5 6

Да, со шрифтами можно поиграться на сайте в реальном времени. Это напоминает игры 2000-х годов, такие как Diablo 1, Quake 3 Arena, Герои Меча и Магии и т.д. Некоторые из них, грубо говоря, нечитабельные и в терминале будут выглядеть не очень, а некоторые — очень даже хороши.

#misc #games #fun
😍61🔥1