Comment vérifier si j'ai un système d'exploitation 32 bits ou 64 bits?


490

J'ai téléchargé et installé Ubuntu à partir du site officiel. Cependant, je ne sais pas si j'ai installé la version 32 bits ou 64 bits.

Sous Windows 7, je pouvais cliquer avec le bouton droit de la souris sur Poste de travail et la liste était indiquée.

Existe-t-il un moyen facile de vérifier dans Ubuntu?






L'architecture d'installation et l'architecture du noyau sont deux choses différentes. Par exemple, j'ai implémenté le support multiarch de Debian via dpkg --add-architecture amd64et installé des amd64paquets dans mon Ubuntu 16.04 32 bits. Maintenant, j'exécute une installation 32 bits avec un noyau 64 bits sans problème. Donc, tout en dpkg --print-architectureimprimant i386, uname -mimprime x86_64. Reportez-vous à wiki.debian.org/Multiarch/HOWTO (c'est un processus délicat)
kenn

Réponses:


630

Je connais au moins 2 façons. Ouvrez un terminal ( Ctrl+ Alt+ T) et tapez:

  1. uname -a

    Résultat pour Ubuntu 32 bits:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Lundi 11 avril 03:31:50 UTC 2011 i686 i686 i386 GNU / Linux

    alors qu'Ubuntu 64 bits affichera:

    Linux discworld 2.6.38-8-generic # 42-Ubuntu SMP Lundi 11 avril 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux

    Version plus courte:

    $ uname -i
    x86_64
    

    ou

  2. file /sbin/init

    Résultat pour Ubuntu 32 bits:

    / sbin / init: objet partagé LSB 32 bits ELF , Intel 80386 , version 1 (SYSV), lié dynamiquement (utilise des bibliothèques partagées), pour GNU / Linux 2.6.15, dépouillé

    alors que pour la version 64 bits, cela ressemblerait à:

    / sbin / init: objet partagé LSB 64 bits ELF , x86-64 , version 1 (SYSV), lié dynamiquement (utilise des bibliothèques partagées), pour GNU / Linux 2.6.15, dépouillé

    Idem pour les systèmes utilisant systemd (16.04):

    file /lib/systemd/systemd

    Résultat pour 64 bits:

    / lib / systemd / systemd: objet partagé LSB 64 bits ELF , x86-64 , version 1 (SYSV), liaison dynamique, interpréteur /lib64/ld-linux-x86-64.so.2, pour GNU / Linux 2.6. 32, BuildID [sha1] = 54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, dépouillé

11
La méthode 2, qui consiste à "renifler" le contenu (binaire) d'un exécutable largement disponible, est assez indirecte et maladroite. Bien que cela fonctionne pour la plupart des configurations, la simple présence d'un exécutable 64 bits ne doit pas être un moyen fiable de détecter l' architecture du système d' exploitation en cours d'exécution . Surtout quand vous considérez multiarch, ia32_libset spécialement dans votre initexemple,upstart
MestreLion

8
Vous avez probablement raison, mais la Méthode 1 m'a montré i686qu'aucune des 32 ou 64 sorties n'était affichée pour moi
Aleks

6
@aleks 32 bits (voir le texte surligné: «i686 i686 i386» dans la réponse)
Rinzwind

c'est 32 bits, j'ai utilisé la deuxième méthode, mais la première ne m'a rien montré qui ressemble à i386:) mais votre réponse a aidé. merci beaucoup
Aleks

1
# file /sbin/init- /sbin/init: symbolic link to upstart'` - # file /sbin/upstart-/sbin/upstart: ELF 64-bit LSB shared object, x86-64...
Nakilon

142

Ubuntu 12.04+ avec Unity

  • Appuyez sur Commande (mac) ou sur la touche Fenêtre.
  • Tapez Detailset sélectionnez l'icône "Détails"
  • Lire le champ "Type de système d'exploitation"
  • Le système d'exploitation 64 bits se lit "64 bits"

entrez la description de l'image ici

Alternative pour obtenir l'écran ci-dessus:

  • cliquez sur System Menu (en haut à droite)
  • cliquez sur "À propos de cet ordinateur"

Je sais que les réponses finales sont bonnes mais je suppose que c'est la réponse de l'interface graphique. :)

Ubuntu 11.04 avec Unity

  • Appuyez sur Commande (mac) ou sur la touche Fenêtre.
  • Tapez System infoet sélectionnez l'icône Infos système
  • Lire le champ "Type de système d'exploitation"
  • Le système d'exploitation 64 bits se lit "64 bits"

14
+1: le mode d'interface graphique est préféré aux commandes de terminal pour un utilisateur habitué à Windows qui demande spécifiquement un moyen simple.
MestreLion

1
En outre, un autre moyen (GUI) pour accéder au même écran:System Menu (top right corner, near the clock) -> System Settings -> Details
MestreLion

