Вопрос или проблема
Я не могу запустить emerge-webrsync
, потому что он говорит, что снимки не найдены.
Также я не могу выполнить mirrorselect
, так как получаю сообщение о том, что команда не найдена.
Наконец, я попытался запустить:
$ emerge --ask app-portage/mirrorselect
но это возвращает следующую ошибку:
!!! Репозиторий 'x-portage' не имеет атрибута masters в '/usr/portage/metadata/layout.conf'
!!! Установите 'masters = gentoo' в этом файле для будущей совместимости
!!! /etc/portage/make.profile не является символической ссылкой и, вероятно, предотвратит большинство слияний.
!!! Он должен указывать на профиль в /usr/portage/profiles/
!!! (Вы можете смело игнорировать это сообщение при синхронизации. Оно безвредно.)
!!! Ваш текущий профиль недействителен. Если вы только что изменили конфигурацию профиля
!!! , вам следует вернуться к предыдущей конфигурации.
!!! Допустимые действия ограничиваются --help, --info, --search, --sync и
!!! --version.
Вы можете попробовать использовать eselect profile list
, а затем выбрать правильный профиль с помощью команды eselect profile set ...
. Руководство Gentoo предлагает использовать тот же профиль, что и tarball / livecd, который вы использовали для установки Gentoo на ваш жесткий диск. Тогда вы сможете использовать emerge --sync
и emerge -DuNa world
, чтобы обновить вашу систему.
Ответ или решение
Ошибки, связанные с конфигурацией Gentoo, могут быть достаточно распространенными, особенно если вы только начинаете работать с этой операционной системой. В вашем случае вы сталкиваетесь с несколькими проблемами, включая сообщение о том, что файл /etc/portage/make.profile
не является символической ссылкой. Давайте разберем причины этой ошибки и что с этим можно сделать.
Почему возникает ошибка "/etc/portage/make.profile is not a symlink"?
-
Роль файла make.profile:
Файлmake.profile
должен быть символической ссылкой на один из профилей, находящихся в каталоге/usr/portage/profiles/
. Этот профиль определяет окружение сборки и настройки системных пакетов. Если этот файл не является ссылкой, то система может неправильно определять, какие USE-флаги, архитектура и другие параметры необходимо использовать при сборке пакетов. -
Проблемы с отсутствующими утилитами:
Вы упомянули, что командыemerge-webrsync
иmirrorselect
не работают. Это может быть связано с тем, что система не имеет доступа к актуальным портежам или вы неправильно сконфигурировали систему. Ошибка, связанная с отсутствием атрибутаmasters
вlayout.conf
, также указывает на возможные проблемы с репозиториями.
Решения для исправления ошибки
-
Проверка символической ссылки:
Для начала вам нужно проверить, является ли файл/etc/portage/make.profile
символической ссылкой. Это можно увидеть, выполнив команду:ls -l /etc/portage/make.profile
Если вывод показывает, что файл не является символической ссылкой, вам нужно будет создать её. Вы можете выполнить команду:
ln -sf /usr/portage/profiles/default/linux/amd64/17.1 /etc/portage/make.profile
Примечание: Убедитесь, что вы выбираете правильный профиль в зависимости от той версии Gentoo, которую вы устанавливаете (например, 17.1 – это пример, проверьте актуальную версию для вашей установки).
-
Выбор профиля с помощью
eselect
:
Используйте командуeselect
для выбора правильного профиля, как вы упомянули:eselect profile list
Это покажет список доступных профилей. Выберите подходящий, основываясь на том, какую версию Gentoo вы устанавливали. Например:
eselect profile set <номер_профиля>
-
Синхронизация портежей:
После того как вы измените профиль, вы сможете выполнить синхронизацию портежей:emerge --sync
и затем продолжите обновление вашей системы:
emerge -DuNa world
Заключение
Ошибки, связанные с профилями в Gentoo, могут быть устранены, если вы уверены в том, что правильно настроили символические ссылки и выбрали подходящие профили. Следуя приведенным рекомендациям, вы сможете исправить ситуацию и продолжить установку или обновление вашей системы. Не забывайте также следить за актуальностью репозиториев и обновлениями, чтобы избежать попадания в подобные ситуации в будущем.