Я пытаюсь настроить файл в /etc/apt/sources.list.d/
чтобы получить обновленные версии некоторого кода ruby. Все мои системы основаны на armel, но в репозитории нет конкретной сборки для этого. Как мне отформатировать строку в файле .list, чтобы игнорировать или обойти тип процессора?
3 ответа
Вам не нужно изменять строку в файле списков.
Что вы можете сделать, это установить пакеты для конкретных архитектур, как
apt-get install package:arch
Так что apt-get install ruby1.9.1:armhf
попытается установить версию ruby для armhf.
Помните, что установка пакетов, не предназначенных для вашей архитектуры, может серьезно сломать вашу систему.
Я не знаю, как сделать это так, как вы предлагаете, но я знаю, как это сделать из командной строки. Соответствующая команда
sudo apt-get -d -o APT::Architecture="amd64" install some_package
При этом скачивается (опция -o) только пакет, принадлежащий архитектуре amd64. Если вы считаете целесообразным установить его, вы можете сделать это с помощью dpkg -i
.
В качестве альтернативы вы можете использовать
sudo apt-get download some_package:amd64
Я никогда не пытался заменить * для архитектуры, вы можете попробовать это.
Вы не Все будет ужасно плохо, так как даже если вам удастся установить пакеты, ваша система arm будет иметь такое же представление о собаке в питомнике, что делать с любым скомпилированным кодом x86 или x64.
Лучшим вариантом (каким бы болезненным он ни был) будет поиск репозитория с этим кодом для вашей платформы или установка из исходного кода (возможно, поддержание репозитория самостоятельно!). Хотя сам ruby в значительной степени не зависит от платформы, у вас могут быть не зависящие от платформы зависимости. Хотя я понимаю, что поддерживать это в актуальном состоянии и поддерживать - это очень сложно, но, вероятно, это потенциально менее болезненно, чем наполнение вашей системы случайными, не функциональными пакетами, принадлежащими другой архитектуре