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 должен объединять людей, сплачивать их, а не наоборот. А Линус просто закапывает себя и ведет себя как мальчишка. В твое вонючее ядро сделали вклад, ты должен уважать этих людей, а не удалять их из списка ... Низость.

#people
👍59🤡28👎1011🔥1😁1😢1💯1
Перевод: Как страстный любитель истории, вы, кажется, забыли, что Финляндия воевала на стороне нацистов. Так что да, мы прекрасно знаем, что вы не любите русских, если только они не в концлагерях. Что вы сейчас и делаете: сегрегируете по национальному признаку. Лишаете кредитов и имен. Нацист - всегда нацист. Так что идите вы на хуй.

#people
💯49🤡18👍14👎62👏1😢1🫡1
Kernel panic - это критическая ошибка в операционной системе, когда система не может продолжать работу из-за серьезных проблем. Часто это связано с аппаратными сбоями, такими как неисправность оперативной памяти, процессора. Также это может быть вызвано невозможностью найти и смонтировать корневую файловую систему, запуском некорректных драйверов или ошибок в процессе инициализации (initramfs). Система может пытаться использовать несуществующие ресурсы, что приводит к этому состоянию.

#kernel #theory
👀65🔥2🤡1
trap

С помощью trap можно перехватывать/обрабатывать сигналы. Например:
func()
{
echo "This is SIGINT"
}

trap func SIGINT


Команда trap используется в оболочке для перехвата сигналов и выполнения функции или команды в ответ на эти сигналы. В данном случае функция func будет вызвана при получении сигнала SIGINT.

#shell
14👍5
Как создать чистую переменную PATH?

Переменная окружения PATH определяет в каких каталогах система будет искать исполняемые файлы команд. Чтобы создать чистую переменную PATH, можно использовать команду (так же можно прописать это в ~/.bashrc):
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


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

#shell
10👍1🤯1
diff и patch

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

Patch File генерируется с помощью утилиты diff, а с помощью утилиты patch изменения можно применить.

Показать различия:
$ diff a b


Создать файл-патч с изменениями:
$ diff a b > main.patch


Показать различия с номерами строк:
$ diff -c a b


Рекурсивно сравнить содержимое каталогов и их подкаталогов:
$ diff -r a/ b/ > r.patch


Популярный метод сравнения:
$ diff -ruN a/ b/ > project.patch


Флаг -u выводит различия в унифицированном формате, который более компактен и удобочитаем.

Флаг -N сравнивает файлы, которых нет в одном из каталогов, как пустые, что позволяет включать новые и удаленные файлы в патч.

Игнорировать .git директорию при сравнении:
$ diff -ruN --exclude='.git' a/ b/


Показать разницу построчно:
$ sdiff a b | less


Поднять Orig файл до состояния patch:
$ patch Orig < patch


Отменить изменения patch в Orig файле (откат):
$ patch -R Orig < patch


Пропустить первый уровень каталогов в путях файлов внутри патча:
$ patch -p1 < ../patch


При возникновении ошибок, начнут появляться файлы *.rej

*.rej файлы описывают куски, которые не получается применить.

*.orig файлы создаются для того, чтобы сохранить оригинальный вид, потому что текущий исходник (например main.c) изменился, а main.c.orig остался прежним.

#utils
🔥11👍4


Друзья! Нас уже более 1000 человек. Большое спасибо, что читаете, ставите реакции, делитесь. Чтобы о моем канале узнало больше людей, я покупал рекламу, так как без нее довольно трудно продвигать канал. Траты на рекламу составили 65,750 рублей. Хорошего дня!

#info
22😨14👍3🙊2
——— НАВИГАЦИЯ ———

GIT: #git
Жвачка: #fun
Ядро: #kernel
Разное: #misc
ПО: #software
Игры: #games
Книги: #books
Люди: #people
Сборка: #build
Утилиты: #utils
Теория: #theory
Debian: #debian
Оболочка: #shell
СПО: #opensource
Память: #memory
Терминал: #terminal
Мои мысли: #thoughts
Безопасность: #security
Информация канала: #info
Конфигурационные файлы: #dotfiles

Кто я: https://news.1rj.ru/str/krxnotes/246
Откуда берется информация: https://news.1rj.ru/str/krxnotes/500

Поддержать канал:
2202 2036 6907 4603

Спасибо, что читаете!
👍212
Блокировка/автовыход из терминала/консоли

Автовыход из терминала (bash):
Переменная окружения TMOUT задает таймаут в секундах для автоматического выхода из сессии bash. Сессия завершится через 60 секунд неактивности:
export TMOUT=60


Автоблокировка: Для автоблокировки можно использовать утилиту vlock. Это утилита, которая блокирует текущую виртуальную консоль, требуя ввода пароля для разблокировки. Это удобно для временной блокировки доступа к терминалу, когда вам необходимо отойти, не выходя из сессии.
$ apt-get install -y vlock

Заблокировать текущую консоль:
$ vlock

Заблокировать все консоли:
$ vlock -a


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

