«Противоречивые значения установлены для параметра Signed-By в отношении источника»

Вопрос или проблема

Когда я пытаюсь использовать любую команду, такую как sudo apt-get update, я получаю

E: Conflicting values set for option Signed-By regarding source https://packages.cloud.google.com/apt/ cloud-sdk: /usr/share/keyrings/cloud.google.gpg != 
E: The list of sources could not be read.
E: Conflicting values set for option Signed-By regarding source https://packages.cloud.google.com/apt/ cloud-sdk: /usr/share/keyrings/cloud.google.gpg != 
E: The list of sources could not be read

Вот мой cd к /usr/share/keyrings/

rupeshiya@devil:/usr/share/keyrings$ ls
ubuntu-archive-keyring.gpg          ubuntu-esm-keyring.gpg
ubuntu-archive-removed-keys.gpg     ubuntu-fips-keyring.gpg
ubuntu-cloudimage-keyring.gpg       ubuntu-fips-updates-keyring.gpg
ubuntu-cloudimage-removed-keys.gpg  ubuntu-master-keyring.gpg

Вот содержимое моего файла /etc/apt/sources.list.d/google-cloud-sdk.list

rupeshiya@devil:/etc/apt/sources.list.d$ cat google-cloud-sdk.list 
deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
deb https://packages.cloud.google.com/apt cloud-sdk main
deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main
deb http://packages.cloud.google.com/apt cloud-sdk main

Как я могу это исправить?
Я не очень опытный пользователь Ubuntu, но пытаюсь реализовать вещи в этой системе.

Скорее всего, вы следовали инструкциям по установке Cloud SDK дословно. Некоторые шаги являются альтернативными (т.е. вы делаете одно или другое).

В результате, ваш /etc/apt/sources.list.d/google-cloud-sdk.list будет содержать дублирующуюся запись:

deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt  cloud-sdk main 
deb https://packages.cloud.google.com/apt cloud-sdk main

Как вы можете видеть, обе строки одинаковы, за исключением того, что одна указывает на файл ключей, а другая нет (поэтому она использует значение по умолчанию). Здесь и возникает конфликт.

Вы должны удалить строку, содержащую ‘signed-by’, и у вас всё будет в порядке.

Вот как я это исправил:

Шаг 1: Удалите sudo rm google-cloud-sdk.list

cd /etc/apt/sources.list.d
sudo rm google-cloud-sdk.list

Шаг 2: Переустановите Google Cloud заново

sudo snap remove google-cloud-sdk
sudo apt-get install apt-transport-https ca-certificates gnupg -y
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
gcloud init

У меня была такая же проблема. Я думаю, что проблема в том, что у вас отсутствует этот файл: cloud.google.gpg в /usr/share/keyrings/

Чтобы исправить это, вы можете сделать следующее:

  1. Удалите google-cloud-sdk, чтобы вы могли снова использовать apt-get:

    cd /etc/apt/sources.list.d

    sudo rm google-cloud-sdk.list

  2. Установите curl (в случае если его у вас нет):

    sudo apt-get install curl

  3. Скопируйте ключ:

    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key –keyring /usr/share/keyrings/cloud.google.gpg add –

  4. Добавьте источник в список снова:

    echo “deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main” | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

    echo “deb https://packages.cloud.google.com/apt cloud-sdk main” | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

  5. Установите SDK снова:

    sudo apt-get update

    sudo apt-get install google-cloud-sdk

Я думаю, что это то, что мне помогло, но я тоже не очень опытный, так что если кто-то может предоставить больше подробностей, это будет идеально.

Надеюсь, это сработает 🙂

Эти конфликты обычно связаны с наличием нескольких записей в одном или нескольких .list файлах.

Это непростое упражнение, но сделайте следующее:

  1. Найдите .list файлы в вашей системе:

    sudo find / -type f -name “*.list”

  2. Или, что еще лучше: найдите .list файлы, содержащие запись, похожую на ту, которая появляется в сообщениях об ошибке apt-get (например, одну для репозиториев Microsoft):

    sudo find / -type f -name “*.list” -exec grep -l “packages.microsoft.com” {} +

  3. Выберите один из файлов, в котором останется интересующая вас запись (т.е. URL репозитория). Закомментируйте с помощью решетки (#) все остальные, будь то в том же файле или в других файлах. Предпочтительно сохранить запись, содержащую тег signed-by.

  4. Убедитесь, что указанный файл .gpg присутствует в пути, указанном тегом signed-by. Если его нет, вам нужно получить и установить файл .gpg, так как этот файл является подписью, которая проверяется apt-get при загрузке/обновлении контента из подписанного репозитория.

Этого может быть достаточно: снова запустите sudo apt-get update. И удачи :-)!

E: Conflicting values set for option Trusted regarding source https://packages.zorinos.com/drivers/ jammy
E: The list of sources could not be read.

помогите мне решить эту проблему!!

Удалите все файлы, связанные с Google, из /etc/apt/sources.list.d/:

rm -i /etc/apt/sources.list.d/*google*

Затем попробуйте установить их заново.

Ответ или решение

Для решения проблемы "E: Conflicting values set for option Signed-By regarding source" при обновлении системы с помощью команды sudo apt-get update, необходимо понимать, что причина кроется в конфликте настроек в файлах списка источников. Эта ошибка возникает из-за наличия дублирующихся строк в файлах источников с разными значениями для параметра Signed-By.

Причины возникновения ошибки

Когда осуществляется обновление списка пакетов, apt проверяет, нужно ли использовать ключ для проверки подлинности пакетов из определенного источника. Если в файлах списка есть несколько строк, указывающих тот же источник, но с разными значениями для Signed-By, возникает конфликт. Это часто происходит при неправильной настройке репозиториев, например, при неверном добавлении репозитория Google Cloud SDK.

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

  1. Проверка и редактирование источников:

    • Перейдите в директорию, где находятся файлы списка источников:

      cd /etc/apt/sources.list.d/
    • Откройте файл google-cloud-sdk.list для редактирования:

      sudo nano google-cloud-sdk.list
    • Убедитесь, что файл содержит только одну строку для каждого уникального источника. Например, оставьте строку с параметром signed-by и удалите дублирующуюся без него:

      deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
  2. Обновление ключей криптоподписи:

    • Поскольку упоминался файл ключей /usr/share/keyrings/cloud.google.gpg, убедитесь, что он существует. Если его нет, создайте его, используя команду:

      sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo tee /usr/share/keyrings/cloud.google.gpg
  3. Обновление списка пакетов:

    • После выполнения вышеуказанных шагов выполните обновление списков пакетов:

      sudo apt-get update

Оптимизация настройки

Чтобы избежать подобных ошибок в будущем:

  • Убедитесь, что добавляете репозитории в соответствии с официальной документацией, внимательно следуя рекомендациям по настройке источников пакетов и управлению ключами.
  • Регулярно проверяйте папку /etc/apt/sources.list.d/ на наличие дублированных или старых записей.
  • Будьте внимательны, если добавляете или изменяете signed-by параметр, так как это может повлиять на проверку аутентичности пакетов.

Понимание и правильное управление файлами списка источников является ключом к стабильной работе системы обновлений в Ubuntu и существенно снижает вероятность возникновения подобных конфликтов.

Оцените материал
Добавить комментарий

Капча загружается...