як позбутися arm64 в доречному


13
W: Invalid 'Date' entry in Release file /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release
N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository 'http://repository.spotify.com stable InRelease' doesn't support architecture 'arm64'
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

Після того, як я встановив Jetpack для Jetson tx1, мій ubuntu постійно намагається отримати оновлення зброї. Чи є спосіб відключити це?

Редагувати:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

Я бачу, що arm64 включений у закордонні архітектури. Як її видалити?


1
Будь ласка, додайте результат dpkg --print-architectureта dpkg --print-foreign-architectures.
Байт-командир

Я зіткнувся з тією ж проблемою. це посилання допомогло мені видалити свої пакети arm64. а потім застосував рішення, подане командиром байтів
Раушан Кумар

Відповіді:


16

Ви можете видалити іноземну архітектуру, запустивши

sudo dpkg --remove-architecture arm64

Після цього вам потрібно оновити списки програмного забезпечення.

sudo apt update

Якщо ви все-таки отримаєте якісь помилки чи попередження, ви можете спробувати видалити всі списки програмного забезпечення та повністю повторно завантажити їх із сервера, щоб переконатися, що нічого старого не залишилося. Зауважте, що повне завантаження займе трохи більше часу, ніж зазвичай:

sudo rm -rf /var/lib/apt/lists
sudo apt update

Я розумію, dpkg: error: cannot remove architecture 'arm64' currently in use by the databaseщо це не дивно, тому що я не думаю, що я його використовую ...
MoneyBall

@MoneyBall Чи можете ви додати результат dpkg -l | grep arm64свого запитання? Схоже, встановлені деякі пакети arm64, які потрібно було б попередньо видалити.
Командир байт

ах лайно ... У мене є компілятор arm64 cross ... але я успішно видалив armhf, що було болем. Дякую.
MoneyBall

чи знаєте ви, як я можу зробити оновлення apt-get, щоб зупинити отримання пакетів arm64? Як я можу позбутися тих 404 не знайдених помилок?
MoneyBall

1
Чи є спосіб видалити arm64 з бази даних, у мене виникають ті самі проблеми. EDIT sudo dpkg --force-architecture --remove-architecture arm64 і sudo rm -rf /var/lib/apt/listsз sudo apt updateвиправленим.
weezle1234

7

Зіткнувся з тим же питанням під час роботи з jetson-tx2 arm64. У цьому посібнику йдеться про рішення у сценарії розширених налаштувань. Виявляється, ви не можете видалити архітектуру без видалення пакетів.

Це корисно, коли додана зарубіжна архітектура, що призводить до появи помилок "404 не знайдено" при оновленні метаданих репозиторію. Наприклад, якщо ви хочете обмежити сховище лише архітектурами amd64 та i386, це виглядатиме так:

deb [arch=amd64,i386] <url>

Надайте вищевказаний варіант для всіх сховищ у "sudo gedit /etc/apt/sources.list"

Тепер "sudo apt update", і воно вийде лише з amd64 та i386.


Це працювало для мене 18.04.2. Дякую! Бажаю, що я міг би подякувати два рази :).
cxw

1

У мене був цей самий випуск, і як згадував Байт командир, якщо ви не можете безпосередньо запустити

sudo dpkg --remove-architecture arm64

У вас встановлено купу перехресних компіляцій arm64-пакетів, і потрібно запустити це перед тим, як видалити arm64. Виконайте такі команди у вказаному порядку:

sudo apt autoremove 
sudo dpkg --remove-architecture arm64
sudo apt-get update 

0

Те саме сталося і зі мною. Я був не в змозі apt update, ні apt upgrade, тому що arm64 пакет поновлення на невдачу в 404 Error.

dpkg дав мені вихід:

$ dpkg --print-foreign-architectures
i386
arm64

Перегляд моїх встановлених пакетів arm64 показав, що в Jetpack було встановлено декілька крос-компілюючих матеріалів:

$ dpkg -l | grep arm64
ii  cuda-cudart-cross-aarch64-9-0:arm64  9.0.252-1           arm64   CUDA Runtime cross-aarch64 dev links, headers
ii  libc6-arm64-cross                    2.23-0ubuntu3cross1 all     GNU C Library: Shared libraries (for cross-compiling)
ii  linux-libc-dev-arm64-cross           4.4.0-18.34cross1   all     Linux Kernel Headers for development (for cross-compiling)
...

Моє рішення:

Щойно я запустив програму Jetpack Uninstaller, яка очистила всі ці перехресні пакети, а також архітектуру arm64:

$ ./JetPack_Uninstaller

Згодом я знову зміг aptправильно користуватися.


Де JetPack_Uninstallerзнаходиться?
csg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.