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
OpenArena — это бесплатный и открытый клон популярной игры Quake III Arena. Проект был создан для того, чтобы предоставить многопользовательский шутер от первого лица с открытым исходным кодом, который не требует коммерческих активов.

Игра полностью свободна и включает собственные ресурсы, такие как текстуры и модели. Доступна на Windows, Linux и macOS. Благодаря открытости проекта, сообщество активно создает моды и новые карты, поддерживая актуальность игры.

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


Запуск игры:
$ openarena


> GitHub
> Salsa

#games #opensource
👍103
Максимальный размер файла/репозитория на GitHub и немного про git-lfs

GitHub рекомендует, чтобы размер отдельных файлов в репозитории не превышал 50 МБ. Если файл больше этого размера, вы получите предупреждение. Для оптимальной производительности желательно, чтобы весь репозиторий был меньше 1-5 ГБ. Это помогает поддерживать высокую скорость и эффективность работы с репозиториями на платформе. На других платформах GitLab, Bitbucket +- тоже самое.

Если вам нужно хранить более крупные файлы, можно использовать Git Large File Storage (Git LFS), который имеет отдельные ограничения и квоты.

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


Инициализация Git LFS в репозитории:
$ git lfs install


Отследить тяжелый файл с помощью Git LFS (например, result.gif превышает 50 МБ):
$ git lfs track "result.gif"


Это создаст или обновит файл .gitattributes с информацией о том, что result.gif должен управляться через LFS.

Затем добавить изменения в Git:
$ git add .gitattributes result.gif
$ git commit -m "Add result.gif with Git LFS"


Отправить изменения:
$ git push


Эти шаги помогут вам эффективно управлять большими файлами в вашем репозитории, используя возможности Git LFS.

Важно понимать, что у Git LFS тоже есть лимит. В бесплатном тарифе пользователь получает 1 ГБ. Повышение = деньги.

#git
👍162
git-format-patch

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

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

Например, создать патч из последнего коммита:
$ cd my-git-project/
$ git format-patch HEAD~1


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

Создать три патча из трех последних коммитов:
$ git format-patch HEAD~3


#git
🔥9👍2
Аббревиатуры

В процессе работы с PL/MR на Git платформах часто используются сокращения, которые делают общение более быстрым и понятным:

- PTAL (Please Take A Look): Привлекает внимание к задаче или изменениям для получения комментариев или одобрения. Используйте, чтобы попросить коллегу взглянуть на код.

- LGTM (Looks Good To Me): Выражает одобрение изменений. Используйте, чтобы показать, что код вас устраивает и готов к слиянию.

- WIP (Work In Progress): Указывает, что работа над задачей ещё не завершена. Это предупреждение для ревьюеров, чтобы они не тратили время на детальный обзор, пока код не будет готов.

- NIT (Nitpick): Применяется для указания на несущественные замечания или предложения по улучшению кода, которые не являются обязательными для исправления.

- FYI (For Your Information): Используется, чтобы предоставить информацию без необходимости немедленного действия. Обычно применяется, чтобы держать команду в курсе изменений или решений.

- RFC (Request For Comments): Используется, чтобы попросить мнения или предложения по задаче или конкретному решению. Это приглашение к обсуждению, особенно если есть сомнения в выборе подхода.

Эти аббревиатуры помогут сделать ваше взаимодействие в команде более эффективным!

#git #misc
👍122🤣2
😁145
Mistral AI

Это чат-бот на основе искусственного интеллекта, разработанный компанией Mistral AI (аналог ChatGPT). Он создан для обработки и генерации текста, схож с другими современными языковыми моделями и может использоваться для различных задач, таких как создание контента, ответы на вопросы и взаимодействие с пользователями. На данный момент чат работает в бесплатном режиме.

Основные характеристики:

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

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

Ссылка: chat.mistral.ai

#misc
❤‍🔥7👎1🤨1
Как пакеты попадают в unstable ветку

#debian
🔥9👍4
Переход из нестабильного выпуска в стабильный

#debian
👍9
Жизненный цикл пакета

#debian
👍12🤷‍♂22
Вот бы установить Debian, посидеть в терминале, а потом накатить Quake 3 Arena и пострелять из рейлгана по бошкам.

#fun #games
😁25🤨52
apt-rdepends

Это утилита для рекурсивного отображения зависимостей пакетов. Можно отобразить Depends, а можно Build-Depends.

$ apt-get install -y apt-rdepends


Вывести рекурсивно зависимости пакета hello:
$ apt-rdepends hello


Отобразить пакеты, которые зависят от указанного пакета (обратные зависимости):
$ apt-rdepends -r hello


Показывает статусы зависимостей (установлен/не установлен):
$ apt-rdepends -p hello


Вывести зависимости пакета в виде графа:
$ apt-rdepends -d hello


