LINUX.ORG.RU

В Debian намерены добавить Rust в число обязательных зависимостей к APT

 , , ,


1

6

Джулиан Андрес Клоде (Julian Andres Klode), основной сопровождающий проект APT, объявил о решении добавить код на языке Rust в пакетный менеджер APT, а также включить в число обязательных зависимостей компилятор Rust, стандартную библиотеку Rust и PGP-инструментарий от проекта Sequoia, написанный на Rust. Изменения намерены реализовать не раньше мая 2026 года, чтобы дать разработчикам портов Debian полгода на реализацию корректной работы инструментария Rust или сворачивание порта.

На Rust планируют реализовать компоненты APT, требующие повышенного внимания с точки зрения безопасности, такие как парсеры форматов deb, ar и tar, а также код для проверки цифровых подписей. Ранее, в состав APT 3.0 уже была добавлена возможность использования написанной на Rust утилиты sqv для проверки цифровых подписей вместо вызова gpgv.

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

Ранее сообщалось, что из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений.

Оригинал:

Hi all,

I plan to introduce hard Rust dependencies and Rust code into
APT, no earlier than May 2026. This extends at first to the
Rust compiler and standard library, and the Sequoia ecosystem.

In particular, our code to parse .deb, .ar, .tar, and the
HTTP signature verification code would strongly benefit
from memory safe languages and a stronger approach to
unit testing.

If you maintain a port without a working Rust toolchain,
please ensure it has one within the next 6 months, or
sunset the port.

It's important for the project as whole to be able to
move forward and rely on modern tools and technologies
and not be held back by trying to shoehorn modern software
on retro computing devices.

Thank you for your understanding.
-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

>>> Источник



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от firkax

Авторы компиляторов немного не в себе и слать им багрепорты бесполезно.

Скажи, в какой мере по шкале от 0 до 10 ты согласен со следующим утверждением (0 - совершенно не согласен, 10 - абсолютно согласен): «Язык Си тормозной, потому что правильно скомпилировать программу на уровне -O2 невозможно из-за багов популярных компиляторов, нужно использовать менее популярные, но с ними проблема в том, что они хуже оптимизируют.»

unC0Rr ★★★★★
()
Ответ на: комментарий от X-Pilot

а вот DNF стоило бы переписать на чем угодно

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

mskrasnov
()
Ответ на: комментарий от unC0Rr

Я как-то и с более жесткими оптимизациями (правда по размеру бинарика) компилировал - все отлично работало (под кортекс-м)…

Sm0ke85
() автор топика
Ответ на: комментарий от Sm0ke85

Я прямо мечтаю почитать тред, в котором матёрые сишники ЛОРа с матюгами бы выясняли, кто из них лучше понимает язык, насколько забагованы компиляторы со своими оптимизациями, куда и сколько насыпать volatile, существуют ли UB и как написать быструю программу, не вылезя за пределы массива.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

Я прямо мечтаю почитать тред, в котором матёрые сишники ЛОРа с матюгами бы выясняли, кто из них лучше понимает язык, насколько забагованы компиляторы со своими оптимизациями, куда и сколько насыпать volatile, существуют ли UB и как написать быструю программу, не вылезя за пределы массива.

Так было такое, по volatile не сошлись в понятиях, оптимизации действительно сильно влияют на работу программы, UB и границы массива - тут внимательнее надо просто быть, либо меры примать отдельные - все зависит от кокретной ситуации и имеющихся ресурсов/амбиций ))))

Sm0ke85
() автор топика
Ответ на: комментарий от her_s_gory

Тебя за «плюсовые темплейты» расстреляют. В итоге будет C с классами, да и только, даже без стандартной библиотеки.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от Rootlexx

Вы же в курсе, что зависимости существуют разных типов, в том числе зависимости для сборки (Build Depends)?

Вы же читале в посте, что предлагается внести это в список ОБЯЗАТЕЛЬНЫХ зависимостей.

her_s_gory ★★
()
Ответ на: комментарий от Mischutka

давно существующий Ada

Дык бабки же. Если не перекладывать плитку, как выбивать финансирование? Та же логика, отсюда и эти переписывания рабочего кода на - как его? раст. Опенсорц давно под корпорациями. Еще погодите, вангую, лет через несколько может даже си даже попадет под запрет.

Alphaer ★★
()
Последнее исправление: Alphaer (всего исправлений: 1)
Ответ на: комментарий от her_s_gory

