Why does apt list show arm64 packages on my amd64 machine?
3
votes
1
answer
387
views
I would like to get an explanation as to why
apt list
command shows two arm64
packages on my amd64
machine/system - Linux Mint 22 (Ubuntu Noble based). And once explained, let's discuss if I can do something about it.
***
Please note, that I remove the following message, along with possibly other unimportant strings from the below listings for shortness.
> WARNING: apt
does not have a stable CLI interface. Use with caution in scripts.
***
Running these commands as a user or root, or changing the way I specify grep
filter, does not have any effect on the result, which is always the same = two arm64
Sublime packages show up on my amd64
machine.
Before I start, let me mention the manual pages first: 1) GNU grep
; 2) POSIX grep
.
# apt list | grep -v 'amd64\|all\|i386' # I ran this as root
sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable 4189 arm64
$ apt list | grep 'arm64$' # I ran this as an ordinary user
sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable 4189 arm64
Now, let's get some basic info about these packages:
$ apt list sublime-text sublime-merge
sublime-merge/wilma,apt/stable 2102 amd64
sublime-merge/apt/stable 2102 arm64
sublime-text/apt/stable,now 4189 amd64 [installed]
sublime-text/apt/stable 4189 arm64
^^ Why the heck are those two arm64
architecture packages showing up? It's been a long time since I have edited most of my /etc/apt/sources.list.d/*.{list,sources}
to explicitly contain the architecture, and I thought it would enforce it, no?
$ apt-cache policy sublime-text sublime-merge
sublime-text:
Installed: 4189
Candidate: 4189
Version table:
*** 4189 500
500 https://download.sublimetext.com apt/stable/ Packages
100 /var/lib/dpkg/status
4186 500
500 https://download.sublimetext.com apt/stable/ Packages
4180 500
500 http://packages.linuxmint.com wilma/import amd64 Packages
500 https://download.sublimetext.com apt/stable/ Packages
...
sublime-merge:
Installed: (none)
Candidate: 2102
Version table:
2102 500
500 http://packages.linuxmint.com wilma/import amd64 Packages
500 https://download.sublimetext.com apt/stable/ Packages
2096 500
500 https://download.sublimetext.com apt/stable/ Packages
2091 500
500 https://download.sublimetext.com apt/stable/ Packages
...
I have explicitly set, where applicable, the amd64
architecture like so:
deb [arch=amd64 ...
and the sublime-text
sources list file is not an exception from this rule of mine:
$ cat /etc/apt/sources.list.d/sublime-text.list
deb [arch=amd64 signed-by=/usr/share/keyrings/sublimehq-archive.gpg] https://download.sublimetext.com/ apt/stable/
So, now I am not sure what this arch=amd64
clause in there is actually doing, if not preventing loading/downloading only this particular architecture from such repository?
Would anyone care to clarify, please? And if you know how to prevent this from happening, I would appreciate it. Thank you.
***
For completness, let me specify my primary and other architectures I have added to my OS:
$ dpkg --print-architecture
amd64
$ dpkg --print-foreign-architectures
i386
Cheers.
***
This will be a comments section:
-
1st request came from Stephen Kitt , thank you.
$ apt policy sublime-{text,merge}:arm64
sublime-text:arm64:
Installed: (none)
Candidate: 4189
Version table:
4189 500
500 https://download.sublimetext.com apt/stable/ Packages
4186 500
500 https://download.sublimetext.com apt/stable/ Packages
4180 500
500 https://download.sublimetext.com apt/stable/ Packages
...
sublime-merge:arm64:
Installed: (none)
Candidate: 2102
Version table:
2102 500
500 https://download.sublimetext.com apt/stable/ Packages
2096 500
500 https://download.sublimetext.com apt/stable/ Packages
2091 500
500 https://download.sublimetext.com apt/stable/ Packages
...
Asked by Vlastimil Burián
(30515 rep)
Dec 20, 2024, 07:13 AM
Last activity: Dec 20, 2024, 09:14 AM
Last activity: Dec 20, 2024, 09:14 AM