En gardant à l'esprit un moyen simple: s'il vous plaît, si vous utilisez une ancienne Ubuntus, fournissez votre équivalent graphique! Surtout pour Lucid Lynx (car la LTS est prise en charge jusqu'en 2015 et pourrait donc bien fonctionner sur les ordinateurs portables
JP

1
@JP: Pour les versions plus anciennes d'Ubuntus, telles que Lucid Lynx, l'interface graphique la plus simple que je connaisse est le Moniteur système de Gnome . Son Systemonglet montre l'architecture.
MestreLion

1
La fenêtre de l’interface graphique est charmante, mais imaginez si vous voulez exécuter une édition du serveur sans l’interface graphique installée?
Chris

79

Un moyen très simple et rapide est:

Ouvrez le terminal, écrivez ce qui suit et appuyez sur Enter.

getconf LONG_BIT

Le nombre résultant (dans mon cas 64) est la réponse.

terminal - getconf LONG_BIT


7
Sur mon système 32 bits, cela donne aussi la bonne réponse. De toutes les commandes listées dans diverses réponses, la sortie de celle-ci est la plus simple.
Stephen Ostermiller

Sauf: $ getconf LONGBIT getconf: Variable non reconnue 'LONGBIT'
Auspex

1
Le tiret bas manque. @Auspex LONG_BIT
Michael

@ Michael Damn, donc j'étais. Je ne sais pas comment j'ai géré ça, et après avoir mis à jour ces deux machines en 64 bits le mois dernier, c'est quasiment inutile maintenant ;-) Merci quand même!
Auspex


27

Ouvrez le terminal et essayez la archcommande. Si sa sortie est x86_64 alors c'est 64 bits. Si vous voyez i686, i386, etc., alors c'est 32 bits.

Cependant, le meilleur moyen de déterminer l'architecture consiste à exécuter la archcommande et à rechercher le résultat dans Google.


11
archest identique à uname -m(même indiqué dans la page de manuel). ;-)
htorque

Sur mon ordinateur (Ubuntu 9.04), la commande arch ne semble pas exister. Donc, je dirais qu'uname -m est plus fiable.
Jonathan Sternberg

@ JonathanSternberg: il a été ajouté quelques mois plus tard, développé par les mêmes auteurs unameet inclus dans le même coreutilspackage. Ainsi, à partir d’Ubuntu 10.04, les deux commandes sont disponibles.
MestreLion

21

dpkg --print-architecture Cette commande indiquera si vous avez installé un système d’exploitation Ubuntu 32 ou 64 bits.

Sur les systèmes 64 bits

$ dpkg --print-architecture
amd64          

Sur les systèmes 32 bits

$ dpkg --print-architecture
i386

