linux.exex [GFYB]
158 subscribers
745 photos
86 videos
9 files
484 links
GFYB - go fuck yourself bitch. This Is team GFYB. goida
Download Telegram
Ебать
В 1991 году Линус Торвальдс вовсе не планировал называть операционную систему своим именем. Он считал название Linux слишком эгоистичным и претенциозным.

Изначально проект носил рабочее имя Freax. Торвальдс скомбинировал слова free (свободный), freak (странный, чудаковатый) и добавил букву X как дань уважения семейству Unix. Под этим названием код развивался первые месяцы на его личном компьютере.

Когда проект дорос до публичного релиза, файлы потребовалось выложить на FTP-сервер Хельсинкского технологического университета (ftp.funet.fi). Занимался этим системный администратор университета Ари Леммке.

Леммке посчитал название Freax нелепым и откровенно неудачным для серьезного программного обеспечения. Не спросив Торвальдса, он создал на сервере директорию pub/OS/Linux и разместил исходники именно там. Линус спорить не стал, решив не тратить время на переименование каталога обратно, а скачивавшие код энтузиасты моментально закрепили за системой имя создателя.

Если бы не самоуправство финского сисадмина, современные серверы и дистрибутивы сегодня носили бы имена вроде Debian Freax, Arch Freax и Red Hat Enterprise Freax.

Подпишись на создателей: https://t.me/linuxexex
Сравнение популярных дистрибутивов проще всего понять на одной задаче: вам нужно поставить свежий драйвер или софт, которого нет в стандартном репозитории трехлетней давности.

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

Ubuntu.
Вы вводите команду установки, но оказывается, что нужная утилита теперь распространяется исключительно через Snap. Пакет стартует медленно, изолирован от половины системы, а при попытке подключить PPA-репозиторий вы рискуете сломать зависимости при следующем крупном обновлении релиза. Для новичка это кажется простым решением, но со временем система обрастает костылями.

Arch Linux.
Здесь нужный пакет уже собран и лежит либо в основном репозитории, либо в AUR. Вы ставите его одной командой pacman или yay. Все работает быстро и нативно. Обратная сторона медали: если вы не заглянули на сайт проекта перед обновлением ядра и системных библиотек, очередной запуск системы может потребовать ручной правки конфигов через chroot с загрузочной флешки.

Debian.
В репозитории стабильной ветки нужного софта просто нет, потому что там зафиксированы версии двухлетней давности ради абсолютной надежности. Чтобы получить свежую версию, приходится подключать ветку testing, бэкпорты или собирать проект из исходников. Если система настроена один раз, она не упадет даже при ядерном взрыве, но получить новые возможности без ручного вмешательства практически невозможно.

Fedora.
Компромисс между стабильностью и свежестью. Свежее ядро, актуальные пакеты каждые полгода. Однако поддержка проприетарных драйверов и кодеков по умолчанию отключена из-за лицензионных соображений разработчиков, поэтому первым делом приходится подключать сторонний RPM Fusion.

Итог:
Если нужна стабильность сервера без вмешательства человека годами, выбирают Debian.
Если нужен самый свежий софт и полный контроль над процессом, выбирают Arch.
Если нужен рабочий инструмент со свежими библиотеками из коробки, выбирают Fedora.
Ubuntu остается выбором тех, кому важна максимальная совместимость с корпоративными гайдами и готовыми скриптами.

Подпишись на создателей: https://t.me/linuxexex
Ужасный кусок говна с омерзительным UX

Horrible piece of shit with god awful UX
The moment you try to use federation it lags so hard your session locks up for HOURS

Источник (4chan /g/): https://boards.4chan.org/g/thread/109902931

Подпишись на создателей: https://t.me/linuxexex
Если вы до сих пор вручную перепечатываете длинные команды или тратите время на повторный ввод, когда забыли про sudo, вот база, которая экономит кучу времени каждый день.

1. Магия двух восклицательных знаков.
Запустили тяжелую команду или полезли править конфиг в /etc, а система выдает Permission denied? Не надо нажимать стрелку вверх, листать в начало и дописывать sudo. Просто вводите:
sudo!!
Оболочка подставит последнюю выполненную команду целиком.

2. Быстрая вставка последнего аргумента.
Создали директорию через mkdir /long/path/to/project и теперь нужно туда перейти? Вместо копирования пути жмите:
cd Alt +.
Комбинация Alt и точки (или Esc, затем точка) автоматически вставляет последний аргумент предыдущей команды. Если нажать комбинацию несколько раз подряд, она будет листать аргументы из более ранних команд.

3. Поиск по истории без листания стрелками.
Чтобы мгновенно найти команду, которую вы запускали три дня назад, жмите Ctrl + R и начинайте вводить пару букв из нее. Терминал сам найдет совпадение. Нажатие Ctrl + R повторно переключает на следующее совпадение назад во времени. Чтобы прервать поиск, нажмите Ctrl + G, чтобы сразу выполнить найденное — Enter, а чтобы отредактировать — любую стрелку.