#shell #utils #security
👍171
Оболочки (Shells)

Shell - это общее название для командных интерпретаторов, которые позволяют взаимодействовать с операционной системой через командную строку. Bash (Bourne Again SHell) - это один из видов Shell, который является стандартным и наиболее распространенным в Linux-системах. Таким образом, Bash - это конкретный тип shell, но не единственный.

Покажет все доступные оболочки:
$ cat /etc/shells


#shell
🔥8👍31
💯19👍2🙏1
Руководство по созданию пакетов Debian. Краткое и понятное руководство, этих знаний вполне достаточно, чтобы собирать deb-пакеты.

Ссылка: https://www.debian.org/doc/manuals/packaging-tutorial/packaging-tutorial

#debian #books
5👍1🤨1
Офисы

Я перестал ездить в офис в 2020 году, а затем и вовсе перешел на полную удаленную работу. И знаете что? Я перестал болеть, простужаться, хворать. У меня дома довольно свежо, я часто проветриваю, а в офисе, кроме пыли и пердежа коллег, дышать нечем. Система вентиляции в офисных зданиях устроена просто отвратительно — это прекрасная среда для распространения всяких бактерий и вирусов. Именно поэтому офисные сотрудники болеют круглый год. Просто обратите внимание: они постоянно простужены. Я не помню момента, когда бы видел своих коллег не простуженными. Если включить сплит-систему на рабочем месте (которая обычно встроена в потолок), из нее просто выпадает пыль столетней давности и ничего более. За этими сплит-системами нужен особый уход, чистка, но на это все плевать хотели. Обычно их встраивают в годах так 1991 и с тех пор они работают. Надо понимать, что офис — это коллективное место, кому-то может быть холодно, кому-то жарко, и каждый пытается настроить свою температуру, возникают конфликты.

Я не понимаю людей, которые в 2024 году ездят в офисы, правда. Я могу понять профессии типа строителей, уборщиц, врачей, поваров и т.д. — им это реально нужно. Но остальным людям, которые работают большую часть своего времени за компьютером или смартфоном, зачем вы куда-то ездите? Если перевести всех этих людей на удаленную работу, транспорт освободится на 40%, Москва станет свободнее, уменьшится распространение всяких пандемий, вирусов и простуд.

Благо в Москве транспорт развит очень неплохо. Но все же от него очень устаешь. Огромное количество людей, и все куда-то едут, кашляют, смаркаются — это просто ужас. Давайте посчитаем: допустим, до работы ехать около часа. Итого: 30 минут на сборы, час езды на работу. С работы ехать тоже час + 30-40 минут на отходняк после транспорта. Итого в среднем получается около 3 часов потерянного времени в день, а у некоторых и больше. Эти 3 часа можно потратить на что-то более рациональное.

Ну и продуктивность. Офис — это не место для работы. Люди в офисах в основном пьют чай/кофе, болтают, флиртуют на кухне, смотрят друг на друга, знакомятся, едят конфеты, переписываются, обмениваются мемами, сидят в курилке, ну и 2-3 часа от силы, может быть, работают.

Единственный минус удаленной работы — это отсутствие социализации, со временем начинаешь грустить.

#thoughts
👍366🤔6🤡3🥴3💯1
IRC-сеть

Существует сеть инженеров сообщества Debian (онлайн чат). Там можно получить помощь по вопросам связанных с Debian, ссылка - https://wiki.debian.org/IRC. Можно выбрать необходимую комнату, подключиться и задать вопрос. Отвечают не сразу, нужно набраться терпения, ведь это Open Source.

#debian
10
Глаз бога

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

Меня правда интересует, какого черта мои личные данные находятся в этом сервисе? Я разве давал согласие на это? Нет. Меня кто-то спрашивал про это? Нет. Мои данные просто взяли и где-то появились, причем на публичной платформе — пробивай, да бери. Хотя я человек, который ведет довольно скрытный образ жизни. Никаких социальных сетей или чего-то подобного я не веду. Информацию о себе особо не оставляю (по крайней мере, не раскидываюсь ей). Так вот, 99% записей, которые я увидел о себе в глазе бога — это утечки. Что у нас в 24-м году до сих пор данные не научились хранить в зашифрованных базах данных? Я не специалист ИБ, но уверен, что есть куча способов защитить данные.

Я бы еще понял данные типа год рождения, возраст. Но, блин, какими машинами я владел, на каких адресах был прописан, кто мои родители. Что за безобразие?! Естественно, я оформил запрос на скрытие своих данных в этом сервисе. На каких-то источниках они пишут, что удаляют их, на каких-то пишут, что скрывают — сами не определились ... На самом деле, что-то удалить из интернета довольно трудно (точнее, невозможно). Поэтому про удаление — это вранье. Хотя бы скрыл, и на том спасибо. Тоже самое рекомендую сделать и вам.

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

На мой взгляд, если в стране есть подобные сервисы, то ИБ там на очень плачевном уровне.

#thoughts
💯16🤔21👍1
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