Как обойти masked by: chost
Доброго времени суток всем, я снова пишу и снова не очень понимаю, что пишу. Но всё будет хорошо:
Вообщем утилитой quickpkg создал бинарники и через ФТП дал доступ в локалке(
http://www.gentoo-wiki.info/HOWTO_setup_a_PORTAGE_BINHOST_server) + сделал минизеркало(http://www.gentoo-wiki.info/HOWTO_Local_Rsync_Mirror).
Проблема в том, что для части пакетов в файле /usr/portage/packages/ALL/packages написанно CHOST=i486-pc-linux-gnu, а для другой CHOST=i686-pc-linux-gnu.) И когда пишу emerge -KG mc то получаю masked by:CHOST
Интернет и маны дали информацию, что маскируют обычно по разным причинам и размаскировывают тоже по разному, вот я и думаю создать файл /usr/portage/package.unmask(как я понял там простой синтаксис app-misc/mc ~86, но где можно узнать все варианты переменных(кот размаскировывают)?) или есть другой вариант, знаю что можно в make.conf менять цифирку, но боюсь не будет ли потом чего?
ещё не понятно как применяется ключ --umask=UMASK(quickpkg -h) и что писать вместо UMASK?
Сервер с бинарями рабочий поэтому минимум телодвижений на нём.
Заранее благодарю за внимание.
- Для комментирования войдите или зарегистрируйтесь
Цитата:CHOST=i486-pc-linux-g
может все таки
для другой CHOST=i686-pc-linux-gnu
?Настроить билд-сервер на правильную архитектуру, пересобрать пакеты с неподходящей архитектурой.
Если требуется, разделить пакеты по -march в разные диры.
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
спасибо
Спасибо за ответ, но всё же давайте по порядку:
1 Билд-сервер настроен на правильную архитектуру, а именно i686(и для переменных CFLAGS и CXXFLAGS используеться не -march, а -mtune=i686)
2 Дело в том, что сервер рабочий и я не знаю как пересобрать пакеты не потеряв же настроенных конфигов(если только речь не идёт о quickpkg или другой программе, которая сможет сделать всё безболезненно).
3 Что даёт разделение по -march?
1) Имеется ввиду CHOST. У
1) Имеется ввиду
CHOST
. У вас, видимо, он был изначально i486, после чего был заменён без пересборки системы (что, кстати говоря, весьма неправильно). Пересобирите систему на сервере, хуже не будет, можете использовать заодно --buildpkg сразу же.2)
а) --buildpkg-only.
б) конфиги никогда самостоятельно не перетираются.
man emerge
на предмет смены конфигов3) Если вы компилируете для разных систем на процессоре мощнее, чем процессоры этих систем, то вам наверное захочется для самого сервера компилировать сильно оптимизированные пакеты, которые для более старых процессоров не подойдут. Поэтому логично сделать простейший скриптик который будет вызывать emerge установив предварительно соотвествующие переменные окружения в т.ч.
PKGDIR
так, чтобы на каждый тип процессора получать отдельную папку с бинарями именно для этого типа. Т.е. все прелести генту даже при установке из бинарников. А если не делать замену PKGDIR - то каждый новый emerge будет переписывать результат предыдущего.Ещё раз благодарю
Спасибо за ответ, NightNord.
1 Это меня и настораживает так как есть сто процентная гарантия что в make.conf стояла архитектура 686 и самостоятельно не менялась, единственное что делалось emerge --sync && emerge portage а затем я получил сообщение что нужно обновить профиль, что собственно и сделал.
2 Имелось ввиду emerge --buildpkg-only system или emerge -b portage (но если я всё правильно понимаю тогда собируться бинарники всего? а мне это не нужно)
3 Спасибо за вариант будет время попробую реализовать
1. Ну фиг его знает. На
1. Ну фиг его знает. На всякий случай переберите всю систему - может косяк стейжа.
2.
--buildpkg-only
- это флаг, который только собирает бинарники, не устанавливая их в систему, вроде как это очевидно ;).-b
==--buildpkg
иportage
- это конкретно система портажа, а не вообще все,eix -e portage
, чтобы осознать это. Чтобы переставить все, и сделать при этом пакеты, что, собственно, вам (см.п.1) и требуется, вам стоит сделатьemerge --emptytree --buildpkg world
. Я бы рекомендовал поставитьportage-2.2*
и воспользоватся коммандойemerge --keep-going --emptytree --buildpkg @installed
(man emerge
по поводу значения всех букаффок). Ну и, понятное дело, это стоит делать вscreen
'е, чтобы не держать ssh открытым сутки.эх
То есть на рабочую машину просто таром разархивировать portage-latest в /usr и потом как вы написали пересобрать world?
Правильно я понял. Просто бооюсь что на рабочем начнётся какой-нить masked by coruption или ещё что по хуже
PS --keep-going в emerge я не нашёл
PS2 Лучше покажите где почитать про ключ --umask=UMASK(quickpkg -h) и какие зн для него есть. Потому как уж очень клёво quickpkg сделал бинарники с готовыми конфигами.
Нет, не правильно... man eix;
Нет, не правильно...
man eix; eix portage;
;)man umask
Я бы проглядел сначала,
Я бы проглядел сначала, откуда CHOST для i486 вообще взялся. Не мог же он из ниоткуда появиться, где-то он прописан
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а): Я бы
а где смотреть если chost ещё гдето указан