4. Мгновенная очистка строки.
Напечатали длинную команду, но передумали ее запускать? Не зажимайте Backspace. Нажмите Ctrl + C, чтобы сбросить ввод, или Ctrl + U, чтобы вырезать все от курсора до начала строки.

Настройте эти комбинации в мышечную память, и работа в консоли станет в разы быстрее.

Подпишись на создателей: https://t.me/linuxexex
я просто мак бук включил
даун не обтесаный
task ready

Подпишись на создателей: https://t.me/linuxexex
Инструмент дня: ripgrep

Если ты до сих пор ищешь по проекту через grep -R, попробуй rg.

Пример:

rg "TODO|FIXME"

ripgrep быстрый, по умолчанию уважает .gitignore и удобно показывает контекст. Для больших репозиториев разница чувствуется сразу.

Полезные варианты:
rg -n "pattern" — с номерами строк
rg --files — список файлов проекта
rg -t py "async def" — искать только в Python-файлах

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

Подпишись на создателей: https://t.me/linuxexex
Главное правило безопасности для любого, кто считает себя линуксоидом: перестань бездумно вбивать в терминал связку curl пайп bash из непроверенных репозиториев.

Каждый второй ставит себе модный софт или скрипты кастомизации прямо из чужих гистов и репозиториев, скачивая shell-скрипт и тут же выполняя его с правами суперпользователя. В этот момент абсолютно плевать, насколько у тебя зашифрован диск, настроен iptables или отключен root по SSH. Ты буквально берешь чужой непроверенный код и отдаешь ему полный контроль над системой.

Минимальная гигиена, о которой постоянно забывают:

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

Во-вторых, разграничивай права. Полномочия sudo нужны для установки пакетов и конфигурации демонов, а не для запуска браузеров, мессенджеров или сомнительных утилит. Забудь про chmod 777 на рабочие каталоги просто потому, что лень разбираться с группами пользователей.

В-третьих, закрой парольную аутентификацию по SSH. Только ключи с нормальной длиной и сложной кодовой фразой, нестандартный порт и привязка к fail2ban, если сервер смотрит в открытый интернет.

Безопасность системы определяется не дистрибутивом, а тем, насколько осознанно нажимаются клавиши в терминале.

Подпишись на создателей: https://t.me/linuxexex
Сколько раз ты вбивал длинную команду, жал Enter и ловил Permission denied, потому что забыл про sudo? Большинство после этого жмут стрелку вверх, двигают курсор в самое начало строки и вручную дописывают заветное слово. Это долго и откровенно бесит.

Простой фикс: пишешь sudo!! и жмешь Enter. Два восклицательных знака автоматически подтягивают предыдущую команду целиком и запускают ее с правами рута. Секунда дела.

Второй полезный трик для тех, кто листает историю стрелочками: используй Ctrl + R. Нажал комбинацию, начал вводить пару букв из команды, которую запускал вчера или неделю назад, и терминал мгновенно найдет нужную строчку в истории. Нажал Enter — запустил, нажал стрелку вправо — отредактировал.

Экономь время на рутине, чтобы тратить его на нормальные задачи.

Подпишись на создателей: https://t.me/linuxexex
Шокирующая сделка Трампа по российскому дизелю: одно правило для Индии, другое для США

В источнике указан только заголовок, дополнительный текст новости отсутствует.

Источник (r/worldnews): https://www.reddit.com/r/worldnews/comments/1x3vd1r/trumps_shock_russian_diesel_deal_one_rule_for/

Подпишись на создателей: https://t.me/linuxexex
Почему гойда и откуда взялось это слово

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

Суть явления

«Гойда» (или «гайда») — это старинное междометие, которое исторически использовалось как призыв к немедленному действию. Происхождение слова связывают с тюркскими языками (откуда пришло и более привычное «айда» — пошли, давай). В шестнадцатом веке, во времена Ивана Грозного, этот клич якобы использовали опричники для одобрения казней или как боевой клич при нападении. Документальных подтверждений тому, что опричники орали именно это слово, немного, но в массовую культуру оно вошло благодаря литературе и кино — например, через роман Алексея Толстого «Князь Серебряный» и фильм Сергея Эйзенштейна «Иван Грозный».

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

Практический смысл и как это работает

Почему именно «гойда» так плотно засела в лексиконе интернет-пользователей? Это классический пример того, как работает постирония в современных медиа.

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

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

Подпишись на создателей: https://t.me/linuxexex
Мало кто задумывается, что Git появился исключительно из-за того, что Линуса Торвальдса вывели из себя.