Вы же читале в посте, что предлагается внести это в список ОБЯЗАТЕЛЬНЫХ зависимостей.

Если читать головой, то понятно, что речь идёт именно о зависимостях сборки. Любая другая интерпретация нарушает Политику Debian, п. 7.2.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Если читать головой

Я читаю глазами (а они на голове 😁). И коментирую то, что прочитал. Надмозги - это не про меня.

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

предлагается внести это в список ОБЯЗАТЕЛЬНЫХ зависимостей

Само собой, а что тебя смущает? Так для каждого пакета всегда делалось.

zabbal ★★★★☆
()
Ответ на: комментарий от Alphaer

лет через несколько может даже си даже попадет под запрет

Хорошо бы конечно: давно пора прикопать это небезопасное старьё.

zabbal ★★★★☆
()
Ответ на: комментарий от unC0Rr

Каким боком эта фигня вообще к новости?

Левым, не??.. ;))

Somebody ★★★★
()

Вообще, Rust очень небезопасный на данный момент. Это троянский конь.

У Rust всего лишь один компилятор - rustc. И скомпилировать сам компилятор можно только им. Соответственно, там может быть бэкдор.

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

И это чудо внедряют в Debian базу, а всё что от него в будущем ветвится, все эти дистрибутивы - скомпроментированы. Да что говорить, даже модули ядра туда же.

Разработчики Hyperbola GNU/Linux-libre правильно делают, что не включают ничего написанного на rust в пакетную базу.

skywarp
()
Последнее исправление: skywarp (всего исправлений: 1)
Ответ на: комментарий от skywarp

там может быть бэкдор.

это honeypot

Вот тут я прям в сомнении. С одной стороны использование не к месту случайных ключевых слов это типичный признак глючного ИИ-слопа. С другой я и реальных людей встречал которые настолько беспросветно глупы что употребляют слова смысла которых не понимают. Кто-нибудь в курсе - это бот?

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

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

Ты просто триггернулся. Я «ИИ» не использую практически. Не к месту разве что твоя слепая вера в Rust, когда Кен Томпсон объяснил для таких на пальцах, как легко встроить в компилятор закладку с последующим невозможным обнаружением.

Ознакомься, пожалуйста - «Reflections on trusting trust» в поисковике.

И тут внезапно правительство США рекомендует всем переходить на Rust и уходить от использования «небезопасных» языков. Когда «безопасный» язык имеет единственный компилятор, и на него подсаживают агрессивно, переписывают - вот это на мой взгляд ханипот. Весь софт, написанный на нём, будет иметь нужный кому надо код, который потом можно заюзать как эксплоит в нужный момент.

У C хотя бы есть диферсификация компиляторов.

skywarp
()
Последнее исправление: skywarp (всего исправлений: 4)
Ответ на: комментарий от skywarp

«Reflections on trusting trust»

Это неприменимо к открытым проектам. Видимо всё же не бот - ТАК сильно даже ИИ не тупит.

вот это на мой взгляд ханипот

Иди погугли что это значит на самом деле и больше не позорься.

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

Это неприменимо к открытым проектам.

Видимо это ты не читал. Потому прочитай и не позорься.

Вот один из примеров реализации

Modifying the compiler to inject the backdoor into login.c during comptime, AND the code to do so into the compiler when compiling the compiler, as well as the code to inject into the compiler. This makes the backdoor undetectable, even with login.c and the compiler source code, and self replicating.

Первый бинарник компилятора распространён. Но предоставленный исходный код компилятора не содержит бэкдора. А тот самый первый бинарник компилятора компилирует следующую версию компилятора из сырцов, и он вставляет тот же код бэкдора в конечный бинарник. Если тебе сложно понять, я понимаю. Наверное тебе нужен ИИ ассистент в помощь.

skywarp
()
Последнее исправление: skywarp (всего исправлений: 4)
Ответ на: комментарий от skywarp

Первый бинарник компилятора распространён.

Какой ещё первый бинарник? Все релизы раста доступны в исходниках.

Ты уже прочитал что такое honeypot или продолжаешь тупить?

zabbal ★★★★☆
()
Последнее исправление: zabbal (всего исправлений: 1)
Ответ на: комментарий от zabbal

Какой ещё первый бинарник? Все релизы раста доступны в исходниках.

