apt で arm64 を削除する方法

apt で arm64 を削除する方法
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.

Jetson tx1 用の Jetpack をインストールした後、Ubuntu が継続的に ARM アップデートを取得しようとします。これを無効にする方法はありますか?

編集:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

外部アーキテクチャに arm64 が含まれていることがわかりました。これを削除するにはどうすればよいですか?

答え1

外部アーキテクチャを削除するには、次のコマンドを実行します。

sudo dpkg --remove-architecture arm64

その後、ソフトウェア リストを更新する必要があります。

sudo apt update

それでもエラーや警告が表示される場合は、ソフトウェア リストをすべて削除し、サーバーから完全に再ダウンロードして、古いものが残っていないことを確認してください。完全なダウンロードには通常よりも少し時間がかかることに注意してください。

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

答え2

jetson-tx2 arm64で作業中に同じ問題に直面しました。これはマニュアル高度なセットアップ シナリオでのソリューションを参照します。パッケージを削除せずにアーキテクチャを削除することはできないことがわかります。

これは、外部アーキテクチャが追加され、リポジトリのメタデータが更新されたときに「404 Not Found」エラーが表示される場合に便利です。たとえば、リポジトリを amd64 および i386 アーキテクチャのみに制限する場合は、次のようになります。

deb [arch=amd64,i386] <url>

「sudo gedit /etc/apt/sources.list」のすべてのリポジトリに上記のオプションを指定します。

ここで「sudo apt update」を実行すると、amd64 と i386 からのみ取得されます。

答え3

私も同じ問題を抱えていましたが、Byte Commanderが言ったように、直接実行できない場合は

sudo dpkg --remove-architecture arm64

クロスコンパイルされた arm64 パッケージが多数インストールされているため、arm64 を削除する前にこれを実行する必要があります。以下のコマンドを記載されている順序で実行します。

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

答え4

私にも同じことが起こりました。arm64パッケージの更新が 404 エラーで失敗したためapt update、 も もできませんでした。apt upgrade

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

関連情報