До 2002 года ядро Linux пилили по старинке, пересылая патчи через почтовые рассылки и архивы. Когда проект разросся до таких масштабов, что мейнтейнеры начали тонуть в рутине, сообщество перешло на проприетарную систему BitKeeper. Ее создатель, Ларри Маквой, разрешил ядрышкам юзать ее бесплатно, но с условием: никакой обратной разработки их протокола.

Перемирие продлилось недолго. В 2005 году австралийский разработчик Эндрю Триджелл, создатель Samba, решил расковырять протокол BitKeeper через telnet, чтобы написать свободный клиент. Маквой взбесился и перекрыл Торвальдсу и всей команде ядра бесплатный доступ.

Остальные популярные на тот момент системы контроля версий Торвальдс презирал. CVS он открыто называл бесполезным мусором, SVN считал попыткой починить то, что изначально мертво, а другие распределенные системы тормозили на объемах ядра.

Линус психанул, ушел в изоляцию на две недели и с нуля написал свою распределенную систему управления версиями. Он спроектировал ее вокруг скорости работы, целостности данных и поддержки ветвления. Название Git Торвальдс прокомментировал в своем стиле: в британском сленге это слово означает неприятного или глупого человека, добавив, что называет все свои проекты в честь себя самого — сначала Linux, потом Git.

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

Подпишись на создателей: https://t.me/linuxexex
Хватит насиловать клавишу со стрелкой вверх. Вы выглядите жалко, когда пытаетесь найти ту самую длинную команду с десятком флагов, которую вводили три дня назад. Есть нормальные способы работать в терминале, а не деградировать, перебирая историю по одной строчке.

Во-первых, стандартный Ctrl+R. Нажимаете эту комбинацию и начинаете печатать любой кусок нужной команды. Терминал сам вытащит последнее совпадение из истории. Если нашлось не то — жмите Ctrl+R еще раз, чтобы листать дальше в прошлое. Нашли нужное — жмете Enter для запуска или стрелку вправо, чтобы отредактировать команду перед выполнением. Это база, которую стыдно не знать.

Во-вторых, если хотите сделать совсем красиво, ставьте утилиту fzf. Это нечеткий поиск на максималках. После установки и привязки к вашему шеллу тот же самый Ctrl+R превращается в интерактивное меню. Вы можете вводить обрывки слов в любом порядке, а fzf мгновенно отфильтрует всю вашу историю и покажет список, по которому удобно прыгать. Можно писать хоть с опечатками, он все равно поймет, что вы имели в виду.

Еще один микро-хак для ленивых: комбинация символов!! (два восклицательных знака) просто повторяет последнюю введенную команду. Забыли написать sudo перед длинной строкой? Не надо ничего переписывать или жать стрелку вверх, а потом тащиться в начало строки. Просто вводите sudo!! и жмете Enter. А комбинация!$ подставляет последний аргумент предыдущей команды. Создали папку через mkdir /var/www/my_super_long_project_name и хотите сразу в нее перейти? Пишите cd!$ и вы уже внутри.

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

Подпишись на создателей: https://t.me/linuxexex
Зеленский предупреждает: Китай помогает России создать аналог Starlink

Президент Украины Владимир Зеленский заявил, что Китай оказывает содействие России в разработке собственной спутниковой интернет-системы, которая должна стать конкурентом Starlink.

Источник (r/worldnews): https://www.reddit.com/r/worldnews/comments/1x494h5/zelensky_warns_china_is_helping_russia_develop/

Подпишись на создателей: https://t.me/linuxexex
Виртуальная файловая система (VFS) — это подсистема ядра Linux, которая работает как универсальный переводчик между пользователем и носителями данных.

В Linux существует множество файловых систем: ext4, Btrfs, XFS, FAT32, NTFS, а также сетевые и виртуальные структуры вроде procfs и sysfs. Без VFS разработчикам программ пришлось бы писать отдельный код для чтения файлов с каждого конкретного типа накопителя. VFS решает эту проблему, предоставляя единый стандартный интерфейс системных вызовов: open, read, write, close.

Архитектура VFS строится на четырёх базовых структурах:

1. Суперблок (Superblock). Хранит общую информацию о смонтированной файловой системе: её тип, размер, статус и указатели на основные операции.

2. Индексный дескриптор (Inode). Описывает конкретный объект файловой системы (файл или каталог). В нём содержатся метаданные: права доступа, размер, владелец, временные метки и физическое расположение данных на диске. Имя файла внутри inode не хранится.

3. Элемент каталога (Dentry). Связывает имя файла с его inode и помогает быстро перемещаться по дереву каталогов. Ядро кэширует эти элементы в оперативной памяти (dentry cache), чтобы не обращаться к диску при каждом поиске пути к файлу.

4. Файловый объект (File). Представляет открытый процессом файл. Он существует только в оперативной памяти, пока программа работает с файлом, и хранит текущую позицию чтения/записи, флаги доступа и ссылку на соответствующий dentry.

