Не работает yum update (yum недостаточно кэшированных данных для продолжения)

Когда вы запускаете команды непосредственно из ssh, вы не «входите в систему», вы только выполняете команду.

Некоторые сценарии оболочки запускаются при "входе в систему" - ~ / .bashrc, / etc / profile и т. Д.

которые используют переменные среды, в частности $ PATH - которые могут быть установлены в одном из этих скриптов. Без $ PATH , , который не знает, где искать.

Кроме того, ssh (hidden) -p 2222 echo $ (which brew) не даст вам того, что вы ожидаете - $ (which brew) интерпретируется оболочкой, прежде чем он даже попадает в ssh - сравните: ssh (скрытый) -p 2222 echo $ (hostname) с ssh (hidden) -p 2222 echo '$ (hostname)' (обратите внимание на одно кавычки вокруг расширения оболочки). Первый получит ЛОКАЛЬНОЕ имя хоста, отправит его на удаленный хост для вывода на экран.Второй будет посылать $ (имя хоста) (буквально) в удаленную оболочку для расширения там.

ОБНОВЛЕНИЕ: Я немного ошибался.

Когда вы запускаете команду через ssh, ssh работает, если требуется оболочка (например, обработка переменных и т. Д., Если это не нужно, двоичная программа запускается немедленно. В противном случае запускается bash, который может устанавливать переменные среды и т.д.

Вот почему (в вашем комментарии) brew --version терпит неудачу - вы не указываете путь. Когда вы echo ...; brew --version , точка с запятой ; - это специальный символ оболочки; ssh сделает это за вас, запустив за вас bash.

4
12.06.2019, 10:25
6 ответов

Как вы обнаружили, проблема возникает из-за пакета epel-release. Если вы еще этого не сделали:

# yum remove epel-release

Затем установите EPEL Repo со следующим (требуется пакет wget):

# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
# rpm -ivh epel-release-7-9.noarch.rpm

Оттуда вы сможете без проблем выполнить обновление yum.

11
27.01.2020, 20:48

Я тоже столкнулся с этой проблемой, и основная причина этой проблемы заключалась в том, что репозиторий yum был недоступен для создания образа Docker. Поэтому мне пришлось изменить сетевую политику моего кластера kubernetes (, так как я работал над проектом kubernetes ).

0
27.01.2020, 20:48

Войдите как rootили используйте sudo, а затем:

#ONBOOT=no
#dhclient
#yum update

Я надеюсь, что это решит эту проблему.

0
27.01.2020, 20:48

yum -config -менеджер --сохранить --setopt=spacewalk -client.skip _если _недоступен=true

просто запустите приведенную выше команду и увидите БООООООООО

0
27.01.2020, 20:48

У меня только что была эта проблема со свежей CentOS 7.6

Решение было простым:

  • Не удалять пакетepel-release(Установить его, если вы его уже удалили)
  • Редактировать файл/etc/yum.repos.d/epel.repo
  • В первом разделе([epel]):
    • Комментарийmetalink=https://...
    • Раскомментироватьbaseurl=http://...

Это решило мою проблему.

9
27.01.2020, 20:48

Возможно, вам нужно добавить свои DNS-серверы в /etc/resolv.conf, чтобы он мог знать хосты в репо, например, в моем случае (Google DNS достаточно):

cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.1.128 # local DNS

nameserver 8.8.8.8

nameserver 8.8.4.4
1
27.01.2020, 20:48

Теги

Похожие вопросы