yum은 YUM0 환경 변수를 선택하지 않습니다.

yum은 YUM0 환경 변수를 선택하지 않습니다.

내 (docker) centos 환경에 환경 변수를 설정했습니다.

[arman@7b33ffd8619e ~]$ echo $YUM0
yumrepo.myhost.com

echo이는 명령 앞에 sudo.

~에 따르면센토스 문서;

$맛있음 0-9이는 동일한 이름의 쉘 환경 변수 값으로 대체됩니다. 쉘 환경 변수가 존재하지 않으면 구성 파일 변수가 대체되지 않습니다.

yum그러나 컨테이너에서 무엇이든 설치 하려고 하면 환경 변수가 선택되지 않았다는 내용의 오류 메시지가 나타납니다 yum.

[arman@7b33ffd8619e ~]$ sudo yum install less
Loaded plugins: fastestmirror
http://$YUM0/x86_64/centos/7.2.1511/base/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: $YUM0; Name or service not known"
Trying other mirror.


 One of the configured repositories failed (centos),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable centos

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=centos.skip_if_unavailable=true

failure: repodata/repomd.xml from centos: [Errno 256] No more mirrors to try.
http://$YUM0/x86_64/centos/7.2.1511/base/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: $YUM0; Name or service not known"

다음 버전을 실행하고 있습니다.

[arman.schwarz@7b33ffd8619e ~]$ cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)
[arman.schwarz@7b33ffd8619e ~]$ yum --version
3.4.3

환경 변수에 의존하는 대신 저장소 이름을 사용 하도록 내 .repo파일을 수동으로 수정하면 설치에 문제가 발생하지 않았으며 이는 저장소 자체에 문제가 없음을 증명합니다./etc/yum.repos.dyum

실행 export YUM0=yumrepo.myhost.com해도 효과가 없습니다.

YUM0환경 변수를 사용 가능하게 만드는 방법은 무엇입니까 yum?

답변1

기본적으로,sudo 재설정 환경실행되는 명령에 대해. YUM0 변수도 구성하지 않는 한 여기에는 YUM0 변수가 포함됩니다 env_keep.

sudo를 사용하여 명령을 실행하려면 다음과 같이 실행하십시오.

sudo YUM0=yumrepo.myhost.com yum ...rest of the command...

sudo가 실행될 때 변수의 값이 설정됩니다.

또는 sudo 규칙에서 허용하는 경우 나머지 명령을 호출하기 전에 셸을 시작하고 변수를 설정할 수 있습니다.

sudo sh -c "YUM0=$YUM0; yum ... rest of the command ..."

큰따옴표를 사용하면 내부 YUM0 변수를 외부(현재) 셸의 YUM0 값으로 설정할 수 있기 때문입니다.

답변2

환경 sudo(예: 설정을 통해 env_keep) 을 별도로 구성하지 않는 한 /etc/sudoers,상속받지 않습니다당신의 YUM0변수. 노력하다:

$ sudo "export YUM0=$YUM0; yum install less"

$YUM0sudo예를 들어 명령 체인을 보내기 전에 쉘이 확장됩니다 export YUM0=repo.example.com; yum install less.

답변3

이것을 설명하는 다른 제안에 대해 자세히 설명하겠습니다.스도사용자 환경이 부족하고,스도이 명령을 사용하면 권한으로 실행할 수 있습니다.--환경을 지키십시오변화:

sudo --preserve-env yum install less

관련 정보