GNU/Linux | Notes
2.42K subscribers
106 photos
6 files
70 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
Teeworlds

Teeworlds — это многопользовательская 2D-игра с открытым исходным кодом в жанре экшен-платформера. Игроки управляют маленькими круглыми персонажами, известными как "Ти", и сражаются друг с другом в различных режимах, таких как захват флага и командный бой. Цель игры зависит от выбранного режима, но чаще всего это уничтожение противников, выполнение задач или сотрудничество с командой для достижения победы. Игра отличается динамичным геймплеем, простым управлением и милой, мультяшной графикой.

Установка:
$ apt-get install -y teeworlds


> GitHub
> Salsa
> Сайт

#games #opensource
51
Социальные сети

Меня поражает, как люди могут часами сидеть в социальных сетях, не осознавая их вреда. Там редко можно найти что-то действительно новое. Пользователи уже видели всё: контенты всех сортов, и по-прежнему продолжают сидеть в социальных сетях. Вопрос — зачем? Какая польза? Кроме информационной перегрузки, мозг человека ничего не получает; усталость и несобранность возникают именно из-за этого. Я активно сидел в социальных сетях в школьные годы и знаю, что это такое. В социальных сетях огромное количество лже-информации, которую готовят для определенных людей, полов, возрастов, групп. Это специальные заказы. И эти заказы выполняются чуть ли не на коленке, главное, чтобы информация выстрелила, была просмотрена много раз и в конечном итоге забыта, пролистана.

Социальные сети — это сахар, привлекательный сахар с различными горящими заголовками, контентами, видео, сексуальными намеками, странными темами и т.д. Меня удивляет, как легко люди раскрывают о себе что-либо: где они были, что ели, как себя чувствуют, кто их родители и знакомые. Это пугает. Ведь всё, что вы оставляете в интернете, не удалится оттуда никогда. И есть большая вероятность, что ваша информация утечет третьим лицам; её будут продавать, изучать, исследовать, передавать маркетологам, аналитикам, менеджерам, а те уже из вашей информации будут делать звонкую монету, создавая рекламу, предложения, составлять цены и систему спроса/предложения.

Можно заметить, что в последнее время социальные сети знатно ускорились: люди потребляют большое количество глупого контента за 10-15 секунд. Ничего полезного в этом нет, кроме перегрузки мозга, рассеянности, усталости и ухудшения памяти. Вы можете почитать, какими психическими заболеваниями страдает современное поколение, самое распространенное — это СДВГ =) Они не могут сфокусироваться на задаче больше двух минут, они рассеяны и ленивы. Так стоит ли игра свеч? Разве эти люди могут быть полезны на рынке труда? Вряд ли.

Например, сейчас можно заметить много лже-психологии и ажиотажа вокруг этой темы. Мне очень жаль молодежь, этих юных парней, которые смотрят, какими им "надо" быть, какие требования они "должны" выполнять перед женским обществом, матриархатом. Они могут в это верить, потому что их психика еще не окрепла. Социальные сети порождают странные стандарты красоты, моды, и люди в это верят, живут этим (особенно женщины). С современными женщинами вовсе невозможно стало общаться: их головы полны различных паттернов общения из социальных сетей — мусорных и дешевых, повторяющихся из раза в раз, они инфантильны и глупы, а также непонятных требований к мужчинам и противоречий. Социальные сети активно пропагандируют паттерны потребительства/инфантилизма. Наверняка вы обратили внимание, сколько всего мужчина "должен" купить женщине, чтобы её "порадовать". "Должен" чуть ли не всю жизнь этому посвятить ... Прям как в турецких сериалах.

Социальные сети воспитывают в людях лишь холодность. Мы всё больше и больше отдаляемся друг от друга. Но почему? Должно же быть наоборот, ведь мы сидим в социальных сетях, мы "социальные". Это не так работает.

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

