Q. I’m using CentOS on 64 bit Linux. How do I find out rpm package architecture before installation such as i386 or x86_64 bit?
A. Almost each rpm package has i386 or x86_64 added to file extension. However some time you may see filename such as file-version.rpm. You can list all installed rpm packages with rpm -qa command but it will not display architecture. You can run following command to display rpm package architecture:
rpm -qa --qf "%{n}-%{arch}\n"
Ouput:
filesystem-x86_64
comps-extras-noarch
gnome-mime-data-x86_64
glibc-x86_64
atk-x86_64
libICE-x86_64
db4-x86_64
elfutils-libelf-x86_64
ncurses-x86_64
libsepol-x86_64
libcap-x86_64
sqlite-x86_64
pcre-x86_64
gdbm-x86_64
libsepol-i386
libXdmcp-x86_64
db4-i386
iptables-x86_64
libXrender-x86_64
libXi-x86_64
xorg-x11-font-utils-x86_64
slang-x86_64
libXpm-x86_64
startup-notification-x86_64
gzip-x86_64
libIDL-x86_64
libXau-i386
wireless-tools-x86_64
libvorbis-x86_64
Another option is to use following command to display detailed information about package:
rpm -qi {package-name}
If you wish to display package version along with architecture, enter:
rpm -qa --qf "%{n}-%{v}-%{r}.%{arch}\n" | less
Run rpm command to print a list of all of the tags it knows about when it is invoked with the –querytags argument.
rpm --querytags | less
🐧 3 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Using
rpm -qa –qf “%{n}.%{arch}\n”
Will give you a name you can “rpm -ev”
rpm -qa –qf “%{n}.%{arch}\n”
Note the double dashes. Otherwise you’ll get:
regcomp failed: Invalid content of \{\}
“However some time you may see filename such as file-version.rpm.”
How do I tell what architecture a package is in these cases?