come sbarazzarsi di arm64 in apt


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.

Dopo aver installato Jetpack per Jetson tx1, il mio ubuntu cerca costantemente di recuperare aggiornamenti arm. C'è un modo per disabilitarlo?

MODIFICARE:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

Vedo che arm64 è incluso in architetture straniere. Come lo rimuovo?


1
Aggiungi l'output di dpkg --print-architecturee dpkg --print-foreign-architectures.
Byte Commander

Ho affrontato lo stesso problema. questo link mi ha aiutato a rimuovere i miei pacchetti arm64. e poi usò la soluzione data dal comandante di byte
Raushan Kumar il

Risposte:


16

È possibile rimuovere un'architettura straniera eseguendo

sudo dpkg --remove-architecture arm64

Successivamente, è necessario aggiornare gli elenchi di software.

sudo apt update

Se ricevi ancora alcuni errori o avvisi, puoi provare a eliminare tutti gli elenchi di software e scaricarli di nuovo completamente dal server, per assicurarti che non rimanga nulla di vecchio. Si noti che il download completo richiederà un po 'più del solito:

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

Capisco dpkg: error: cannot remove architecture 'arm64' currently in use by the databaseche è strano perché non credo di usarlo ...
MoneyBall

@MoneyBall Puoi aggiungere l'output di dpkg -l | grep arm64alla tua domanda? Sembra che siano installati alcuni pacchetti arm64, che dovresti rimuovere prima.
Byte Commander

ah merda ... ho arm64 cross compililer ... ma ho rimosso con successo armhf che è stato un dolore. Grazie.
MoneyBall

sai come posso fare apt-get update per interrompere il recupero dei pacchetti arm64? Come posso eliminare quegli errori 404 non trovati?
MoneyBall,

1
C'è un modo per rimuovere arm64 dal database, sto riscontrando gli stessi problemi. EDIT sudo dpkg --force-architecture --remove-architecture arm64 e sudo rm -rf /var/lib/apt/listscon sudo apt updaterisolto.
weezle1234,

7

Di fronte allo stesso problema mentre si lavora con jetson-tx2 arm64. Questo manuale fa riferimento alla soluzione in uno scenario di installazione avanzata. Si scopre che non è possibile rimuovere l'architettura senza rimuovere i pacchetti.

Ciò è utile quando è stata aggiunta un'architettura straniera, causando la visualizzazione di errori "404 Not Found" quando i metadati del repository vengono aggiornati. Ad esempio, se si desidera limitare un repository solo alle architetture amd64 e i386, sarebbe simile a:

deb [arch=amd64,i386] <url>

Fornisci l'opzione sopra per tutti i repository in "sudo gedit /etc/apt/sources.list"

Ora "sudo apt update" e verrà recuperato solo da amd64 e i386.


Questo ha funzionato per me il 18.04.2. Grazie! Vorrei poter votare due volte :).
cxw,

1

Ho avuto lo stesso problema e, come ha detto Byte Commander, se non puoi correre direttamente

sudo dpkg --remove-architecture arm64

Hai un sacco di pacchetti arm64 cross-compile installati e devi eseguirlo prima di rimuovere arm64. Esegui i seguenti comandi nell'ordine elencato:

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

0

Lo stesso è successo a me. Non sono stato in grado apt update, né di farlo apt upgrade, perché gli aggiornamenti del pacchetto arm64 non sono riusciti nell'errore 404.

dpkg mi ha dato l'output:

$ dpkg --print-foreign-architectures
i386
arm64

Guardando i miei pacchetti arm64 installati ho mostrato che c'erano alcuni elementi di compilazione incrociata installati da 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)
...

La mia soluzione:

Ho appena eseguito il programma di disinstallazione Jetpack, che ha cancellato tutti quei pacchetti di compilazione incrociata e l'architettura arm64:

$ ./JetPack_Uninstaller

Successivamente sono stato di nuovo in grado di utilizzare aptcorrettamente.


Dov'è JetPack_Uninstallersituato?
csg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.