TikTok, Instagram, Twitter, YouTube и многие другие — это одна помойка, управляемая специальным программным обеспечением. Это один большой проект, созданный АНБ (если верить словам Эдварда Сноудена — человека, который открыл правду всему миру).

Если вы хотите сохранить своё душевное здоровье, рекомендую воздержаться от использования социальных сетей, особенно если ваша психика ещё не окрепла. Там можно легко наткнуться на сомнительное влияние инфоцыган, неуравновешенных людей (особенно больных женщин с их вонючими, ненужными требованиями), мошенников, политической дезинформации и огромное количество бессмысленного контента. Лично у меня социальные сети вызывают лишь раздражение.

#thoughts
20💯16👍6🔥6🤣4
Тысячи людей практически безвозмездно трудятся на благо всего человечества, а плодами их труда пользуются все. В этом сила Open Source.

#opensource
🔥21🦄4👌1
vifm

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

- Эффективное управление файлами: Позволяет быстрее и эффективнее управлять файлами и директориями без использования мыши.

- Интеграция в рабочий процесс Vim: Для пользователей Vim Vifm предоставляет знакомую среду с аналогичным управлением.

- Работа в минималистичных средах: Идеален для работы на серверах и в минималистичных настольных средах, где графические файловые менеджеры недоступны.

- Скриптинг и автоматизация: Возможность расширения и автоматизации рабочих процессов через скрипты и макросы.

> GitHub
> Salsa
> Сайт

#software #opensource #utils
54👍3
GitHub требует включения 2FA

GitHub начал требовать от пользователей включение двухфакторной аутентификации (2FA) для повышения безопасности аккаунтов. Это связано с тем, что 2FA добавляет дополнительный уровень защиты, уменьшая риск несанкционированного доступа к аккаунту даже если пароль будет скомпрометирован.

Что такое двухфакторная аутентификация 2FA?

Двухфакторная аутентификация — это метод безопасности, который требует два различных типа аутентификации для подтверждения вашей личности. Обычно это:

1. Что-то, что вы знаете: ваш пароль.
2. Что-то, что у вас есть: например, смартфон или аппаратный ключ безопасности.

Почему GitHub требует 2FA?

1. Улучшенная безопасность: Защита от взлома учетной записи даже в случае утечки пароля.
2. Защита репозиториев: Многие проекты на GitHub являются открытыми и могут быть уязвимы к атакам, если учётные данные будут украдены.
3. Соответствие лучшим практикам: Ведущие платформы стремятся к повышению уровня безопасности пользователей.

В течение 45 дней необходимо включить двухфакторную аутентификацию, иначе ваш аккаунт может быть ограничен или заблокирован. Это значит, что вы не сможете создавать репозитории или делать коммиты, пока не активируете 2FA. Лично мне уже пришло письмо на эту тему. Установил на смартфон Authy и подключил 2FA к GitHub.

> Habr

#git #misc
5🌚2👍1
Мандатная, ролевая и дискреционная модели

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

1. Мандатная модель (MAC - Mandatory Access Control)

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

Например, SELinux (Security-Enhanced Linux): Расширение для Linux, предоставляющее поддержку MAC. Оно позволяет системным администраторам устанавливать строгие политики безопасности, которые контролируют доступ пользователей и процессов к файлам и другим ресурсам. Еще пример, это система Parsec в Astra Linux SE, которая реализовывает MAC политику.

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

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

2. Ролевая модель (RBAC - Role-Based Access Control)

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

Хотя в базовой установке Linux RBAC не является встроенной моделью, она может быть реализована через различные системы управления доступом и модули, такие как SELinux или AppArmor, в корпоративных средах.

Ролевая модель используется в корпоративных и крупных организационных системах, где управление доступом осуществляется на основе ролей сотрудников. Применяется в системах управления предприятием и базах данных.