`


6
La seule méthode à ce jour pour détecter correctement un système d’exploitation 32 bits exécutant un noyau 64 bits.
Dan Garthwaite

8

Vérificateur d'architecture

entrez la description de l'image ici

Lien de téléchargement

  1. Télécharge le
  2. Extrait-le.
  3. Marquez le fichier Architecture Checker.sh Executable et exécutez-le.

Le script est fondamentalement ceci:

#!/bin/bash
ARCH=$(uname -m)
if [ "$ARCH" = "i686" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit"
fi
if [ "$ARCH" = "x86_64" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit"
fi

Cela devra être dans un fichier texte exécutable et zenitydevra être installé.


8
Honnêtement besoin de télécharger et d'extraire ce fichier de 8 lignes? Il suffit de le mettre dans un bloc de code ici.
Kiri

et quand la sortie de uname -mn'est pas i686... bonne utilisation de zenity, pourrait utiliser notify-sendcependant.
Wilf

5

Allez dans les paramètres système et sous la section système , cliquez sur Détails . Vous obtiendrez tous les détails, y compris votre système d'exploitation, votre processeur ainsi que le fait que le système utilise une version 64 bits ou 32 bits.


Cela semble merveilleux. Mais je ne sais pas comment "Aller aux paramètres système". (BTW) J'utilise 12,4 MATE.
Papou

3

Ouvrez le Centre de logiciel Ubuntu et recherchez lib32. Si cela donne des résultats, vous êtes sur une installation 64 bits (les résultats sont des bibliothèques de compatibilité pour l'exécution d'applications 32 bits sur une installation 64 bits).

Pas vraiment une meilleure réponse, mais au moins ça ne nécessite pas de terminal ... ;-)

Modifier

J'ai trouvé un moyen encore plus simple: ouvrez Aide -> À propos de Mozilla Firefox et vous le verrez tout de suite ... ;-)

En bas, il affiche la "chaîne de l'agent utilisateur", par exemple sur mon système 64 bits:

Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

ou sur mon système 32 bits:

Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

x86_64est de 64 bits, i686est de 32 bits

(Mais ce n'est toujours pas la réponse qui devrait être là;))


2
Une interface graphique pure, certes, mais assez fragile ... des paquets dont les noms ( ou descriptions ) contiennent lib32n'est sûrement pas un moyen fiable de détecter l'architecture.
MestreLion

2

Le bouton d'alimentation (en haut à droite) comporte une option "À propos de cet ordinateur". :)


2
pas le 12.04 LTS
törzsmókus

1

Autant que je me souvienne, il est possible d'installer le noyau x86_64 sur un système 32 bits. Comme quelques-uns l'ont écrit, vous devriez regarder quelles bibliothèques vous avez / quels paquets vous avez installés sur votre système. Donc, le moyen le plus sûr de voir est de vérifier si vous avez /lib64et si c'est un lien symbolique vers /lib.

Un autre moyen possible est de vérifier quels paquets vous avez téléchargés /var/cache/apt/archive. S'ils contiennent _amd64.deb, il s'agit d'un système 64 bits, c'est-à-dire si vous avez installé des packages et n'avez pas effacé votre cache.

Tout cela peut être fait à partir de Konqueror / Dolphin simplement en pointant et en cliquant ou:

ls -la / |grep lib

1

N'oubliez pas que vous pouvez avoir un processeur 64 bits lors de l'installation d'un noyau 32 bits. Par exemple, si votre processeur est de 64, cela ne signifie pas que votre système d'exploitation est de 64, cela dépend de ce que vous avez installé.

man uname

   -m, --machine
          print the machine hardware name

   -p, --processor
          print the processor type or "unknown"

   -i, --hardware-platform
          print the hardware platform or "unknown"

afin d'obtenir l'utilisation de la plate - forme matérielle uname -mou uname -pou uname -ialors pour obtenir le type de noyau , il est préférable de getconf LONG_BITcommande.

Vérifiez cette question SO


Pas vraiment pertinent pour la question: il a un processeur 64 bits et veut savoir quel système d'exploitation a été installé.
Auspex

0

Consultez vos sources de logiciels dans Synaptic ou Software Center. Si vous n'avez pas supprimé votre source d'origine, par exemple, cdrom, cela indiquera (?) L'architecture. C'est une interface graphique, mais il ne dit pas '32 bits' ni '64 bits'.


-1

Je ne suis pas sûr de ce que vous appelez un système d'exploitation 32 bits.

Pour être précis, ma distribution de noyau et de bureau est une Debian / Sid 64 bits, mais j’utilise couramment schrootpour exécuter une deboostrapDebian 32 bits avec chroot-ed dans un environnement -ed (à des fins de test).

Pensez-vous que mon environnement 32 bits devrait être appelé 32 bits (je crois bien) ou 64 bits (après tout, il s’exécute dans un noyau 64 bits). Dans cet environnement uname -m, i686toutes les bibliothèques, tous les exécutables et tous les processus sont en 32 bits.

Pour des raisons pratiques uname -mdevrait suffire. La filecommande peut vous dire si un exécutable ELF est un 32 bits ou un 64 bits.

Voir le syscall de la personnalité spécifique à Linux (2) (et celui uname (2) ).

Et les informations matérielles sur votre processeur sont visibles avec par exemple

 cat /proc/cpuinfo

sa sortie est la même dans mon système de bureau 64 bits et dans mon environnement schrooted 32 bits.


4
-1: vous avez ajouté beaucoup de confusion inutile sans ajouter de nouvelles informations utiles. Pourquoi dire que vous n'êtes "pas sûr de ce que vous appelez un système d'exploitation 32 bits"? C'est une question assez simple, une question que vous connaissez . Votre chrootexemple ne sert à rien: il est similaire à une machine virtuelle. Par conséquent, uname -mle résultat sera affiché i686si vous l'amorcez avec un système d'exploitation 32 bits. Mais "l'hôte" est toujours de 64 bits, et uname -mdira donc si vous l'exécutez en dehors de l'environnement chroot
MestreLion

2
Aussi, /proc/cpuinfoest trompeur: il montre les capacités du processeur , et non l'architecture réelle du système d'exploitation installé (et en cours d'exécution). Pratiquement tous les processeurs de bureau vendus au cours des 5 dernières années sont en 64 bits, mais cela n’a absolument rien à voir avec la question. Et bien sûr, il présente les mêmes caractéristiques dans les deux scénarios, car le matériel de votre processeur est identique et il est capable d'exécuter des systèmes d'exploitation 32 et 64 bits.
MestreLion

@MestreLion, ce que Basile essaie de dire, c'est que dans certains cas, par exemple lorsque vous utilisez LXC ou chroot, vous pouvez exécuter un système purement 32 bits avec un noyau 64 bits. Dans ces cas uname, vous apprendrez l'architecture du noyau, 64 bits, alors que d'autres méthodes vous diront l'architecture utilisateur, 32 bits, et il est difficile de savoir laquelle des deux est "l'architecture".
Joni

@ Joni: Ok, je comprends. Mais c'est un scénario extrêmement critique, et certainement pas le cas du PO.
MestreLion

Ce n'est probablement pas le cas de l'OP, je voulais juste clarifier le point que Basile essayait de faire (En outre, il semble que mon édition précédente pour corriger la réponse a été rejetée. Dans cet environnement uname -m, l'architecture du noyau, x86_64, et non pas i686, sera générée. )
Joni
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.