저는 Gentoo를 사용하고 있습니다(실제로는 처음입니다). 패키지 관리를 설정하려고 합니다. 포티지( )를 설정해야 한다는 것을 알았습니다 emerge
. 그러는 동안 나는 도망쳐야 했다 emerge --sync
. 이는 다음과 같은 메시지를 전달합니다.
Use eselect news read to view items.
나는 이것을 시도했지만 다음과 같은 결과를 얻었습니다.zsh: command not found: eselect
패키지를 찾았습니다. app-admin/eselect
그래서 다음을 시도했습니다.
emerge --ask app-admin/select
그러면 나는 다음을 얻습니다:
!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
고쳐 쓰다:
내가 틀렸다는 것이 밝혀졌습니다. 나는 젠투 플레이버를 사용하고 있다고 생각해서,erge 명령이 누락된 것으로 밝혀져 수동으로 포티지를 설정해 보았습니다.
저는 일종의 CentOS를 사용하고 있는 것으로 밝혀졌으므로 yum을 사용해야 합니다. 나는 포티지 타르볼을 다운로드하고 CentOS 스타일로 추출했습니다. 이것은 왜 eselect가 존재하지 않는지 설명하고, 이는 결국 왜emerge와 eselect 명령 질문 사이에 이상한 닭과 달걀 상황이 발생하는지 설명합니다.
Andy Dalton의 답변을 토대로 어제 저는 /usr/portage/profiles/ 아래의 파일에 직접 make.profile 심볼릭 링크를 수동으로 생성하려고 생각 중이었지만 어떤 파일에 링크해야 할지 파악하는 데 어려움을 겪고 있습니다.
어쨌든, 나는 yum을 작동시켰고, portage도 작동하게 하면 무슨 일이 일어날지 잘 모르겠습니다. 이로 인해 일종의 패키지 관리 충돌 문제가 발생할 수 있으므로 시도하고 싶은지 잘 모르겠습니다.
답변1
일반적으로 설치 중에 eselect profile list
구성 파일을 보고 eselect profile set
하나를 선택합니다. 현재는 왜 없는지 모르겠습니다 eselect
. 일반적으로 그렇습니다 /usr/bin/eselect
. 하지만 없는 경우 eselect profile set
수행할 수 있는 작업을 시도해 볼 수 있습니다.
내 프로필은 다음과 같습니다.
$ find /usr/portage/profiles/default/linux/amd64/17.1 -type d
/usr/portage/profiles/default/linux/amd64/17.1
/usr/portage/profiles/default/linux/amd64/17.1/systemd
/usr/portage/profiles/default/linux/amd64/17.1/selinux
/usr/portage/profiles/default/linux/amd64/17.1/desktop
/usr/portage/profiles/default/linux/amd64/17.1/desktop/gnome
/usr/portage/profiles/default/linux/amd64/17.1/desktop/gnome/systemd
/usr/portage/profiles/default/linux/amd64/17.1/desktop/plasma
/usr/portage/profiles/default/linux/amd64/17.1/desktop/plasma/systemd
/usr/portage/profiles/default/linux/amd64/17.1/no-multilib
/usr/portage/profiles/default/linux/amd64/17.1/no-multilib/hardened
/usr/portage/profiles/default/linux/amd64/17.1/no-multilib/hardened/selinux
/usr/portage/profiles/default/linux/amd64/17.1/developer
/usr/portage/profiles/default/linux/amd64/17.1/hardened
/usr/portage/profiles/default/linux/amd64/17.1/hardened/selinux
사용할 프로필을 선택해야 합니다 default/linux/amd64/17.1/systemd
. 설명서를 읽고 여기에서 무엇을 선택하는지 이해하십시오.
프로필을 수동으로 선택하려면 다음을 수행합니다.
# cd /etc/portage
# ln -s ../../usr/portage/profiles/default/linux/amd64/17.1/systemd make.profile
이렇게 하면 emerge --ask eselect
잘 해결되길 바랍니다.