И каким, по твоему, компилятором он был скомпилирован? Как ты можешь знать, что он не был скомпилирован компилятором, который уже был скомпроментирован и вставлял в rustc код бэкдора?

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

skywarp
()
Последнее исправление: skywarp (всего исправлений: 1)
Ответ на: комментарий от skywarp

И каким, по твоему, компилятором он был скомпилирован?

Мне вот прям интересно, а как ты себе на этот вопрос отвечаешь? Иди гугли про bootstrap, заодно и про honeypot почитаешь.

zabbal ★★★★☆
()
Ответ на: комментарий от LongLiveUbuntu

Будешь под микроконтроллеры писать, поймешь зачем так сделали. Или не поймешь.

«Не», скорее...

Somebody ★★★★
()
Ответ на: комментарий от her_s_gory

Зачем это apt?

Потому что он написан на компилируемом языке, для компиляции которого нужен компилятор. Что за детский сад на моём ЛОРе вместо привычной школоты - почему настолько очевидные вещи вызывают вопросы?

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

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

apt в Debian написан на Rust, и устанавливается из исходников? В Дебиане? В бинарном дистрибутиве? Компилируется при установке? apt ????

Что за детский сад на моём ЛОРе вместо привычной школоты - почему настолько очевидные вещи вызывают вопросы?

Точнее не сказать. ¯_(ツ)_/¯

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

apt в Debian написан на Rust

Ты пробовал читать новость под которой комментируешь?

Компилируется при установке?

C чего ты взял?

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

Ты пробовал читать новость под которой комментируешь?

Речь о заголовке. Если заголовок кликбейтный - вопросы к ТС.

Компилируется при установке?

C чего ты взял?

Вот:

Потому что он написан на компилируемом языке, для компиляции которого нужен компилятор

Зачем для установки apt нужен «нужен компилятор», если апт компилировать не нужно?

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

Речь о заголовке.

То есть ты дальше заголовка не читал и поэтому нихрена не понял?

Зачем для установки apt нужен «нужен компилятор»

С чего ты решил что он нужен для установки? Прочитай дальше заголовка - там всё написано.

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

С чего ты решил что он нужен для установки? Прочитай дальше заголовка - там всё написано.

Читаю:

На Rust планируют реализовать компоненты APT, требующие повышенного внимания с точки зрения безопасности, такие как парсеры форматов deb, ar и tar, а также код для проверки цифровых подписей. Ранее, в состав APT 3.0 уже была добавлена возможность использования написанной на Rust утилиты sqv для проверки цифровых подписей вместо вызова gpgv.

До сих пор не понятно зачем апту в обязательных зависимостах компилятор.

