Я пытаюсь настроить файл в /etc/apt/sources.list.d/ чтобы получить обновленные версии некоторого кода ruby. Все мои системы основаны на armel, но в репозитории нет конкретной сборки для этого. Как мне отформатировать строку в файле .list, чтобы игнорировать или обойти тип процессора?

3 ответа3

2

Вам не нужно изменять строку в файле списков.
Что вы можете сделать, это установить пакеты для конкретных архитектур, как

apt-get install package:arch

Так что apt-get install ruby1.9.1:armhf попытается установить версию ruby для armhf.

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

1

Я не знаю, как сделать это так, как вы предлагаете, но я знаю, как это сделать из командной строки. Соответствующая команда

 sudo apt-get -d -o APT::Architecture="amd64" install some_package

При этом скачивается (опция -o) только пакет, принадлежащий архитектуре amd64. Если вы считаете целесообразным установить его, вы можете сделать это с помощью dpkg -i .

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

sudo apt-get download some_package:amd64

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

1

Вы не Все будет ужасно плохо, так как даже если вам удастся установить пакеты, ваша система arm будет иметь такое же представление о собаке в питомнике, что делать с любым скомпилированным кодом x86 или x64.

Лучшим вариантом (каким бы болезненным он ни был) будет поиск репозитория с этим кодом для вашей платформы или установка из исходного кода (возможно, поддержание репозитория самостоятельно!). Хотя сам ruby в значительной степени не зависит от платформы, у вас могут быть не зависящие от платформы зависимости. Хотя я понимаю, что поддерживать это в актуальном состоянии и поддерживать - это очень сложно, но, вероятно, это потенциально менее болезненно, чем наполнение вашей системы случайными, не функциональными пакетами, принадлежащими другой архитектуре

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .