Вопрос или проблема
Когда я пытаюсь использовать любую команду, такую как 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/
Чтобы исправить это, вы можете сделать следующее:
-
Удалите google-cloud-sdk, чтобы вы могли снова использовать apt-get:
cd /etc/apt/sources.list.d
sudo rm google-cloud-sdk.list
-
Установите curl (в случае если его у вас нет):
sudo apt-get install curl
-
Скопируйте ключ:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key –keyring /usr/share/keyrings/cloud.google.gpg add –
-
Добавьте источник в список снова:
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
-
Установите SDK снова:
sudo apt-get update
sudo apt-get install google-cloud-sdk
Я думаю, что это то, что мне помогло, но я тоже не очень опытный, так что если кто-то может предоставить больше подробностей, это будет идеально.
Надеюсь, это сработает 🙂
Эти конфликты обычно связаны с наличием нескольких записей в одном или нескольких .list файлах.
Это непростое упражнение, но сделайте следующее:
-
Найдите .list файлы в вашей системе:
sudo find / -type f -name “*.list”
-
Или, что еще лучше: найдите .list файлы, содержащие запись, похожую на ту, которая появляется в сообщениях об ошибке apt-get (например, одну для репозиториев Microsoft):
sudo find / -type f -name “*.list” -exec grep -l “packages.microsoft.com” {} +
-
Выберите один из файлов, в котором останется интересующая вас запись (т.е. URL репозитория). Закомментируйте с помощью решетки (#) все остальные, будь то в том же файле или в других файлах. Предпочтительно сохранить запись, содержащую тег signed-by.
-
Убедитесь, что указанный файл .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.
Решение проблемы
-
Проверка и редактирование источников:
-
Перейдите в директорию, где находятся файлы списка источников:
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
-
-
Обновление ключей криптоподписи:
-
Поскольку упоминался файл ключей
/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
-
-
Обновление списка пакетов:
-
После выполнения вышеуказанных шагов выполните обновление списков пакетов:
sudo apt-get update
-
Оптимизация настройки
Чтобы избежать подобных ошибок в будущем:
- Убедитесь, что добавляете репозитории в соответствии с официальной документацией, внимательно следуя рекомендациям по настройке источников пакетов и управлению ключами.
- Регулярно проверяйте папку
/etc/apt/sources.list.d/
на наличие дублированных или старых записей. - Будьте внимательны, если добавляете или изменяете
signed-by
параметр, так как это может повлиять на проверку аутентичности пакетов.
Понимание и правильное управление файлами списка источников является ключом к стабильной работе системы обновлений в Ubuntu и существенно снижает вероятность возникновения подобных конфликтов.