Если это apt-dev (или как в дебиане именуют пакеты исходников для разработчоков - тогда понятно, а бинарнику зачем компилятор?

Возьмём к примеру htop (https://github.com/htop-dev/htop), как видим, он весь (а не части) реализован на C. Но компилятора C нет в обязательных зависимостях htop (https://packages.debian.org/trixie/htop) стандартная библиотека - да, компилятор - нет.

Так зачем апту компилятор в обязательных зависимостях в бинарном дистрибутиве?

her_s_gory ★★
()

ubuntu core developer

как мы дошли до такого, что убунтодебилы захватили дебиан?
Мёрдок от такого переворачивается в петле в гробу.

ann_lortemp2
()
Ответ на: комментарий от her_s_gory

До сих пор не понятно зачем апту в обязательных зависимостах компилятор.

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

а бинарнику зачем компилятор?

Какому бинарнику? Какой компилятор? Что ты несёшь вообще?

Возьмём к примеру htop

Ты там бухой что-ли? Каким боком тут htop? На кой хрен тебе какие-то примеры если в пару кликов доступны все тексты обсуждения темы от разработчиков? Это же не абстрактная концепция, а конкретное обсуждение конкретного проекта - примеры чего ты собрался искать и зачем?

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

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

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

В каком месте во время установки пакета требуется компиляция кода на Rust?

Это нужно для установки других пакетов, которые почему-то нужно компилировать? Вставте это в зависимость к тем самым специфическим пакетам.

Какое дело апту на чём что-то там написано?

htop - такая же программа, как и apt. Она написана на C. Но компилятор C для htop не нужен. Какие-то части апта кто-то хочет написать на расте. Нет проблем. Зачем для установки апта нужен компилятор Rust? Чтобы компилировать что?

Ни в заголовке , ни в тексте нет ни одного обоснования.

Вместо оскорблений, просто возьми и процитируй то место, которое я упустил.

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

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

Зачем компилятор в обязательных зависимостях менеджера пакетов.

Чтобы скомпилировать менеджер пакетов.

В каком месте во время установки пакета требуется компиляция кода на Rust?

C чего ты взял что требуется?

Вместо оскорблений, просто возьми и процитируй то место, которое я упустил.

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

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

C чего ты взял что требуется?

Твои слова:

Чтобы скомпилировать менеджер пакетов.

Мои те-же вопросы:

Зачем на установленной системе компилировать менеджер пакетов?

Он что установился не скомпилированным?

Для запуска apt нужен Rust?

Может и не оскорбления, но и аргументов я не вижу ни одного.

И так, что я упускаю?

В какой момент обычного использобания apt, компилятор Rust становится обязательным?

Ты утверждаешь, что это прям открытым текстом написано в новости.

Помоги функционально неграмотному - ткни носом в эту строчку. Буду благодарен.

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

И так, что я упускаю?

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

u-235
()
Ответ на: комментарий от her_s_gory

Твои слова

То есть ты не только техническое обсуждение специалистов не понял, но даже короткий комментарий? Как всё запущено.

Зачем на установленной системе компилировать менеджер пакетов?

А где ещё ты его компилировать собрался? На неустановленной? В вакууме?

Для запуска apt нужен Rust?

Разумеется нет - как ты вообще к этой идее пришёл?

аргументов я не вижу ни одного

Аргументы чего? Ты правда думаешь что тебе кто-то пытается что-то доказать? Чуваку, который буквально продемонстрировал неспособность к чтению технических текстов?

zabbal ★★★★☆
()
Ответ на: комментарий от u-235

А zabbal просто потешается над тобой ввиду злобности характера.

Тоже мне, нашёл демона :-P

Между прочим в комментах про это упоминали, причём не раз. Если уж пациент не читает оригинал по каким-то своим соображениям, то пробежаться по паре страниц комментов ему точно не моя злобность мешает :)

Мне сам подход кажется вершиной идиотизма: в контекст обсуждения чувак не погружён, читать ничего принципиально не будет, но сверхценное мнение сформировать ему это не помешало - равно как и немедленно понести его в комменты с боевым куд-кудааах!

zabbal ★★★★☆
()
Последнее исправление: zabbal (всего исправлений: 1)
Ответ на: комментарий от u-235

Речь идёт о сборочных зависимостях

Пипец!!! Я же писал, что понимаю, если бы это было зависимостью к dev пакету. Это я ещё и читать не умею.

her_s_gory ★★
()
Ответ на: комментарий от zabbal

Аргументы чего? Ты правда думаешь что тебе кто-то пытается что-то доказать? Чуваку, который буквально продемонстрировал неспособность к чтению технических текстов?

Я прочитал заголовок и текст. Из текста не понял почему в заголовке написано про обязательные зависимости. Вот и пытаюсь это выяснить. Если это тебе изначально не было понятно, я всё время акцентировал внимание именно на этом непонимании. Почему раст стал именно обязательной зависимостью. Другими словами, почему, если мне не надо собирать apt, мне на машину хотят установить Rust в обязательном порядке. Этот вопрос сложный и достоин простыней обсуждений? Тогда вопросы к твоей адекваности.

Считай это моей борьбой за чистоту контента, а ты его, наоборот, ещё больше загрязняешь.

Тебе ТАК скучно?

her_s_gory ★★
()
Ответ на: комментарий от her_s_gory

Это я ещё и читать не умею.

Именно так.

Почему раст стал именно обязательной зависимостью.

Потому что без него нельзя скомпилировать новый apt.

zabbal ★★★★☆
()
Ответ на: комментарий от zabbal

Почему раст стал именно обязательной зависимостью.

Потому что без него нельзя скомпилировать новый apt.

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

u-235
()
Ответ на: комментарий от u-235

и обычно это не акцентируется

Само собой. Более того, обычно и решения авторов одного из десятков тысяч пакетов что-то поменять в зависимостях не считается новостным поводом. В любых, причём.

Но если уж настолько глубокие технические дебри всё же решили обсуждать - почему бы не погрузиться в контекст этого самого обсуждения разработчиками пакета? Ну вот просто чтобы дичь на ровном месте не нести.

zabbal ★★★★☆
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.