Вывести сборочные зависимости пакета:
$ apt-rdepends -b hello


#debian #utils
933👍1
Что такое транзитивные зависимости пакета?

Транзитивные зависимости — это зависимости, которые возникают не напрямую от пакета, который вы устанавливаете, а от его зависимостей. Проще говоря, это зависимости зависимостей.

Например, предположим, что у вас есть пакет A, который зависит от пакета B, и пакет B, в свою очередь, зависит от пакета C. В этом случае:

- Пакет B является прямой зависимостью пакета A.
- Пакет C является транзитивной зависимостью пакета A, потому что он необходим для работы пакета B, который, в свою очередь, необходим для работы пакета A.

Когда вы используете apt-rdepends, чтобы увидеть зависимости пакета, он покажет вам как прямые, так и транзитивные зависимости, предоставляя полное дерево зависимостей для данного пакета. Это особенно полезно для понимания полной цепочки зависимостей, которые будут установлены вместе с целевым пакетом.

#debian #utils
👍114
Сортировка и удаление дубликатов в файле

Предположим, ваш файл содержит около 8 тысяч строк с путями, и вы не уверены, есть ли среди них дубликаты. Как можно упорядочить и очистить файл?

В файле много подобных строк:
po/ru/man1/arch.1.po
po/ru/man1/arch.1.po
po/ru/man1/b2sum.1.po
po/ru/man1/base32.1.po
po/ru/man1/base64.1.po
po/ru/man1/basename.1.po
po/ru/man1/basename.1.po


Команда выглядит так:
$ sort paths.txt | uniq > clean-paths.txt


#shell #utils
🔥12👍5😁1
Vim

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

Вот несколько инструментов и плагинов, которые часто используются для превращения Vim в мощную IDE:

1. fzf: Это командный инструмент для поиска файлов, который можно интегрировать с Vim для быстрого поиска и открытия файлов в проекте. Он помогает навигации по большим кодовым базам.

2. NERDTree: Плагин для управления файловой системой, который предоставляет дерево каталогов, подобное тому, что есть в других IDE. Это помогает легко перемещаться между файлами проекта.

3. vim-better-whitespace: Плагин, который подсвечивает и удаляет лишние пробелы в коде. Он помогает поддерживать чистоту и консистентность стиля кодирования, улучшая читаемость и предотвращая ошибки.

и многие другие.

Ссылка на мой .vimrc

#shell #dotfiles
👍122🎄1
fzf, fzy, ripgrep утилиты

Установка:
$ apt-get install -y fzf fzy ripgrep


fzf (Fuzzy Finder) — это интерактивный инструмент командной строки для нечеткого поиска и фильтрации. Пример использования:
$ find . -type f | fzf


fzy — аналогичный инструмент, ориентированный на скорость и простоту, неинтерактивный, но также эффективен для фильтрации. Пример:
$ find . -type f | fzy


ripgrep (rg) — мощный и быстрый инструмент для поиска текста в файлах. Поддерживает рекурсивный поиск и регулярные выражения, игнорирует файлы, указанные в .gitignore. Идеален для поиска текста в проектах:
$ rg 'search_term'


Все три утилиты отлично дополняют рабочие процессы разработчиков, ускоряя поиск и навигацию по проектам. Часто используются в совокупности с Vim, или другими текстовыми редакторами/IDE.

#shell #utils
62👍1
С новым 2025 годом, друзья! Настало 01/01/2025. Пусть этот год принесёт вам множество успехов и радостей. В мире технологий мы отмечаем впечатляющие вехи: Debian исполнилось 32 года, а Linux — 34 года! Эти системы продолжают вдохновлять нас своей стабильностью и открытостью, напоминая, что сообщество и сотрудничество могут создавать мощные и долговечные решения. Пусть ваши проекты в новом году будут такими же успешными и долговечными! Удачи и новых достижений!

#info
10🎄4❤‍🔥31
Что такое udeb и dbgsym пакеты?

Udeb пакеты (micro debs)
— это урезанные версии deb-пакетов, используемые в Debian Installer. Они содержат минимальный набор файлов, необходимых для установки системы, и оптимизированы для уменьшения размера, что критично при установке на ограниченные ресурсы.

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

#debian
81
SuperTux

SuperTux — это бесплатная и открытая 2D-платформенная игра, вдохновлённая классической серией игр Super Mario. В ней игрок управляет пингвином по имени Тукс, который путешествует через различные уровни, собирает бонусы и сражается с врагами, чтобы спасти свою подругу Пенни от злого босса Нолока.

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

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


Полноэкранный запуск:
$ supertux2 --fullscreen


> GitHub
> Salsa
> Сайт

#games #opensource
73❤‍🔥2🥰1
Frozen Bubble

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

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


Полноэкранный запуск:
$ frozen-bubble --fullscreen


> GitHub
> Salsa

#games #opensource
71👎1