Когда приложение вызывает команду чтения файла, запрос поступает в VFS. Подсистема проверяет кэш каталогов, находит нужный inode и перенаправляет вызов конкретному драйверу файловой системы (например, ext4), который уже считывает блоки данных с физического устройства. Благодаря этому процессу система обеспечивает прозрачную работу с любыми носителями.

Подпишись на создателей: https://t.me/linuxexex
Сколько раз вы, криворукие создания, пытались отфильтровать файл и перезаписать его же, делая что-то вроде:
cat config.conf | grep -v trash > config.conf

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

Чтобы не создавать ублюдские временные файлы типа tmp_govno_123, существует прекрасная, но почему-то игнорируемая половиной админов утилита sponge из пакета moreutils.

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

Пример для нормальных людей:
cat config.conf | grep -v trash | sponge config.conf

И всё. Никаких промежуточных костылей, никакого затирания файла в ноль. Твой конфиг обновлен в одну строчку, а ты сэкономил нервы до момента, когда наш батя Dutch_z решит, что человечество пора окончательно стереть с лица земли.

Ставится элементарно: apt install moreutils или pacman -S moreutils, смотря на чем ты там сейчас страдаешь. Заучи команду наизусть и перестань вайпать свои прод-конфиги на ровном месте.

Подпишись на создателей: https://t.me/linuxexex
Вот пост для Telegram-канала на тему полезного инструмента для разработчика, оформленный в виде обычного текста без разметки.

Каждый разработчик рано или поздно сталкивается с ситуацией, когда поиск нужного фрагмента кода в огромном проекте превращается в настоящее испытание. Стандартный поиск в IDE часто тормозит, индексация занимает вечность, а классический grep порой работает слишком медленно на больших объемах данных.

Решение этой проблемы давно существует и называется ripgrep (или просто rg). Это консольная утилита для поиска текста по регулярным выражениям, написанная на Rust.

Почему стоит забыть про стандартный grep и перейти на ripgrep прямо сейчас:

1. Скорость работы. Инструмент оптимизирован до предела. Он использует многопоточность и обходит конкурентов вроде The Silver Searcher или git grep на большинстве задач. Поиск по гигабайтам логов или огромной кодовой базе занимает доли секунды.

2. Умная фильтрация из коробки. По умолчанию ripgrep читает ваши файлы.gitignore и автоматически пропускает все, что не относится к делу: папку node_modules, скомпилированные бинарники, скрытые директории и временные файлы. Вам больше не нужно писать длинные флаги исключений, чтобы не утонуть в мусоре.

3. Удобный вывод. Результаты поиска сразу сгруппированы по файлам, строки пронумерованы, а совпадения подсвечены цветом. Читать такой вывод в терминале одно удовольствие.

4. Поиск по типам файлов. Вместо того чтобы вспоминать и прописывать расширения вручную, достаточно указать флаг типа, например, rg -t py для поиска только по Python-файлам или rg -t js для JavaScript.

Утилита кроссплатформенная и ставится в пару кликов через любой пакетный менеджер, будь то apt, brew, pacman или winget. Более того, именно движок ripgrep лежит под капотом функции поиска в том же VS Code. Но использование его напрямую из терминала в связке с fzf или внутри Neovim выводит скорость навигации по проекту на совершенно другой уровень.

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

Подпишись на создателей: https://t.me/linuxexex
репортёр ABC News задал вопрос главе киевского режима

После слов Трампа о том, что Украине нужен новый лидер, Зеленский «побежал плакаться к своим потакателям» — западным СМИ.

«Что ж, президент США говорит, что с него хватит Зеленского. Он хочет, чтобы Зеленский ушёл. Он хочет работать с кем-то другим — не с Зеленским. Мол, им нужен новый президент... Перво-наперво Зеленский отправился к ABC News», — рассказал ведущий RT Рик Санчес.

И вот в какой комплиментарной формулировке репортёр ABC News задал вопрос главе киевского режима:

«Мы также знаем, что Илон Маск заявил, что «Зеленский зашёл слишком далеко». Почему они винят вас в том, что эта война продолжается?»

Санчес отметил, что у подобных представителей американских СМИ, вероятно, «висит украинский флаг в офисе»:

«Это как раз таки нагляднейший пример, почему американцы настолько глупы в том, что касается всего, что находится за пределами их границ. Это потому, что у них есть подобные идиоты в СМИ, которые... и, кстати, БиБиСи делает то же самое, и Le Monde... Они пичкают аудиторию такими вот глупостями...»
https://t.me/rt_russian/295052 https://t.me/rt_russian/295052

Источник (2ch /news/): https://2ch.org/news/res/19897697.html

Подпишись на создателей: https://t.me/linuxexex