Forwarded from 📚Системный Администратор (RTFM)
Bash скрипты на примерах
Bash скрипты – это наборы тех же самых команд, которые можно вводить с клавиатуры, но собранные в единый файл и объединённые некоей общей целью. Такой подход позволяет автоматизировать множество рутинных задач, например, сборку проектов или установку новых программ. Bash прост в освоении и использовании, гибок и так или иначе присутствует в абсолютном большинстве дистрибутивов Linux.
👀Читать
📚@IT_obrazovach
Bash скрипты – это наборы тех же самых команд, которые можно вводить с клавиатуры, но собранные в единый файл и объединённые некоей общей целью. Такой подход позволяет автоматизировать множество рутинных задач, например, сборку проектов или установку новых программ. Bash прост в освоении и использовании, гибок и так или иначе присутствует в абсолютном большинстве дистрибутивов Linux.
👀Читать
📚@IT_obrazovach
GitHub
bash-scripts-by-example/README_RUS.md at master · cheatsnake/bash-scripts-by-example
Learn main features of Bash scripts by examples. Contribute to cheatsnake/bash-scripts-by-example development by creating an account on GitHub.
❤5👍3😈2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48🌚12❤2👍2🎄2
Canonical и Бристольский университет разработают транслятор с Си на Rust для крупных кодовых баз
Цель — переводить большие репозитории (сотни тысяч строк) в безопасное и сопровождаемое Rust-представление. Технология будет опробована на пакетах AppArmor и snap-confine.
Инструментарий использует гибридную модель, комбинирующую машинное обучение с классическим анализом, тестированием и формальной верификацией. Крупные кодовые базы разделяются на фрагменты, транслируемые независимо с сохранением контекста. AI обучается на уже переведённых проектах для генерации корректных Rust-абстракций вместо прямого переписывания Си-конструкций. Также будут предоставлены средства проверки с fuzzing-тестированием и отладкой.
Необходимость нового подхода объясняется тем, что ручной перевод трудоёмок и теряет оптимизации, традиционные трансляторы создают небезопасный код, а AI-модели плохо масштабируются на крупные репозитории.
Linux / Линукс🥸
Цель — переводить большие репозитории (сотни тысяч строк) в безопасное и сопровождаемое Rust-представление. Технология будет опробована на пакетах AppArmor и snap-confine.
Инструментарий использует гибридную модель, комбинирующую машинное обучение с классическим анализом, тестированием и формальной верификацией. Крупные кодовые базы разделяются на фрагменты, транслируемые независимо с сохранением контекста. AI обучается на уже переведённых проектах для генерации корректных Rust-абстракций вместо прямого переписывания Си-конструкций. Также будут предоставлены средства проверки с fuzzing-тестированием и отладкой.
Необходимость нового подхода объясняется тем, что ручной перевод трудоёмок и теряет оптимизации, традиционные трансляторы создают небезопасный код, а AI-модели плохо масштабируются на крупные репозитории.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Ubuntu Community Hub
Investing in automated C to Rust translation
I have written before about the role that Rust will play in Ubuntu’s future. The case for Rust in 2026 is clear: it gives systems programmers more ergonomic control over performance and resource use while eliminating many classes of memory-safety defects…
😁23👍11🤣3💔2🫡1
SoLo научил статические Linux-бинарники запускать системные драйверы GPU
Опубликован открытый проект SoLo, решающий фундаментальную проблему запуска графических драйверов в полностью изолированных статических приложениях. Традиционно программы, собранные со стандартной библиотекой musl без динамических зависимостей, не могли использовать системные драйверы Vulkan и OpenGL, поскольку дистрибутивы поставляют их в виде разделяемых библиотек, скомпилированных под glibc. Разработка снимает это ограничение за счет внедрения компактного загрузчика ELF прямо в исполняемый файл и трансляции вызовов glibc в уже существующий musl-рантайм без необходимости загружать в процесс вторую копию системной библиотеки.
Архитектурная чистота решения исключает конфликты двух libc в одном адресном пространстве, сохраняя все преимущества компактного распространения программ единым файлом. В качестве практического доказательства работоспособности авторы подготовили статический бинарник без динамических секций, который успешно обнаруживает системный драйвер Vulkan, загружает его зависимости, выполняет вычисления шейдера и сохраняет итоговый PNG-файл. Технология написана на C++, распространяется под свободной лицензией MIT, проходит регулярные тесты в Alpine, Fedora и Ubuntu, а также уже применяется для формирования релизных сборок эмулятора терминала Shitty.
Linux / Линукс🥸
Опубликован открытый проект SoLo, решающий фундаментальную проблему запуска графических драйверов в полностью изолированных статических приложениях. Традиционно программы, собранные со стандартной библиотекой musl без динамических зависимостей, не могли использовать системные драйверы Vulkan и OpenGL, поскольку дистрибутивы поставляют их в виде разделяемых библиотек, скомпилированных под glibc. Разработка снимает это ограничение за счет внедрения компактного загрузчика ELF прямо в исполняемый файл и трансляции вызовов glibc в уже существующий musl-рантайм без необходимости загружать в процесс вторую копию системной библиотеки.
Архитектурная чистота решения исключает конфликты двух libc в одном адресном пространстве, сохраняя все преимущества компактного распространения программ единым файлом. В качестве практического доказательства работоспособности авторы подготовили статический бинарник без динамических секций, который успешно обнаруживает системный драйвер Vulkan, загружает его зависимости, выполняет вычисления шейдера и сохраняет итоговый PNG-файл. Технология написана на C++, распространяется под свободной лицензией MIT, проходит регулярные тесты в Alpine, Fedora и Ubuntu, а также уже применяется для формирования релизных сборок эмулятора терминала Shitty.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤5
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53
Злоумышленники скомпрометировали популярный пакет arrayref с миллионами загрузок
В официальном репозитории crates.io зафиксировали серьезную компрометацию популярного Rust-пакета arrayref, который насчитывает свыше 53 миллионов загрузок за последние три месяца и используется в качестве зависимости в сотнях проектов. Атакующие получили доступ к учетной записи мейнтейнера и опубликовали зараженные версии библиотек arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9, внедрив в их манифесты вредоносную зависимость proc-macro1.
Опасная нагрузка активировалась непосредственно во время сборки проекта через скрипт пакета proc-macro1, скачивая бинарный файл с внешнего сервера управления. В Unix-подобных системах загрузчик маскировался под файл rust-setup в каталоге временных данных, а в Windows сохранялся в виде исполняемых скриптов с расширениями ps1 и vbs.
Администраторы площадки crates.io заблокировали и удалили вредоносные релизы спустя полтора часа после публикации, однако разработчикам настоятельно рекомендуется очистить локальные кеши менеджера пакетов Cargo и проверить сборочные окружения на наличие следов подозрительных файлов.
Команда для проверки наличия вредоносных пакетов в осевшем локальном кеше:
Linux / Линукс🥸
В официальном репозитории crates.io зафиксировали серьезную компрометацию популярного Rust-пакета arrayref, который насчитывает свыше 53 миллионов загрузок за последние три месяца и используется в качестве зависимости в сотнях проектов. Атакующие получили доступ к учетной записи мейнтейнера и опубликовали зараженные версии библиотек arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9, внедрив в их манифесты вредоносную зависимость proc-macro1.
Опасная нагрузка активировалась непосредственно во время сборки проекта через скрипт пакета proc-macro1, скачивая бинарный файл с внешнего сервера управления. В Unix-подобных системах загрузчик маскировался под файл rust-setup в каталоге временных данных, а в Windows сохранялся в виде исполняемых скриптов с расширениями ps1 и vbs.
Администраторы площадки crates.io заблокировали и удалили вредоносные релизы спустя полтора часа после публикации, однако разработчикам настоятельно рекомендуется очистить локальные кеши менеджера пакетов Cargo и проверить сборочные окружения на наличие следов подозрительных файлов.
Команда для проверки наличия вредоносных пакетов в осевшем локальном кеше:
find ~/.cargo/registry/cache -type f \( \
-name 'append-only-vec-0.1.9.crate' -o \
-name 'arrayref-0.3.10.crate' -o \
-name 'internment-0.8.7.crate' -o \
-name 'proc-macro1-*.crate' -o \
-name 'proc-macro-en-*.crate' -o \
-name 'aovine-*.crate' -o \
-name 'arone-*.crate' -o \
-name 'aronenao-*.crate' -o \
-name 'tinymember-*.crate' \
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
blog.rust-lang.org
Supply chain attack on arrayref | Rust Blog
Empowering everyone to build reliable and efficient software.
✍8
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17😁17
Линус Торвальдс использовал ИИ для отладки ошибки в драйвере графического процессора Intel
https://github.com/torvalds/linux/commit/818bebeb63dd6bf5f4e07e145f6cdbace520a34c
[И это был адский сеанс отладки, которому чрезвычайно помог искусственный интеллект, выполнявший большую часть черновой работы.
Я бы хотел назвать это своим неустающим помощником, но ИИ несколько раз прямо заявлял, что это невозможно и неразрешимо, и что мы должны просто написать отчет об этом.
Я подозреваю, что этим вещам обучены люди, которые, возможно, не такие упрямые, как я.
Но хотя ИИ несколько раз был готов сдаться, он продолжал добавлять отладочный код и тщательно анализировать его, когда я нажимал на него. Так что отдавайте должное, и я позволил ИИ написать сообщение о фиксации, приведенное выше.
Это, по сути, однострочное исправление фиктивного "round_up()" на "round_down()", но было выпущено 24 исправления, добавляющих все больше и больше отладочной информации, и 18 загрузок ядра, чтобы, наконец, сузить поиск до этого. - Linus ]
Linux / Линукс🥸
Я потратил весь сегодняшний день на поиск этой проблемы, в перерывах между работой по окну слияния, поскольку она наконец стала воспроизводимой.
И исправление оказалось, по сути, однострочным, хотя сеанс отладки, чтобы до него дойти, таким не был.
Драйвер Xe берет адрес памяти, используемый для выделенной памяти для CCS, и округляет его до ближайшей области 128 КБ.
И это очень-очень неправильно, потому что это означает, что драйвер Xe затем будет *использовать* ту часть памяти, которая не находится на границе 128 КБ. И аппаратный движок тоже будет использовать и записывать в нее.
И когда эта память оказывается использованной для страниц таблиц GPU, происходят очень плохие вещи.
Я подозреваю, что это также объясняет некоторые случайные случайные повреждения экрана, которые я видел — когда память не используется для чего-то столь важного, как таблица страниц, она «лишь» повреждает случайную растровую память и тому подобное.
Я закоммитил исправление как коммит 818bebeb63dd («drm/xe: Don't hand out the flat CCS storage as usable VRAM»).
Добавляю некоторых людей из коммита 37173392741c («drm/xe/vram: fix ccs offset calculation») в копию, потому что именно оттуда пришла проблема. Два года назад. Я не уверен, почему теперь она стала для меня такой воспроизводимой, но, очевидно, изменение поведения пользовательского пространства теперь запускает ее практически при каждом запуске.
Линус
https://github.com/torvalds/linux/commit/818bebeb63dd6bf5f4e07e145f6cdbace520a34c
[И это был адский сеанс отладки, которому чрезвычайно помог искусственный интеллект, выполнявший большую часть черновой работы.
Я бы хотел назвать это своим неустающим помощником, но ИИ несколько раз прямо заявлял, что это невозможно и неразрешимо, и что мы должны просто написать отчет об этом.
Я подозреваю, что этим вещам обучены люди, которые, возможно, не такие упрямые, как я.
Но хотя ИИ несколько раз был готов сдаться, он продолжал добавлять отладочный код и тщательно анализировать его, когда я нажимал на него. Так что отдавайте должное, и я позволил ИИ написать сообщение о фиксации, приведенное выше.
Это, по сути, однострочное исправление фиктивного "round_up()" на "round_down()", но было выпущено 24 исправления, добавляющих все больше и больше отладочной информации, и 18 загрузок ядра, чтобы, наконец, сузить поиск до этого. - Linus ]
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26🫡9👍2
Китайских чиновников пересаживают на отечественный Linux
Министерство гос безопасности предписало ряду гос учреждений отказаться от операционки Майкрософт. Под нож пошла даже специально кастомизированная "Windows 10 China Government Edition", которую американцы годами полировали под требования местных властей. Вместо них будут использоваться китайские дистрибутивы Linux (Kylin OS и UOS (UnionTech OS на базе Deepin)).
Миграция идет в рамках масштабной стратегии импортозамещения зарубежных технологий. В Пекине окончательно пришли к выводу, что укрепить цифровой суверенитет и защитить чувствительные данные можно только одним способом — выбросить весь западный закрытый код из госорганов и пересобрать рабочие места на контролируемых ядрах.
Linux / Линукс🥸
Министерство гос безопасности предписало ряду гос учреждений отказаться от операционки Майкрософт. Под нож пошла даже специально кастомизированная "Windows 10 China Government Edition", которую американцы годами полировали под требования местных властей. Вместо них будут использоваться китайские дистрибутивы Linux (Kylin OS и UOS (UnionTech OS на базе Deepin)).
Миграция идет в рамках масштабной стратегии импортозамещения зарубежных технологий. В Пекине окончательно пришли к выводу, что укрепить цифровой суверенитет и защитить чувствительные данные можно только одним способом — выбросить весь западный закрытый код из госорганов и пересобрать рабочие места на контролируемых ядрах.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Bloomberg.com
China Axing Microsoft Windows From State Agencies Ahead of Plan
China is pulling the plug on an older version of Microsoft Corp.’s Windows tailored for government agencies, taking another step toward rooting out the world’s most popular PC software in a broader effort to reduce its dependence on foreign technology.
👍36😁8❤4💯4