* Свойства:
- Упрощает управление доступом в больших организациях, где пользователи могут выполнять множество различных функций.
- Изменение доступа осуществляется через изменение ролей, а не прав каждого пользователя.
- Гибкость в управлении, позволяющая быстро адаптироваться к изменениям в организации.

3. Дискреционная модель (DAC - Discretionary Access Control)

Дискреционная модель контроля доступа (стандартная модель в Linux) позволяет владельцам ресурсов (например, файлов) определять, кто может иметь к ним доступ и какие операции могут быть выполнены. Владелец ресурса имеет полную свободу в управлении доступом.

Широко применяется в коммерческих и домашних операционных системах, включая стандартные установки Linux, где пользователи управляют доступом с помощью команд, таких как chmod, chown и т.д.

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

Заключение:
- Мандатная модель (MAC) применяется там, где необходим строгий контроль и централизованное управление доступом.
- Ролевая модель (RBAC) удобна в корпоративных средах, где доступ определяется ролями пользователей.
- Дискреционная модель (DAC) обеспечивает гибкость и удобство для пользователей в управлении собственными ресурсами и является стандартной в Linux.

Каждая модель имеет свои преимущества и области применения в зависимости от требований безопасности и управления.

#security #misc
9👍6
grep

Не учитывать регистр:
$ grep -i 'name' /path/to/file


Рекурсивный поиск слова hello:
$ grep -r 'hello' /path/to/dir


Показать номер строки совпадения:
$ grep -n 'user' /etc/passwd


Поиск строк, содержащих user или root:
$ grep -E 'user|root' /etc/passwd


Рекурсивный поиск слова yes во всех .c файлах:
$ grep -r --include='*.c' 'yes' /path/to/dir


Покажет только совпадения со словом user:
$ grep -o user /etc/passwd


Рекурсивный поиск с выводом имен файлов:
$ grep -rl 'pattern'


#utils
20👍4
find

Поиск файла по имени:
$ find . -name 'file'


Поиск файла без учета регистра:
$ find . -iname 'file'


Поиск только директорий:
$ find . -type d


Поиск только файлов:
$ find . -type f


Ограничение глубины поиска:
$ find . -maxdepth 1


Поиск файлов по владельцу:
$ find /tmp -user 'root'


Поиск файлов с определенным расширением:
$ find /tmp -name '*.sh'


Поиск всех файлов, кроме указанного:
$ find . -not -name 'file'


Найти файлы и прочитать их:
$ find /tmp -type f -exec cat {} \;


Найти файлы и вывести их разрешения:
$ find /tmp -type f -exec ls -ld {} \;


Найти пустые файлы:
$ find /tmp -type f -empty


Удалить все файлы:
$ find . -type f -exec rm -rf {} \;


Найти файлы больше 1G:
$ find / -size +1G


Удалить все файлы:
$ find . -type f -delete


Найти setuid файлы:
$ find / -perm -u=s


Найти по inode:
$ find / -inum <inode>


Показать все *.png и *.jpg файлы:
$ find . -name '*.png' -o -name '*.jpg'


Искать все *.orig, но игнорировать .pc/*:
$ find . -name '*.orig' -not -path './.pc/*'


Переместить все *.i686.rpm файлы в ../ww/ директорию:
$ find . -name "*.i686.rpm" -exec mv {} ../ww/ \;


Искать по полному пути:
$ find . -wholename "*/debian/control"


#utils
17👍63
sed

Замена user на AAA:
$ sed 's/user/AAA/' /etc/passwd


Удаление 3-й строки:
$ sed '3d' /etc/passwd


Удаление с 3-й строки до конца файла:
$ sed '3,$d' /etc/passwd


Удаление последней строки в файле:
$ sed -i '$d' /etc/passwd


Замена hello на new в самом файле:
$ sed -i 's/hello/new/' /etc/passwd


Получение второй строки:
$ cat /etc/passwd | sed -n 2p


#utils
11👍10
👍12😍5😁2🏆1
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